停止所有的Oracle服务,到oracle安装目录下,把新建的数据库删除,把备份的文件夹复制进来。
重新启动oracle服务,此时可以通过sqlplus对数据库进行相关的操作,但要使用EM(Enterprise Manager)对数据库进行管理时会显示“Enterprise Manager 无法连接到数据库实例,下面列出了组件的状态”的信息,此时EM无法正常使用。出现问题的原因很多,可以用emca重建资料库解决。
emca重建资料库:
用sqlplus登录,删除早期DBCONSOLE创建的用户:
SQL> dropuser sysman cascade;
若正常的话会等待一段时间,可能会出现如下错误:
=========================================================
ERROR at line 1:
ORA-06553: PLS-801: internal error [56319]
=========================================================
错误原因:用64位系统上的备份片将数据库还原到32位系统中所产生,反过来也会产生此错误。
解决方案:运行脚本用32位系统重新编译一下内核参数即可
SQL> shutdown immediate;
SQL> startup upgrade;
SQL> @?/rdbms/admin/utlirp.sql
SQL> @?/rdbms/admin/utlrp.sql
SQL> shutdown immediate;
SQL> startup;
其中:
utlirp.sql的作用是把相关内容全部在32bit平台下编译一遍.
utlrp.sql的作用是编译所有失效对象.
然后再重新连接,就不会报错了。
接下来继续重建资料库
SQL> droprole MGMT_USER;
SQL> dropuser MGMT_VIEW cascade;
删除早期DBCONSOLE创建的对象:
SQL> droppublic synonym MGMT_TARGET_BLACKOUTS;
SQL> droppublic synonym SETEMVIEWUSERCONTEXT;
在配置oem时遇到“DBSNMP 用户名或密码无效”的错误,原因是DBSNMP系统用户可能被锁用,所以我们首先解锁DBSNMP用户。
登录:SQL> conn sys/密码 as sysdba
解锁:SQL> alter user dbsnmp account unlock;
提交:SQL> commit;
修改密码:SQL> alter user dbsnmp identified by 你的新密码;
提交:SQL> commit;
注意:提交很重要,不然解锁不会生效。