暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

OGG —— flush sequence

原创 Demo同学 2022-01-24
1710

OGG —— flush sequence

一、背景

在OGG迁移工作中经常出现sequence不一致的情况,在官方文档中发现与sequence同步相关的命令:flush sequence;本文旨在测试OGG命令:flush sequence的作用与命令实际执行逻辑。

二、flush sequence测试

Flush sequence 使用的先决条件:

在初始化或者重新同步期间首次启动Extract 后立刻使用flush sequence;(flush sequence owner.sequence)

dblogin ;GLOBALS文件中使用GGSCHEMA参数指定安装sequence.sql 过程的模式;用于DDL支持;抽取、投递、应用进程中支持sequence同步

关闭抽取进程或者新配置进程链路:

源端:

1、创建sequence

DANA@hmb> create sequence sequencetest1

2 increment by 1

3 start with 1

4 maxvalue 99999

5 minvalue 1

6 cache 3;

Sequence created.

2、检查:

DANA@hmb> select SEQUENCE_NAME,CACHE_SIZE,LAST_NUMBER from user_sequences where SEQUENCE_NAME=‘SEQUENCETEST1’;

SEQUENCE_NAME CACHE_SIZE LAST_NUMBER

------------------------------------------------------------------------------------------ ---------- -----------

SEQUENCETEST1 3 1

3、开启抽取进程

Dblogin

先不flush sequence dana.“SEQUENCETEST1”

(易错点: flush sequence dana.sequence1 虽然显示成功,但是是无效操作,bug:当序列名称指定为较低值时,序列不会更新,详细可见Doc ID 2654809.1,必须用双引号括起来且大写,即序列名称被指定为上限值并且用“”括起来,序列在数据库上更新。)

4、目标端:

检查:

DANA@pdb2> select SEQUENCE_NAME,CACHE_SIZE,LAST_NUMBER from user_sequences where SEQUENCE_NAME=‘SEQUENCETEST1’;

SEQUENCE_NAME CACHE_SIZE LAST_NUMBER

-------------------- ---------- -----------

SEQUENCETEST1 3 1

即sequence已经同步;且与源端一致;

5、源与目标执行nextval

DANA@hmb> select sequencetest1.nextval from dual;

NEXTVAL

----------

1

DANA@hmb> select SEQUENCE_NAME,CACHE_SIZE,LAST_NUMBER from user_sequences where SEQUENCE_NAME=‘SEQUENCETEST1’;

SEQUENCE_NAME CACHE_SIZE LAST_NUMBER ------------------------------------------------------------------------------------------ ----------

SEQUENCETEST1 3 4

即执行一次nextval,直接获取cache三个值,last_number加了一个cache;

DANA@pdb2> select SEQUENCE_NAME,CACHE_SIZE,LAST_NUMBER from user_sequences where SEQUENCE_NAME=‘SEQUENCETEST1’;

SEQUENCE_NAME CACHE_SIZE LAST_NUMBER

-------------------- ---------- -----------

SEQUENCETEST1 3 5

此时目标端因为源端变化而同步,且以last_number改变为条件而同步,以

源库+cache=目标库 而目标库N last_number=目标库+1;

DANA@pdb2> select sequencetest1.nextval from dual;

NEXTVAL

----------

5

DANA@pdb2> select SEQUENCE_NAME,CACHE_SIZE,LAST_NUMBER from user_sequences where SEQUENCE_NAME=‘SEQUENCETEST1’;

SEQUENCE_NAME CACHE_SIZE LAST_NUMBER

-------------------- ---------- -----------

SEQUENCETEST1 3 8

控制变量发现,sequence同步的原理:以源库的last_number变化为标准,以cache为单位变化,源库+cache=目标库 而目标库N last_number=目标库+1;若源库的last_number没有变化,则目标库的last_number也不变化,但若在目标库查询一次nextval则last_number直接加cache;

小结:本意设计对比实验:没有执行flush sequence :在目标端能看到表同步,但sequenc不存在,但是发现其实sequence是同步的,而查询MOS(MOS ID 1477974.1; ID 2654809.1)发现flush sequence的作用在于初始化或者开启抽取进程后没有同步sequence时使用,但是为什么这样子做以及作用如何未知。

为了探究flush sequence是否有刷新ogg两边sequence不一致的作用(本文的sequence一致并非强一致,只有目标端不小于源端即可),进一步测试;

为了比较和发现规律,新建了sequencetest2

多次执行flush sequence ;

GGSCI (hmb as goldengate@hmb) 18> flush sequence dana.“SEQUENCETEST2”

2021-12-30 11:21:15 INFO OGG-15311 Successfully flushed 1 sequence(s) dana.SEQUENCETEST2.

GGSCI (hmb as goldengate@hmb) 19> flush sequence dana.“SEQUENCETEST2”

2021-12-30 11:22:42 INFO OGG-15311 Successfully flushed 1 sequence(s) dana.SEQUENCETEST2.

GGSCI (hmb as goldengate@hmb) 20> flush sequence dana.“SEQUENCETEST2”

2021-12-30 11:23:00 INFO OGG-15311 Successfully flushed 1 sequence(s) dana.SEQUENCETEST2.

观察源库和目标库:

目标库:

DANA@hmb> select SEQUENCE_NAME,CACHE_SIZE,LAST_NUMBER from user_sequences where SEQUENCE_NAME=‘SEQUENCETEST2’;

SEQUENCE_NAME CACHE_SIZE LAST_NUMBER

------------------------------------------------------------------------------------------ ---------- -----------

SEQUENCETEST2 3 9

DANA@hmb> select SEQUENCE_NAME,CACHE_SIZE,LAST_NUMBER from user_sequences where SEQUENCE_NAME=‘SEQUENCETEST2’;

SEQUENCE_NAME CACHE_SIZE LAST_NUMBER

------------------------------------------------------------------------------------------ ---------- -----------

SEQUENCETEST2 3 10

DANA@hmb> select SEQUENCE_NAME,CACHE_SIZE,LAST_NUMBER from user_sequences where SEQUENCE_NAME=‘SEQUENCETEST2’;

SEQUENCE_NAME CACHE_SIZE LAST_NUMBER

------------------------------------------------------------------------------------------ ---------- -----------

SEQUENCETEST2 3 11

目标库:

DANA@pdb2> select SEQUENCE_NAME,CACHE_SIZE,LAST_NUMBER from user_sequences where SEQUENCE_NAME=‘SEQUENCETEST2’;

SEQUENCE_NAME CACHE_SIZE LAST_NUMBER

------------------------------ ---------- -----------

SEQUENCETEST2 3 12

DANA@pdb2>

DANA@pdb2>

DANA@pdb2> select SEQUENCE_NAME,CACHE_SIZE,LAST_NUMBER from user_sequences where SEQUENCE_NAME=‘SEQUENCETEST2’;

SEQUENCE_NAME CACHE_SIZE LAST_NUMBER

------------------------------ ---------- -----------

SEQUENCETEST2 3 12

DANA@pdb2>

DANA@pdb2> select SEQUENCE_NAME,CACHE_SIZE,LAST_NUMBER from user_sequences where SEQUENCE_NAME=‘SEQUENCETEST2’;

SEQUENCE_NAME CACHE_SIZE LAST_NUMBER

------------------------------ ---------- -----------

SEQUENCETEST2 3 12

由于比较实验比较繁琐,不详细展示;直接得出结论:

Flush sequence 可以刷新源库的sequence,执行一次刷新一下,且将last_number值自动调大一个值,但这种设置调整的last_number的并不会触发sequence的同步,所以目标库没有变化;

三、定位flush sequence的本质操作

使用方法:oradebug event 10046

3.1关闭进程,flush sequence对源端影响

关闭进程,dblogin定位用户goldengate

详细操作如下:

1、关联 v$process和v$session 确定SPID

SYS@hmb> select P.PID,P.SPID,S.SID from v$process p,v$session s where P.ADDR=S.PADDR and S.username like ‘%GOL%’;

PID SPID SID ---------- ------------------------------------------------------------------------ ----------

30 99430 40

2、oradebug setospid

SYS@hmb> oradebug setospid 99430

Oracle pid: 30, Unix process pid: 99430, image: oracle@hmb

3、开启oradebug event 10046

SYS@hmb> oradebug event 10046 trace name context forever, level 12

Statement processed.

4、flush sequence

GGSCI (hmb as goldengate@hmb) 26> flush sequence dana.“SEQUENCETEST2”

2021-12-30 12:59:12 INFO OGG-15311 Successfully flushed 1 sequence(s) dana.SEQUENCETEST2.

5、关闭oradebug event 10046

SYS@hmb> oradebug event 10046 trace name context off

Statement processed.

6、获取trance文件

SYS@hmb> oradebug tracefile_name

/u01/app/oracle/diag/rdbms/hmb/hmb/trace/hmb_ora_99430.trc

7、读取分析trance文件

[oracle@hmb ~]$ cat /u01/app/oracle/diag/rdbms/hmb/hmb/trace/hmb_ora_99430.trc

Trace file /u01/app/oracle/diag/rdbms/hmb/hmb/trace/hmb_ora_99430.trc

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1

System name: Linux

Node name: hmb

Release: 2.6.32-696.el6.x86_64

Version: #1 SMP Tue Feb 21 00:53:17 EST 2017

Machine: x86_64

VM name: VMWare Version: 6

Instance name: hmb

Redo thread mounted by this instance: 1

Oracle process number: 30

Unix process pid: 99430, image: oracle@hmb

*** 2021-12-30 12:58:14.705

*** SESSION ID:(40.825) 2021-12-30 12:58:14.705

*** CLIENT ID:() 2021-12-30 12:58:14.705

*** SERVICE NAME:(hmb) 2021-12-30 12:58:14.705

*** MODULE NAME:(OGG-ORA_ADMIN) 2021-12-30 12:58:14.705

*** ACTION NAME:() 2021-12-30 12:58:14.705

