--//昨天看了链接:https://www.xifenfei.com/2023/04/ora-07445-kglsget.html
--//提到open阶段执行如下:
----- Current SQL Statement for this session (sql_id=gtf6tgc2ycgxx) -----
select count(*) from XDB.XDB$SCHEMA s where s.xmldata.schema_url = 'http://xmlns.oracle.com/xdb/XDBSchema.xsd'
--//报ORA-07445 kglsget错误处理.这个不是启动必须的,可以规避掉该sql执行.
--//自己从来没有做过这样的事情,测试看看,千万不要在生产系统做这类测试!!
2.测试:
$ strings -t d oracle | grep 'select count(\*) from XDB.XDB$SCHEMA s where s.xmldata.schema_url ='
165404960 select count(*) from XDB.XDB$SCHEMA s where s.xmldata.schema_url = 'http://xmlns.oracle.com/xdb/XDBSchema.xsd'
$ strings oracle | grep 'select count(\*) from XDB.XDB$SCHEMA s where s.xmldata.schema_url =' |wc -c
111
$ bvi -b 165404960 -s 111 oracle
09DBE120 73 65 6C 65 63 74 20 63 6F 75 6E 74 28 2A 29 20 66 72 6F 6D 20 58 44 42 2E 58 44 42 24 53 43 48 select count(*) from XDB.XDB$SCH
09DBE140 45 4D 41 20 73 20 77 68 65 72 65 20 73 2E 78 6D 6C 64 61 74 61 2E 73 63 68 65 6D 61 5F 75 72 6C EMA s where s.xmldata.schema_url
09DBE160 20 3D 20 27 68 74 74 70 3A 2F 2F 78 6D 6C 6E 73 2E 6F 72 61 63 6C 65 2E 63 6F 6D 2F 78 64 62 2F = 'http://xmlns.oracle.com/xdb/
09DBE180 58 44 42 53 63 68 65 6D 61 2E 78 73 64 27 00 XDBSchema.xsd'.
--//修改如下:
select count(*) from sys.dual
--//注意后面字符都使用空格代替.实际上我还多显示了1个字符结尾的0x00.