Les Virtual Private Database (VPD) sur PGSQL sont disponbiles depuis la version 9.1.
source : https://www.enterprisedb.com/blog/virtual-private-database-vpd-ppas-91
En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies. Ces derniers assurent le bon fonctionnement de nos services. En savoir plus.
Les Virtual Private Database (VPD) sur PGSQL sont disponbiles depuis la version 9.1.
source : https://www.enterprisedb.com/blog/virtual-private-database-vpd-ppas-91
https://blogs.oracle.com/sql/ora-54033-and-the-hidden-virtual-column-mystery
select column_name, data_default, hidden_column from user_tab_cols where table_name = 'TAB'; COLUMN_NAME DATA_DEFAULT HID ----------- ------------ --- SYS_STUYPW88OE302TFVBNC6$MMQXE SYS_OP_COMBINED_HASH("X","Y" YES Z NO Y NO X NO
column_name [datatype] [GENERATED ALWAYS] AS (expression) [VIRTUAL]
https://oracle-base.com/articles/11g/virtual-columns-11gr1
https://www.akadia.com/services/ora_statspack_survival_guide.html
https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:7267435205059
procédure stockée pour ajouter une image de cul dans la table GONZO de ma base de données PORNO :
create or replace procedure ajoute_image_X
(
nom_fichier in VARCHAR2,
p_id_image in VARCHAR2,
p_nom_actrice in VARCHAR2,
p_no_film in VARCHAR2,
p_mensuration in INTEGER
)
IS
dest_secure BLOB;
file_dest BFILE;
blob_size INTEGER;
extension VARCHAR2(3);
BEGIN
BEGIN
file_loc := BFILENAME ('BFILE_DATA', nom_fichier);
DBMS_LOB.FILEOPEN (file_dest);
blob_size := DBMS_LOB.GETLENGTH (file_dest);
extension := substr(nom_fichier, -3, 3);
INSERT INTO GONZO (
ID_IMAGE,
NOM_FICHIER,
NOM_ACTRICE,
NO_FILM,
MENSURATION,
FSSIZE,
FSTYPE,
CONTENU)
VALUES (
p_id_image,
nom_fichier,
p_nom_actrice,
p_no_film,
p_mensuration,
blob_size,
extension,
EMPTY_BLOB())
RETURNING CONTENU INTO dest_secure;
DBMS_LOB.LOADFROMFILE (dest_secure, file_dest, blob_size);
DBMS_LOB.FILECLOSE (file_dest);
commit;
END;
END ajoute_image_X;
SQL> set timing on
SQL> set autotrace traceonly
SQL> insert into rd
2 select
3 (dbms_random.value(1,1.99999999999999999999999999999999999999)) r_id,
4 dbms_random.string('U',20) r_string from dual
5 connect by level <=100000
6 /
source : https://community.oracle.com/thread/3696816
Explaination of
source : https://jonathanlewis.wordpress.com/2007/07/19/library-cache-miss/
Pour tracer les requêtes SQL dans une base Oracle il faut passer la commande :
execute dbms_monitor.database_trace_enable(waits=>TRUE,binds=>TRUE,instance_name=>'QUALIF');
Pour stopper la trace :
execute dbms_monitor.database_trace_disable(instance_name=>'QUALIF');
La trace sera stockée sous :
/export/BD/ORACLE/oratrc/QUALIF/bdump/diag/rdbms/qualif/QUALIF/trace/
Elle pourra être lisible avec tkprof :
Syntaxe : tkprof <nom_de_la_trace> <nom_du_fichier_texte_lisible> sys=no
Exemple:
$tkprof QUALIF_ora_7767.trc QUALIF_ora_7767.txt sys=no
L’option sys = no ne garde pas les requêtes lancées par l’utilisateur sys.
source : http://www.dbrev.com/dbBlog/2014/12/31/how-to-enable-various-level-of-trace-in-oracle-11g-database/
tuning avec tkprof : https://oracle.developpez.com/guide/tuning/tkprof/
http://what-when-how.com/Tutorial/topic-16mglm7e/Secrets-of-the-Oracle-Database-520.html
https://www.niwi.nz/2013/02/16/replication-status-in-postgresql/
select client_addr, state, sent_location, write_location,
flush_location, replay_location from pg_stat_replication;
This query can output can be like this:
postgres=# select client_addr, state, sent_location,write_location, flush_location, replay_location, sync_priority from pg_stat_replication;