当前位置:  数据库>oracle

Oracle数据库冷备份的还原及emca重建资料库

    来源: 互联网  发布时间:2017-06-03

    本文导语: 删除Oracle数据库中已经建立的数据库,按照备份的oracle路径重新安装新建数据库,路径、数据库SMID必须和原来的完全一致。 停止所有的Oracle服务,到oracle安装目录下,把新建的数据库删除,把备份的文件夹复制进来。 重新启动...

删除Oracle数据库中已经建立的数据库,按照备份的oracle路径重新安装新建数据库,路径、数据库SMID必须和原来的完全一致。

停止所有的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;

注意:提交很重要,不然解锁不会生效。

 

开始重新创建资料库,在命令行执行以下命令:

[oracle@localhost~]emca -repos recreate

此时如出现(一般不会出现)如下错误:

=========================================================

ORA-12526: TNS:listener: all appropriate instances are in restricted mode

=========================================================

意思是:连接oracle数据库出现oracleORA-12526: TNS:监听程序:所有适用例程都处于受限模式。

原因是之前改字符集时执行了:

[oracle@localhost~]# ALTER SYSTEM ENABLE RESTRICTEDSESSION;

导致受限

解决办法:使用系统管理员身份运行以下一段代码

[oracle@localhost~]# ALTER SYSTEM DISABLE RESTRICTEDSESSION;

解决完以后再次执行:

[oracle@localhost~]# emca -repos recreate

此时会提示输入相关参数,按照提示输入即可,其中监听程序端口号为: 1521 ,等待一小会时间,执行完毕以后再停止agent:

[oracle@localhost~]# emctl stop agent

最后开始重建资料库:

[oracle@localhost~]# emca -config dbcontrol db

此时同样会提示输入相关参数,按照提示输入即可,其中监听程序端口号还是为为: 1521 ,其中通知的电子邮件地址 (可选)和通知的发件 (SMTP) 服务器 (可选)两项可以不写,直接按enter键。

再次等待一小会时间,执行完毕以后重建资料库成功,启动Enterprise Manager:

[oracle@localhost ~]# emctl start dbconsole

在浏览器地址栏输入:http://localhost:1158/em即可使用Enterprise Manager管理数据库。若其他机器无法连接,关闭防火墙即可。

 

本文永久链接地址:


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • oracle iis7站长之家
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • ORACLE日期相关操作
  • Linux系统下Oracle的启动与Oracle监听的启动
  • ORACLE数据库常用字段数据类型介绍
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • Oracle 12c的九大最新技术特性介绍
  • 网间Oracle的连接,远程连接Oracle服务器??


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,