当前位置: 首页 > news >正文

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

删除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管理数据库。若其他机器无法连接,关闭防火墙即可。

最新内容请见作者的GitHub页:http://qaseven.github.io/

相关文章:

  • 航空乘客信息泄露咋那么容易?
  • ls命令编写
  • 智能家居老年监控市场规模将到2020年时增长将超过600%
  • linux 中断和终端测试程序
  • 公共免费Wi-Fi服务让意大利高山峡谷旅游胜地焕发活力
  • POJ 2533 Longest Ordered Subsequence
  • 解读ERP顾问的行为准则
  • 專來選擇
  • 《Node.js区块链开发》——2.4 应用场景
  • 灾备行业正在发生的4大趋势
  • Having-Sql语法
  • 联想移动裁员为求自保 摩托罗拉品牌逐渐消退
  • 隔行换色,鼠标滑过行变色 [转载]
  • 雅虎邮箱也“出血”了,雅虎选择弃用ImageMagick
  • C#编程利器之三:接口(Interface)
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • #Java异常处理
  • .pyc 想到的一些问题
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • eclipse(luna)创建web工程
  • javascript 哈希表
  • Java精华积累:初学者都应该搞懂的问题
  • java取消线程实例
  • Java新版本的开发已正式进入轨道,版本号18.3
  • Just for fun——迅速写完快速排序
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • Redux 中间件分析
  • Twitter赢在开放,三年创造奇迹
  • win10下安装mysql5.7
  • 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1
  • 关于字符编码你应该知道的事情
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 前端面试题总结
  • 一个完整Java Web项目背后的密码
  • 用jquery写贪吃蛇
  • 《天龙八部3D》Unity技术方案揭秘
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • ​第20课 在Android Native开发中加入新的C++类
  • ​业务双活的数据切换思路设计(下)
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • #pragma 指令
  • #大学#套接字
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • $.each()与$(selector).each()
  • (30)数组元素和与数字和的绝对差
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (层次遍历)104. 二叉树的最大深度
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • .Net 4.0并行库实用性演练
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .NET Framework 4.6.2改进了WPF和安全性
  • .net mvc 获取url中controller和action
  • .net 中viewstate的原理和使用
  • .NET/C# 获取一个正在运行的进程的命令行参数
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地定义和使用弱事件