oracle冷备份

Oracle冷备份操作手册
1冷备份
Oracle的备份与恢复有三种标准的模式,大致分为两大类,备份恢复(物理上的)以及导入导出(逻辑上的),而备份恢复又可以根据数据库的工作模式分为非归档模式(Nonarchivelog-style)和归档模式(Archivelog-style),通常,我们把非归档模式称为冷备份,而相应的把归档模式称为热备份,他们的关系如下所示:
            

冷备份是指非归档模式的将Oracle服务器数据恢复回来。同时也可以将服务器A的数据恢复到服务器B中。
2备份
以oracle11g为例。
2.1使用coldbak脚本备份。
操作步骤:
a)编写如下脚本,保存为*.sql:
--connect database
connect sys/你设定的密码 as sysdba;
--shutdown database
shutdown immediate;
--Copy Data file
Host xcopy d:\Oracle\product\11.2.0\oradata\orcl\*.dbf d:\DbBakup;
--Copy Control file
Host xcopy d:\Oracle\product\11.2.0\oradata\orcl\*.ctl d:\DbBakup;
--Copy Log file
Host xcopy d:\Oracle\product\11.2.0\oradata\orcl\*.log d:\DbBakup;
--startup database
startup;

使用以上脚本将oracle的oradata文件夹下的数据备份出来。
注:以上代码拷贝到记事本中保存为*.sql即为冷备份脚本。其中控制文件(*.ctl),数据文件(*.dbf),日志文件(*.log)的路径依自己的路径修改。“d:\DbBakup”为备份路径,可以自己修改。要备份所有的数据文件,可能有的dbf并不是都在一个目录中,这个就要在EM中查看一下所有的数据文件路径了。
b).在运行中输入cmd。
c).在cmd界面中输入sqlplus/nolog进入sql*plus。
d).以dba身份连接数据库conn sys/你设定的密码 as sysdba。
e).执行冷备份操作。@冷备份角本路径。
2.2使用手动备份
1)停掉Oracle中的所有有关Oracle的服务。
2)将oracle安装目录下的oradata文件夹备份出来。
3本地恢复
1.在运行中输入cmd。
2.在cmd界面中输入sqlplus/nolog进入sql*plus。
3.以dba身份连接数据库conn sys/你设定的密码 as sysdba。
sql> conn sys//你设定的密码 as sysdba
4.输入:shutdown immediate。
  
sql> shutdown immediate;

5.把备份的文件手工逆拷贝到相对应的oracle目录中。
6.在命令窗口中sql>光标处输入:startup。
  
sql> startup;


4异地恢复
注:把备份的文件拷贝到另一台机器上(确保与备份机器安装的是同一版本oracle,并且安装目录相同,并且拥有相同的服务名SID)。

正常恢复步骤:
1.在运行中输入cmd。
2.在cmd界面中输入sqlplus/nolog进入sql*plus。
3.以dba身份连接数据库conn sys/你设定的密码 as sysdba。
sql> conn sys//你设定的密码 as sysdba
4.输入:shutdown immediate。
  
sql> shutdown immediate;

5.把备份的文件手工逆拷贝到相对应的oracle目录中。
6.在命令窗口中sql>光标处输入:startup。
   
sql> startup;

注:如无法登录EM,请重启oracle服务。以上为正常本机恢复过程。如果异地恢复只执行以上步骤,数据库的主机连接字符串则会是备份机器的主机名。所以我们在异地恢复时除了正常恢复步骤还要重建EM。
重建EM步骤:
建议关闭下EM服务。
1.删除EM
A.在cmd命令窗口输入:emca -repos drop
B.在接下来的信息中按自己的数据库信息输入。
2.创建EM
A.在cmd命令窗口输入:emca -repos create
B.在接下来的信息中按自己的数据库信息输入。
3.配置EM
A.在cmd命令窗口输入:emca -config dbcontrol db
B.在接下来的信息中按自己的数据库信息输入。

----------------------------------------------------------------------------------------------------------------------其它注意事项:
1) 重新设置控制文件:
SQL> conn sys as sysdba
SQL> startup nomount
SQL> alter system set control_files='D:\ORACLE\ORADATA\ORA10\CONTROL02.CTL' scope=spfile;
SQL> alter database mount
SQL> alter database open

2) 重新设置服务名
SQL> show parameter db_name;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_name string DEFAULT
SQL> alter system set db_name=新服务名  scope=spfile;
System altered.
SQL> alter database mount;
alter database mount
*
ERROR at line 1:
ORA-01103: database name 'ORCL' in controlfile is not 'DEFAULT'


SQL> shutdown immediate
ORA-01507: database not mounted
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 88080384 bytes
Fixed Size 777812 bytes
Variable Size 87040428 bytes
Database Buffers 0 bytes
Redo Buffers 262144 bytes
Database mounted.
Database opened.

猜你喜欢

转载自redish.iteye.com/blog/1704458