1.创建数据库目录
2.从原来主机复制pfile文件,并更改oracle_sid
1
2
|
vi
.bash_profile
source
.bash_profile
|
3.启动数据到nomount状态
1
2
3
4
|
$ sqlplus / as sysdba
SQL> startup nomount pfile=
'pfile文件绝对位置'
;
ORACLE instance started.
SQL>
exit
|
4.查看备份controlfile列表
1
2
|
$
/usr/openv/netbackup/bin/bplist
-S 备份服务器 -C 备份客户端 -t 4 -s 09
/10/2000
-e 09
/11/2000
-R -l /
该命令中-s参数后面接开始日期,-e参数接结束日期,表示获取该时间段内的控制文件列表
|
5.恢复controlfile文件
1
2
3
4
5
6
7
8
9
10
11
|
$ rman target /
RMAN>
run{
allocate channel a0
type
'sbt_tape'
;
allocate channel a1
type
'sbt_tape'
;
send
'nb_ora_serv=备份服务器 , nb_ora_client=备份客户端'
;
restore controlfile from
' cntrl_xxx_x_xxxxxxxxx'
;
#控制文件名由上一步骤中得到
release channel a0;
release channel a1;
}
RMAN>
exit
|
注意:在这里报错
1
2
3
4
5
6
7
8
9
10
11
12
13
|
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of allocate
command
on a0 channel at 06
/14/2011
11:45:03
ORA-19554: error allocating device, device
type
: SBT_TAPE, device name:
ORA-27211: Failed to load Media Management Library
race文件发现没有libobk.so所致,拷贝libobk.so至oracle安装目录下的lib/下面
cp
/usr/openv/netbackup/bin/libobk
.so64.1
/opt/oracle/product/9
.2
/lib/libobk
.so
或者做一个软链接
ln
-s
/usr/openv/netbackup/bin/libobk
.so64
/opt/oracle/product/9
.2
/lib/libobk
.so
|
6.启动数据库到mount状态
1
2
3
4
|
$ sqlplus / as sysdba
SQL> alter database
mount
;
Database altered.
SQL>
exit
|
7.恢复数据库
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
$ rman target /
run{
allocate channel a0
type
'sbt_tape'
;
allocate channel a1
type
'sbt_tape'
;
allocate channel a2
type
'sbt_tape'
;
allocate channel a3
type
'sbt_tape'
;
send
'nb_ora_serv=备份服务器 , nb_ora_client=备份客户端'
;
restore database;
recover database;
release channel a0;
release channel a1;
release channel a2;
release channel a3;
}
|
8.Reset log 打开数据库
1
2
|
$ sqlplus / as sysdba
SQL> alter database open resetlogs;
|