DBID是数据库的唯一标识符,在一些特殊场合会涉及到DBID的相关内容,本篇文章的目的是演示将DB_NAME的值从ORCL修改为ORCL1。

一.查看当前的环境

[oracle@oracledb admin]$ echo $ORACLE_SID
orcl
[oracle@oracledb admin]$ sqlplus sys as sysdba SQL*Plus: Release 11.2.0.1.0 Production on Thu Dec 17 09:34:51 2015 Copyright (c) 1982, 2009, Oracle. All rights reserved. Enter password: Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> show parameter db_name NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_name string orcl
SQL> show parameter service_name NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
service_names string orcl
SQL> show parameter instance_name NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
instance_name string orcl
SQL> select dbid,name from v$database; DBID NAME
---------- ---------
1424428733 ORCL SQL> host lsnrctl status LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 17-DEC-2015 09:36:52 Copyright (c) 1991, 2009, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date 17-DEC-2015 09:32:02
Uptime 0 days 0 hr. 4 min. 49 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /usr/oracle/app/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File /usr/oracle/app/diag/tnslsnr/oracledb/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracledb)(PORT=1521)))
Services Summary...
Service "orcl" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully

二.启动数据库到MOUNT模式。

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started. Total System Global Area 3290345472 bytes
Fixed Size 2217832 bytes
Variable Size 1795164312 bytes
Database Buffers 1476395008 bytes
Redo Buffers 16568320 bytes
Database mounted.

三.使用NID工具将DB_NAME从orcl修改为orcl1。

[oracle@oracledb admin]$ nid target=sys/wangshengzhuang dbname=orcl1

DBNEWID: Release 11.2.0.1.0 - Production on Thu Dec 17 09:40:47 2015

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

Connected to database ORCL (DBID=1424428733)

Connected to server version 11.2.0

Control Files in database:
/usr/oracle/app/oradata/orcl/control01.ctl
/usr/oracle/app/flash_recovery_area/orcl/control02.ctl Change database ID and database name ORCL to ORCL1? (Y/[N]) => Y Proceeding with operation
Changing database ID from 1424428733 to 1283125855
Changing database name from ORCL to ORCL1
Control File /usr/oracle/app/oradata/orcl/control01.ctl - modified
Control File /usr/oracle/app/flash_recovery_area/orcl/control02.ctl - modified
Datafile /usr/oracle/app/oradata/orcl/system01.db - dbid changed, wrote new name
Datafile /usr/oracle/app/oradata/orcl/sysaux01.db - dbid changed, wrote new name
Datafile /usr/oracle/app/oradata/orcl/undotbs01.db - dbid changed, wrote new name
Datafile /usr/oracle/app/oradata/orcl/users01.db - dbid changed, wrote new name
Datafile /usr/oracle/app/oradata/orcl/example01.db - dbid changed, wrote new name
Datafile /usr/oracle/app/oradata/orcl/temp01.db - dbid changed, wrote new name
Control File /usr/oracle/app/oradata/orcl/control01.ctl - dbid changed, wrote new name
Control File /usr/oracle/app/flash_recovery_area/orcl/control02.ctl - dbid changed, wrote new name
Instance shut down Database name changed to ORCL1.
Modify parameter file and generate a new password file before restarting.
Database ID for database ORCL1 changed to 1283125855.
All previous backups and archived redo logs for this database are unusable.
Database is not aware of previous backups and archived logs in Recovery Area.
Database has been shutdown, open database with RESETLOGS option.
Succesfully changed database name and ID.
DBNEWID - Completed succesfully. [oracle@oracledb admin]$

四.新建密码文件。

[oracle@oracledb admin]$ orapwd file=$ORACLE_HOME/dbs/orapworcl1 password=wangshengzhuang  entries=5

五.修改参数文件中的DB_NAME参数值。

由于nid修改了控制文件和数据文件中的DB_NAME值,所以将参数文件中的DB_NAME修改来和控制文件、数据文件相同,修改为ORCL1。

