Pular para o conteúdo principal

DBMS_COMPARISON

CONN DENILSON/DENILSON@ORCL

SQL> CREATE TABLE teste(x number);
Table created
SQL> CREATE UNIQUE INDEX ix_teste ON teste(x);
Index created
SQL> begin
2 for i in 1..20
3 loop
4 insert into teste(x) values(i);
5 end loop;
6 end;
7 /
PL/SQL procedure successfully completed
SQL> COMMIT;
Commit complete

CONN DENILSON/DENILSON@ORCL2
SQL> CREATE TABLE teste(x number);
Table created
SQL> CREATE UNIQUE INDEX ix_teste ON teste(x);
Index created
SQL> begin
2 for i in 1..20
3 loop
4 insert into teste(x) values(i);
5 end loop;
6 end;
7 /
PL/SQL procedure successfully completed
SQL> COMMIT;
Commit complete

SQL> DELETE FROM teste WHERE x = 10;
1 row deleted
SQL> COMMIT;
Commit complete

CONN DENILSON/DENILSON@ORCL
SQL> ALTER SESSION SET max_dump_file_size=unlimited;

Session altered.

SQL> ALTER SESSION SET timed_statistics = true;

Session altered.

SQL> ALTER SESSION SET statistics_level = ALL ;

Session altered.

SQL> ALTER SESSION SET tracefile_identifier = dbms_comparison ;

Session altered.

SQL> ALTER SESSION SET EVENTS '10046 TRACE NAME CONTEXT FOREVER, LEVEL 8';

Session altered.

SQL>
SQL> exec dbms_comparison.create_comparison(comparison_name=>'compare_test', schema_name=>'DENILSON', object_name=>'TESTE',
dblink_name=>'DENILSON',remote_schema_name=>'DENILSON', remote_object_name=>'TESTE', scan_percent=>90);

PL/SQL procedure successfully completed.

SQL>
SQL> set serveroutput on
SQL>
SQL> DECLARE
2 retval dbms_comparison.comparison_type;
3 BEGIN
4 IF dbms_comparison.compare('compare_test', retval, perform_row_dif=>TRUE) THEN
5 dbms_output.put_line('No Differences!!');
6 ELSE
7 dbms_output.put_line('Differences Found!!');
8 END IF;
9 END;
10 /
Differences Found!!

PL/SQL procedure successfully completed.

SQL>
SQL>
SQL> ALTER SESSION SET EVENTS '10046 TRACE NAME CONTEXT OFF';

Session altered.

SQL>
SQL> select value from v$diag_info where name = 'Default Trace File';

VALUE
-----------------------------------------------------------------------------------
/u01/app/oracle/diag/rdbms/orcl/orcl/trace/sigfedb_ora_27124_DBMS_COMPARISON.trc


SQL> set linesize 2500
SQL> set null @
SQL> set colsep |
SQL> set linesize 2500
SQL> column COMPARISON_NAME format a16
SQL> INDEX_VALUE format a15


SQL> select * FROM user_comparison_row_dif;

COMPARISON_NAME | SCAN_ID|LOCAL_ROWID |REMOTE_ROWID |INDEX_VALUE |STA|LAST_UPDATE_TIME
----------------|----------|------------------|------------------|---------------|---|-----------------------------
COMPARE_TEST | 4|@ |AAA1lxAAEAAAABlAAJ|10 |DIF|10-JUN-10 09.50.06.785624 AM


exec dbms_comparison.drop_comparison(comparison_name=>'compare_test');


tkprof orcl_ora_27124_DBMS_COMPARISON.trc orcl_ora_4402_DBMS_COMPARISON.txt sys=yes waits=yes sort=execpu

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' ...

Configurar Tamanho de UNDO e tempo de RETENÇÃO (UNDO_RETENTION)

-- Tamanho Undo Atual SELECT SUM(a.bytes) "UNDO_SIZE" FROM v$datafile a, v$tablespace b, dba_tablespaces c WHERE c.contents = 'UNDO' AND c.status = 'ONLINE' AND b.name = c.tablespace_name AND a.ts# = b.ts#; -- Blocos de UNDO por Seg. SELECT MAX(undoblks/((end_time-begin_time)*3600*24)) "UNDO_BLOCK_PER_SEC" FROM v$undostat; --Tamanho do Bloco SELECT TO_NUMBER(value) "DB_BLOCK_SIZE [KByte]" FROM v$parameter WHERE name = 'db_block_size'; -- Select calcula UNDO RETENTION SELECT d.undo_size/(1024*1024) "ACTUAL UNDO SIZE [MByte]", SUBSTR(e.value,1,25) "UNDO RETENTION [Sec]", ROUND((d.undo_size / (to_number(f.value) * g.undo_block_per_sec))) "OPTIMAL UNDO RETENTION [Sec]" FROM ( SELECT SUM(a.bytes) undo_size FROM v$datafile a, v$tablespace b, dba_tablespaces c WHERE c.contents = 'UNDO' ...