Pular para o conteúdo principal

Verificando recursivamente as constraints que levam a uma tabela

create or replace procedure recur_constraint(v_owner in varchar2,
v_table_name varchar2,
v_fk_constraint_name varchar2 default NULL,
v_r_constraint_name varchar2 default NULL,
v_r_status varchar2 default NULL,
level number default 0) is

i integer;
v_constraint_name dba_constraints.constraint_name%type;
v_status dba_constraints.status%type;

cursor c_constraint is
select owner, table_name, constraint_name, r_constraint_name, status
from dba_constraints
where dba_constraints.r_owner = v_owner
and dba_constraints.r_constraint_name = v_constraint_name
and dba_constraints.constraint_type = 'R';

begin
select constraint_name, status
into v_constraint_name, v_status
from dba_constraints
where owner = v_owner
and table_name = v_table_name
and constraint_type = 'P';

dbms_output.put_line('Level: ' || ' ' || level || ' ' || v_owner || ' ' ||
v_table_name || ' PK: ' || v_constraint_name || ' ' ||
v_status || ' FK: ' || v_fk_constraint_name ||
' -> ' || v_r_constraint_name || ' ' || v_r_status);

for c_rec in c_constraint loop
recur_constraint(c_rec.owner,
c_rec.table_name,
c_rec.constraint_name,
c_rec.r_constraint_name,
c_rec.status,
level + 1);

end loop;
exception
when no_data_found then
dbms_output.put_line('No record found for: ' || ' ' || v_owner || ' ' ||
v_table_name);
end;
/

-- Testando:

sql> set serveroutput on
sql> exec dbms_output.enable(1000000);
sql> exec recur_constraint(upper('&OWNER'),upper('&TABLE_NAME'));

Comentários

Postagens mais visitadas deste blog

Webcenter Content - Cache Configuration for JdbcFileStore configuration

The configuration values below, control the temporarily cached files keep in FileCache table. FsCacheThreshold Specifies the maximum cache size, in megabytes (default=100) Once the threshold is met, Content Server starts deleting files that are older than the minimum age, as specified by the FsMinimumFileCacheAge parameter FsMaximumFileCacheAge The age at which files are deleted, expressed in days. The default is 365 days FsMinimumFileCacheAge The minimum age at which cached files can be deleted This parameter is used in conjunction with the FsCacheThreshold parameter to determine when to delete cached files FsCleanUpCacheDuringIndexing This parameter activates vault cache cleaning, while FsCacheThreshold, FsMaximumFileCacheAge and FsMinimumFileCacheAge are controling its behaviour.  Expect, when this is enabled on a system that currently has a large number of files in the FileCache table, the first cycle will take a long time to complete. How to Confi...

Assign Backup Policy for Boot and Block Volumes - OCI

To get Availability Domain oci iam availability-domain list  #!/bin/bash OCI_AD="hQsi:SA-SAOPAULO-1-AD-1" OCI_COMPARTMENT="ocid1.compartment.oc1..aaaaaaaavgyjpoffz5qliieawamjaksfb6juxejurtduclqjkvv66ookcxja" #Get Silver policy ocid funct_get_policy(){ OCI_POL_OCID=$(oci bv volume-backup-policy list | jq -r '.data[] | select(."display-name"|contains("silver"))' | jq -r '.id') } funct_boot_vol (){ #Create a file with all boot volume ocid oci bv boot-volume list --availability-domain ${OCI_AD} -c  ${OCI_COMPARTMENT} | jq -r '.data[].id' > boot-vol.txt while IFS="" read -r p || [ -n "$p" ] do   printf 'Seeting backup policy for %s\n' "$p"   oci bv volume-backup-policy-assignment create  --asset-id  $p  --policy-id ${OCI_POL_OCID} done < boot-vol.txt } funct_block_vol (){ #Create a file with all block volume ocid oci bv volume list  -c ${OCI_COMPARTMENT} | jq -r '.data[].id' ...

Logical Backup Using dbms_datapump

Sample scripts to make a logical backup using dbms_datapump -- BACKUP BY SCHEMA declare h1 NUMBER; begin h1 := dbms_datapump.open (operation => 'EXPORT', job_mode => 'SCHEMA', job_name => 'TESTE2', version => 'COMPATIBLE'); dbms_datapump.set_parallel(handle => h1, degree => 1); dbms_datapump.add_file(handle => h1, filename => 'BKP_SCHEMAS.LOG', directory => 'BKP_DATA_PUMP', filetype => 3); dbms_datapump.set_parameter(handle => h1, name => 'KEEP_MASTER', value => 0); dbms_datapump.metadata_filter(handle => h1, name => 'SCHEMA_EXPR', value => 'IN(''DENILSON'')'); dbms_datapump.add_file(handle => h1, filename => 'BKP_SCHEMAS.DMP', directory => 'BKP_DATA_PUMP', filetype => 1); dbms_datapump.set_parameter(handle => h1, name => 'INCLUDE_METADATA', value => 1); dbms_datapump.set_parameter(handle => h1, name ...