原文链接:

http://www.eygle.com/faq/Use.Nid.to.Change.Your.dbname.htm

Nid是Oracle从9iR2开始提供的工具,可以用来更改数据库名称,而无需通过之前重建控制文件等繁琐方式.
需要说明的是,虽然这个工具来自9iR2,但是仍然可以被用于Oracle8i.

先看一下帮助:

C:/>nid -help
DBNEWID: Release 10.1.0.2.0 - Production
Copyright (c) 2001, 2004, Oracle.  All rights reserved.
关键字      说明                    (默认值)
----------------------------------------------------
TARGET      用户名/口令              (无)
DBNAME      新的数据库名             (无)
LOGFILE     输出日志                     (无)
REVERT      还原失败的更改            否
SETNAME     仅设置新的数据库名        否
APPEND      附加至输出日志            否
HELP        显示这些消息              否

我们通过范例来看一下用法:

1.数据库当前设置

SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
PL/SQL Release 9.2.0.1.0 - Production
CORE    9.2.0.1.0       Production
TNS for 32-bit Windows: Version 9.2.0.1.0 - Production
NLSRTL Version 9.2.0.1.0 - Production
SQL> show parameter name
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert                 string
db_name                              string      eyglev
global_names                         boolean     FALSE
instance_name                        string      eyglev
lock_name_space                      string
log_file_name_convert                string
oracle_trace_collection_name         string
oracle_trace_facility_name           string      oracled
plsql_native_make_file_name          string
service_names                        string      eyglev

2.Shutdown数据库

SQL> connect sys/orasys as sysdba
Connected.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

3.Startup mount

SQL> startup mount
ORACLE instance started.

Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
Database mounted.

4. 使用NID更改

SQL> host
Microsoft Windows 2000 [Version 5.00.2195]
(C) 版权所有 1985-2000 Microsoft Corp.
C:/>nid target=sys/orasys dbname=eyglen
DBNEWID: Release 9.2.0.1.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation.  All rights reserved.
Connected to database EYGLEV (DBID=677189177)
Control Files in database:
E:/ORACLE/ORADATA/EYGLEN/CONTROL01.CTL
E:/ORACLE/ORADATA/EYGLEN/CONTROL02.CTL
E:/ORACLE/ORADATA/EYGLEN/CONTROL03.CTL
Change database ID and database name EYGLEV to EYGLEN? (Y/[N]) => Y
Proceeding with operation
Changing database ID from 677189177 to 3955758099
Changing database name from EYGLEV to EYGLEN
Control File E:/ORACLE/ORADATA/EYGLEN/CONTROL01.CTL - modified
Control File E:/ORACLE/ORADATA/EYGLEN/CONTROL02.CTL - modified
Control File E:/ORACLE/ORADATA/EYGLEN/CONTROL03.CTL - modified
Datafile E:/ORACLE/ORADATA/EYGLEN/SYSTEM01.DBF - dbid changed, wrote new name
Datafile E:/ORACLE/ORADATA/EYGLEN/UNDOTBS01.DBF - dbid changed, wrote new name
Datafile E:/ORACLE/ORADATA/EYGLEN/CWMLITE01.DBF - dbid changed, wrote new name
Datafile E:/ORACLE/ORADATA/EYGLEN/DRSYS01.DBF - dbid changed, wrote new name
Datafile E:/ORACLE/ORADATA/EYGLEN/INDX01.DBF - dbid changed, wrote new name
Datafile E:/ORACLE/ORADATA/EYGLEN/ODM01.DBF - dbid changed, wrote new name
Datafile E:/ORACLE/ORADATA/EYGLEN/TOOLS01.DBF - dbid changed, wrote new name
Datafile E:/ORACLE/ORADATA/EYGLEN/USERS01.DBF - dbid changed, wrote new name
Datafile E:/ORACLE/ORADATA/EYGLEN/XDB01.DBF - dbid changed, wrote new name
Datafile E:/ORACLE/ORADATA/EYGLEN/EYGLE.DBF - dbid changed, wrote new name
Datafile E:/ORACLE/ORADATA/EYGLEN/TEMP01.DBF - dbid changed, wrote new name
Control File E:/ORACLE/ORADATA/EYGLEN/CONTROL01.CTL - dbid changed, wrote new name
Control File E:/ORACLE/ORADATA/EYGLEN/CONTROL02.CTL - dbid changed, wrote new name
Control File E:/ORACLE/ORADATA/EYGLEN/CONTROL03.CTL - dbid changed, wrote new name
Database name changed to EYGLEN.
Modify parameter file and generate a new password file before restarting.
Database ID for database EYGLEN changed to 3955758099.
All previous backups and archived redo logs for this database are unusable.
Shut down database and open with RESETLOGS option.
Succesfully changed database name and ID.
DBNEWID - Completed succesfully.

