公司的一套oracle11gRAC(2节点)的数据库,用的存储是ASM,操作系统是RHEL只有一个控制文件,昨天我准备增加一个控制文件,在sqlplus中altersystemsetcontrol_files=+
公司的一套oracle11gRAC(2节点)的数据库,用的存储是ASM,操作系统是RHEL
只有一个控制文件,昨天我准备增加一个控制文件, 在sqlplus 中
alter system set control_files='+DATA/kabiz/controlfile/current.260.797421353, +ARCH/kabiz/controlfile/current.256.797421353' scope=spfile;
运行这个命令后才发现不知道怎么在 ASM下复制新的控制文件,导致数据库不管在nomount,mount状态下都启动不了
(spfile,controlfile,datafile 都在ASM下)
ORA-15124: ASM file name '+DATA/kabiz/controlfile/current.260.797421353, +ARCH/kabiz/controlfile/current.256.797421353' contains an invalid alias name
解决办法:
1. 登录sqlplus,将spfile二进制文件转存为pfile文本文件
SQL> create pfile='/u01/oracle/db_1/dbs/pfile.ora' from spfile='+DATA/KABIZ/spfilekabiz.ora'
2. 修改pfile文件中controlfiles参数指定的控制文件所在位置,香港服务器租用,查找ASM里的
控制文件可通过asmcmd命令查找
环境变量设置:
export ORACLE_SID=+ASM
export ORACLE_HOME=/u01/oracle/grid
运行asmcmd命令
[oracle@qaora02 dbs]$ asmcmd
ASMCMD> ls
ARCH/
DATA/
ASMCMD> cd DATA
ASMCMD> ls
ASM/
KABIZ/
ASMCMD> cd KABIZ
ASMCMD> ls
CONTROLFILE/
DATAFILE/
ONLINELOG/
PARAMETERFILE/
TEMPFILE/
spfilekabiz.ora
ASMCMD> cd CONTROLFILE
ASMCMD> ls
Current.260.797421353
ASMCMD> pwd
+DATA/KABIZ/CONTROLFILE
ASMCMD>
***************************************************
pfile里部分内容
***************************************************
*.audit_file_dest='/u01/oracle/admin/kabiz/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='+DATA/kabiz/controlfile/Current.260.797421353'
*.db_block_size=8192
*.db_create_file_dest='+DATA'
把oracle环境变量修改回来,网站空间,美国服务器,
export ORACLE_SID=orcl
export ORACLE_HOME=/u01/oracle/db_1
[oracle@qaora02 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Tue Dec 18 15:18:31 2012
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup mount pfile=/u01/oracle/db_1/dbs/pfile.ora
ORACLE instance started.
Total System Global Area 3140026368 bytes
Fixed Size 2217464 bytes
Variable Size 2415921672 bytes
Database Buffers 704643072 bytes
Redo Buffers 17244160 bytes
Database mounted.
SQL> show parameter control_file;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time integer 7
control_files string +DATA/kabiz/controlfile/curren
t.260.797421353
SQL> alter database open;
SQL> create SPFILE='+DATA/kabiz/spfilekabiz.ora' from pfile='/u01/oracle/db_1/dbs/pfile.ora';
File created.
SQL> shutdown immediate;
SQL> startup;
ORACLE instance started.
Total System Global Area 3140026368 bytes
Fixed Size 2217464 bytes
Variable Size 2415921672 bytes
Database Buffers 704643072 bytes
Redo Buffers 17244160 bytes
Database mounted.
Database opened.
SQL>
本文出自 “为技术而痴狂” 博客,请务必保留此出处