A-A+
细节成就成败-权限之ORA-19587 ORA-27091
不多说了,晚上加班在单节点的备库搭建物理DG,有点着急回宿舍,一时半会儿忘了把root put过去的控制文件没有修改权限,复制库的时候出错。如下:
[oracle@xxx:/opt/oracle]$ rman target / auxiliary sys/system@xxx
Recovery Manager: Release 9.2.0.4.0 - 64bit Production
Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.
connected to target database: XXXXCDB (DBID=69648XXXX)
connected to auxiliary database: cakmcdb (not mounted)
RMAN> duplicate target database for standby nofilenamecheck;
Starting Duplicate Db at 20-MAY-13
using target database controlfile instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: sid=8 devtype=DISK
printing stored script: Memory Script
{
restore clone standby controlfile to clone_cf;
replicate clone controlfile from clone_cf;
sql clone 'alter database mount standby database';
}
executing script: Memory Script
Starting restore at 20-MAY-13
using channel ORA_AUX_DISK_1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 05/20/2013 21:57:12
RMAN-03015: error occurred in stored script Memory Script
ORA-19587: error occurred reading 8192 bytes at block number 1
ORA-27091: skgfqio: unable to queue I/O
ORA-27069: skgfdisp: attempt to do I/O beyond the range of the file
Additional information: 1
Additional information: 1
此处需要修改给备库创建的控制文件的权限
# ls -l ctl_racdb_st.bak -rw-r--r-- 1 root other 2023424 5月 20 22:00 ctl_racdb_st.bak # chown oracle:dba ctl_racdb_st.bak # ls -l ctl_racdb_st.bak -rw-r--r-- 1 oracle dba 2023424 5月 20 22:00 ctl_racdb_st.bak
注意:
1、在9i中使用命令duplicate复制库,如果主备库的文件路径一样,则需要加参数nofilenamecheck,否则报错
2、在创建备库控制文件及备份主库的前后,需要执行 alter system archive log current; 产生新的检查点,否则在复制的时候可能会报备份的scn新于当前。