5.Shutdown database

SQL> shutdown immediate
ORA-01109: database not open

Database dismounted.
ORACLE instance shut down.

6.修改初始化参数文件、spfile文件(init.ora/spfile)

###########################################
instance_name=eyglen
#instance_name=eyglev

###########################################
db_domain=""
db_name=eyglen
# db_name=eyglev
###########################################

7.重建spfile文件
如果你没有使用spfile,当然无需重建,跳至8

SQL> startup pfile=E:/Oracle/admin/eyglen/pfile/init.ora
ORACLE instance started.
Total System Global Area  135338868 bytes
Fixed Size                   453492 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
ORA-01991: invalid password file 'e:/oracle/Ora9iR2/DATABASE/PWDeyglen.ORA'
SQL> CREATE SPFILE='E:/Oracle/Ora9iR2/database/SPFILEEYGLEN.ORA' FROM
2  PFILE='E:/Oracle/admin/eyglen/pfile/init.ora';
File created.

8.重建口令文件

SQL> host
Microsoft Windows 2000 [Version 5.00.2195]
(C) 版权所有 1985-2000 Microsoft Corp.

C:/>orapwd file=E:/Oracle/Ora9iR2/database/PWDeyglen.ORA password=oracle entries=5

9.shutdown数据库
如果不使用spfile,则可以跳至10

SQL> shutdown immediate
ORA-01109: database not open

Database dismounted.
ORACLE instance shut down.

10.Startup mount,resetlogs打开

SQL> startup mount
ORACLE instance started.
Total System Global Area  135338868 bytes
Fixed Size                   453492 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
Database mounted.
SQL> alter database open resetlogs
2  /
Database altered.
SQL>

11.修改后的参数

SQL> show parameter name
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert                 string
db_name                              string      eyglen
global_names                         boolean     FALSE
instance_name                        string      eyglen
lock_name_space                      string
log_file_name_convert                string
oracle_trace_collection_name         string
oracle_trace_facility_name           string      oracled
plsql_native_make_file_name          string
service_names                        string      eyglen

12.对数据库做个全备份

附:使用nid更改817的数据库

1. 更改前

SVRMGR> startup mount
已启动 ORACLE 实例。
系统全局区域合计有                         61970460个字节
Fixed Size                                          75804个字节
Variable Size                                    17645568个字节
Database Buffers                                 44171264个字节
Redo Buffers                                        77824个字节
已装入数据库。
SVRMGR> show parameter name
NAME                                TYPE    VALUE
----------------------------------- ------- ------------------------------
db_file_name_convert                字符串
db_name                             字符串  vilen
global_names                        布尔值  TRUE
instance_name                       字符串  vilen
lock_name_space                     字符串
log_file_name_convert               字符串
oracle_trace_collection_name        字符串
oracle_trace_facility_name          字符串  oracled
service_names                       字符串  vilen
SVRMGR>

2. 修改

