版权声明:未经博主允许不允许转载 https://blog.csdn.net/qianglei6077/article/details/90110604
1 说明
Object quarantine(对象隔离)使Oracle能够在有损坏的、不可恢复的对象情况下运行。可通过V$QUARANTINE视图来查看隔离的对象。Object quarantine能够将引起错误的对象进行隔离并监控其对系统的影响。
例如ORA-00600 和ORA-07445错误通常会造成数据库进程异常终止。在12.2上,如果遇到这样的错误,那么Oracle会尝试将造成错误的资源对象进行隔离,从而让数据库能够继续运行。这种隔离是在内存里进行的,不会数据库的其他部分造成影响。
因为是在内存中进程隔离的,所以在数据库重启后将失效。
2 具体例子
SQL> COLUMN OBJECT FORMAT A10
SQL> COLUMN ADDRESS FORMAT A10
SQL> COLUMN BYTES FORMAT 999999999
SQL> COLUMN ERROR FORMAT A20
SQL> COLUMN TIMESTAMP FORMAT A20
SQL> SELECT OBJECT, ADDRESS, BYTES, ERROR, TIMESTAMP
FROM V$QUARANTINE;
Your output is similar to the following:
OBJECT ADDRESS BYTES ERROR TIMESTAMP
---------- ---------- ---------- -------------------- --------------------
session 0000000078 9528 ORA-00600: internal 16-SEP-15 01.17.42.2
B54BC8 error code, argument 85878 PM -07:00
s: [12345], [], [],
[], [], [], [], [],
[], [], [], []
列名说明:
- 1.资源名称是“session”
- 2.被隔离的资源在内存中地址是0000000078B54BC8。
- 3.隔离该资源使用了9528字节内存大小。
- 4.错误具体信息是“ORA-00600 internal error code.”
- 5.错误出现的时间“16-SEP-15 01.17.42.285878 PM -07:00”