修改数据库名(db_name)及实例名(Instance_name or Service_name)

来源:这里教程网 时间:2026-03-03 14:30:59 作者:

https://www.cnblogs.com/wqswjx/p/5522551.html

操作系统版本:rhel6.5 (Red Hat Enterprise Linux Server release 6.5 (Santiago))

数据库版本:12.1.0.2.0

实验目的:

假设原来的数据库名为scp,要改成etdb,原实例名(service_name,instance_name)scp,要改成etdb.

当前数据库的db_name和instance_name:

复制代码
SQL> select dbid,name from v$database;
      DBID NAME---------- ---------3247610670 SCP
SQL> show parameter name;
NAME                               TYPE           VALUE------------------------------------ ----------- ------------------------------cell_offloadgroup_name              stringdb_file_name_convert                stringdb_name                          string           scp
db_unique_name                      string           scpglobal_names                       boolean          FALSEinstance_name                      string           scplock_name_space                   stringlog_file_name_convert                stringpdb_file_name_convert                stringprocessor_group_name                 stringservice_names                      string           scp
复制代码

 

使用oracle自带的nid工具修改数据库的db_name:

复制代码
SQL>>> ! nid target=sys/hzsunssytem dbname=.. - Production on Wed May  :: , , Oracle and/=./home/OracleData/scp//home/OracleArch/fast_recovery_area/scp/? (Y/[N]) =>  to /home/OracleData/scp/control01.ctl -/home/OracleArch/fast_recovery_area/scp/control02.ctl -/home/OracleData/scp/system01.db - dbid changed, wrote /home/OracleData/scp/sysaux01.db - dbid changed, wrote /home/OracleData/scp/undotbs01.db - dbid changed, wrote /home/OracleData/scp/users01.db - dbid changed, wrote /home/OracleData/scp/temp01.db - dbid changed, wrote /home/OracleData/scp/control01.ctl - dbid changed, wrote /home/OracleArch/fast_recovery_area/scp/control02.ctl - dbid changed, wrote  database ETDB changed to   not aware of previous backups and archived logs -> conn / >>>-: database name   control file  not > alter system  db_name=etdb scope=>->>  dbid,name ---------- --------- >
复制代码

 修改数据库的 instance_name:

复制代码
SQL>> Oracle Database 12c Enterprise Edition Release .. -~]$ sed -i s///g  ~/~]$ source ~/~]$ env |=~]$ mv $ORACLE_HOME/dbs/spfilescp.ora $ORACLE_HOME/dbs/~]$ sqlplus *Plus: Release .. Production on Wed May  :: , >>------------------------------------ ----------- ------------------------------     ETDB

SQL>  alter system register;    --向listener注册

System altered.

SQL>  host lsnrctl reload;

LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 25-MAY-2016 23:52:04

Copyright (c) 1991, 2014, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dg1)(PORT=1521))) The command completed successfully

SQL>  host lsnrctl status;

LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 25-MAY-2016 23:52:10

Copyright (c) 1991, 2014, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dg1)(PORT=1521))) STATUS of the LISTENER ------------------------ Alias                     LISTENER Version                   TNSLSNR for Linux: Version 12.1.0.2.0 - Production Start Date                25-MAY-2016 23:14:06 Uptime                    0 days 0 hr. 38 min. 4 sec Trace Level               off Security                  ON: Local OS Authentication SNMP                      OFF Listener Parameter File   /u01/app/oracle/product/12.1.0.2/dbhome_1/network/admin/listener.ora Listener Log File         /u01/app/oracle/diag/tnslsnr/dg1/listener/alert/log.xml Listening Endpoints Summary...   (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dg1.zytk.com)(PORT=1521)))   (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) Services Summary... Service "ETDB" has 1 instance(s).   Instance "etdb", status READY, has 1 handler(s) for this service... Service "scpXDB" has 1 instance(s).   Instance "etdb", status READY, has 1 handler(s) for this service... The command completed successfully

相关推荐