C:/>nid target=sys/orasys@vilen dbname=vilene
DBNEWID: Release 9.2.0.1.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation.  All rights reserved.
Connected to database VILEN (DBID=1535443189)
Control Files in database:
C:/ORACLE/ORADATA/VILEN/CONTROL01.CTL
C:/ORACLE/ORADATA/VILEN/CONTROL02.CTL
C:/ORACLE/ORADATA/VILEN/CONTROL03.CTL
Change database ID and database name VILEN to VILENE? (Y/[N]) => Y
Proceeding with operation
Changing database ID from 1535443189 to 681857412
Changing database name from VILEN to VILENE
Control File C:/ORACLE/ORADATA/VILEN/CONTROL01.CTL - modified
Control File C:/ORACLE/ORADATA/VILEN/CONTROL02.CTL - modified
Control File C:/ORACLE/ORADATA/VILEN/CONTROL03.CTL - modified
Datafile C:/ORACLE/ORADATA/VILEN/SYSTEM01.DBF - dbid changed, wrote new name
Datafile C:/ORACLE/ORADATA/VILEN/RBS01.DBF - dbid changed, wrote new name
Datafile C:/ORACLE/ORADATA/VILEN/USERS01.DBF - dbid changed, wrote new name
Datafile C:/ORACLE/ORADATA/VILEN/TEMP01.DBF - dbid changed, wrote new name
Datafile C:/ORACLE/ORADATA/VILEN/TOOLS01.DBF - dbid changed, wrote new name
Datafile C:/ORACLE/ORADATA/VILEN/INDX01.DBF - dbid changed, wrote new name
Datafile C:/ORACLE/ORADATA/VILEN/EQSP01.DBF - dbid changed, wrote new name
Datafile C:/ORACLE/ORADATA/VILEN/PERFSTAT.DBF - dbid changed, wrote new name
Control File C:/ORACLE/ORADATA/VILEN/CONTROL01.CTL - dbid changed, wrote new name
Control File C:/ORACLE/ORADATA/VILEN/CONTROL02.CTL - dbid changed, wrote new name
Control File C:/ORACLE/ORADATA/VILEN/CONTROL03.CTL - dbid changed, wrote new name
Database name changed to VILENE.
Modify parameter file and generate a new password file before restarting.
Database ID for database VILENE changed to 681857412.
All previous backups and archived redo logs for this database are unusable.
Shut down database and open with RESETLOGS option.
Succesfully changed database name and ID.
DBNEWID - Completed succesfully.

3. 关闭数据库

SVRMGR> shutdown immediate
ORA-01109: 数据库未打开
已卸下数据库。
已关闭 ORACLE 实例。

4. 修改参数文件

db_name = "vilene"
#db_name = "vilen"

instance_name = vilene
#instance_name = vilen

5. 重建口令文件

C:/oracle/database>orapwd file=PWDvilen.ORA password=oracle entries=5

C:/oracle/database>

6. mount数据库

SVRMGR> startup mount
ORACLE instance started.
Total System Global Area                         61970460 bytes
Fixed Size                                          75804 bytes
Variable Size                                    17645568 bytes
Database Buffers                                 44171264 bytes
Redo Buffers                                        77824 bytes
Database mounted.

7. 打开数据库

SVRMGR> alter database open resetlogs
2> /
Statement processed.

8. 修改后的参数

SVRMGR> show parameter name
NAME                                TYPE    VALUE
----------------------------------- ------- ------------------------------
db_file_name_convert                string
db_name                             string  vilene
global_names                        boolean TRUE
instance_name                       string  vilene
lock_name_space                     string
log_file_name_convert               string
oracle_trace_collection_name        string
oracle_trace_facility_name          string  oracled
service_names                       string  vilen

