oracle 11g数据库冷备与恢复
版本:v1.0
作者: 梁凯亮
E-mail:lkl_1981@163.com
QQ:37547134
日期:20012-0627
实验环境
硬件环境:x86_64位的虚拟机两台
操作系统:rhel 5.6 64位
oracle版本:oracle 11g企业版11.0.2.1 x86_64
实验目标
将现有的数据库通过冷备份,在新装操作系统上进行还原。
实验步骤
1. 首先shutdown immediate 停止要冷备的数据库。
SQL>shutdown immediate
2. 备份oralce实例的启动文件。
在备份前我将不能编辑的spfile文件用命令生成了一个可以编辑的pfile文件。
SQL>create pfile from spfile;
生成的路径和spfile在一个目录下。
我的oracle启动文件的位置:/u01/oracle/database/db_1/dbs
反正也不大我将这个文件都备份了。
3. 导出创建controlfile的脚本。
先启动oracle数据库实例。
SQL >startup
导出创建controlfile脚本到trace文件。
SQL> alter database backup controlfile to trace;
我的trace目录是:/u01/oracle/database/diag/rdbms/orcl/orcl/trace
查看alert_orcl.log日志最后
alter database backup controlfile to trace
Backup controlfile written to trace file /u01/oracle/database/diag/rdbms/orcl/orcl/trace/orcl_ora_4820.trc
Completed: alter database backup controlfile to trace
查看 orcl_ora_4820.trc STARTUP NOMOUNT |
|
这个就是在新的平台下创建controlfile的脚本,注意和要还原的oracle路径保持一直。
(以下是还原操作)
4. 将initorcl.ora 还原。
我的位置在:/u01/oracle/database/db_1/dbs/
5. 将备份的数据文件还原到controlfile指定的位置。
我的位置在:
/u01/oracle/database/oradata/orcl/
6. 复制controlfile文件。
查看initorcl .ora文件找到如下:
*.control_files='/u01/oracle/database/oradata/orcl/control01.ctl','/u01/oracle/database/flash_recovery_area/orcl/control02.ctl'
看到两个controlfile文件,这两个文件必须都存在如果不存在复制一个就好了。
7. 创建不存在的文件夹
查看initorcl .ora文件找到如下:
*.audit_file_dest='/u01/oracle/database/admin/orcl/adump'
如果没有这个文件需要创建一个,并赋给oracle的权限。
8. 创建sys的密码
[oracle@vm0 dbs]$ orapwd file=/u01/oracle/database/db_1/dbs/orapworc password=oradba force=y
9. netca 创建数据库监听并启动
10. 启动oracle数据库
sqlplus /nolog
conn sys/oradba as sysdba
如果不提示错误表示启动正常,还看一看以前的表和数据是否存在?
注意事项
1. 硬件的内存一定要一样,否则需要修改initorcl.ora中和内存相关的配置信息。
2. 注意将没有创建的文件夹创建好。
3.
本文出自 “lkl_1981” 博客,转载请与作者联系!