Received ORADEBUG command (#1) ‘event 10046 trace name context forever, level 12’ from process 'Unix process pid: 102520, image: ’

*** 2021-12-30 12:58:14.776

Finished processing ORADEBUG command (#1) ‘event 10046 trace name context forever, level 12’

*** 2021-12-30 12:59:12.032

WAIT #139970243151920: nam=‘SQL*Net message from client’ ela= 5771524132 driver id=1413697536 #bytes=1 p3=0 obj#=118 tim=1640840352032716

=====================

PARSING IN CURSOR #139970242840784 len=59 dep=0 uid=89 oct=3 lid=89 tim=1640840352033907 hv=2303204956 ad=‘890e50b0’ sqlid=‘0arp5pf4nh7kw’

SELECT sys.dbms_assert.SCHEMA_NAME(UPPER(‘dana’)) FROM dual

END OF STMT

EXEC #139970242840784:c=743,e=743,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,plh=1388734953,tim=1640840352033905

=====================

PARSING IN CURSOR #139970242992656 len=112 dep=1 uid=89 oct=3 lid=89 tim=1640840352035181 hv=1811829377 ad=‘8b26a6c0’ sqlid=‘6f48339pzwnn1’

SELECT COUNT(*) FROM SYS.ALL_USERS WHERE NLSSORT(USERNAME, ‘NLS_SORT=BINARY’) = NLSSORT(:B1 , ‘NLS_SORT=BINARY’)

END OF STMT

BINDS #139970242992656:

Bind#0

oacdty=01 mxl=32(04) mxlc=00 mal=00 scl=00 pre=00

oacflg=03 fl2=1206001 frm=01 csi=178 siz=32 off=0

kxsbbbfp=7f4d5c7f96a8 bln=32 avl=04 flg=05

value=“DANA”

EXEC #139970242992656:c=2302,e=55754,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=1,plh=1011760737,tim=1640840352090751

FETCH #139970242992656:c=844,e=877,p=0,cr=6,cu=0,mis=0,r=1,dep=1,og=1,plh=1011760737,tim=1640840352091784

CLOSE #139970242992656:c=2,e=2,dep=1,type=3,tim=1640840352091994

WAIT #139970242840784: nam=‘SQL*Net message to client’ ela= 40 driver id=1413697536 #bytes=1 p3=0 obj#=118 tim=1640840352092095

FETCH #139970242840784:c=4339,e=57823,p=0,cr=6,cu=0,mis=0,r=1,dep=0,og=1,plh=1388734953,tim=1640840352092122

WAIT #139970242840784: nam=‘SQL*Net message from client’ ela= 721 driver id=1413697536 #bytes=1 p3=0 obj#=118 tim=1640840352092899

=====================

PARSING IN CURSOR #139970242974048 len=88 dep=0 uid=89 oct=3 lid=89 tim=1640840352093063 hv=1701954558 ad=‘8913ab58’ sqlid=‘g1qqsxpkr3hzy’

SELECT COUNT(*) FROM dba_sequences WHERE sequence_owner = :1 and sequence_name = :2

END OF STMT

BINDS #139970242974048:

Bind#0

oacdty=96 mxl=32(04) mxlc=00 mal=00 scl=00 pre=00

oacflg=01 fl2=1000000 frm=01 csi=178 siz=64 off=0

kxsbbbfp=7f4d5c8264c8 bln=32 avl=04 flg=05

value=“DANA”

Bind#1

oacdty=96 mxl=32(13) mxlc=00 mal=00 scl=00 pre=00

oacflg=01 fl2=1000000 frm=01 csi=178 siz=0 off=32

kxsbbbfp=7f4d5c8264e8 bln=32 avl=13 flg=01

value=“SEQUENCETEST2”

EXEC #139970242974048:c=300,e=300,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,plh=3841320250,tim=1640840352093236

WAIT #139970242974048: nam=‘SQL*Net message to client’ ela= 1 driver id=1413697536 #bytes=1 p3=0 obj#=118 tim=1640840352093426

FETCH #139970242974048:c=173,e=173,p=0,cr=6,cu=0,mis=0,r=1,dep=0,og=1,plh=3841320250,tim=1640840352093448

WAIT #139970242974048: nam=‘SQL*Net message from client’ ela= 1264 driver id=1413697536 #bytes=1 p3=0 obj#=118 tim=1640840352094783

=====================

PARSING IN CURSOR #139970243151920 len=59 dep=0 uid=89 oct=47 lid=89 tim=1640840352094939 hv=129564125 ad=‘8905cbd8’ sqlid=‘8jd6pd83vjzfx’

BEGIN goldengate .updateSequence (:1, :2, :3, :4, :5); END;

END OF STMT

BINDS #139970243151920:

Bind#0

oacdty=96 mxl=04(04) mxlc=00 mal=00 scl=00 pre=00

oacflg=01 fl2=1000000 frm=01 csi=178 siz=80 off=0

kxsbbbfp=7f4d5c8264b8 bln=04 avl=04 flg=05

value=“DANA”

Bind#1

oacdty=96 mxl=22(13) mxlc=00 mal=00 scl=00 pre=00

oacflg=01 fl2=1000000 frm=01 csi=178 siz=0 off=8

kxsbbbfp=7f4d5c8264c0 bln=22 avl=13 flg=01

value=“SEQUENCETEST2”

Bind#2

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=01 fl2=1000000 frm=00 csi=00 siz=0 off=32

kxsbbbfp=7f4d5c8264d8 bln=22 avl=01 flg=01

value=0

Bind#3

oacdty=96 mxl=02(02) mxlc=00 mal=00 scl=00 pre=00

oacflg=01 fl2=1000000 frm=01 csi=178 siz=0 off=56

kxsbbbfp=7f4d5c8264f0 bln=02 avl=02 flg=01

value="’’"

Bind#4

oacdty=96 mxl=10(10) mxlc=00 mal=00 scl=00 pre=00

oacflg=01 fl2=1000000 frm=01 csi=178 siz=0 off=64

kxsbbbfp=7f4d5c8264f8 bln=10 avl=10 flg=01

value=“GOLDENGATE”

=====================

PARSING IN CURSOR #139970243136096 len=54 dep=1 uid=89 oct=3 lid=89 tim=1640840352096151 hv=3774346158 ad=‘852e2f90’ sqlid=‘05y50bvhggwxf’

SELECT COUNT(*) FROM SYS.DBA_USERS WHERE USERNAME=:B1

END OF STMT

BINDS #139970243136096:

Bind#0

oacdty=01 mxl=32(04) mxlc=00 mal=00 scl=00 pre=00

oacflg=03 fl2=1206001 frm=01 csi=178 siz=32 off=0

kxsbbbfp=7f4d5c9c8d10 bln=32 avl=04 flg=05

value=“DANA”

EXEC #139970243136096:c=515,e=515,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=1,plh=497759109,tim=1640840352096360

FETCH #139970243136096:c=3375,e=3821,p=0,cr=16,cu=0,mis=0,r=1,dep=1,og=1,plh=497759109,tim=1640840352100287

CLOSE #139970243136096:c=1,e=1,dep=1,type=3,tim=1640840352100407

=====================

PARSING IN CURSOR #139970241001792 len=135 dep=1 uid=89 oct=3 lid=89 tim=1640840352100651 hv=807489267 ad=‘892c2ed8’ sqlid=‘8r4hgg4s22mrm’

SELECT SEQUENCE_OWNER, SEQUENCE_NAME, LAST_NUMBER, CYCLE_FLAG FROM DBA_SEQUENCES WHERE SEQUENCE_OWNER = :B2 AND SEQUENCE_NAME LIKE :B1

END OF STMT

BINDS #139970241001792:

Bind#0

oacdty=01 mxl=32(04) mxlc=00 mal=00 scl=00 pre=00

oacflg=03 fl2=1206001 frm=01 csi=178 siz=160 off=0

kxsbbbfp=7f4d5c9c8c90 bln=32 avl=04 flg=05

value=“DANA”

Bind#1

oacdty=01 mxl=128(100) mxlc=00 mal=00 scl=00 pre=00

oacflg=03 fl2=1206001 frm=01 csi=178 siz=0 off=32

kxsbbbfp=7f4d5c9c8cb0 bln=128 avl=13 flg=01

value=“SEQUENCETEST2”

EXEC #139970241001792:c=225,e=225,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=1,plh=265299978,tim=1640840352100753

FETCH #139970241001792:c=89,e=89,p=0,cr=7,cu=0,mis=0,r=1,dep=1,og=1,plh=265299978,tim=1640840352100871

=====================

PARSING IN CURSOR #139970241132864 len=39 dep=1 uid=89 oct=42 lid=89 tim=1640840352101173 hv=1648071303 ad=‘0’ sqlid=‘958zjsxj3r4n7’

ALTER SESSION SET CURRENT_SCHEMA=“DANA”

END OF STMT

PARSE #139970241132864:c=116,e=117,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=0,plh=0,tim=1640840352101173

EXEC #139970241132864:c=27,e=27,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=0,plh=0,tim=1640840352101250

CLOSE #139970241132864:c=18,e=41,dep=1,type=0,tim=1640840352101310

XCTEND rlbk=0, rd_only=1, tim=1640840352102592

=====================

PARSING IN CURSOR #139970241132864 len=38 dep=1 uid=92 oct=14 lid=89 tim=1640840352103884 hv=2606497137 ad=‘8b3840f0’ sqlid=‘grpmnaudprzbj’

ALTER SEQUENCE “SEQUENCETEST2” NOCYCLE

END OF STMT

PARSE #139970241132864:c=2925,e=2493,p=0,cr=0,cu=0,mis=1,r=0,dep=1,og=1,plh=0,tim=1640840352103883

=====================

PARSING IN CURSOR #139970243099976 len=5746 dep=2 uid=57 oct=47 lid=57 tim=1640840352104855 hv=127875610 ad=‘72ef7460’ sqlid=‘13t5kwh3tyfhu’

declare

TYPE attrs_cur IS REF CURSOR;

m_cur attrs_cur;

m_event varchar2(512);

m_user varchar2(512);

m_owner varchar2(512);

m_user1 varchar2(512);

m_type varchar2(512);

m_stmt varchar2(512);

m_name varchar2(5120);

m_column varchar2(5120);

m_cnt NUMBER;

m_stmt1 varchar2(512);

m_var varchar2(512);

m_o_stmt VARCHAR2(5120);

PRAGMA AUTONOMOUS_TRANSACTION;

begin

m_stmt:=‘select sys.dbms_standard.dictionary_obj_type from dual’;

execute immediate m_stmt into m_type;

if(not (m_type=‘TABLE’ or m_type=‘TRIGGER’ or m_type=‘USER’ or m_type=‘TABLESPACE’))

then

return;

end if;

m_stmt:=‘select sys.dbms_standard.sysevent from dual’;

execute immediate m_stmt into m_event;

m_stmt:=‘select SYS_CONTEXT(’‘USERENV’’,’‘SESSION_USER’’) from dual’;

execute immediate m_stmt into m_user;

m_stmt:=‘select SYS_CONTEXT(’‘USERENV’’,’‘CURRENT_USER’’) from dual’;

execute immediate m_stmt into m_user1;

m_stmt:=‘select sys.dbms_standard.dictionary_obj_owner from dual’;

execute immediate m_stmt into m_owner;

m_stmt:=‘select sys.dbms_standard.dictionary_obj_name from dual’;

execute immediate m_stmt into m_name;

m_stmt:=‘select sdo_geor_def.getSqlText from dual’;

execute immediate m_stmt into m_o_stmt;

if (m_owner!=‘MDSYS’ and m_owner!=‘SYS’ and m_type=‘TABLE’ and m_event=‘ALTER’)

then

m_stmt:=‘select column_name from dba_tab_columns where owner=:1 and table_name=:2’;

open m_cur for m_stmt using m_owner,m_name;

loop

fetch m_cur into m_column;

exit when m_cur%NOTFOUND;

m_stmt:=‘select sdo_geor_def.isDropColumn(:1) from dual’;

execute immediate m_stmt into m_stmt1 using SYS.DBMS_ASSERT.SIMPLE_SQL_NAME(m_column);

if (trim(m_stmt1)=‘TRUE’)

then

m_stmt:=‘begin sdo_geor_def.doAlterDropColumn(:1,:2,:3); end;’;

execute immediate m_stmt using SYS.DBMS_ASSERT.SCHEMA_NAME(m_owner),SYS.DBMS_ASSERT.SIMPLE_SQL_NAME(m_name),SYS.DBMS_ASSERT.SIMPLE_SQL_NAME(m_column);

end if;

end loop;

end if;

if ((m_event=‘DROP’ and m_type=‘USER’) or (m_event=‘DROP’ and m_type=‘TABLESPACE’))

then

m_stmt:=‘insert into sdo_geor_ddl__table$$ values (1)’;

EXECUTE IMMEDIATE m_stmt;

commit;

end if;

if (m_event=‘DROP’ and m_type=‘TABLE’)

then

m_stmt:=‘select count(*) from sdo_geor_sysdata_table where sdo_owner=:1 and RDT_TABLE_NAME=:2’;

EXECUTE IMMEDIATE m_stmt into m_cnt using m_owner,m_name;

if(m_cnt!=0)

then

m_stmt:=‘select count(*) from sdo_geor_ddl__table$$’;

EXECUTE IMMEDIATE m_stmt into m_cnt;

if((m_cnt=0)and (m_user!=‘SYS’ and m_user!=‘SYSTEM’ and m_user!='MDSYS’and m_owner!=‘MDSYS’ and m_owner!=‘SYS’))

then

m_stmt:=‘call mderr.raise_md_error(’‘MD’’, ‘‘SDO’’, -13391, ‘‘The referenced raster data table(RDT) cannot be dropped.’’)’;

execute immediate m_stmt;

end if;

end if;

m_stmt:=‘insert into sdo_geor_ddl__table$$ values (2)’;

EXECUTE IMMEDIATE m_stmt;

commit;

end if;

if(m_user=‘SYS’ or m_user=‘SYSTEM’ or m_user=‘MDSYS’

or m_owner=‘MDSYS’ or m_owner=‘SYS’)

then

return;

end if;

if (m_event=‘RENAME’ and m_type=‘TABLE’)

then

m_stmt:=‘select count(*) from sdo_geor_sysdata_table where sdo_owner=:1 and RDT_TABLE_NAME=:2’;

EXECUTE IMMEDIATE m_stmt into m_cnt using m_owner,m_name;

if(m_cnt!=0)

then

m_stmt:=‘select count(*) from sdo_geor_ddl__table$$’;

EXECUTE IMMEDIATE m_stmt into m_cnt;

if(m_cnt=0)

then

m_stmt:=‘call mderr.raise_md_error(’‘MD’’, ‘‘SDO’’, -13391, ‘‘The referenced raster data table(RDT) cannot be renamed directly.’’)’;

execute immediate m_stmt;

end if;

end if;

end if;

if (m_type=‘TRIGGER’ and m_event=‘DROP’)

then

m_stmt:=‘select REGEXP_SUBSTR(:1,’‘GRDMLTR_.+’’,1,1,’‘i’’) from dual’;

EXECUTE IMMEDIATE m_stmt into m_var using m_name;

if(m_var is null)

then

return;

end if;

m_stmt:=‘select count(*) from sdo_geor_ddl__table$$’;

EXECUTE IMMEDIATE m_stmt into m_cnt;

if(m_cnt=0)

then

m_stmt:=‘call mderr.raise_md_error(’‘MD’’, ‘‘SDO’’, -13391, ‘‘GeoRaster DML triggers cannot be dropped.’’)’;

execute immediate m_stmt;

end if;

end if;

if (m_type=‘TRIGGER’ and m_event=‘ALTER’)

then

m_o_stmt:=upper(trim(m_o_stmt));

if(instr(m_o_stmt,’ COMPILE ‘)>0 or instr(m_o_stmt,’ ENABLE ')>0

or substr(m_o_stmt,length(m_o_stmt)-8,8)=’ COMPILE’ or substr(m_o_stmt,length(m_o_stmt)-7,7)=’ ENABLE’ )

then

return;

end if;

m_stmt:=‘select REGEXP_SUBSTR(:1,’‘GRDMLTR_.+’’,1,1,’‘i’’) from dual’;

EXECUTE IMMEDIATE m_stmt into m_var using m_name;

if(m_var is null)

then

return;

end if;

m_stmt:=‘select count(*) from sdo_geor_ddl__table$$’;

EXECUTE IMMEDIATE m_stmt into m_cnt;

if(m_cnt=0)

then

m_stmt:=‘call mderr.raise_md_error(’‘MD’’, ‘‘SDO’’, -13391, ‘‘GeoRaster DML triggers cannot be altered.’’)’;

execute immediate m_stmt;

end if;

end if;

if (m_type=‘TRIGGER’ and m_event=‘CREATE’)

then

m_stmt:=‘select REGEXP_SUBSTR(:1,’‘GRDMLTR_.+’’,1,1,’‘i’’) from dual’;

EXECUTE IMMEDIATE m_stmt into m_var using m_name;

if(m_var is null)

then

return;

end if;

m_stmt:=‘select count(*) from sdo_geor_ddl__table$$’;

EXECUTE IMMEDIATE m_stmt into m_cnt;

if(m_cnt=0)

then

m_stmt:=‘call mderr.raise_md_error(’‘MD’’, ‘‘SDO’’, -13391, ‘‘GeoRaster reserved names cannot be used to create regular triggers.’’)’;

execute immediate m_stmt;

end if;

end if;

Exception

when others then

if(sqlcode=-13391)

then

m_stmt:=sqlerrm;

m_stmt:=substr(m_stmt,11);

m_stmt:=‘call mderr.raise_md_error(’‘MD’’, ‘‘SDO’’, -13391,’’’||m_stmt||’’’)’;

execute immediate m_stmt;

end if;

end;

END OF STMT

PARSE #139970243099976:c=98,e=99,p=0,cr=0,cu=0,mis=0,r=0,dep=2,og=1,plh=0,tim=1640840352104855

=====================

PARSING IN CURSOR #139970241080208 len=54 dep=3 uid=57 oct=3 lid=57 tim=1640840352180187 hv=664851305 ad=‘8c1f0ff0’ sqlid=‘bcv9qynmu1nv9’

select sys.dbms_standard.dictionary_obj_type from dual

END OF STMT

PARSE #139970241080208:c=11826,e=74391,p=0,cr=0,cu=0,mis=1,r=0,dep=3,og=1,plh=1388734953,tim=1640840352180186

EXEC #139970241080208:c=24,e=24,p=0,cr=0,cu=0,mis=0,r=0,dep=3,og=1,plh=1388734953,tim=1640840352180284

FETCH #139970241080208:c=334,e=334,p=0,cr=0,cu=0,mis=0,r=1,dep=3,og=1,plh=1388734953,tim=1640840352180646

STAT #139970241080208 id=1 cnt=1 pid=0 pos=1 obj=0 op=‘FAST DUAL (cr=0 pr=0 pw=0 time=0 us cost=2 size=0 card=1)’

CLOSE #139970241080208:c=1,e=1,dep=3,type=3,tim=1640840352180815

EXEC #139970243099976:c=12645,e=75210,p=0,cr=0,cu=0,mis=0,r=1,dep=2,og=1,plh=0,tim=1640840352180831

CLOSE #139970243099976:c=4,e=4,dep=2,type=3,tim=1640840352180859

=====================

PARSING IN CURSOR #139970241123232 len=129 dep=2 uid=0 oct=6 lid=0 tim=1640840352181356 hv=2635489469 ad=‘8c2ac468’ sqlid=‘4m7m0t6fjcs5x’

update seq$ set increment$=:2,minvalue=:3,maxvalue=:4,cycle#=:5,order$=:6,cache=:7,highwater=:8,audit$=:9,flags=:10 where obj#=:1

END OF STMT

BINDS #139970241123232:

Bind#0

oacdty=02 mxl=22(02) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=8c2ac800 bln=22 avl=02 flg=09

value=1

Bind#1

oacdty=02 mxl=22(02) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=8c2ac812 bln=22 avl=02 flg=09

value=1

Bind#2

oacdty=02 mxl=22(04) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=8c2ac824 bln=22 avl=04 flg=09

value=99999

Bind#3

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=48 off=0

kxsbbbfp=7f4d5c9fa0d0 bln=22 avl=01 flg=05

value=0

Bind#4

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=0 off=24

kxsbbbfp=7f4d5c9fa0e8 bln=22 avl=01 flg=01

value=0

Bind#5

oacdty=02 mxl=22(02) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=8c2ac836 bln=22 avl=02 flg=09

value=3

Bind#6

oacdty=02 mxl=22(02) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=8c2ac848 bln=22 avl=02 flg=09

value=10

Bind#7

oacdty=01 mxl=32(32) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=01 csi=178 siz=32 off=0

kxsbbbfp=8c2ac85a bln=32 avl=32 flg=09

value="--------------------------------"

Bind#8

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=48 off=0

kxsbbbfp=7f4d5c9fa088 bln=22 avl=02 flg=05

value=8

Bind#9

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=0 off=24

kxsbbbfp=7f4d5c9fa0a0 bln=22 avl=04 flg=01

value=89877

WAIT #139970241123232: nam=‘Disk file operations I/O’ ela= 34 FileOperation=2 fileno=3 filetype=2 obj#=-1 tim=1640840352192251

EXEC #139970241123232:c=1322,e=11199,p=0,cr=1,cu=3,mis=0,r=1,dep=2,og=4,plh=1935744642,tim=1640840352192517

CLOSE #139970241123232:c=1,e=0,dep=2,type=3,tim=1640840352192575

BINDS #139970241123232:

Bind#0

oacdty=02 mxl=22(02) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=8c2ac800 bln=22 avl=02 flg=09

value=1

Bind#1

oacdty=02 mxl=22(02) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=8c2ac812 bln=22 avl=02 flg=09

value=1

Bind#2

oacdty=02 mxl=22(04) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=8c2ac824 bln=22 avl=04 flg=09

value=99999

Bind#3

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=48 off=0

kxsbbbfp=7f4d5c9fa0d0 bln=22 avl=01 flg=05

value=0

Bind#4

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=0 off=24

kxsbbbfp=7f4d5c9fa0e8 bln=22 avl=01 flg=01

value=0

Bind#5

oacdty=02 mxl=22(02) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=8c2ac836 bln=22 avl=02 flg=09

value=3

Bind#6

oacdty=02 mxl=22(02) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=8c2ac848 bln=22 avl=02 flg=09

value=10

Bind#7

oacdty=01 mxl=32(32) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=01 csi=178 siz=32 off=0

kxsbbbfp=8c2ac85a bln=32 avl=32 flg=09

value="--------------------------------"

Bind#8

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=48 off=0

kxsbbbfp=7f4d5c9fa088 bln=22 avl=02 flg=05

value=8

Bind#9

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=0 off=24

kxsbbbfp=7f4d5c9fa0a0 bln=22 avl=04 flg=01

value=89877

EXEC #139970241123232:c=204,e=204,p=0,cr=1,cu=2,mis=0,r=1,dep=2,og=4,plh=1935744642,tim=1640840352192846

CLOSE #139970241123232:c=0,e=0,dep=2,type=3,tim=1640840352192857

=====================

PARSING IN CURSOR #139970241118360 len=235 dep=2 uid=0 oct=6 lid=0 tim=1640840352192912 hv=159997841 ad=‘893df3f8’ sqlid=‘4yyb4104skrwj’

update obj$ set obj#=:4, type#=:5,ctime=:6,mtime=:7,stime=:8,status=:9,dataobj#=:10,flags=:11,oid$=:12,spare1=:13, spare2=:14 where owner#=:1 and name=:2 and namespace=:3 and remoteowner is null and linkname is null and subname is null

END OF STMT

BINDS #139970241118360:

Bind#0

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=48 off=0

kxsbbbfp=7f4d5c9fa0d0 bln=22 avl=04 flg=05

value=89877

Bind#1

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=0 off=24

kxsbbbfp=7f4d5c9fa0e8 bln=22 avl=02 flg=01

value=6

Bind#2

oacdty=12 mxl=07(07) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=8 off=0

kxsbbbfp=8b2441c1 bln=07 avl=07 flg=09

value=“12/30/2021 10:53:14”

Bind#3

oacdty=12 mxl=07(07) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=8 off=0

kxsbbbfp=8b2441c8 bln=07 avl=07 flg=09

value=“12/30/2021 12:59:12”

Bind#4

oacdty=12 mxl=07(07) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=8 off=0

kxsbbbfp=8b2441cf bln=07 avl=07 flg=09

value=“12/30/2021 10:53:14”

Bind#5

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=72 off=0

kxsbbbfp=7f4d5c9fa070 bln=22 avl=02 flg=05

value=1

Bind#6

oacdty=02 mxl=22(00) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=0 off=24

kxsbbbfp=7f4d5c9fa088 bln=22 avl=00 flg=01

Bind#7

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=0 off=48

kxsbbbfp=7f4d5c9fa0a0 bln=22 avl=01 flg=01

value=0

Bind#8

oacdty=23 mxl=32(00) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=32 off=0

kxsbbbfp=00000000 bln=32 avl=00 flg=09

Bind#9

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=72 off=0

kxsbbbfp=7f4d5c9fa010 bln=22 avl=02 flg=05

value=6

Bind#10

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=0 off=24

kxsbbbfp=7f4d5c9fa028 bln=22 avl=04 flg=01

value=65535

Bind#11

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=0 off=48

kxsbbbfp=7f4d5c9fa040 bln=22 avl=02 flg=01

value=92

Bind#12

oacdty=01 mxl=32(13) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=01 csi=178 siz=32 off=0

kxsbbbfp=8b2440ce bln=32 avl=13 flg=09

value=“SEQUENCETEST2”

Bind#13

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=7f4d5c9f9fe0 bln=22 avl=02 flg=05

value=1

EXEC #139970241118360:c=358,e=358,p=0,cr=3,cu=1,mis=0,r=1,dep=2,og=4,plh=2683643009,tim=1640840352193228

CLOSE #139970241118360:c=1,e=1,dep=2,type=3,tim=1640840352193246

=====================

PARSING IN CURSOR #139970241111984 len=3509 dep=2 uid=57 oct=47 lid=57 tim=1640840352193647 hv=1920321438 ad=‘893f0658’ sqlid=‘38spc81t7bjwy’

declare

TYPE attrs_cur IS REF CURSOR;

m_cur attrs_cur;

m_event varchar2(512);

m_user varchar2(512);

m_owner varchar2(512);

m_user1 varchar2(512);

m_type varchar2(512);

m_name varchar2(5120);

m_column varchar2(5120);

m_cnt NUMBER;

m_stmt varchar2(512);

m_ret varchar2(3000);

m_ret1 varchar2(512);

m_o_stmt VARCHAR2(5120);

begin

m_stmt:=‘select sys.dbms_standard.dictionary_obj_type from dual’;

execute immediate m_stmt into m_type;

if(not (m_type=‘TABLE’ or m_type=‘TRIGGER’ or m_type=‘USER’ or m_type=‘TABLESPACE’))

then

return;

end if;

m_stmt:=‘select sys.dbms_standard.sysevent from dual’;

execute immediate m_stmt into m_event;

m_stmt:=‘select SYS_CONTEXT(’‘USERENV’’,’‘SESSION_USER’’) from dual’;

execute immediate m_stmt into m_user;

m_stmt:=‘select sys.dbms_standard.login_user from dual’;

execute immediate m_stmt into m_user1;

m_stmt:=‘select sys.dbms_standard.dictionary_obj_owner from dual’;

execute immediate m_stmt into m_owner;

m_stmt:=‘select sys.dbms_standard.dictionary_obj_name from dual’;

execute immediate m_stmt into m_name;

if((instr(upper(m_name),‘MDRT_’)>0) and m_event=‘DROP’)

then

return;

end if;

if (m_owner!=‘MDSYS’ and m_owner!=‘SYS’ and m_type=‘TABLE’ and m_event=‘CREATE’)

then

m_stmt:=‘select sdo_geor_def.listAllGeoRasterFieldsStr(:1,:2) from dual’;

execute immediate m_stmt into m_ret using SYS.DBMS_ASSERT.SCHEMA_NAME(m_owner),SYS.DBMS_ASSERT.SIMPLE_SQL_NAME(m_name);

m_ret:=trim(m_ret);

while (length(m_ret)!=0) loop

if (instr(m_ret,’ $$__## ')!=0)

then

m_ret1:=trim(substr(m_ret,1,instr(m_ret,’ $$__## ')-1));

m_ret:=trim(substr(m_ret,instr(m_ret,’ $$__## ')+8));

else

m_ret1:=trim(m_ret);

m_ret:=’’;

end if;

m_stmt:=‘begin SDO_GEOR_UTL.createDMLTrigger(:1,:2); end;’;

execute immediate m_stmt using m_owner||’.’||m_name,SYS.DBMS_ASSERT.QUALIFIED_SQL_NAME(m_ret1);

end loop;

return;

end if;

if (m_name!=‘MDSYS’ and m_type=‘USER’ and m_event=‘DROP’)

then

m_stmt:=‘call sdo_geor_def.doDropUserAndTable()’;

execute immediate m_stmt;

end if;

if (m_owner!=‘MDSYS’ and m_owner!=‘SYS’ and m_type=‘TABLE’ and m_event=‘DROP’)

then

m_stmt:=‘call sdo_geor_def.doDropUserAndTable()’;

execute immediate m_stmt;

end if;

if (m_owner!=‘MDSYS’ and m_owner!=‘SYS’ and m_type=‘TABLE’ and m_event=‘TRUNCATE’)

then

m_stmt:=‘call sdo_geor_def.doTruncateTable()’;

execute immediate m_stmt;

end if;

if (m_owner!=‘MDSYS’ and m_owner!=‘SYS’ and m_type=‘TABLE’ and m_event=‘ALTER’)

then

m_stmt:=‘call sdo_geor_def.doAlterRenameTable()’;

execute immediate m_stmt;

end if;

if (m_owner!=‘MDSYS’ and m_owner!=‘SYS’ and m_type=‘TABLE’ and m_event=‘RENAME’)

then

m_stmt:=‘call sdo_geor_def.doRenameTable()’;

execute immediate m_stmt;

end if;

if (m_event=‘DROP’ and m_type=‘TABLE’)

then

m_stmt:=‘delete from sdo_geor_ddl__table$$ where id=2’;

EXECUTE IMMEDIATE m_stmt;

end if;

if ((m_type=‘USER’ and m_event=‘DROP’) or (m_type=‘TABLESPACE’ and m_event=‘DROP’))

then

m_stmt:=‘delete from sdo_geor_ddl__table$$’;

EXECUTE IMMEDIATE m_stmt;

end if;

Exception

when others then

if(sqlcode=-13391)

then

m_stmt:=sqlerrm;

m_stmt:=substr(m_stmt,11);

m_stmt:=‘call mderr.raise_md_error(’‘MD’’, ‘‘SDO’’, -13391,’’’||m_stmt||’’’)’;

execute immediate m_stmt;

end if;

end;

END OF STMT

PARSE #139970241111984:c=34,e=34,p=0,cr=0,cu=0,mis=0,r=0,dep=2,og=1,plh=0,tim=1640840352193646

PARSE #139970241080208:c=4,e=5,p=0,cr=0,cu=0,mis=0,r=0,dep=3,og=1,plh=1388734953,tim=1640840352193999

EXEC #139970241080208:c=9,e=9,p=0,cr=0,cu=0,mis=0,r=0,dep=3,og=1,plh=1388734953,tim=1640840352194019

FETCH #139970241080208:c=59,e=59,p=0,cr=0,cu=0,mis=0,r=1,dep=3,og=1,plh=1388734953,tim=1640840352194097

CLOSE #139970241080208:c=1,e=1,dep=3,type=3,tim=1640840352194122

EXEC #139970241111984:c=240,e=240,p=0,cr=0,cu=0,mis=0,r=1,dep=2,og=1,plh=0,tim=1640840352194129

CLOSE #139970241111984:c=3,e=3,dep=2,type=3,tim=1640840352194144

XCTEND rlbk=0, rd_only=1, tim=1640840352194159

EXEC #139970241132864:c=17512,e=90247,p=0,cr=5,cu=10,mis=0,r=0,dep=1,og=1,plh=0,tim=1640840352194177

CLOSE #139970241132864:c=1,e=1,dep=1,type=0,tim=1640840352194342

=====================

PARSING IN CURSOR #139970241110584 len=102 dep=2 uid=0 oct=3 lid=0 tim=1640840352194910 hv=3967354608 ad=‘8c3b87e0’ sqlid=‘axmdf8vq7k1rh’

select increment$,minvalue,maxvalue,cycle#,order$,cache,highwater,audit$,flags from seq$ where obj#=:1

END OF STMT

BINDS #139970241110584:

Bind#0

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=7f4d5c9c8d18 bln=22 avl=04 flg=05

value=89877

EXEC #139970241110584:c=115,e=115,p=0,cr=0,cu=0,mis=0,r=0,dep=2,og=4,plh=2203911306,tim=1640840352194977

FETCH #139970241110584:c=9,e=8,p=0,cr=2,cu=0,mis=0,r=1,dep=2,og=4,plh=2203911306,tim=1640840352194997

CLOSE #139970241110584:c=1,e=1,dep=2,type=3,tim=1640840352195010

=====================

PARSING IN CURSOR #139970243093176 len=151 dep=2 uid=0 oct=3 lid=0 tim=1640840352195251 hv=4139184264 ad=‘8c3d5a00’ sqlid=‘2q93zsrvbdw48’

select grantee#,privilege#,nvl(col#,0),max(mod(nvl(option$,0),2))from objauth$ where obj#=:1 group by grantee#,privilege#,nvl(col#,0) order by grantee#

END OF STMT

BINDS #139970243093176:

Bind#0

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=7f4d5c9c8d18 bln=22 avl=04 flg=05

value=89877

EXEC #139970243093176:c=150,e=149,p=0,cr=0,cu=0,mis=0,r=0,dep=2,og=4,plh=2874733959,tim=1640840352195332

FETCH #139970243093176:c=92,e=92,p=0,cr=2,cu=0,mis=0,r=0,dep=2,og=4,plh=2874733959,tim=1640840352195434

CLOSE #139970243093176:c=1,e=1,dep=2,type=3,tim=1640840352195453

=====================

PARSING IN CURSOR #139970241082056 len=40 dep=1 uid=92 oct=3 lid=89 tim=1640840352195876 hv=1347272314 ad=‘891cc018’ sqlid=‘3tgyqw184vgmu’

SELECT “SEQUENCETEST2”.nextval FROM DUAL

END OF STMT

PARSE #139970241082056:c=1247,e=1508,p=0,cr=4,cu=0,mis=1,r=0,dep=1,og=1,plh=2297760174,tim=1640840352195875

EXEC #139970241082056:c=52,e=52,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=1,plh=2297760174,tim=1640840352195953

BINDS #139970241123232:

Bind#0

oacdty=02 mxl=22(02) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=8c2ac800 bln=22 avl=02 flg=09

value=1

Bind#1

oacdty=02 mxl=22(02) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=8c2ac812 bln=22 avl=02 flg=09

value=1

Bind#2

oacdty=02 mxl=22(04) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=8c2ac824 bln=22 avl=04 flg=09

value=99999

Bind#3

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=48 off=0

kxsbbbfp=7f4d5cb24630 bln=22 avl=01 flg=05

value=0

Bind#4

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=0 off=24

kxsbbbfp=7f4d5cb24648 bln=22 avl=01 flg=01

value=0

Bind#5

oacdty=02 mxl=22(02) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=8c2ac836 bln=22 avl=02 flg=09

value=3

Bind#6

oacdty=02 mxl=22(02) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=8c2ac848 bln=22 avl=02 flg=09

value=13

Bind#7

oacdty=01 mxl=32(32) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=01 csi=178 siz=32 off=0

kxsbbbfp=8c2ac85a bln=32 avl=32 flg=09

value="--------------------------------"

Bind#8

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=48 off=0

kxsbbbfp=7f4d5cb245e8 bln=22 avl=02 flg=05

value=8

Bind#9

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=0 off=24

kxsbbbfp=7f4d5cb24600 bln=22 avl=04 flg=01

value=89877

EXEC #139970241123232:c=219,e=219,p=0,cr=1,cu=2,mis=0,r=1,dep=2,og=4,plh=1935744642,tim=1640840352196250

CLOSE #139970241123232:c=0,e=0,dep=2,type=3,tim=1640840352196262

FETCH #139970241082056:c=333,e=333,p=0,cr=1,cu=3,mis=0,r=1,dep=1,og=1,plh=2297760174,tim=1640840352196307

STAT #139970241082056 id=1 cnt=1 pid=0 pos=1 obj=89877 op=‘SEQUENCE SEQUENCETEST2 (cr=1 pr=0 pw=0 time=374 us)’

STAT #139970241082056 id=2 cnt=1 pid=1 pos=1 obj=0 op=‘FAST DUAL (cr=0 pr=0 pw=0 time=2 us cost=2 size=0 card=1)’

CLOSE #139970241082056:c=0,e=0,dep=1,type=3,tim=1640840352196390

=====================

PARSING IN CURSOR #139970241086296 len=85 dep=1 uid=92 oct=3 lid=89 tim=1640840352196516 hv=1743359171 ad=‘8530ff80’ sqlid=‘c00hfj5mym363’

SELECT LAST_NUMBER FROM DBA_SEQUENCES WHERE SEQUENCE_OWNER=:B2 AND SEQUENCE_NAME=:B1

END OF STMT

BINDS #139970241086296:

Bind#0

oacdty=01 mxl=32(30) mxlc=00 mal=00 scl=00 pre=00

oacflg=13 fl2=206001 frm=01 csi=178 siz=32 off=0

kxsbbbfp=7f4d5cb73e00 bln=32 avl=04 flg=09

value=“DANA”

Bind#1

oacdty=01 mxl=32(30) mxlc=00 mal=00 scl=00 pre=00

oacflg=13 fl2=206001 frm=01 csi=178 siz=32 off=0

kxsbbbfp=7f4d5cb73e20 bln=32 avl=13 flg=09

value=“SEQUENCETEST2”

EXEC #139970241086296:c=162,e=162,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=1,plh=265299978,tim=1640840352196566

FETCH #139970241086296:c=42,e=42,p=0,cr=7,cu=0,mis=0,r=1,dep=1,og=1,plh=265299978,tim=1640840352196622

CLOSE #139970241086296:c=1,e=1,dep=1,type=3,tim=1640840352196642

=====================

PARSING IN CURSOR #139970241132864 len=45 dep=1 uid=92 oct=42 lid=89 tim=1640840352196689 hv=4112858304 ad=‘0’ sqlid=‘653dv1mukag60’

ALTER SESSION SET CURRENT_SCHEMA=“GOLDENGATE”

END OF STMT

PARSE #139970241132864:c=32,e=33,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=0,plh=0,tim=1640840352196689

EXEC #139970241132864:c=12,e=12,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=0,plh=0,tim=1640840352196723

CLOSE #139970241132864:c=1,e=0,dep=1,type=0,tim=1640840352196732

CLOSE #139970241001792:c=1,e=1,dep=1,type=3,tim=1640840352196745

EXEC #139970243151920:c=28871,e=101933,p=0,cr=40,cu=13,mis=0,r=1,dep=0,og=1,plh=0,tim=1640840352196756

WAIT #139970243151920: nam=‘log file sync’ ela= 24333 buffer#=2717 sync scn=3870585 p3=0 obj#=118 tim=1640840352221105

WAIT #139970243151920: nam=‘SQL*Net message to client’ ela= 2 driver id=1413697536 #bytes=1 p3=0 obj#=118 tim=1640840352221188

*** 2021-12-30 12:59:44.797

Received ORADEBUG command (#2) ‘event 10046 trace name context off’ from process 'Unix process pid: 102520, image: ’

*** 2021-12-30 12:59:44.798

Finished processing ORADEBUG command (#2) ‘event 10046 trace name context off’

*** 2021-12-30 13:00:13.460

Received ORADEBUG command (#3) ‘tracefile_name’ from process 'Unix process pid: 102520, image: ’

*** 2021-12-30 13:00:13.460

Finished processing ORADEBUG command (#3) ‘tracefile_name’

3.2开启进程,flush sequence对目标端****影响

同里为了探索flush sequence对于开启抽取进程时对目标库的影响

先关闭进程,dblogin,确定psid,然后再开启进程

其余操作同上:

1、先dblogin 定位SPID

SYS@hmb> select P.PID,P.SPID,S.SID from v$process p,v$session s where P.ADDR=S.PADDR and S.username like ‘%GOL%’;

PID SPID SID

------------------------------------------------------------------------ ----------

21 102606 158

2、 oradebug setospid

SYS@hmb> oradebug setospid 102606

Oracle pid: 21, Unix process pid: 102606, image: oracle@hmb

3、开启抽取进程

start EXTDANA1

4、开启oradebug event 10046

SYS@hmb> oradebug event 10046 trace name context forever, level 12

Statement processed.

5、 flush sequence

GGSCI (hmb as goldengate@hmb) 9> flush sequence dana.“SEQUENCETEST2”

2021-12-30 13:19:53 INFO OGG-15311 Successfully flushed 1 sequence(s) dana.SEQUENCETEST2.

6、关闭oradebug event 10046

SYS@hmb> oradebug event 10046 trace name context off

Statement processed.

7、获取trace文件

SYS@hmb> oradebug tracefile_name

/u01/app/oracle/diag/rdbms/hmb/hmb/trace/hmb_ora_102606.trc

8、读取并分析trace文件

[oracle@hmb ~]$ cat /u01/app/oracle/diag/rdbms/hmb/hmb/trace/hmb_ora_102606.trc

Trace file /u01/app/oracle/diag/rdbms/hmb/hmb/trace/hmb_ora_102606.trc

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1

System name: Linux

Node name: hmb

Release: 2.6.32-696.el6.x86_64

Version: #1 SMP Tue Feb 21 00:53:17 EST 2017

Machine: x86_64

VM name: VMWare Version: 6

Instance name: hmb

Redo thread mounted by this instance: 1

Oracle process number: 21

Unix process pid: 102606, image: oracle@hmb

*** 2021-12-30 13:19:19.107

*** SESSION ID:(158.15157) 2021-12-30 13:19:19.107

*** CLIENT ID:() 2021-12-30 13:19:19.107

*** SERVICE NAME:(hmb) 2021-12-30 13:19:19.107

*** MODULE NAME:(OGG-ORA_ADMIN) 2021-12-30 13:19:19.107

*** ACTION NAME:() 2021-12-30 13:19:19.107

Received ORADEBUG command (#1) ‘event 10046 trace name context forever, level 12’ from process 'Unix process pid: 102598, image: ’

*** 2021-12-30 13:19:19.108

Finished processing ORADEBUG command (#1) ‘event 10046 trace name context forever, level 12’

*** 2021-12-30 13:19:53.805

WAIT #139847449049992: nam=‘SQL*Net message from client’ ela= 227434320 driver id=1413697536 #bytes=1 p3=0 obj#=118 tim=1640841593805050

=====================

PARSING IN CURSOR #139847449106632 len=59 dep=0 uid=89 oct=3 lid=89 tim=1640841593805381 hv=2303204956 ad=‘890e50b0’ sqlid=‘0arp5pf4nh7kw’

SELECT sys.dbms_assert.SCHEMA_NAME(UPPER(‘dana’)) FROM dual

END OF STMT

PARSE #139847449106632:c=150,e=150,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,plh=1388734953,tim=1640841593805381

EXEC #139847449106632:c=114,e=113,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,plh=1388734953,tim=1640841593805570

WAIT #139847449106632: nam=‘SQL*Net message to client’ ela= 2 driver id=1413697536 #bytes=1 p3=0 obj#=118 tim=1640841593805686

=====================

PARSING IN CURSOR #139847449251528 len=112 dep=1 uid=89 oct=3 lid=89 tim=1640841593806386 hv=1811829377 ad=‘8b26a6c0’ sqlid=‘6f48339pzwnn1’

SELECT COUNT(*) FROM SYS.ALL_USERS WHERE NLSSORT(USERNAME, ‘NLS_SORT=BINARY’) = NLSSORT(:B1 , ‘NLS_SORT=BINARY’)

END OF STMT

PARSE #139847449251528:c=119,e=119,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=1,plh=1011760737,tim=1640841593806385

BINDS #139847449251528:

Bind#0

oacdty=01 mxl=32(04) mxlc=00 mal=00 scl=00 pre=00

oacflg=03 fl2=1206001 frm=01 csi=178 siz=32 off=0

kxsbbbfp=7f30c588c7f0 bln=32 avl=04 flg=05

value=“DANA”

EXEC #139847449251528:c=289,e=289,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=1,plh=1011760737,tim=1640841593806732

FETCH #139847449251528:c=195,e=195,p=0,cr=6,cu=0,mis=0,r=1,dep=1,og=1,plh=1011760737,tim=1640841593806961

STAT #139847449251528 id=1 cnt=1 pid=0 pos=1 obj=0 op=‘SORT AGGREGATE (cr=6 pr=0 pw=0 time=206 us)’

STAT #139847449251528 id=2 cnt=1 pid=1 pos=1 obj=0 op=‘NESTED LOOPS (cr=6 pr=0 pw=0 time=154 us cost=3 size=29 card=1)’

STAT #139847449251528 id=3 cnt=1 pid=2 pos=1 obj=0 op=‘NESTED LOOPS (cr=4 pr=0 pw=0 time=135 us cost=2 size=26 card=1)’

STAT #139847449251528 id=4 cnt=1 pid=3 pos=1 obj=22 op=‘TABLE ACCESS BY INDEX ROWID USER$ (cr=2 pr=0 pw=0 time=31 us cost=1 size=23 card=1)’

STAT #139847449251528 id=5 cnt=1 pid=4 pos=1 obj=46 op=‘INDEX UNIQUE SCAN I_USER1 (cr=1 pr=0 pw=0 time=17 us cost=0 size=0 card=1)’

STAT #139847449251528 id=6 cnt=1 pid=3 pos=2 obj=16 op=‘TABLE ACCESS CLUSTER TS$ (cr=2 pr=0 pw=0 time=101 us cost=1 size=3 card=1)’

STAT #139847449251528 id=7 cnt=1 pid=6 pos=1 obj=7 op=‘INDEX UNIQUE SCAN I_TS# (cr=1 pr=0 pw=0 time=9 us cost=0 size=0 card=1)’

STAT #139847449251528 id=8 cnt=1 pid=2 pos=2 obj=16 op=‘TABLE ACCESS CLUSTER TS$ (cr=2 pr=0 pw=0 time=11 us cost=1 size=3 card=1)’

STAT #139847449251528 id=9 cnt=1 pid=8 pos=1 obj=7 op=‘INDEX UNIQUE SCAN I_TS# (cr=1 pr=0 pw=0 time=1 us cost=0 size=0 card=1)’

CLOSE #139847449251528:c=1,e=1,dep=1,type=3,tim=1640841593807227

FETCH #139847449106632:c=1443,e=1540,p=0,cr=6,cu=0,mis=0,r=1,dep=0,og=1,plh=1388734953,tim=1640841593807253

STAT #139847449106632 id=1 cnt=1 pid=0 pos=1 obj=0 op=‘FAST DUAL (cr=0 pr=0 pw=0 time=5 us cost=2 size=0 card=1)’

WAIT #139847449106632: nam=‘SQL*Net message from client’ ela= 671 driver id=1413697536 #bytes=1 p3=0 obj#=118 tim=1640841593807989

=====================

PARSING IN CURSOR #139847449232496 len=88 dep=0 uid=89 oct=3 lid=89 tim=1640841593808213 hv=1701954558 ad=‘8913ab58’ sqlid=‘g1qqsxpkr3hzy’

SELECT COUNT(*) FROM dba_sequences WHERE sequence_owner = :1 and sequence_name = :2

END OF STMT

PARSE #139847449232496:c=147,e=147,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,plh=3841320250,tim=1640841593808213

BINDS #139847449232496:

Bind#0

oacdty=96 mxl=32(04) mxlc=00 mal=00 scl=00 pre=00

oacflg=01 fl2=1000000 frm=01 csi=178 siz=64 off=0

kxsbbbfp=7f30c5897940 bln=32 avl=04 flg=05

value=“DANA”

Bind#1

oacdty=96 mxl=32(13) mxlc=00 mal=00 scl=00 pre=00

oacflg=01 fl2=1000000 frm=01 csi=178 siz=0 off=32

kxsbbbfp=7f30c5897960 bln=32 avl=13 flg=01

value=“SEQUENCETEST2”

EXEC #139847449232496:c=193,e=192,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,plh=3841320250,tim=1640841593808463

WAIT #139847449232496: nam=‘SQL*Net message to client’ ela= 2 driver id=1413697536 #bytes=1 p3=0 obj#=118 tim=1640841593808527

FETCH #139847449232496:c=73,e=73,p=0,cr=6,cu=0,mis=0,r=1,dep=0,og=1,plh=3841320250,tim=1640841593808621

STAT #139847449232496 id=1 cnt=1 pid=0 pos=1 obj=0 op=‘SORT AGGREGATE (cr=6 pr=0 pw=0 time=160 us)’

STAT #139847449232496 id=2 cnt=1 pid=1 pos=1 obj=0 op=‘NESTED LOOPS (cr=6 pr=0 pw=0 time=149 us cost=3 size=56 card=1)’

STAT #139847449232496 id=3 cnt=1 pid=2 pos=1 obj=0 op=‘NESTED LOOPS (cr=5 pr=0 pw=0 time=138 us cost=3 size=51 card=1)’

STAT #139847449232496 id=4 cnt=1 pid=3 pos=1 obj=22 op=‘TABLE ACCESS BY INDEX ROWID USER$ (cr=2 pr=0 pw=0 time=20 us cost=1 size=18 card=1)’

STAT #139847449232496 id=5 cnt=1 pid=4 pos=1 obj=46 op=‘INDEX UNIQUE SCAN I_USER1 (cr=1 pr=0 pw=0 time=11 us cost=0 size=0 card=1)’

STAT #139847449232496 id=6 cnt=1 pid=3 pos=2 obj=37 op=‘INDEX RANGE SCAN I_OBJ2 (cr=3 pr=0 pw=0 time=36 us cost=2 size=33 card=1)’

STAT #139847449232496 id=7 cnt=1 pid=2 pos=2 obj=79 op=‘INDEX UNIQUE SCAN I_SEQ1 (cr=1 pr=0 pw=0 time=7 us cost=0 size=5 card=1)’

WAIT #139847449232496: nam=‘SQL*Net message from client’ ela= 559 driver id=1413697536 #bytes=1 p3=0 obj#=118 tim=1640841593809308

=====================

PARSING IN CURSOR #139847449275800 len=59 dep=0 uid=89 oct=47 lid=89 tim=1640841593809607 hv=129564125 ad=‘8905cbd8’ sqlid=‘8jd6pd83vjzfx’

BEGIN goldengate .updateSequence (:1, :2, :3, :4, :5); END;

END OF STMT

PARSE #139847449275800:c=245,e=245,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,plh=0,tim=1640841593809606

BINDS #139847449275800:

Bind#0

oacdty=96 mxl=04(04) mxlc=00 mal=00 scl=00 pre=00

oacflg=01 fl2=1000000 frm=01 csi=178 siz=80 off=0

kxsbbbfp=7f30c58baf78 bln=04 avl=04 flg=05

value=“DANA”

Bind#1

oacdty=96 mxl=22(13) mxlc=00 mal=00 scl=00 pre=00

oacflg=01 fl2=1000000 frm=01 csi=178 siz=0 off=8

kxsbbbfp=7f30c58baf80 bln=22 avl=13 flg=01

value=“SEQUENCETEST2”

Bind#2

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=01 fl2=1000000 frm=00 csi=00 siz=0 off=32

kxsbbbfp=7f30c58baf98 bln=22 avl=01 flg=01

value=0

Bind#3

oacdty=96 mxl=02(02) mxlc=00 mal=00 scl=00 pre=00

oacflg=01 fl2=1000000 frm=01 csi=178 siz=0 off=56

kxsbbbfp=7f30c58bafb0 bln=02 avl=02 flg=01

value="’’"

Bind#4

oacdty=96 mxl=10(10) mxlc=00 mal=00 scl=00 pre=00

oacflg=01 fl2=1000000 frm=01 csi=178 siz=0 off=64

kxsbbbfp=7f30c58bafb8 bln=10 avl=10 flg=01

value=“GOLDENGATE”

=====================

PARSING IN CURSOR #139847449411568 len=54 dep=1 uid=89 oct=3 lid=89 tim=1640841593810370 hv=3774346158 ad=‘852e2f90’ sqlid=‘05y50bvhggwxf’

SELECT COUNT(*) FROM SYS.DBA_USERS WHERE USERNAME=:B1

END OF STMT

PARSE #139847449411568:c=1,e=148,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=1,plh=497759109,tim=1640841593810369

BINDS #139847449411568:

Bind#0

oacdty=01 mxl=32(04) mxlc=00 mal=00 scl=00 pre=00

oacflg=03 fl2=1206001 frm=01 csi=178 siz=32 off=0

kxsbbbfp=7f30c58b1600 bln=32 avl=04 flg=05

value=“DANA”

EXEC #139847449411568:c=128,e=432,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=1,plh=497759109,tim=1640841593810857

FETCH #139847449411568:c=4955,e=5596,p=0,cr=16,cu=0,mis=0,r=1,dep=1,og=1,plh=497759109,tim=1640841593816497

STAT #139847449411568 id=1 cnt=1 pid=0 pos=1 obj=0 op=‘SORT AGGREGATE (cr=16 pr=0 pw=0 time=5691 us)’

STAT #139847449411568 id=2 cnt=1 pid=1 pos=1 obj=0 op=‘MERGE JOIN CARTESIAN (cr=16 pr=0 pw=0 time=5633 us cost=11 size=87 card=1)’

STAT #139847449411568 id=3 cnt=1 pid=2 pos=1 obj=0 op=‘HASH JOIN OUTER (cr=14 pr=0 pw=0 time=5584 us cost=10 size=78 card=1)’

STAT #139847449411568 id=4 cnt=1 pid=3 pos=1 obj=0 op=‘HASH JOIN (cr=12 pr=0 pw=0 time=3508 us cost=8 size=49 card=1)’

STAT #139847449411568 id=5 cnt=1 pid=4 pos=1 obj=0 op=‘NESTED LOOPS (cr=10 pr=0 pw=0 time=466 us cost=6 size=47 card=1)’

STAT #139847449411568 id=6 cnt=17 pid=5 pos=1 obj=0 op=‘NESTED LOOPS (cr=9 pr=0 pw=0 time=407 us cost=6 size=47 card=17)’

STAT #139847449411568 id=7 cnt=1 pid=6 pos=1 obj=0 op=‘NESTED LOOPS (cr=8 pr=0 pw=0 time=378 us cost=5 size=38 card=1)’

STAT #139847449411568 id=8 cnt=1 pid=7 pos=1 obj=0 op=‘NESTED LOOPS (cr=6 pr=0 pw=0 time=366 us cost=4 size=35 card=1)’

STAT #139847449411568 id=9 cnt=1 pid=8 pos=1 obj=0 op=‘NESTED LOOPS (cr=4 pr=0 pw=0 time=354 us cost=3 size=32 card=1)’

STAT #139847449411568 id=10 cnt=1 pid=9 pos=1 obj=22 op=‘TABLE ACCESS BY INDEX ROWID USER$ (cr=2 pr=0 pw=0 time=69 us cost=1 size=29 card=1)’

STAT #139847449411568 id=11 cnt=1 pid=10 pos=1 obj=46 op=‘INDEX UNIQUE SCAN I_USER1 (cr=1 pr=0 pw=0 time=56 us cost=0 size=0 card=1)’

STAT #139847449411568 id=12 cnt=1 pid=9 pos=2 obj=293 op=‘TABLE ACCESS FULL USER_ASTATUS_MAP (cr=2 pr=0 pw=0 time=282 us cost=2 size=3 card=1)’

STAT #139847449411568 id=13 cnt=1 pid=8 pos=2 obj=16 op=‘TABLE ACCESS CLUSTER TS$ (cr=2 pr=0 pw=0 time=12 us cost=1 size=3 card=1)’

STAT #139847449411568 id=14 cnt=1 pid=13 pos=1 obj=7 op=‘INDEX UNIQUE SCAN I_TS# (cr=1 pr=0 pw=0 time=6 us cost=0 size=0 card=1)’

STAT #139847449411568 id=15 cnt=1 pid=7 pos=2 obj=16 op=‘TABLE ACCESS CLUSTER TS$ (cr=2 pr=0 pw=0 time=8 us cost=1 size=3 card=1)’

STAT #139847449411568 id=16 cnt=1 pid=15 pos=1 obj=7 op=‘INDEX UNIQUE SCAN I_TS# (cr=1 pr=0 pw=0 time=3 us cost=0 size=0 card=1)’

STAT #139847449411568 id=17 cnt=17 pid=6 pos=2 obj=285 op=‘INDEX RANGE SCAN I_PROFILE (cr=1 pr=0 pw=0 time=31 us cost=0 size=0 card=17)’

STAT #139847449411568 id=18 cnt=1 pid=5 pos=2 obj=281 op=‘TABLE ACCESS BY INDEX ROWID PROFILE$ (cr=1 pr=0 pw=0 time=50 us cost=1 size=9 card=1)’

STAT #139847449411568 id=19 cnt=2 pid=4 pos=2 obj=282 op=‘TABLE ACCESS FULL PROFNAME$ (cr=2 pr=0 pw=0 time=90 us cost=2 size=2 card=1)’

STAT #139847449411568 id=20 cnt=0 pid=3 pos=2 obj=298 op=‘TABLE ACCESS FULL RESOURCE_GROUP_MAPPING$ (cr=2 pr=0 pw=0 time=51 us cost=2 size=29 card=1)’

STAT #139847449411568 id=21 cnt=1 pid=2 pos=2 obj=0 op=‘BUFFER SORT (cr=2 pr=0 pw=0 time=43 us cost=9 size=9 card=1)’

STAT #139847449411568 id=22 cnt=1 pid=21 pos=1 obj=281 op=‘TABLE ACCESS BY INDEX ROWID PROFILE$ (cr=2 pr=0 pw=0 time=20 us cost=1 size=9 card=1)’

STAT #139847449411568 id=23 cnt=17 pid=22 pos=1 obj=285 op=‘INDEX RANGE SCAN I_PROFILE (cr=1 pr=0 pw=0 time=24 us cost=0 size=0 card=17)’

CLOSE #139847449411568:c=1,e=1,dep=1,type=3,tim=1640841593817049

=====================

PARSING IN CURSOR #139847447271744 len=135 dep=1 uid=89 oct=3 lid=89 tim=1640841593817380 hv=807489267 ad=‘892c2ed8’ sqlid=‘8r4hgg4s22mrm’

SELECT SEQUENCE_OWNER, SEQUENCE_NAME, LAST_NUMBER, CYCLE_FLAG FROM DBA_SEQUENCES WHERE SEQUENCE_OWNER = :B2 AND SEQUENCE_NAME LIKE :B1

END OF STMT

PARSE #139847447271744:c=228,e=229,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=1,plh=265299978,tim=1640841593817379

BINDS #139847447271744:

Bind#0

oacdty=01 mxl=32(04) mxlc=00 mal=00 scl=00 pre=00

oacflg=03 fl2=1206001 frm=01 csi=178 siz=160 off=0

kxsbbbfp=7f30c58af0b0 bln=32 avl=04 flg=05

value=“DANA”

Bind#1

oacdty=01 mxl=128(100) mxlc=00 mal=00 scl=00 pre=00

oacflg=03 fl2=1206001 frm=01 csi=178 siz=0 off=32

kxsbbbfp=7f30c58af0d0 bln=128 avl=13 flg=01

value=“SEQUENCETEST2”

EXEC #139847447271744:c=1065,e=203,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=1,plh=265299978,tim=1640841593817636

FETCH #139847447271744:c=154,e=153,p=0,cr=7,cu=0,mis=0,r=1,dep=1,og=1,plh=265299978,tim=1640841593817824

STAT #139847447271744 id=1 cnt=1 pid=0 pos=1 obj=0 op=‘NESTED LOOPS (cr=7 pr=0 pw=0 time=64 us cost=4 size=63 card=1)’

STAT #139847447271744 id=2 cnt=1 pid=1 pos=1 obj=0 op=‘NESTED LOOPS (cr=6 pr=0 pw=0 time=52 us cost=4 size=63 card=1)’

STAT #139847447271744 id=3 cnt=1 pid=2 pos=1 obj=0 op=‘NESTED LOOPS (cr=5 pr=0 pw=0 time=45 us cost=3 size=51 card=1)’

STAT #139847447271744 id=4 cnt=1 pid=3 pos=1 obj=22 op=‘TABLE ACCESS BY INDEX ROWID USER$ (cr=2 pr=0 pw=0 time=14 us cost=1 size=18 card=1)’

STAT #139847447271744 id=5 cnt=1 pid=4 pos=1 obj=46 op=‘INDEX UNIQUE SCAN I_USER1 (cr=1 pr=0 pw=0 time=6 us cost=0 size=0 card=1)’

STAT #139847447271744 id=6 cnt=1 pid=3 pos=2 obj=37 op=‘INDEX RANGE SCAN I_OBJ2 (cr=3 pr=0 pw=0 time=30 us cost=2 size=33 card=1)’

STAT #139847447271744 id=7 cnt=1 pid=2 pos=2 obj=79 op=‘INDEX UNIQUE SCAN I_SEQ1 (cr=1 pr=0 pw=0 time=5 us cost=0 size=0 card=1)’

STAT #139847447271744 id=8 cnt=1 pid=1 pos=2 obj=74 op=‘TABLE ACCESS BY INDEX ROWID SEQ$ (cr=1 pr=0 pw=0 time=8 us cost=1 size=12 card=1)’

=====================

PARSING IN CURSOR #139847449371888 len=39 dep=1 uid=89 oct=42 lid=89 tim=1640841593818119 hv=1648071303 ad=‘0’ sqlid=‘958zjsxj3r4n7’

ALTER SESSION SET CURRENT_SCHEMA=“DANA”

END OF STMT

PARSE #139847449371888:c=39,e=39,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=0,plh=0,tim=1640841593818119

EXEC #139847449371888:c=25,e=25,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=0,plh=0,tim=1640841593818180

CLOSE #139847449371888:c=4,e=4,dep=1,type=0,tim=1640841593818200

XCTEND rlbk=0, rd_only=1, tim=1640841593818670

=====================

PARSING IN CURSOR #139847449371888 len=38 dep=1 uid=92 oct=14 lid=89 tim=1640841593819068 hv=2606497137 ad=‘8b3840f0’ sqlid=‘grpmnaudprzbj’

ALTER SEQUENCE “SEQUENCETEST2” NOCYCLE

END OF STMT

PARSE #139847449371888:c=419,e=845,p=0,cr=0,cu=0,mis=1,r=0,dep=1,og=1,plh=0,tim=1640841593819067

=====================

PARSING IN CURSOR #139847449364936 len=70 dep=2 uid=0 oct=3 lid=0 tim=1640841593821522 hv=1853064805 ad=‘8c290d68’ sqlid=‘5hrvvu1r771m5’

SELECT VALUE$ FROM SYS.PROPS$ WHERE NAME = ‘OGG_TRIGGER_OPTIMIZATION’

END OF STMT

PARSE #139847449364936:c=1873,e=2326,p=0,cr=0,cu=0,mis=1,r=0,dep=2,og=4,plh=415205717,tim=1640841593821521

EXEC #139847449364936:c=17,e=17,p=0,cr=0,cu=0,mis=0,r=0,dep=2,og=4,plh=415205717,tim=1640841593821637

FETCH #139847449364936:c=37,e=37,p=0,cr=2,cu=0,mis=0,r=0,dep=2,og=4,plh=415205717,tim=1640841593821687

STAT #139847449364936 id=1 cnt=0 pid=0 pos=1 obj=98 op=‘TABLE ACCESS FULL PROPS$ (cr=2 pr=0 pw=0 time=37 us cost=2 size=28 card=1)’

=====================

PARSING IN CURSOR #139847447393328 len=5746 dep=2 uid=57 oct=47 lid=57 tim=1640841593822199 hv=127875610 ad=‘72ef7460’ sqlid=‘13t5kwh3tyfhu’

declare

TYPE attrs_cur IS REF CURSOR;

m_cur attrs_cur;

m_event varchar2(512);

m_user varchar2(512);

m_owner varchar2(512);

m_user1 varchar2(512);

m_type varchar2(512);

m_stmt varchar2(512);

m_name varchar2(5120);

m_column varchar2(5120);

m_cnt NUMBER;

m_stmt1 varchar2(512);

m_var varchar2(512);

m_o_stmt VARCHAR2(5120);

PRAGMA AUTONOMOUS_TRANSACTION;

begin

m_stmt:=‘select sys.dbms_standard.dictionary_obj_type from dual’;

execute immediate m_stmt into m_type;

if(not (m_type=‘TABLE’ or m_type=‘TRIGGER’ or m_type=‘USER’ or m_type=‘TABLESPACE’))

then

return;

end if;

m_stmt:=‘select sys.dbms_standard.sysevent from dual’;

execute immediate m_stmt into m_event;

m_stmt:=‘select SYS_CONTEXT(’‘USERENV’’,’‘SESSION_USER’’) from dual’;

execute immediate m_stmt into m_user;

m_stmt:=‘select SYS_CONTEXT(’‘USERENV’’,’‘CURRENT_USER’’) from dual’;

execute immediate m_stmt into m_user1;

m_stmt:=‘select sys.dbms_standard.dictionary_obj_owner from dual’;

execute immediate m_stmt into m_owner;

m_stmt:=‘select sys.dbms_standard.dictionary_obj_name from dual’;

execute immediate m_stmt into m_name;

m_stmt:=‘select sdo_geor_def.getSqlText from dual’;

execute immediate m_stmt into m_o_stmt;

if (m_owner!=‘MDSYS’ and m_owner!=‘SYS’ and m_type=‘TABLE’ and m_event=‘ALTER’)

then

m_stmt:=‘select column_name from dba_tab_columns where owner=:1 and table_name=:2’;

open m_cur for m_stmt using m_owner,m_name;

loop

fetch m_cur into m_column;

exit when m_cur%NOTFOUND;

m_stmt:=‘select sdo_geor_def.isDropColumn(:1) from dual’;

execute immediate m_stmt into m_stmt1 using SYS.DBMS_ASSERT.SIMPLE_SQL_NAME(m_column);

if (trim(m_stmt1)=‘TRUE’)

then

m_stmt:=‘begin sdo_geor_def.doAlterDropColumn(:1,:2,:3); end;’;

execute immediate m_stmt using SYS.DBMS_ASSERT.SCHEMA_NAME(m_owner),SYS.DBMS_ASSERT.SIMPLE_SQL_NAME(m_name),SYS.DBMS_ASSERT.SIMPLE_SQL_NAME(m_column);

end if;

end loop;

end if;

if ((m_event=‘DROP’ and m_type=‘USER’) or (m_event=‘DROP’ and m_type=‘TABLESPACE’))

then

m_stmt:=‘insert into sdo_geor_ddl__table$$ values (1)’;

EXECUTE IMMEDIATE m_stmt;

commit;

end if;

if (m_event=‘DROP’ and m_type=‘TABLE’)

then

m_stmt:=‘select count(*) from sdo_geor_sysdata_table where sdo_owner=:1 and RDT_TABLE_NAME=:2’;

EXECUTE IMMEDIATE m_stmt into m_cnt using m_owner,m_name;

if(m_cnt!=0)

then

m_stmt:=‘select count(*) from sdo_geor_ddl__table$$’;

EXECUTE IMMEDIATE m_stmt into m_cnt;

if((m_cnt=0)and (m_user!=‘SYS’ and m_user!=‘SYSTEM’ and m_user!='MDSYS’and m_owner!=‘MDSYS’ and m_owner!=‘SYS’))

then

m_stmt:=‘call mderr.raise_md_error(’‘MD’’, ‘‘SDO’’, -13391, ‘‘The referenced raster data table(RDT) cannot be dropped.’’)’;

execute immediate m_stmt;

end if;

end if;

m_stmt:=‘insert into sdo_geor_ddl__table$$ values (2)’;

EXECUTE IMMEDIATE m_stmt;

commit;

end if;

if(m_user=‘SYS’ or m_user=‘SYSTEM’ or m_user=‘MDSYS’

or m_owner=‘MDSYS’ or m_owner=‘SYS’)

then

return;

end if;

if (m_event=‘RENAME’ and m_type=‘TABLE’)

then

m_stmt:=‘select count(*) from sdo_geor_sysdata_table where sdo_owner=:1 and RDT_TABLE_NAME=:2’;

EXECUTE IMMEDIATE m_stmt into m_cnt using m_owner,m_name;

if(m_cnt!=0)

then

m_stmt:=‘select count(*) from sdo_geor_ddl__table$$’;

EXECUTE IMMEDIATE m_stmt into m_cnt;

if(m_cnt=0)

then

m_stmt:=‘call mderr.raise_md_error(’‘MD’’, ‘‘SDO’’, -13391, ‘‘The referenced raster data table(RDT) cannot be renamed directly.’’)’;

execute immediate m_stmt;

end if;

end if;

end if;

if (m_type=‘TRIGGER’ and m_event=‘DROP’)

then

m_stmt:=‘select REGEXP_SUBSTR(:1,’‘GRDMLTR_.+’’,1,1,’‘i’’) from dual’;

EXECUTE IMMEDIATE m_stmt into m_var using m_name;

if(m_var is null)

then

return;

end if;

m_stmt:=‘select count(*) from sdo_geor_ddl__table$$’;

EXECUTE IMMEDIATE m_stmt into m_cnt;

if(m_cnt=0)

then

m_stmt:=‘call mderr.raise_md_error(’‘MD’’, ‘‘SDO’’, -13391, ‘‘GeoRaster DML triggers cannot be dropped.’’)’;

execute immediate m_stmt;

end if;

end if;

if (m_type=‘TRIGGER’ and m_event=‘ALTER’)

then

m_o_stmt:=upper(trim(m_o_stmt));

if(instr(m_o_stmt,’ COMPILE ‘)>0 or instr(m_o_stmt,’ ENABLE ')>0

or substr(m_o_stmt,length(m_o_stmt)-8,8)=’ COMPILE’ or substr(m_o_stmt,length(m_o_stmt)-7,7)=’ ENABLE’ )

then

return;

end if;

m_stmt:=‘select REGEXP_SUBSTR(:1,’‘GRDMLTR_.+’’,1,1,’‘i’’) from dual’;

EXECUTE IMMEDIATE m_stmt into m_var using m_name;

if(m_var is null)

then

return;

end if;

m_stmt:=‘select count(*) from sdo_geor_ddl__table$$’;

EXECUTE IMMEDIATE m_stmt into m_cnt;

if(m_cnt=0)

then

m_stmt:=‘call mderr.raise_md_error(’‘MD’’, ‘‘SDO’’, -13391, ‘‘GeoRaster DML triggers cannot be altered.’’)’;

execute immediate m_stmt;

end if;

end if;

if (m_type=‘TRIGGER’ and m_event=‘CREATE’)

then

m_stmt:=‘select REGEXP_SUBSTR(:1,’‘GRDMLTR_.+’’,1,1,’‘i’’) from dual’;

EXECUTE IMMEDIATE m_stmt into m_var using m_name;

if(m_var is null)

then

return;

end if;

m_stmt:=‘select count(*) from sdo_geor_ddl__table$$’;

EXECUTE IMMEDIATE m_stmt into m_cnt;

if(m_cnt=0)

then

m_stmt:=‘call mderr.raise_md_error(’‘MD’’, ‘‘SDO’’, -13391, ‘‘GeoRaster reserved names cannot be used to create regular triggers.’’)’;

execute immediate m_stmt;

end if;

end if;

Exception

when others then

if(sqlcode=-13391)

then

m_stmt:=sqlerrm;

m_stmt:=substr(m_stmt,11);

m_stmt:=‘call mderr.raise_md_error(’‘MD’’, ‘‘SDO’’, -13391,’’’||m_stmt||’’’)’;

execute immediate m_stmt;

end if;

end;

END OF STMT

PARSE #139847447393328:c=97,e=98,p=0,cr=0,cu=0,mis=0,r=0,dep=2,og=1,plh=0,tim=1640841593822199

=====================

PARSING IN CURSOR #139847447368232 len=54 dep=3 uid=57 oct=3 lid=57 tim=1640841593823282 hv=664851305 ad=‘8c1f0ff0’ sqlid=‘bcv9qynmu1nv9’

select sys.dbms_standard.dictionary_obj_type from dual

END OF STMT

PARSE #139847447368232:c=147,e=148,p=0,cr=0,cu=0,mis=0,r=0,dep=3,og=1,plh=1388734953,tim=1640841593823282

EXEC #139847447368232:c=18,e=18,p=0,cr=0,cu=0,mis=0,r=0,dep=3,og=1,plh=1388734953,tim=1640841593823344

FETCH #139847447368232:c=286,e=285,p=0,cr=0,cu=0,mis=0,r=1,dep=3,og=1,plh=1388734953,tim=1640841593823680

STAT #139847447368232 id=1 cnt=1 pid=0 pos=1 obj=0 op=‘FAST DUAL (cr=0 pr=0 pw=0 time=2 us cost=2 size=0 card=1)’

CLOSE #139847447368232:c=1,e=1,dep=3,type=3,tim=1640841593823760

EXEC #139847447393328:c=751,e=751,p=0,cr=0,cu=0,mis=0,r=1,dep=2,og=1,plh=0,tim=1640841593823786

CLOSE #139847447393328:c=11,e=11,dep=2,type=1,tim=1640841593824622

=====================

PARSING IN CURSOR #139847447352632 len=129 dep=2 uid=0 oct=6 lid=0 tim=1640841593898659 hv=2635489469 ad=‘8c2ac468’ sqlid=‘4m7m0t6fjcs5x’

update seq$ set increment$=:2,minvalue=:3,maxvalue=:4,cycle#=:5,order$=:6,cache=:7,highwater=:8,audit$=:9,flags=:10 where obj#=:1

END OF STMT

PARSE #139847447352632:c=29004,e=38404,p=0,cr=0,cu=0,mis=1,r=0,dep=2,og=4,plh=0,tim=1640841593898658

BINDS #139847447352632:

Bind#0

oacdty=02 mxl=22(02) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=8c2ac800 bln=22 avl=02 flg=09

value=1

Bind#1

oacdty=02 mxl=22(02) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=8c2ac812 bln=22 avl=02 flg=09

value=1

Bind#2

oacdty=02 mxl=22(04) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=8c2ac824 bln=22 avl=04 flg=09

value=99999

Bind#3

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=48 off=0

kxsbbbfp=7f30c5751e98 bln=22 avl=01 flg=05

value=0

Bind#4

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=0 off=24

kxsbbbfp=7f30c5751eb0 bln=22 avl=01 flg=01

value=0

Bind#5

oacdty=02 mxl=22(02) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=8c2ac836 bln=22 avl=02 flg=09

value=3

Bind#6

oacdty=02 mxl=22(02) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=8c2ac848 bln=22 avl=02 flg=09

value=11

Bind#7

oacdty=01 mxl=32(32) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=01 csi=178 siz=32 off=0

kxsbbbfp=8c2ac85a bln=32 avl=32 flg=09

value="--------------------------------"

Bind#8

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=48 off=0

kxsbbbfp=7f30c5751e50 bln=22 avl=02 flg=05

value=8

Bind#9

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=0 off=24

kxsbbbfp=7f30c5751e68 bln=22 avl=04 flg=01

value=89877

WAIT #139847447352632: nam=‘Disk file operations I/O’ ela= 38 FileOperation=2 fileno=3 filetype=2 obj#=0 tim=1640841593901221

WAIT #139847447352632: nam=‘db file sequential read’ ela= 14 file#=3 block#=2111 blocks=1 obj#=0 tim=1640841593901280

EXEC #139847447352632:c=1887,e=2687,p=1,cr=1,cu=3,mis=1,r=1,dep=2,og=4,plh=1935744642,tim=1640841593901451

STAT #139847447352632 id=1 cnt=0 pid=0 pos=1 obj=0 op=‘UPDATE SEQ$ (cr=1 pr=1 pw=0 time=404 us)’

STAT #139847447352632 id=2 cnt=1 pid=1 pos=1 obj=79 op=‘INDEX UNIQUE SCAN I_SEQ1 (cr=1 pr=0 pw=0 time=11 us cost=0 size=70 card=1)’

CLOSE #139847447352632:c=1,e=1,dep=2,type=3,tim=1640841593901531

BINDS #139847447352632:

Bind#0

oacdty=02 mxl=22(02) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=8c2ac800 bln=22 avl=02 flg=09

value=1

Bind#1

oacdty=02 mxl=22(02) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=8c2ac812 bln=22 avl=02 flg=09

value=1

Bind#2

oacdty=02 mxl=22(04) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=8c2ac824 bln=22 avl=04 flg=09

value=99999

Bind#3

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=48 off=0

kxsbbbfp=7f30c5751dc8 bln=22 avl=01 flg=05

value=0

Bind#4

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=0 off=24

kxsbbbfp=7f30c5751de0 bln=22 avl=01 flg=01

value=0

Bind#5

oacdty=02 mxl=22(02) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=8c2ac836 bln=22 avl=02 flg=09

value=3

Bind#6

oacdty=02 mxl=22(02) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=8c2ac848 bln=22 avl=02 flg=09

value=11

Bind#7

oacdty=01 mxl=32(32) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=01 csi=178 siz=32 off=0

kxsbbbfp=8c2ac85a bln=32 avl=32 flg=09

value="--------------------------------"

Bind#8

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=48 off=0

kxsbbbfp=7f30c5751d80 bln=22 avl=02 flg=05

value=8

Bind#9

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=0 off=24

kxsbbbfp=7f30c5751d98 bln=22 avl=04 flg=01

value=89877

EXEC #139847447352632:c=351,e=351,p=0,cr=1,cu=2,mis=0,r=1,dep=2,og=4,plh=1935744642,tim=1640841593902086

CLOSE #139847447352632:c=1,e=1,dep=2,type=3,tim=1640841593902113

=====================

PARSING IN CURSOR #139847447361840 len=235 dep=2 uid=0 oct=6 lid=0 tim=1640841593903605 hv=159997841 ad=‘893df3f8’ sqlid=‘4yyb4104skrwj’

update obj$ set obj#=:4, type#=:5,ctime=:6,mtime=:7,stime=:8,status=:9,dataobj#=:10,flags=:11,oid$=:12,spare1=:13, spare2=:14 where owner#=:1 and name=:2 and namespace=:3 and remoteowner is null and linkname is null and subname is null

END OF STMT

PARSE #139847447361840:c=2311,e=1460,p=0,cr=0,cu=0,mis=1,r=0,dep=2,og=4,plh=0,tim=1640841593903604

BINDS #139847447361840:

Bind#0

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=48 off=0

kxsbbbfp=7f30c5751dc8 bln=22 avl=04 flg=05

value=89877

Bind#1

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=0 off=24

kxsbbbfp=7f30c5751de0 bln=22 avl=02 flg=01

value=6

Bind#2

oacdty=12 mxl=07(07) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=8 off=0

kxsbbbfp=8b2441c1 bln=07 avl=07 flg=09

value=“12/30/2021 10:53:14”

Bind#3

oacdty=12 mxl=07(07) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=8 off=0

kxsbbbfp=8b2441c8 bln=07 avl=07 flg=09

value=“12/30/2021 13:19:53”

Bind#4

oacdty=12 mxl=07(07) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=8 off=0

kxsbbbfp=8b2441cf bln=07 avl=07 flg=09

value=“12/30/2021 10:53:14”

Bind#5

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=72 off=0

kxsbbbfp=7f30c5751d68 bln=22 avl=02 flg=05

value=1

Bind#6

oacdty=02 mxl=22(00) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=0 off=24

kxsbbbfp=7f30c5751d80 bln=22 avl=00 flg=01

Bind#7

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=0 off=48

kxsbbbfp=7f30c5751d98 bln=22 avl=01 flg=01

value=0

Bind#8

oacdty=23 mxl=32(00) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=32 off=0

kxsbbbfp=00000000 bln=32 avl=00 flg=09

Bind#9

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=72 off=0

kxsbbbfp=7f30c5751d08 bln=22 avl=02 flg=05

value=6

Bind#10

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=0 off=24

kxsbbbfp=7f30c5751d20 bln=22 avl=04 flg=01

value=65535

Bind#11

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=0 off=48

kxsbbbfp=7f30c5751d38 bln=22 avl=02 flg=01

value=92

Bind#12

oacdty=01 mxl=32(13) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=01 csi=178 siz=32 off=0

kxsbbbfp=8b2440ce bln=32 avl=13 flg=09

value=“SEQUENCETEST2”

Bind#13

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=7f30c5751cd8 bln=22 avl=02 flg=05

value=1

EXEC #139847447361840:c=2899,e=3402,p=0,cr=3,cu=1,mis=1,r=1,dep=2,og=4,plh=2683643009,tim=1640841593907102

STAT #139847447361840 id=1 cnt=0 pid=0 pos=1 obj=0 op=‘UPDATE OBJ$ (cr=3 pr=0 pw=0 time=180 us)’

STAT #139847447361840 id=2 cnt=1 pid=1 pos=1 obj=37 op=‘INDEX RANGE SCAN I_OBJ2 (cr=3 pr=0 pw=0 time=23 us cost=3 size=84 card=1)’

CLOSE #139847447361840:c=2,e=2,dep=2,type=3,tim=1640841593907200

=====================

PARSING IN CURSOR #139847447339664 len=3509 dep=2 uid=57 oct=47 lid=57 tim=1640841593907737 hv=1920321438 ad=‘893f0658’ sqlid=‘38spc81t7bjwy’

declare

TYPE attrs_cur IS REF CURSOR;

m_cur attrs_cur;

m_event varchar2(512);

m_user varchar2(512);

m_owner varchar2(512);

m_user1 varchar2(512);

m_type varchar2(512);

m_name varchar2(5120);

m_column varchar2(5120);

m_cnt NUMBER;

m_stmt varchar2(512);

m_ret varchar2(3000);

m_ret1 varchar2(512);

m_o_stmt VARCHAR2(5120);

begin

m_stmt:=‘select sys.dbms_standard.dictionary_obj_type from dual’;

execute immediate m_stmt into m_type;

if(not (m_type=‘TABLE’ or m_type=‘TRIGGER’ or m_type=‘USER’ or m_type=‘TABLESPACE’))

then

return;

end if;

m_stmt:=‘select sys.dbms_standard.sysevent from dual’;

execute immediate m_stmt into m_event;

m_stmt:=‘select SYS_CONTEXT(’‘USERENV’’,’‘SESSION_USER’’) from dual’;

execute immediate m_stmt into m_user;

m_stmt:=‘select sys.dbms_standard.login_user from dual’;

execute immediate m_stmt into m_user1;

m_stmt:=‘select sys.dbms_standard.dictionary_obj_owner from dual’;

execute immediate m_stmt into m_owner;

m_stmt:=‘select sys.dbms_standard.dictionary_obj_name from dual’;

execute immediate m_stmt into m_name;

if((instr(upper(m_name),‘MDRT_’)>0) and m_event=‘DROP’)

then

return;

end if;

if (m_owner!=‘MDSYS’ and m_owner!=‘SYS’ and m_type=‘TABLE’ and m_event=‘CREATE’)

then

m_stmt:=‘select sdo_geor_def.listAllGeoRasterFieldsStr(:1,:2) from dual’;

execute immediate m_stmt into m_ret using SYS.DBMS_ASSERT.SCHEMA_NAME(m_owner),SYS.DBMS_ASSERT.SIMPLE_SQL_NAME(m_name);

m_ret:=trim(m_ret);

while (length(m_ret)!=0) loop

if (instr(m_ret,’ $$__## ')!=0)

then

m_ret1:=trim(substr(m_ret,1,instr(m_ret,’ $$__## ')-1));

m_ret:=trim(substr(m_ret,instr(m_ret,’ $$__## ')+8));

else

m_ret1:=trim(m_ret);

m_ret:=’’;

end if;

m_stmt:=‘begin SDO_GEOR_UTL.createDMLTrigger(:1,:2); end;’;

execute immediate m_stmt using m_owner||’.’||m_name,SYS.DBMS_ASSERT.QUALIFIED_SQL_NAME(m_ret1);

end loop;

return;

end if;

if (m_name!=‘MDSYS’ and m_type=‘USER’ and m_event=‘DROP’)

then

m_stmt:=‘call sdo_geor_def.doDropUserAndTable()’;

execute immediate m_stmt;

end if;

if (m_owner!=‘MDSYS’ and m_owner!=‘SYS’ and m_type=‘TABLE’ and m_event=‘DROP’)

then

m_stmt:=‘call sdo_geor_def.doDropUserAndTable()’;

execute immediate m_stmt;

end if;

if (m_owner!=‘MDSYS’ and m_owner!=‘SYS’ and m_type=‘TABLE’ and m_event=‘TRUNCATE’)

then

m_stmt:=‘call sdo_geor_def.doTruncateTable()’;

execute immediate m_stmt;

end if;

if (m_owner!=‘MDSYS’ and m_owner!=‘SYS’ and m_type=‘TABLE’ and m_event=‘ALTER’)

then

m_stmt:=‘call sdo_geor_def.doAlterRenameTable()’;

execute immediate m_stmt;

end if;

if (m_owner!=‘MDSYS’ and m_owner!=‘SYS’ and m_type=‘TABLE’ and m_event=‘RENAME’)

then

m_stmt:=‘call sdo_geor_def.doRenameTable()’;

execute immediate m_stmt;

end if;

if (m_event=‘DROP’ and m_type=‘TABLE’)

then

m_stmt:=‘delete from sdo_geor_ddl__table$$ where id=2’;

EXECUTE IMMEDIATE m_stmt;

end if;

if ((m_type=‘USER’ and m_event=‘DROP’) or (m_type=‘TABLESPACE’ and m_event=‘DROP’))

then

m_stmt:=‘delete from sdo_geor_ddl__table$$’;

EXECUTE IMMEDIATE m_stmt;

end if;

Exception

when others then

if(sqlcode=-13391)

then

m_stmt:=sqlerrm;

m_stmt:=substr(m_stmt,11);

m_stmt:=‘call mderr.raise_md_error(’‘MD’’, ‘‘SDO’’, -13391,’’’||m_stmt||’’’)’;

execute immediate m_stmt;

end if;

end;

END OF STMT

PARSE #139847447339664:c=101,e=102,p=0,cr=0,cu=0,mis=0,r=0,dep=2,og=1,plh=0,tim=1640841593907736

PARSE #139847447368232:c=8,e=8,p=0,cr=0,cu=0,mis=0,r=0,dep=3,og=1,plh=1388734953,tim=1640841593908320

EXEC #139847447368232:c=67,e=66,p=0,cr=0,cu=0,mis=0,r=0,dep=3,og=1,plh=1388734953,tim=1640841593908405

FETCH #139847447368232:c=95,e=95,p=0,cr=0,cu=0,mis=0,r=1,dep=3,og=1,plh=1388734953,tim=1640841593908542

CLOSE #139847447368232:c=1,e=1,dep=3,type=3,tim=1640841593908584

EXEC #139847447339664:c=397,e=398,p=0,cr=0,cu=0,mis=0,r=1,dep=2,og=1,plh=0,tim=1640841593908597

CLOSE #139847447339664:c=8,e=8,dep=2,type=1,tim=1640841593908629

XCTEND rlbk=0, rd_only=1, tim=1640841593908664

EXEC #139847449371888:c=44456,e=89595,p=1,cr=7,cu=10,mis=0,r=0,dep=1,og=1,plh=0,tim=1640841593908712

CLOSE #139847449371888:c=2,e=2,dep=1,type=0,tim=1640841593908934

=====================

PARSING IN CURSOR #139847447270344 len=102 dep=2 uid=0 oct=3 lid=0 tim=1640841593910173 hv=3967354608 ad=‘8c3b87e0’ sqlid=‘axmdf8vq7k1rh’

select increment$,minvalue,maxvalue,cycle#,order$,cache,highwater,audit$,flags from seq$ where obj#=:1

END OF STMT

PARSE #139847447270344:c=584,e=584,p=0,cr=0,cu=0,mis=1,r=0,dep=2,og=4,plh=0,tim=1640841593910172

BINDS #139847447270344:

Bind#0

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=7f30c56bd4e8 bln=22 avl=04 flg=05

value=89877

EXEC #139847447270344:c=1285,e=1324,p=0,cr=0,cu=0,mis=1,r=0,dep=2,og=4,plh=2203911306,tim=1640841593911627

FETCH #139847447270344:c=17,e=18,p=0,cr=2,cu=0,mis=0,r=1,dep=2,og=4,plh=2203911306,tim=1640841593911662

STAT #139847447270344 id=1 cnt=1 pid=0 pos=1 obj=74 op=‘TABLE ACCESS BY INDEX ROWID SEQ$ (cr=2 pr=0 pw=0 time=19 us cost=1 size=70 card=1)’

STAT #139847447270344 id=2 cnt=1 pid=1 pos=1 obj=79 op=‘INDEX UNIQUE SCAN I_SEQ1 (cr=1 pr=0 pw=0 time=11 us cost=0 size=0 card=1)’

CLOSE #139847447270344:c=1,e=1,dep=2,type=3,tim=1640841593911731

=====================

PARSING IN CURSOR #139847447335120 len=151 dep=2 uid=0 oct=3 lid=0 tim=1640841593912105 hv=4139184264 ad=‘8c3d5a00’ sqlid=‘2q93zsrvbdw48’

select grantee#,privilege#,nvl(col#,0),max(mod(nvl(option$,0),2))from objauth$ where obj#=:1 group by grantee#,privilege#,nvl(col#,0) order by grantee#

END OF STMT

PARSE #139847447335120:c=178,e=178,p=0,cr=0,cu=0,mis=0,r=0,dep=2,og=4,plh=2874733959,tim=1640841593912105

BINDS #139847447335120:

Bind#0

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=7f30c56c9588 bln=22 avl=04 flg=05

value=89877

EXEC #139847447335120:c=143,e=143,p=0,cr=0,cu=0,mis=0,r=0,dep=2,og=4,plh=2874733959,tim=1640841593912310

FETCH #139847447335120:c=36,e=36,p=0,cr=2,cu=0,mis=0,r=0,dep=2,og=4,plh=2874733959,tim=1640841593912360

STAT #139847447335120 id=1 cnt=0 pid=0 pos=1 obj=0 op=‘SORT GROUP BY (cr=2 pr=0 pw=0 time=47 us cost=4 size=15 card=1)’

STAT #139847447335120 id=2 cnt=0 pid=1 pos=1 obj=61 op=‘TABLE ACCESS BY INDEX ROWID OBJAUTH$ (cr=2 pr=0 pw=0 time=32 us cost=3 size=15 card=1)’

STAT #139847447335120 id=3 cnt=0 pid=2 pos=1 obj=62 op=‘INDEX RANGE SCAN I_OBJAUTH1 (cr=2 pr=0 pw=0 time=30 us cost=2 size=0 card=1)’

CLOSE #139847447335120:c=5,e=6,dep=2,type=3,tim=1640841593940697

=====================

PARSING IN CURSOR #139847449371888 len=40 dep=1 uid=92 oct=3 lid=89 tim=1640841593941492 hv=1347272314 ad=‘891cc018’ sqlid=‘3tgyqw184vgmu’

SELECT “SEQUENCETEST2”.nextval FROM DUAL

END OF STMT

PARSE #139847449371888:c=33021,e=32523,p=0,cr=4,cu=0,mis=1,r=0,dep=1,og=1,plh=2297760174,tim=1640841593941491

EXEC #139847449371888:c=48,e=49,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=1,plh=2297760174,tim=1640841593941671

BINDS #139847447352632:

Bind#0

oacdty=02 mxl=22(02) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=8c2ac800 bln=22 avl=02 flg=09

value=1

Bind#1

oacdty=02 mxl=22(02) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=8c2ac812 bln=22 avl=02 flg=09

value=1

Bind#2

oacdty=02 mxl=22(04) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=8c2ac824 bln=22 avl=04 flg=09

value=99999

Bind#3

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=48 off=0

kxsbbbfp=7f30c573fd60 bln=22 avl=01 flg=05

value=0

Bind#4

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=0 off=24

kxsbbbfp=7f30c573fd78 bln=22 avl=01 flg=01

value=0

Bind#5

oacdty=02 mxl=22(02) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=8c2ac836 bln=22 avl=02 flg=09

value=3

Bind#6

oacdty=02 mxl=22(02) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=8c2ac848 bln=22 avl=02 flg=09

value=14

Bind#7

oacdty=01 mxl=32(32) mxlc=00 mal=00 scl=00 pre=00

oacflg=10 fl2=0001 frm=01 csi=178 siz=32 off=0

kxsbbbfp=8c2ac85a bln=32 avl=32 flg=09

value="--------------------------------"

Bind#8

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=48 off=0

kxsbbbfp=7f30c573fd18 bln=22 avl=02 flg=05

value=8

Bind#9

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=00 fl2=0001 frm=00 csi=00 siz=0 off=24

kxsbbbfp=7f30c573fd30 bln=22 avl=04 flg=01

value=89877

EXEC #139847447352632:c=423,e=423,p=0,cr=1,cu=2,mis=0,r=1,dep=2,og=4,plh=1935744642,tim=1640841593942240

CLOSE #139847447352632:c=1,e=1,dep=2,type=3,tim=1640841593942270

FETCH #139847449371888:c=666,e=666,p=0,cr=1,cu=3,mis=0,r=1,dep=1,og=1,plh=2297760174,tim=1640841593942387

STAT #139847449371888 id=1 cnt=1 pid=0 pos=1 obj=89877 op=‘SEQUENCE SEQUENCETEST2 (cr=1 pr=0 pw=0 time=686 us)’

STAT #139847449371888 id=2 cnt=1 pid=1 pos=1 obj=0 op=‘FAST DUAL (cr=0 pr=0 pw=0 time=2 us cost=2 size=0 card=1)’

CLOSE #139847449371888:c=1,e=1,dep=1,type=3,tim=1640841593942478

=====================

PARSING IN CURSOR #139847447383384 len=85 dep=1 uid=92 oct=3 lid=89 tim=1640841593943131 hv=1743359171 ad=‘8530ff80’ sqlid=‘c00hfj5mym363’

SELECT LAST_NUMBER FROM DBA_SEQUENCES WHERE SEQUENCE_OWNER=:B2 AND SEQUENCE_NAME=:B1

END OF STMT

PARSE #139847447383384:c=1,e=610,p=0,cr=0,cu=0,mis=1,r=0,dep=1,og=1,plh=0,tim=1640841593943131

=====================

PARSING IN CURSOR #139847447381384 len=37 dep=2 uid=0 oct=3 lid=0 tim=1640841593943633 hv=1398610540 ad=‘8c3c6c48’ sqlid=‘grwydz59pu6mc’

select text from view$ where rowid=:1

END OF STMT

PARSE #139847447381384:c=115,e=115,p=0,cr=0,cu=0,mis=0,r=0,dep=2,og=4,plh=3684871272,tim=1640841593943632

BINDS #139847447381384:

Bind#0

oacdty=11 mxl=16(16) mxlc=00 mal=00 scl=00 pre=00

oacflg=18 fl2=0001 frm=00 csi=00 siz=16 off=0

kxsbbbfp=7f30c56c7930 bln=16 avl=16 flg=05

value=000022F6.0006.0001

EXEC #139847447381384:c=281,e=281,p=0,cr=0,cu=0,mis=0,r=0,dep=2,og=4,plh=3684871272,tim=1640841593943983

FETCH #139847447381384:c=32,e=31,p=0,cr=2,cu=0,mis=0,r=1,dep=2,og=4,plh=3684871272,tim=1640841593944040

STAT #139847447381384 id=1 cnt=1 pid=0 pos=1 obj=69 op=‘TABLE ACCESS BY USER ROWID VIEW$ (cr=1 pr=0 pw=0 time=64 us cost=1 size=15 card=1)’

CLOSE #139847447381384:c=33,e=33,dep=2,type=1,tim=1640841593944088

BINDS #139847447383384:

Bind#0

oacdty=01 mxl=32(30) mxlc=00 mal=00 scl=00 pre=00

oacflg=13 fl2=206001 frm=01 csi=178 siz=32 off=0

kxsbbbfp=7f30c5a3b298 bln=32 avl=04 flg=09

value=“DANA”

Bind#1

oacdty=01 mxl=32(30) mxlc=00 mal=00 scl=00 pre=00

oacflg=13 fl2=206001 frm=01 csi=178 siz=32 off=0

kxsbbbfp=7f30c5a3b2b8 bln=32 avl=13 flg=09

value=“SEQUENCETEST2”

EXEC #139847447383384:c=5198,e=17336,p=0,cr=2,cu=0,mis=1,r=0,dep=1,og=1,plh=265299978,tim=1640841593960521

FETCH #139847447383384:c=64,e=64,p=0,cr=7,cu=0,mis=0,r=1,dep=1,og=1,plh=265299978,tim=1640841593960646

STAT #139847447383384 id=1 cnt=1 pid=0 pos=1 obj=0 op=‘NESTED LOOPS (cr=7 pr=0 pw=0 time=63 us cost=4 size=60 card=1)’

STAT #139847447383384 id=2 cnt=1 pid=1 pos=1 obj=0 op=‘NESTED LOOPS (cr=6 pr=0 pw=0 time=53 us cost=4 size=60 card=1)’

STAT #139847447383384 id=3 cnt=1 pid=2 pos=1 obj=0 op=‘NESTED LOOPS (cr=5 pr=0 pw=0 time=49 us cost=3 size=51 card=1)’

STAT #139847447383384 id=4 cnt=1 pid=3 pos=1 obj=22 op=‘TABLE ACCESS BY INDEX ROWID USER$ (cr=2 pr=0 pw=0 time=30 us cost=1 size=18 card=1)’

STAT #139847447383384 id=5 cnt=1 pid=4 pos=1 obj=46 op=‘INDEX UNIQUE SCAN I_USER1 (cr=1 pr=0 pw=0 time=14 us cost=0 size=0 card=1)’

STAT #139847447383384 id=6 cnt=1 pid=3 pos=2 obj=37 op=‘INDEX RANGE SCAN I_OBJ2 (cr=3 pr=0 pw=0 time=15 us cost=2 size=33 card=1)’

STAT #139847447383384 id=7 cnt=1 pid=2 pos=2 obj=79 op=‘INDEX UNIQUE SCAN I_SEQ1 (cr=1 pr=0 pw=0 time=3 us cost=0 size=0 card=1)’

STAT #139847447383384 id=8 cnt=1 pid=1 pos=2 obj=74 op=‘TABLE ACCESS BY INDEX ROWID SEQ$ (cr=1 pr=0 pw=0 time=2 us cost=1 size=9 card=1)’

CLOSE #139847447383384:c=1,e=1,dep=1,type=3,tim=1640841593960814

=====================

PARSING IN CURSOR #139847447371696 len=45 dep=1 uid=92 oct=42 lid=89 tim=1640841593960929 hv=4112858304 ad=‘0’ sqlid=‘653dv1mukag60’

ALTER SESSION SET CURRENT_SCHEMA=“GOLDENGATE”

END OF STMT

PARSE #139847447371696:c=78,e=78,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=0,plh=0,tim=1640841593960928

EXEC #139847447371696:c=23,e=23,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=0,plh=0,tim=1640841593960998

CLOSE #139847447371696:c=3,e=3,dep=1,type=0,tim=1640841593961018

CLOSE #139847447271744:c=0,e=1,dep=1,type=3,tim=1640841593961058

WAIT #139847449275800: nam=‘SQL*Net message to client’ ela= 2 driver id=1413697536 #bytes=1 p3=0 obj#=118 tim=1640841593961080

EXEC #139847449275800:c=94246,e=151433,p=1,cr=44,cu=13,mis=0,r=1,dep=0,og=1,plh=0,tim=1640841593961094

*** 2021-12-30 13:20:21.802

Received ORADEBUG command (#2) ‘event 10046 trace name context off’ from process 'Unix process pid: 102598, image: ’

*** 2021-12-30 13:20:21.802

Finished processing ORADEBUG command (#2) ‘event 10046 trace name context off’

*** 2021-12-30 13:20:47.975

Received ORADEBUG command (#3) ‘tracefile_name’ from process 'Unix process pid: 102598, image: ’

*** 2021-12-30 13:20:47.975

Finished processing ORADEBUG command (#3) ‘tracefile_name’

总结:3.1与3.2对比发现flush sequence只对源库操作,对于目标库无影响;且会更改last_number值,与之前观察的现象结论一致;trace文件中的flush sequence操作涉及到一个存储过程updatesequence,再次获取存储过程分析内容

3.3 获取存储过程updatesequence

1、查询存储过程

SYS@hmb> select OWNER,OBJECT_NAME ,status from dba_objects where OBJECT_TYPE=‘PROCEDURE’ and owner=‘GOLDENGATE’;

OWNER OBJECT_NAME STATUS

------------------------------------------------- ---------------------------------------

GOLDENGATE SEQTRACE VALID

GOLDENGATE GETSEQFLUSH VALID

GOLDENGATE REPLICATESEQUENCE VALID

GOLDENGATE UPDATESEQUENCE VALID

2、获取存储过程的具体内容

SELECT text

FROM dba_source

WHERE NAME = ‘UPDATESEQUENCE’

ORDER BY line;

SYS@hmb> SELECT text

2 FROM dba_source

3 WHERE NAME = ‘UPDATESEQUENCE’

4 ORDER BY line;

TEXT

------------------------------------------------------------------------------------------------------------------------

PROCEDURE updateSequence (

schemaName IN VARCHAR2,

seqName IN VARCHAR2,

isTrace IN NUMBER,

traceUser IN VARCHAR2,

sessUser IN VARCHAR2)

AUTHID current_user

IS

seqVal NUMBER;

cyc VARCHAR2(100);

lastN NUMBER;

userN NUMBER;

oraSeqName VARCHAR2(100);

BEGIN

IF isTrace = 1 THEN

“GOLDENGATE” .seqTrace (‘BEGIN "’ || traceUser || ‘".trace_put_line(’‘SEQUENCEUPD’’, ‘’################ BEGIN bu

mping up HWM, schema=’’ || ‘’’ || schemaName || ‘’’ || ‘’ seq ‘’ || ‘’’ || seqName || ‘’’); END;’, traceUser);

END IF;

– replace OGG wildcards with SQLPLUS (do not change the meaning of % and _)

– we don’t replace % with \% and _ with \_. We could but it’s not done anywhere in OGG

oraSeqName := seqName;

IF oraSeqName IS NOT NULL THEN

oraSeqName := REPLACE (oraSeqName, ‘*’, ‘%’);

oraSeqName := REPLACE (oraSeqName, ‘?’, ‘_’);

END IF;

IF oraSeqName = ‘’ OR oraSeqName IS NULL THEN

oraSeqName := ‘%’;

END IF;

IF isTrace = 1 THEN

“GOLDENGATE” .seqTrace (‘BEGIN "’ || traceUser || ‘".trace_put_line(’‘SEQUENCEUPD’’, '‘new seqname ‘’ || ‘’’ ||

oraSeqName || ‘’’); END;’, traceUser);

END IF;

– check if schema exists

SELECT COUNT(*) INTO userN FROM SYS.DBA_USERS where USERNAME=schemaName;

IF userN = 0 THEN

IF isTrace = 1 THEN

“GOLDENGATE” .seqTrace (‘BEGIN "’ || traceUser || ‘".trace_put_line(’‘SEQUENCEUPD’’, ''schema does not exist

=’’ || ‘’’ || schemaName || ‘’’); END;’, traceUser);

END IF;

RETURN;

END IF;

– look for all sequences in schema in bring them to be last_number (HWM). This will work because

– if nextval reaches it, it will force an update. This update will move to the target system

– and bring sequences in “sync”

FOR seq IN (SELECT sequence_owner, sequence_name, last_number, cycle_flag FROM DBA_SEQUENCES WHERE SEQUENCE_OWNER = sch

emaName AND SEQUENCE_NAME LIKE oraSeqName) LOOP

IF seq.cycle_flag = ‘Y’ THEN

cyc := ‘CYCLE’;

ELSE

cyc := ‘NOCYCLE’;

END IF;

– use setting schema to avoid problems with table names equal to that of schema

EXECUTE IMMEDIATE (‘ALTER SESSION SET CURRENT_SCHEMA="’||schemaName||’"’);

IF isTrace = 1 THEN

“GOLDENGATE” .seqTrace (‘BEGIN "’ || traceUser || ‘".trace_put_line(’‘SEQUENCEUPD’’, ‘‘set session schema=’’

|| ‘’’ || seq.sequence_owner || ‘’’); END;’, traceUser);

END IF;

EXECUTE IMMEDIATE ‘ALTER SEQUENCE "’|| seq.sequence_name || '" ’ || cyc;

BEGIN

EXECUTE IMMEDIATE ‘SELECT "’|| seq.sequence_name || ‘".nextval FROM DUAL’ INTO seqVal;

EXCEPTION

WHEN OTHERS THEN IF SQLCODE = -8004 THEN NULL; END IF; – ignore going over MAXVALUE for NOCYCLE

END;

SELECT last_number INTO lastN FROM DBA_SEQUENCES WHERE SEQUENCE_OWNER=seq.sequence_owner AND

SEQUENCE_NAME=seq.sequence_name;

IF isTrace = 1 THEN

“GOLDENGATE” .seqTrace (‘BEGIN "’ || traceUser || ‘".trace_put_line(’‘SEQUENCEUPD’’, ‘‘seqName=’’ || ‘’’ ||

seq.sequence_name || ‘’’ || ‘’ old HWM = ‘’ ||’ || seq.last_number || ’ || ‘’ new HWM = ‘’ ||’ ||

lastN || ‘); END;’, traceUser);

END IF;

EXECUTE IMMEDIATE (‘ALTER SESSION SET CURRENT_SCHEMA="’||sessUser||’"’);

IF isTrace = 1 THEN

“GOLDENGATE” .seqTrace (‘BEGIN "’ || traceUser || ‘".trace_put_line(’‘SEQUENCEUPD’’, ''restore session sche

ma to ‘’ || ‘’’ || sessUser || ‘’’); END;’, traceUser);

END IF;

END LOOP;

IF isTrace = 1 THEN

“GOLDENGATE” .seqTrace (‘BEGIN "’ || traceUser || ‘".trace_put_line(’‘SEQUENCEUPD’’, ‘’################ END sche

ma=’’ || ‘’’ || schemaName || ‘’’); END;’, traceUser);

END IF;

END;

78 rows selected.

总结:flush sequence只对源库操作,对于目标库无影响;每一次flush sequence调用一次存储过程,即nextval一次,且会更改last_number值使其加1,但次过程的last_number变化并不会使其通过ogg同步;所以ogg的flush sequence并不能起到两边sequence不一致而刷新的作用,只能在初始化并未同步sequence使起到一个select nextval的作用,触发初始化时的sequence同步。

最后修改时间:2022-01-24 18:25:30
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论