Use Nid to Change dbname相关推荐

  1. oracle11g nid,Oracle工具之nid命令的使用

    当我们手动copy了整个数据库,并通过重建控制文件给数据库指定了新的dbname,但是却不能给数据库分配新的dbid.对于以上问题我们可以通过nid命令来对数据库分配一个全新的dbid.同时需要注意r ...

  2. 使用nid的修改数据库名

    Use Nid to Change dbname-NID的用法 Nid是Oracle从9iR2开始提供的工具,可以用来更改数据库名称,而无需通过之前重建控制文件等繁琐方式. 需要说明的是,虽然这个工具 ...

  3. oracle工具之nid命令的使用

    当我们手动copy了整个数据库,并通过重建控制文件给数据库指定了新的dbname,但是却不能给数据库分配新的dbid.对于以上问题我们可以通过nid命令来对数据库分配一个全新的dbid.同时需要注意r ...

  4. 使用DBNEWID Utility 修改oracle数据库的 db name 和 dbid

    使用DBNEWID Utility 工具可以同时修改数据库名.DBID,也可以只修改其中一项 官方参考: https://docs.oracle.com/cd/E11882_01/server.112 ...

  5. ajax get post

    /**      *      * @param {Object} content             获取对象的所有元素      * @param {Object} dbname       ...

  6. 使用nid修改dbname和dbid

    系统 rh5.8 oracle 10.2.0.5 使用nid实验之前要明白dbname和dbid以及sid的关系 在使用dbca建库的时候,有一步要填dbname和sid,一般情况下填完dbname后 ...

  7. Oracle使用NID调整数据库的DBNAME和DBID

    我们知道,在数据库内部,数据库的DBNAME和DBID是数据库标识符,其中,DBID更是数据库的唯一标识符,如果要重新调整数据库的名字,一般是要重建控制文件,为数据库赋予新的名称 (DBNAME): ...

  8. Oracle rac使用nid和dbms_backup_restore包修改dbid和dbname

    Oracle rac使用nid和dbms_backup_restore包修改dbid和dbname 之前的连接: http://blog.itpub.net/26736162/viewspace-21 ...

  9. Oracle NID工具修改数据库DBID和数据库名称

    DBID是数据库的唯一标识符,在一些特殊场合会涉及到DBID的相关内容,本篇文章的目的是演示将DB_NAME的值从ORCL1修改为ORCL. 一.查看当前的环境. [oracle@rhel2 ~]$ ...

最新文章

  1. 大前端晋级系列之-策略模式
  2. Py之pyttsx:pyttsx/pyttsx3​​​​​​​的简介、安装、使用方法之详细攻略
  3. SAP HR信息类型
  4. mybatis批量更新
  5. c获取文件的名字和运行到程序的第几行功能
  6. block传值 链接
  7. [转]VS2010+MFC解析Excel文件中数据
  8. linux下redis安装配置及redis常用命令(实战详细版)
  9. 解决uploadify在Firefox下丢失session的问题
  10. git简单使用(下篇)
  11. dd命令打包多个文件_Android shell 下dd命令浅析
  12. Chibi Dinos上线薄饼IFO打新,是否值得参与?
  13. CDA数据分析师认证考试模拟题库
  14. 9种常见的INTERNET接入方式
  15. 计算机组成原理-流水线技术学习笔记1
  16. 制作小地图MiniMap小结
  17. 关于Vue渐进式框架的理解
  18. cobol .cpy文件_Visual COBOL R3:“使传统的COBOL能够部署在JVM或.NET上”。
  19. Python史上超级无敌复制文件工具
  20. 手把手教你如何推广博客网站

热门文章

  1. SSL证书出现错误之后的解决方法
  2. go读取Excel(xlsx格式)文件
  3. 实力被认可!亿信华辰入选中国信通院“数据治理产业图谱”
  4. 脱虚向实,数字技术让乡村资金“活”起来
  5. HTML5新特性总结 1
  6. java jtable设置列宽_【Java】JTable组件的构造函数和设置列宽
  7. Kali初次使用如何获得root权限
  8. iphone 自定义控件
  9. Glossary - 术语对照表 10
  10. 4K服务的视频体验标准---4K视频技术应用