[oracle@oracledb admin]$ sqlplus sys as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Thu Dec 17 09:48:14 2015

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Enter password:
Connected to an idle instance. SQL> startup nomount
ORACLE instance started. Total System Global Area 3290345472 bytes
Fixed Size 2217832 bytes
Variable Size 1795164312 bytes
Database Buffers 1476395008 bytes
Redo Buffers 16568320 bytes
SQL> show parameter db_name NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_name string orcl
SQL> alter system set db_name=orcl1 scope=spfile; System altered. SQL> shutdown immediate
ORA-01507: database not mounted ORACLE instance shut down.
SQL> startup mount
ORACLE instance started. Total System Global Area 3290345472 bytes
Fixed Size 2217832 bytes
Variable Size 1795164312 bytes
Database Buffers 1476395008 bytes
Redo Buffers 16568320 bytes
Database mounted.
SQL> alter database open resetlogs; Database altered. SQL> show parameter db_name NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_name string ORCL1
SQL>

六.查看修改后的环境

修改后的数据库DB_NAME和Service_name都会自动发生变化,instance_name不会发生变化。

SQL> show parameter db_name

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
db_name string ORCL1
SQL> show parameter service NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
service_names string ORCL1
SQL> show parameter instance_nam NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
instance_name string orcl
SQL> select dbid,name from v$database; DBID NAME
---------- ---------
1283125855 ORCL1 SQL> host lsnrctl status LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 17-DEC-2015 09:52:23 Copyright (c) 1991, 2009, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date 17-DEC-2015 09:32:02
Uptime 0 days 0 hr. 20 min. 20 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /usr/oracle/app/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File /usr/oracle/app/diag/tnslsnr/oracledb/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracledb)(PORT=1521)))
Services Summary...
Service "ORCL1" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully SQL>

七、修改实例名

修改.bash_profile 中的ORACLE_SID

vi  .bash_profile

使修改生效

source  .bash_profile

修改参数文件路径

[oracle@oracledb ~]$ cd $ORACLE_HOME/dbs
[oracle@oracledb dbs]$ pwd
/usr/oracle/app/product/11.2.0/dbhome_1/dbs
[oracle@oracledb dbs]$ mv spfileorcl.ora spfileorcl1.ora
[oracle@oracledb dbs]$ mv initorcl.ora initorcl1.ora

重启数据库,查看实例名

[oracle@oracledb dbs]$ sqlplus sys as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Thu Dec 17 10:03:21 2015

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Enter password: ***************
Connected to an idle instance. SQL> startup
ORACLE instance started. Total System Global Area 3290345472 bytes
Fixed Size 2217832 bytes
Variable Size 1795164312 bytes
Database Buffers 1476395008 bytes
Redo Buffers 16568320 bytes
Database mounted.
Database opened.
SQL> show parameter instance_name; NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
instance_name string orcl1

