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新于当前。