当前位置:  数据库>oracle

Oracle工具之nid命令的使用

    来源: 互联网  发布时间:2017-05-31

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

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

 

一 命令解释

[Oracle@source ~]$ nid help=yes

 

DBNEWID: Release 11.2.0.2.0 - Production on Thu Dec 5 00:09:50 2013

 

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

 

Keyword Description (Default)

----------------------------------------------------

TARGET Username/Password (NONE) 指定连接数据库的用户名和密码

DBNAME New database name (NONE) DBNAME=new_db_name 改变数据库的名字

LOGFILE Output Log (NONE) LOGFILE=logfile指定输出消息到指定的日志文件,默认nid覆盖之前的日子文件

REVERT Revert failed change NO 指定yes表明更改dbid失败时能够恢复之前的状态

SETNAME Set a new database name only NO 指定yes表明仅仅更改数据库db_name

APPEND Append to output log NO 指定yes标识输出追加到已经存在的日志文件

HELP Displays these messages NO 指定yes显示帮助信息

 

注意:可以同时更改数据库的dbid和db_name,也可以仅改变数据库的db_name、抑或仅更改数据库的dbid。语法分别如下:

改变dbid和db_name : nid target=sys/dhhzdhhz dbname=crm_test (也可以target=/)

仅改变db_name: nid target=sys/dhhzdhhz dbname=crm_test setname=yes (也可以target=/)

仅更改dbid: nid target=sys/dhhzdhhz (也可以target=/)

 

二 使用nid的注意事项

 

1 确保有能够对数据库进行完全恢复的备份。

2 确保执行更改dbid操作时数据库处于mounted状态且mounted之前数据库是经过shutdown immediate关闭的。

3 使用nid更改数据库的dbid后,数据库需要alter database open resetlogs启动,启动之后须对数据库进行一次全备份,因为之前的备份和归档已经不能再使用了。

4 使用nid更改数据库dbname后,需更改初始化参数文件中的DB_NAME参数并重建密码文件。

5 使用nid不能更改全局数据库名。

6 确保所有数据文件处于online状态且不需要恢复。

7 尽量确保oracle没有离线的数据文件和只读表空间,如果有使其正常化。

 

三 举两个例子

 

eg1:仅更改数据库dbid

 

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup mount;

ORACLE instance started.

 

Total System Global Area 1252663296 bytes

Fixed Size 2226072 bytes

Variable Size 922749032 bytes

Database Buffers 318767104 bytes

Redo Buffers 8921088 bytes

Database mounted.

SQL> exit

Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

[oracle@source ~]$ nid target=sys

 

DBNEWID: Release 11.2.0.2.0 - Production on Wed Dec 4 23:39:11 2013

 

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

 

Password:

Connected to database CRM (DBID=3599153036)

 

Connected to server version 11.2.0

 

Control Files in database:

/oracle/CRM/control03.ctl

 

Change database ID of database CRM? (Y/[N]) => y

 

Proceeding with operation

Changing database ID from 3599153036 to 3641774948

Control File /oracle/CRM/control03.ctl - modified

Datafile /oracle/CRM/system01.db - dbid changed

Datafile /oracle/CRM/sysaux01.db - dbid changed

Datafile /oracle/CRM/zx.db - dbid changed

Datafile /oracle/CRM/users01.db - dbid changed

Datafile /oracle/CRM/pos.db - dbid changed

Datafile /oracle/CRM/erp.db - dbid changed

Datafile /oracle/CRM/user01.db - dbid changed

Datafile /oracle/CRM/undotbs03.db - dbid changed

Datafile /oracle/CRM/crm.db - dbid changed

Datafile /oracle/CRM/jxc.db - dbid changed

Datafile /oracle/CRM/temp01.db - dbid changed

Control File /oracle/CRM/control03.ctl - dbid changed

Instance shut down

 

.

Succesfully changed database ID.

DBNEWID - Completed succesfully.

 

[oracle@source ~]$ sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.2.0 Production on Wed Dec 4 23:47:21 2013

 

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

 

Connected to an idle instance.

 

SQL> startup mount;

ORACLE instance started.

 

Total System Global Area 1252663296 bytes

Fixed Size 2226072 bytes

Variable Size 922749032 bytes

Database Buffers 318767104 bytes

Redo Buffers 8921088 bytes

Database mounted.

 

 

SQL> alter database open resetlogs;

 

Database altered.

 

SQL> select dbid,name from v$database;

 

DBID NAME

---------- ---------

3641774948 CRM

 

 

eg2 :仅更改数据库db_name

 

oracle@source ~]$ sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.2.0 Production on Thu Dec 5 00:11:03 2013

 

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

 

 

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

 

SQL> select open_mode from v$database;

 

OPEN_MODE

--------------------

READ WRITE

 

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup mount;

ORACLE instance started.

 

Total System Global Area 1252663296 bytes

Fixed Size 2226072 bytes

Variable Size 905971816 bytes

Database Buffers 335544320 bytes

Redo Buffers 8921088 bytes

Database mounted.

SQL> exit

Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

oracle@source ~]$ nid target=sys dbname=CRM_TEST setname=YES

 

DBNEWID: Release 11.2.0.2.0 - Production on Thu Dec 5 00:24:58 2013

 

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

 

Password:

Connected to database CRM (DBID=3641774948)

 

Connected to server version 11.2.0

 

Control Files in database:

/oracle/CRM/control03.ctl

 

Change database name of database CRM to CRM_TEST? (Y/[N]) => y

 

Proceeding with operation

Changing database name from CRM to CRM_TEST

Control File /oracle/CRM/control03.ctl - modified

