TDE (Part II) : Annexe
- Détails
- Catégorie : Uncategorised
- Publié le samedi 18 janvier 2014 21:41
- Écrit par Administrator
- Affichages : 53561
Script1
Remplacer <table> dans le script ci-dessous par le nom de la table : CRYPT puis et exécuter sous sqlplus le script. Attention ne pas se connecter avec SYS, il n'a pas le droit de créer des tables chiffrées.
Puis recommencer l'opération avec <table> COL_CRYPT puis COL_SALT_CRYPT et enfin PAS_CRYPT
begin
for l_id in 1..1000000 loop
insert into <table>
values
(
l_id,
decode (
floor(dbms_random.value(1,22)),
1, 'Pas trop secret ',
2, 'public',
3, 'pour tout le monde',
4, 'quoi?',
5, 'hein',
6, 'donnee qui sert à rien',
7, 'patati patata',
8, 'bonjour',
9, 'PAS SECRET',
10, 'rgte ghegergfzrgfcrgthsg',
11, 'Bonsoir',
12, 'PAS TROP SECRET ',
13, 'PUBLIC',
14, 'POUR TOUT LE MONDE',
15, 'QUOI?',
16, 'HEIN',
17, 'DONNEE QUI SERT À RIEN',
18, 'PATATI PATATA',
19, 'BONJOUR',
20, 'PAS SECRET',
21, 'RGTE GHEGERGFZRGFCRGTHSG',
22, 'BONSOIR',
'XXX'
),
decode (
floor(dbms_random.value(1,22)),
1, 'TROP SECRET',
2, '54 50 600 454',
3, 'mot de passe : Trde45seZA%der',
4, '1 74 255 603 121 13',
5, 'SECRET',
6, 'Ultra Secret',
7, 'NE PAS LIRE',
8, 'La NSA controle internet',
9, 'La NSA espionne la DGSE',
10, 'La NSA decrypte cette colonne',
11, 'La NSA est coquine',
12, 'TROP SECRET',
13, '54 50 600 454',
14, 'MOT DE PASSE : TRDE45SEZA%DER',
15, '1 74 255 603 121 13',
16, 'SECRET',
17, 'ULTRA SECRET',
18, 'NE PAS LIRE',
19, 'LA NSA CONTROLE INTERNET',
20, 'LA NSA ESPIONNE LA DGSE',
21, 'LA NSA DECRYPTE CETTE COLONNE',
22, 'LA NSA EST COQUINE',
'XXX'
)
);
end loop;
commit;
end;
/
commit;
Script 2
-- envoi_le_bourrier.sql (pouvez pas comprendre, faut être passer par France Télévision Publicité fin de années 90 pour comprendre!)
alter system archive log current;
SET SERVEROUTPUT ON SIZE UNLIMITED
DECLARE
l_loops NUMBER := 100000;
l_data VARCHAR2(50);
l_start NUMBER;
BEGIN
EXECUTE IMMEDIATE 'TRUNCATE TABLE simple_table';
l_start := DBMS_UTILITY.get_time;
FOR i IN 1 .. l_loops LOOP
INSERT INTO simple_table (id, data)
VALUES (i, 'Data for ' || i);
END LOOP;
DBMS_OUTPUT.put_line('Insert : ' || (DBMS_UTILITY.get_time - l_start));
l_start := DBMS_UTILITY.get_time;
FOR i IN 1 .. l_loops LOOP
SELECT data
INTO l_data
FROM simple_table
WHERE id = i;
END LOOP;
DBMS_OUTPUT.put_line('Select : ' || (DBMS_UTILITY.get_time - l_start));
END;
/
select sum(bytes)/1024/1024 from dba_segments where segment_name='SIMPLE_TABLE';