WEB开发网
开发学院数据库Oracle 优化Oracle停机时间及数据库恢复 阅读

优化Oracle停机时间及数据库恢复

 2006-08-05 11:51:57 来源:WEB开发网   
核心提示: 2、令属于该数据文件中的全部回滚段离线3、删除全部离线的回滚段4、在上面的第2步中,如果回滚段中有活动的事务,优化Oracle停机时间及数据库恢复(4),你将不能令它离线、可运行以下的查询来查看哪些事物是活动的:SELECT SEGMENT_NAME, XACTS ACTIVE_TX, V

2、令属于该数据文件中的全部回滚段离线

3、删除全部离线的回滚段

4、在上面的第2步中,如果回滚段中有活动的事务,你将不能令它离线、可运行以下的查询来查看哪些事物是活动的:

SELECT SEGMENT_NAME, XACTS ACTIVE_TX, V.STATUS
FROM V$ROLLSTAT V, DBA_ROLLBACK_SEGS
WHERE TABLESPACE_NAME = 'tablespace_name' AND
SEGMENT_ID = USN;

如果上面的查询没有结果,那么所有的回滚段都是离线的,但是,如果上面的查询返回一行或者多行,并且其状态为PENDING OFFLINE,那么可检查这些回滚段的ACTIVE_TX列、带有0值的回滚段将很快会离线;但是,非0的值表示上面有活动的事务,它们需要被提交或者回滚、

5、处理活动的事务、执行以下的查询来查看哪些用户的事务被指派到该回滚段:

SELECT S.SID, S.SERIAL#, S.USERNAME, R.NAME "ROLLBACK"
FROM V$SESSION S, V$TRANSACTION T, V$ROLLNAME R
WHERE R.NAME IN ('pending_rollback1','pending_rollback2', .... 'pending_rollbackN') AND
S.TADDR = T.ADDR AND
T.XIDUSN = R.USN;

在知道哪些用户在"pending offline"的回滚段上有活动的事务后,可以要求他们提交或者回滚他们的事务,或者可以使用以下的命令杀掉它们的进程:

ALTER SYSTEM KILL SESSION 'sid, serial#';

6、在你处理完所有活动的事务后,执行以下的步骤:

丢弃表空间及其中的全部内容

重新创建回滚表空间

重新创建回滚段,并且令它们在线

事件12:丢失全部的回滚段

在这种事件下,将丢失全部活动的事务,并且需要重新创建回滚段。这样大的问题可能是由于一个硬件问题造成的,可以采用以下的步骤恢复:

上一页  1 2 3 4 5  下一页

Tags:优化 Oracle 停机

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接