简单记录下 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
来源: http://www.linuxidc.com/Linux/2018-02/150724.htm