重建AWR后报ORA-13518


今天导入AWR没成功还把自己数据库的awr给破坏了,只能重建,重建后发现awr报错

SYS@hcndb>begin
  dbms_workload_repository.modify_snapshot_settings (
  3        interval => 30,
  4        retention => 14*24*60
  5    );
  6  end;
  7  /
begin
*
ERROR at line 1:
ORA-13518: Invalid database id (231820269)
ORA-06512: at "SYS.DBMS_WORKLOAD_REPOSITORY", line 85
ORA-06512: at "SYS.DBMS_WORKLOAD_REPOSITORY", line 133
ORA-06512: at line 2

查看MOS文档:
 
ORA-13518 : 'Invalid Database Id' On Call to DBMS_WORKLOAD_REPOSITORY Package [ID 984447.1]

Changes
 Recently AWR was recreated using catnoawr.sql and catawrtb.sql.
Cause
 When a function / procedure is called from DBMS_WORKLOAD_REPOSITORY package,  it refers table WRM$_DATABASE_INSTANCE to get dbid information. As the AWR repositories has been recreated , the table doesn't not have any data present in it.
 
SQL> select * from WRM$_DATABASE_INSTANCE ;
 no rows selected
 

Solution
 
The WRM$_DATABASE_INSTANCE gets populated with instance information when the instance is rebooted. So, If you have recreated AWR using catnoawr.sql , catawrtb.sql , then you need to bounce the Instance . On restart , the table will be populated with the requisite information. Hence , better option for recreating AWR is to use startup restrict method. After the recreation activity is completed , shutdown the database and open it normally.

重启instance后恢复正常,记录下

相关内容

    暂无相关文章