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

相关推荐