如何重建SYSAUX表空间上的对象
原创
©著作权归作者所有:来自51CTO博客作者maclean_007的原创作品,请联系作者获取转载授权,否则将追究法律责任
SQL> select file_id,file_name from dba_data_files where tablespace_name='SYSAUX';
FILE_ID
----------
FILE_NAME
--------------------------------------------------------------------------------------------------------------------------------------------
2
/s01/oradata/FIXIT/datafile/o1_mf_sysaux_85wkhmrk_.dbf
SQL> alter database datafile 2 offline;
Database altered.
假设这里datafile 2即SYSAUX所有的数据文件都丢失了 且没有任何备份,此时我们无法利用任何备份还原该表空间
但是SYSAUX表空间却是数据库必要的系统表空间之一,存放了 AWR等重要数据和其他一些组件的辅助数据
SQL> exec dbms_workload_repository.create_snapshot;
BEGIN dbms_workload_repository.create_snapshot; END;
*
ERROR at line 1:
ORA-13509: error encountered during updates to a AWR table
ORA-00376: file ORA-00376: file 2 cannot be read at this time
ORA-01110: data file 2: '/s01/oradata/FIXIT/datafile/o1_mf_sysaux_85wkhmrk_.dbf'
cannot be read at this time
ORA-06512: at "SYS.DBMS_WORKLOAD_REPOSITORY", line 99
ORA-06512: at "SYS.DBMS_WORKLOAD_REPOSITORY", line 122
ORA-06512: at line 1
我们需要在 丢失SYSAUX所有数据文件及其备份的情况下 重建该表空间上的对象
除了以上彻底丢失 数据文件的情况, SYSAUX 数据文件存在某些逻辑或物理坏块也可能是重建该表空间上对象的理由
例如以下错误:
ORA-00600: [kcbz_check_objd_typ] from MMON slave or its process
ORA-00600: [kdsgrp1] while querying WR% tables from SYSAUX
对应不同的AWR负载基表, $ORACLE_HOME/rdbms/admin/目录下存有相关这些系统表的创建脚本,例如:
WRI$_OPTSTAT catost.sql - Optimizer Statistics Tables
WRI$_ALERT catalrt.sql - Catalog script for server ALeRT
WRH$_* catawrtb.sql - Catalog script for AWR Tables
catawrvw.sql - Catalog script for AWR Views
接下来我们开始着手重建SYSAUX上的对象,请注意recreate sysaux上的对象是在正常恢复之外的非常规手段,也是恢复SYSAUX的最后一步,不要在产品环境中滥用以下手段:
1. 如果是丢失数据文件导致的问题,那么 先在原SYSAUX表空间加入一个 数据 文件
SQL> alter tablespace sysaux add datafile size 500M;
Tablespace altered.
2. 重建对象的第一步是禁用AWR、ASH、ADDM
对于10g执行以下脚本:
-- To install, run the package as SYS from SQL*Plus:
@dbmsnoawr.plb
-- To execute the package, use the command:
begin dbms_awr.disable_awr(); end;
对于11g直接使用control_management_pack_access 参数
alter system set control_management_pack_access = NONE scope = both;
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
mysql造数据占用临时表空间
mysql造数据占用临时表空间
数组 4D 图像识别 -
清理 SYSAUX 表空间
sysaux
sysaux 表空间 51cto -
Oracle SYSAUX表空间清理
SYSAUX表空间满了很大的一部分原因是AWR报告造成的,下面是转载别人的博客如
sql 数据库 oracle -
一次SYSAUX表空间的索引坏块处理
1.ALERT日志中显示有坏块,检查数据库,未开归档,无RMAN备份。开始校验全库
数据库 sql database SYS SQL -
Oracle 清理sysaux表空间sql ico 数据 4s oracle