Oracle RAC数据库修改名称
简单记录下Oracle RAC修改名称的一些方法。
1.关闭一个实例
[oracle@rac11g2 ~]$ sqlplus / as sysdba
SQL> shutdown immediate;
2.备份spfile文件
SQL> create pfile='/home/oracle/acct1.pfile' from spfile;
3.修改pfile文件cluster_database为false
*.cluster_database=FALSE
4.使用pfile文件,启动单实例数据库到mount状态
SQL> startup mount pfile='/home/oracle/acct1.pfile';
5.执行nid修改dbname
[oracle@rac11g1 ~]$ nid target=sys/oracle dbname=crmdb setname=y
DBNEWID: Release 11.2.0.4.0 - Production on Tue May 19 09:31:48 2015
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
Connected to database ACCT (DBID=3809824099)
Connected to server version 11.2.0
Control Files in database:
+DATA_DG/acct/controlfile/current.261.872692963
+DATA_DG/acct/controlfile/current.260.872692963
Change database name of database ACCT to CRMDB? (Y/[N]) => Y
Proceeding with operation
Changing database name from ACCT to CRMDB
Control File +DATA_DG/acct/controlfile/current.261.872692963 - modified
Control File +DATA_DG/acct/controlfile/current.260.872692963 - modified
Datafile +DATA_DG/acct/datafile/system.256.87269284 - wrote new name
Datafile +DATA_DG/acct/datafile/sysaux.257.87269284 - wrote new name
Datafile +DATA_DG/acct/datafile/undotbs1.258.87269284 - wrote new name
Datafile +DATA_DG/acct/datafile/users.259.87269284 - wrote new name
Datafile +DATA_DG/acct/datafile/example.267.87269300 - wrote new name
Datafile +DATA_DG/acct/datafile/undotbs2.268.87269351 - wrote new name
Datafile +DATA_DG/acct/tempfile/temp.266.87269298 - wrote new name
Control File +DATA_DG/acct/controlfile/current.261.872692963 - wrote new name
Control File +DATA_DG/acct/controlfile/current.260.872692963 - wrote new name
Instance shut down
Database name changed to CRMDB.
Modify parameter file and generate a new password file before restarting.
Succesfully changed database name.
DBNEWID - Completed succesfully.
6.修改ORACLE_SID信息
------节点1------
6.1 环境变量
[oracle@rac11g1 ~]$ vi .bash_profile
export ORACLE_SID=crmdb1
6.2 口令文件
[oracle@rac11g1 ~]$ cd $ORACLE_HOME/dbs
[oracle@rac11g1 dbs]$ orapwd file=orapwcrmdb1 password=oracle
6.3 修改pfile文件启动数据库
*.cluster_database=TRUE
*.db_name='crmdb'
替换acct1为crmdb1 :%s/acct1/crmdb1/g
替换acct2为crmdb2 :%s/acct2/crmdb2/g
6.4 创建新的spfile参数文件
[oracle@rac11g1 ~]$ sqlplus / as sysdba
SQL> startup pfile='/home/oracle/acct1.pfile' nomount;
SQL> create spfile='+DATA_DG' from pfile='/home/oracle/acct1.pfile';
6.5 创建pfile参数文件
[oracle@rac11g1 ~]$ cd $ORACLE_HOME/dbs
[oracle@rac11g1 dbs]$ vi initcrmdb1.ora
SPFILE='+DATA_DG/crmdb/PARAMETERFILE/spfile.293.880105913'
------节点2------
1 环境变量
[oracle@rac11g2 ~]$ vi .bash_profile
export ORACLE_SID=crmdb2
2. 口令文件
[oracle@rac11g2 ~]$ cd $ORACLE_HOME/dbs
[oracle@rac11g2 dbs]$ orapwd file=orapwcrmdb2 password=oracle
3. 参数文件
[oracle@rac11g2 dbs]$ vi initcrmdb2.ora
SPFILE='+DATA_DG/crmdb/PARAMETERFILE/spfile.293.880105913'
7.修改crs资源
7.1 删除旧实例配置
[oracle@rac11g1 ~]$ srvctl remove database -d acct
7.2 添加新实例配置
[oracle@rac11g1 ~]$ srvctl add database -d crmdb -o /oracle/app/oracle/product/11.2.0/db_1/
[oracle@rac11g1 ~]$ srvctl add instance -d crmdb -i crmdb1 -n rac11g1
[oracle@rac11g1 ~]$ srvctl add instance -d crmdb -i crmdb2 -n rac11g2