Datafile /oracle/CRM/system01.db - wrote new name

Datafile /oracle/CRM/sysaux01.db - wrote new name

Datafile /oracle/CRM/zx.db - wrote new name

Datafile /oracle/CRM/users01.db - wrote new name

Datafile /oracle/CRM/pos.db - wrote new name

Datafile /oracle/CRM/erp.db - wrote new name

Datafile /oracle/CRM/user01.db - wrote new name

Datafile /oracle/CRM/undotbs03.db - wrote new name

Datafile /oracle/CRM/crm.db - wrote new name

Datafile /oracle/CRM/jxc.db - wrote new name

Datafile /oracle/CRM/temp01.db - wrote new name

Control File /oracle/CRM/control03.ctl - wrote new name

Instance shut down

 

Succesfully changed database name.

DBNEWID - Completed succesfully.

 

[oracle@source ~]$ sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.2.0 Production on Thu Dec 5 00:25:33 2013

 

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

 

Connected to an idle instance.

 

SQL> startup nomount;

ORACLE instance started.

 

Total System Global Area 1252663296 bytes

Fixed Size 2226072 bytes

Variable Size 905971816 bytes

Database Buffers 335544320 bytes

Redo Buffers 8921088 bytes

 

SQL> alter system set db_name=CRM_TEST scope=spfile;

 

System altered.

 

[oracle@source ~]$orapwd file="$ORACLE_HOME/dbs/orapw$ORACLE_SID" password=dhhzdhhz force=y

 

[oracle@source dbs]$ sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.2.0 Production on Thu Dec 5 00:34:40 2013

 

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

 

 

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

 

SQL> startup force open;

ORACLE instance started.

 

Total System Global Area 1252663296 bytes

Fixed Size 2226072 bytes

Variable Size 905971816 bytes

Database Buffers 335544320 bytes

Redo Buffers 8921088 bytes

Database mounted.

Database opened.

SQL> select dbid,name from v$database;

 

DBID NAME

---------- ---------

3641774948 CRM_TEST


    
 
 

您可能感兴趣的文章:

  • linux下安装oracle后使用命令行启动的方法 linux启动oracle
  • Oracle 10G for Linux常用命令
  • Linux 下 Oracle 命令学习笔记
  • linux as3 安装oracle10g ,web端能访问,终端用命令不能进入
  • 请问,在unix下,关闭oracle数据库和重起unix,的正确顺序和命令应该是怎样的!请教!
  • Linux下命令行启动oracle时报错的解决
  • Linux下启动Oracle database EM及isqlplus等命令
  • oracle for linux 下面的sqlca.sqlcode是一个什么命令去查?
  • 查看Oracle的执行计划一句话命令
  • Oracle中备份表的简单sql命令语句
  • Oracle 10g各个帐号的访问权限、登录路径、监控状态命令查询等等
  • 要装oracle,设置好环境变量。之后就啥命令也用不了了
  • Oracle如何直接运行OS命令(上)第1/2页
  • UNIX服务器上使用“kill"命令终止"Oracle”过程
  • oracle命令行删除与创建用户的代码
  • 剖析用UNIX的kill命令终止Oracle详细过程
  • 用UNIX的kill命令来终止所有的Oracle过程
  • 学习登录oracle数据库时常用的操作命令
  • ubuntu如何用apt-get命令安装Oracle的vituralBox呢?
  • oracle创建删除用户示例分享(oracle删除用户命令及授权)
  • 求助:oracle9在redhat9上安装好后,oracle管理工具会在菜单工具栏上显示吗?
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 有谁知道Oracle8的数据库管理工具是用什么开发工具编写的?
  • Oracle数据库开发工具 SQLTools
  • Oracle 11g 相关工具netca,dbca乱码之解决
  • Oracle数据库对比工具 DBT
  • Oracle开发工具 Oracle SQL Handler
  • Oracle数据库工具 WARTS
  • Oracle发布Oracle SQL Developer 1.2数据库开发工具 帮助用户简化开发工作
  • Oracle管理工具 phpOraAdmin
  • 通过win2000在linux上安装oracle,需要一个什么工具?在哪有下?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle9i 9.0.1的JDBC Drivers 可以给Oracle 8.0.5使用马?
  • Suse linux使用oracle问题
  • 请问:在使用oracle数据库作开发时,是使用pro*c作开发好些,还是使用库函数如oci等好一些啊?或者它们有什么区别或者优缺点啊?
  • jbuilder中使用oracle的问题
  • 求redhat linux 9.0下可以使用的oracle 10g或9i,还有redhat linux 9.0下可以使用的eclipse下载地址
  • Oracle事务!使用游标提交过程
  • 在Jbuilder7下,使用DbPilot.exe连接oracle,报错!请教高手!
  • AIX 64位系统上如何使用32位OCI oracle driver
  • Oracle中SQL语句连接字符串的符号使用介绍
  • 使用X manager连接oracle数据库的步骤
  • C++使用OCCI连Oracle10g的错误
  • Linux下Oracle的sqlplus使用光标上下左右方法
  • Oracle 数据 使用游标
  • oracle使用sql脚本生成csv文件案例学习
  • ORACLE 修改表结构 之ALTER CONSTAINTS的使用
  • Linux中Oracle使用相关知识集锦
  • Oracle数据库开发工具 SQLTools iis7站长之家
  • Oracle 触发器的使用小结
  • Oracle SQL使用时注意自己的输入
  • Oracle Max函数使用中出现的问题
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle EBS R12 支持 Oracle Database 11g
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • Oracle 10g和Oracle 11g网格技术介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,