今天导入AWR没成功还把自己数据库的awr给破坏了,只能重建,重建后发现awr报错
今天导入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后恢复正常,,记录下