Use Nid to Change dbname-NID的用法

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=ZAKI

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 ORCL to ZAKI? (Y/[N]) => Y

Proceeding with operation
Changing database ID from 677189177 to 3955758099
Changing database name from ORCL to ZAKI
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=ZAKI

#instance_name=ORCL

###########################################
db_domain=""
db_name=ZAKI
# db_name=ORCL
###########################################

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\PWDzaki.ORA'
SQL> CREATE SPFILE='E:\Oracle\Ora9iR2\database\SPFILEZAKI.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\PWDzaki.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

--windows环境下可以通过ORADIM来删除和重建实例

12.对数据库做个全备份

至此,数据库称成功修改,由于dbid发生了变化,数据库已不能使用以前的备份和归档日志,应立即备份数据库,后面会继续研究10g后版本在db_name变化下使用之前的数据备份进行数据恢复的问题。

参考原文:http://www.eygle.com/faq/Use.Nid.to.Change.Your.dbname.htm

使用nid的修改数据库名相关推荐

  1. mysql 中修改对象_在MySQL中,创建一个数据库后,还可以对象其进行修改,不过这里的修改是指可以修改被创建数据库的相关参数,也可以修改数据库名。...

    [多选题]注射时,在(  )情况下,采用较高的注射速率. [单选题]通常,所设置的模具温度是指和制品接触的模腔内表面在(   ). [单选题]反映某一事件发生强度的指标应选用 [判断题]当试样制备之后 ...

  2. SQL Server 2014如何修改数据库名

    SQL Server 2014如何修改数据库名 未使用的数据库改名比较方便,找到你要改的数据库,右键选择"重命名" 然后把你想要改的名字写好,然后点击一下旁边的空白栏 然后你就发现 ...

  3. MySQL数据库修改数据库名的三种方式

    在Innodb数据库引擎下修改数据库名的方式与MyISAM引擎下修改数据库的方式完全不一样,如果是MyISAM可以直接去数据库目录中mv就可以,Innodb如果用同样的方法修改会提示相关表不存在. 第 ...

  4. SQL Server 修改数据库名、修改逻辑文件名、修改数据库物理文件名

    现有数据库为"Test",想要修改"NewTest",并且也修改逻辑文件名称和数据库物理名称. 说明: 1)禁止在生产环境,并且正在使用的数据库进行名称修改. ...

  5. MongoDB修改数据库名,collection名库名

    修改数据库名 db.copyDatabase('test', 'test1'); ~~db.copyDatabase('old_name', 'new_name'); use test ~~use o ...

  6. PostgreSQL修改数据库名

    点击上方蓝字关注我 修改数据库名 修改数据库的脚本其实很简单,如下: alter database db1 rename to db2; 但处理时检查如遇到如下的错误信息,导致无法修改库名,错误信息如 ...

  7. 曲苑杂坛--修改数据库名和文件组名

    /* 该脚本示例如何完整的修改一个数据库的名称. 数据库为原名称为DB_BEIJING,需要修改成DB_SHANGHAI nzperfect 2012.12.19 */--判断是否存在同名的数据库,以 ...

  8. Mysql修改数据库名方法

    mysql中如何重命名数据库?这篇文章主要介绍了安全快速修改Mysql数据库名的5种方法,需要的朋友可以参考下 RENAME DATABASE db_name TO new_db_name 这个..这 ...

  9. mysql修改数据库名的方法

    1.通用方法: 指的分别在MYSIAM引擎和INNODB的下 备份还原,安全稳定,数据量大的时候会花很多时间 先将数据库备份,然后再还原到新数据库 2.MYSIAM下 直接在数据库文件目录下修改对应数 ...

最新文章

  1. 身为 Java 程序员必须掌握的 10 款开源工具!
  2. Loadrunner连接负载机失败,提示Failed to connect to the load generator.Check the output window for more detail
  3. OC第二节 继承、初始化⽅法、便利构造器
  4. -bash: ./demoapp: 无法执行二进制文件 问题解决
  5. 拉马车 的游戏 c语言编程,蓝桥杯 拉马车(模拟)
  6. ITK:平移一个网格
  7. Zabbix邮件报警配置
  8. [html] const nums1 = [1, 2, 2, 1], nums2 = [2] 交集是什么?
  9. python动态添加类方法_Python 动态添加类方法
  10. 领域驱动设计(DDD):领域和子域
  11. php preserve keys,PHP常用的数组函数
  12. 聊一聊2D地图的迷雾效果
  13. DG - 物理Standby角色转换
  14. 条件变量对多线程求素数的改进
  15. sqlite3数据存储最多存储多少条数据?达到上限如何处理?_在线公开课 | 在数据爆炸的当下,教你设计一个能实现9个9数据可靠性的存储系统...
  16. IC工程师简历制作全解读
  17. FPGA厂家谁家强?
  18. 小米无线路由器服务器用户名和密码忘了,小米路由器管理密码忘记了怎么办?...
  19. Linux的常用命令就是记不住,还在百度找?于是推出了这套教程,
  20. 利用Python删除Android项目中未使用的layout

热门文章

  1. 2022/06/14,15 day15与day16:内部类
  2. Atitit.木马 病毒 免杀 技术 360免杀 杀毒软件免杀 原理与原则 attilax 总结...
  3. 华为初面 + 综合面试,附上面试题,share 给大家~
  4. 北交 操作系统 课程笔记(一)
  5. 你还在担心黑客攻击吗?所有程序员都应该掌握的基础网络安全知识,快进来看看吧
  6. android studio天气预报
  7. LQ0023 三羊献瑞【枚举】
  8. cf微软AIM服务器,CF微软AIM1.1透视自瞄无后坐力
  9. c# HJ212协议组包
  10. 宋婷科幻作品连载 | 算力:幻想几何学(一)