本文共 2399 字,大约阅读时间需要 7 分钟。
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
CREATE CONTROLFILE REUSE DATABASE "OEM" RESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 ‘D:\APP\SHUNZI\ORADATA\OEM\REDO01.LOG’ SIZE 50M BLOCKSIZE 512,
GROUP 2 ‘D:\APP\SHUNZI\ORADATA\OEM\REDO02.LOG’ SIZE 50M BLOCKSIZE 512,
GROUP 3 ‘D:\APP\SHUNZI\ORADATA\OEM\REDO03.LOG’ SIZE 50M BLOCKSIZE 512
– STANDBY LOGFILE
DATAFILE
‘D:\APP\SHUNZI\ORADATA\OEM\SYSTEM01.DBF’,
‘D:\APP\SHUNZI\ORADATA\OEM\SYSAUX01.DBF’,
‘D:\APP\SHUNZI\ORADATA\OEM\UNDOTBS01.DBF’,
‘D:\APP\SHUNZI\ORADATA\OEM\USERS01.DBF’,
‘D:\APP\SHUNZI\ORADATA\OEM\MGMT_ECM_DEPOT1.DBF’,
‘D:\APP\SHUNZI\ORADATA\OEM\MGMT.DBF’,
‘D:\APP\SHUNZI\ORADATA\OEM\MGMT_AD4J.DBF’
CHARACTER SET AL32UTF8
这个就是在新的平台下创建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.
转载地址:http://saspa.baihongyu.com/