Oracle NID工具修改数据库DBID、数据库名称、数据库实例名的更多相关文章

  1. T-SQL - query02_查看数据库信息|查看服务器名称|查看实例名

    时间:2017-09-29 编辑:byzqy 本篇记录几个查询数据库信息的 T-SQL 语句: 查看数据库信息 查看服务器名称 查看实例名 文件:SQLQuery2.sql /* 说明: SQLQue ...

  2. 8. DBNEWID 工具(使用nid命令修改db name及dbid)

    以下参考自:https://www.2cto.com/database/201305/207860.html Oralce官网:https://docs.oracle.com/cd/E11882_01 ...

  3. 电脑上不安装Oracle时,C# 调用oracle数据库,Oracle客户工具

    Oracle的安装包通常都比较大,安装又比较费时,而且如果安装过程中不幸出错,各种蛋疼,即便是安装过N遍的老手,有时候安装起来也觉得挺烦.而工作中,通常服务器上面安装oracle就可以了,我们本地电脑 ...

  4. oracle通过修改控制文件scn推进数据库scn

    数据库当前scn 代码如下 复制代码 idle> select checkpoint_change# from v$database; CHECKPOINT_CHANGE#----------- ...

  5. 使用Oracle 9i工具管理数据库 - 初学者系列 - 学习者系列文章

    前面介绍了Oracle 9i的安装,本文大概介绍下Oracle 9i提供的管理工具的使用. 1 打开数据库配置工具 2 下一步 3 下一步 4 下一步.这里输入数据库名和SID 5 下一步 6 下一步 ...

  6. 电脑上不安装Oracle时,C# 调用oracle数据库,Oracle客户工具 【转载】

    http://www.cnblogs.com/jiekzou/p/5047850.html Oracle的安装包通常都比较大,安装又比较费时,而且如果安装过程中不幸出错,各种蛋疼,即便是安装过N遍的老 ...

  7. 【ORACLE】Win2008R2修改oracle数据库实例名

    需求说明:要求将windows平台的数据库实例名由orcl改为haha 参考: https://www.cnblogs.com/junnor/archive/2013/03/05/2945245.ht ...

  8. 如何修改SQL Server 2000的数据库逻辑与物理名称

    在项目中使用SQL Server 2000创建了一个数据库,发现名称与另一个数据库太相似,于是决定更改名称,包括: 在企业管理器中看到的数据库名,也是实际应用程序中连接用的数据库名称: 在磁盘上看的物 ...

  9. 详解:数据库名、实例名、ORACLE_SID、数据库域名、全局数据库名、服务名及手工脚本创建oracle数据库

    数据库名.实例名.数据库域名.全局数据库名.服务名 , 这是几个令很多初学者容易混淆的概念.相信很多初学者都与我一样被标题上这些个概念搞得一头雾水.我们现在就来把它们弄个明白. 一.数据库名 什么是数 ...

随机推荐

  1. MVC开发中的常见错误-03-System.Data.Entity.Validation.DbEntityValidationException: 对一个或多个实体的验证失败。有关详细信息,请参见“EntityValidationErrors”属性。

    return Db.SaveChanges()>0; return CurrentDBSession.SaveChanges(); RoleInfoService.EditEntity(role ...

  2. IntentService用法

    IntentService 用完即走     IntentService,可以看做是Service和HandlerThread的结合体,在完成了使命之后会自动停止,适合需要在工作线程处理UI无关任务的 ...

  3. django url解析中的ResolverMatch

    了解这个问题,源于昨天开发时遇到的一个小小的问题. 问题描述如下: 比如,我有一个url,定义如下: path('res_edit/<app>/<env>/', AppResE ...

  4. [转] Java接口_interface_implements

    相对抽象类来讲,接口就是比抽象类还要抽象的抽象类,丝毫不带半点实现的内容.接口可以更加规范的对子类进行约束.接口全面地专业地实现了:规范和具体实现的分离.接口就是规范,定义的是一组规则,提现了现实世界 ...

  5. free -m图解

  6. X分钟速成Python3

    参考博客:Python3 从入门到开车  (与以下代码无关) 源代码下载: learnpython3-cn.py Python是由吉多·范罗苏姆(Guido Van Rossum)在90年代早期设计. ...

  7. C# 列出进程

    Process[] processes = Process.GetProcesses(); StringBuilder sb = new StringBuilder(); ; i < proce ...

  8. LOJ.6284.数列分块入门8(分块)

    题目链接 \(Description\) 给出一个长为n的数列,以及n个操作,操作涉及区间询问等于一个数c的元素,并将这个区间的所有元素改为c. \(Solution\) 模拟一些数据可以发现,询问后 ...

  9. BZOJ.3450.(JoyOI1952) Easy(期望)

    题目链接 /* 设f[i]为到i的期望得分,c[i]为到i的期望连续长度 则若s[i]=='x',f[i]=f[i-1], c[i]=0 s[i]=='0',f[i]=f[i-1]+2*c[i-1]+ ...

  10. 自定义reg52.h头文件(单片机学习重难点核心知识点)

    /*-------------------------------------------------------------------------- 自定义REG52头文件 @auth lei @ ...