一、测试机安装os+oracle software,包括配置oracle用户、组和环境变量(略) 二、开始异机恢复 1. 复制源库最新备份集、初始
rman异机恢复步骤及故障处理
[日期:2014-10-20]来源:linux社区 作者:aaron8219[字体:]
一、测试机安装os+oracle software,包括配置oracle用户、组和环境变量(略)
二、开始异机恢复
1. 复制源库最新备份集、初始化参数、密码文件到测试机
[oracle@ora10g backupsets]$ scp *20141012* 192.168.1.213:/tmp
the authenticity of host '192.168.1.213 (192.168.1.213)' can't be established.
rsa key fingerprint is 78:0e:33:cb:3f:04:e4:5d:d1:71:29:a4:3f:3a:79:41.
are you sure you want to continue connecting (yes/no)? yes
warning: permanently added '192.168.1.213' (rsa) to the list of known hosts.
oracle@192.168.1.213's password:
connection closed by 192.168.1.213
lost connection
[oracle@ora10g backupsets]$ scp *20141012* 192.168.1.213:/tmp
oracle@192.168.1.213's password:
ora10g-4175411955_20141012_860776699_315.arc 100% 4336kb 2.1mb/s 00:02
ora10g-4175411955_20141012_860776704_316.db 100% 165mb 2.1mb/s 01:20
ora10g-4175411955_20141012_860776830_317.arc 100% 418kb 417.5kb/s 00:00
ora10g-c-4175411955-20141012-00.ctl 100% 7424kb 2.4mb/s 00:03
[oracle@ora10g backupsets]$ scp $oracle_home/dbs/initora10g.ora oracle@192.168.1.213:/tmp
oracle@192.168.1.213's password:
initora10g.ora 100% 1136 1.1kb/s 00:00
[oracle@ora10g backupsets]$ scp $oracle_home/dbs/orapwora10g oracle@192.168.1.213:/tmp
oracle@192.168.1.213's password:
orapwora10g 100% 1536 1.5kb/s 00:00
如果没有生成过initora10g.ora初始化参数文件,则创建一个:
sql> create pfile from spfile;
创建完默认路径是放在$oracle_home/dbs下面
2. 修改初始化参数
[root@bak tmp]# cat initora10g.ora
ora10g.__db_cache_size=0
ora10g.__java_pool_size=0
ora10g.__large_pool_size=0
ora10g.__shared_pool_size=0
ora10g.__streams_pool_size=0
*.audit_file_dest='/oracle/admin/ora10g/adump'
*.background_dump_dest='/oracle/admin/ora10g/bdump'
*.compatible='10.2.0.1.0'
*.control_files='/oradata/ora10g/control01.ctl','/oradata/ora10g/control02.ctl','/oradata/ora10g/control03.ctl'#restore controlfile
*.core_dump_dest='/oracle/admin/ora10g/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='ora10g'
*.db_recovery_file_dest='/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=2147483648
*.dispatchers='(protocol=tcp) (service=ora10gxdb)'
*.job_queue_processes=10
*.log_archive_format='%t_%s_%r.dbf'
*.nls_language='simplified chinese'
*.nls_territory='china'
*.open_cursors=300
*.pga_aggregate_target=0
*.processes=150
*.remote_login_passwordfile='exclusive'
*.sga_target=0
*.undo_management='auto'
*.undo_tablespace='undotbs1'
*.user_dump_dest='/oracle/admin/ora10g/udump'
注意,假设我这里测试机使用的目录和源库不同,注意红色部分为修改的内容
3. 把密码文件和修改好的初始化参数文件拷贝到测试机相应位置
[oracle@bak ~]$ mv /tmp/initora10g.ora $oracle_home/dbs
[oracle@bak ~]$ mv /tmp/orapwora10g $oracle_home/dbs
--------------------------------------推荐阅读 --------------------------------------
rman 配置归档日志删除策略
oracle基础教程之通过rman复制数据库
rman备份策略制定参考内容
rman备份学习笔记
oracle数据库备份加密 rman加密
--------------------------------------分割线 --------------------------------------
4. 在测试机根据初始化参数文件中指定的路径创建目录(注意目录必须对于oracle用户有读写权限)
[root@bak tmp]# mkdir /oradata/ora10g -p
[root@bak tmp]# mkdir /oracle/admin/ora10g/adump -p
[root@bak tmp]# mkdir /oracle/admin/ora10g/bdump
[root@bak tmp]# mkdir /oracle/admin/ora10g/cdump
[root@bak tmp]# mkdir /oracle/admin/ora10g/udump
[root@bak tmp]# chown oracle:oinstall /oradata -r
[root@bak tmp]# chmod 755 /oradata -r
[root@bak tmp]# chown oracle:oinstall /oracle -r
[root@bak tmp]# chmod 755 /oracle -r
5. 启动实例到nomount
sql> startup nomount
ora-00371: not enough shared pool memory, should be atleast 72265318 bytes
由于假设测试机配置要比源库低,,而暂时不确定如何分配sga,刚才在初始化参数中把内存分配的值,都设置成了0,包括sga_target,既然没有自动分配内存组件,那么手动设置sga_target=1g
sql> !
[oracle@bak ~]$ vim /u01/app/oracle/product/10.2.0/db_1/dbs/initora10g.ora
...
*.sga_target=1g
...
修改保存后,重新启动实例
[oracle@bak ~]$ sqlplus / as sysdba
sql*plus: release 10.2.0.1.0 - production on sun oct 12 17:25:50 2014
copyright (c) 1982, 2005, oracle. all rights reserved.
connected to an idle instance.
sql> startup nomount
ora-01261: parameter db_recovery_file_dest destination string cannot be translated
ora-01262: stat failed on a file destination directory
linux error: 2: no such file or directory
由于刚才忘记创建了/oracle/flash_recovery_area这个目录,因此报错,如果测试机并不想启用fra的话,可以把该参数注释掉
sql> !
[oracle@bak ~]$ vim /u01/app/oracle/product/10.2.0/db_1/dbs/initora10g.ora
...
#*.db_recovery_file_dest='/oracle/flash_recovery_area'
#*.db_recovery_file_dest_size=2147483648
...
[oracle@bak ~]$ sqlplus / as sysdba
sql*plus: release 10.2.0.1.0 - production on sun oct 12 17:28:08 2014
copyright (c) 1982, 2005, oracle. all rights reserved.
connected to an idle instance.
sql> startup nomount
oracle instance started.
total system global area 1073741824 bytes
fixed size 1223512 bytes
variable size 264242344 bytes
database buffers 805306368 bytes
redo buffers 2969600 bytes
sql>
注意,如果登陆sqlplus时碰到无法用os local验证,只需用netca创建一个监听即可解决
6. 恢复测试机控制文件
[oracle@bak ~]$ rman target /
recovery manager: release 10.2.0.1.0 - production on sun oct 12 17:42:07 2014
copyright (c) 1982, 2005, oracle. all rights reserved.
connected to target database: ora10g (not mounted)
rman> restore controlfile from '/tmp/ora10g-c-4175411955-20141012-00.ctl';
starting restore at 12-oct-14
using target database control file instead of recovery catalog
allocated channel: ora_disk_1
channel ora_disk_1: sid=156 devtype=disk
channel ora_disk_1: restoring control file
channel ora_disk_1: restore complete, elapsed time: 00:00:05
output filename=/oradata/ora10g/control01.ctl
output filename=/oradata/ora10g/control02.ctl
output filename=/oradata/ora10g/control03.ctl
finished restore at 12-oct-14
rman> alter database mount;
database mounted
released channel: ora_disk_1
在centos 6.4下安装oracle 11gr2(x64)
oracle 11gr2 在vmware虚拟机中安装步骤
debian 下 安装 oracle 11g xe r2
更多详情见请继续阅读下一页的精彩内容:
0
install orace 11g on solaris 10 sparc 64 bit
使用rowid和rownum获取记录时要注意的问题