热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

oracle工具之nid命令的使用

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

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

当我们手动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


Database ID for database CRM changed to 3641774948.

All previous backups and archived redo logs for this database are unusable.

Database has been shutdown, open database with RESETLOGS option.

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


Database name changed to CRM_TEST.

Modify parameter file and generate a new password file before restarting.

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


本文出自 “myblog” 博客,请务必保留此出处


推荐阅读
  • 本文详细介绍了在ASP.NET中获取插入记录的ID的几种方法,包括使用SCOPE_IDENTITY()和IDENT_CURRENT()函数,以及通过ExecuteReader方法执行SQL语句获取ID的步骤。同时,还提供了使用这些方法的示例代码和注意事项。对于需要获取表中最后一个插入操作所产生的ID或马上使用刚插入的新记录ID的开发者来说,本文提供了一些有用的技巧和建议。 ... [详细]
  • ubuntu用sqoop将数据从hive导入mysql时,命令: ... [详细]
  • Postgresql备份和恢复的方法及命令行操作步骤
    本文介绍了使用Postgresql进行备份和恢复的方法及命令行操作步骤。通过使用pg_dump命令进行备份,pg_restore命令进行恢复,并设置-h localhost选项,可以完成数据的备份和恢复操作。此外,本文还提供了参考链接以获取更多详细信息。 ... [详细]
  • REVERT权限切换的操作步骤和注意事项
    本文介绍了在SQL Server中进行REVERT权限切换的操作步骤和注意事项。首先登录到SQL Server,其中包括一个具有很小权限的普通用户和一个系统管理员角色中的成员。然后通过添加Windows登录到SQL Server,并将其添加到AdventureWorks数据库中的用户列表中。最后通过REVERT命令切换权限。在操作过程中需要注意的是,确保登录名和数据库名的正确性,并遵循安全措施,以防止权限泄露和数据损坏。 ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • 本文介绍了一些Java开发项目管理工具及其配置教程,包括团队协同工具worktil,版本管理工具GitLab,自动化构建工具Jenkins,项目管理工具Maven和Maven私服Nexus,以及Mybatis的安装和代码自动生成工具。提供了相关链接供读者参考。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了StartingzookeeperFAILEDTOSTART相关的知识,希望对你有一定的参考价值。下载路径:https://ar ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • SAP羞辱国产软件商:技术停在10年前
    SAP中国研究院总裁芮祥麟表示,国产软件厂商过于热衷概念炒作,技术水平停留在10年前的客户端架构水平。他认为,国内厂商推出基于SOA的产品或转型SAAS模式是不可能的,研发新架构需要时间。当前最热门的概念是云计算,芮祥麟呼吁国产厂商应该潜心研发底层架构。 ... [详细]
  • IT方面的论坛太多了,有综合,有专业,有行业,在各个论坛里混了几年,体会颇深,以前是论坛哪里人多 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 本文讲述了孙悟空写给白骨精的信件引发的思考和反省。孙悟空在信中对自己的行为进行了反思,认识到自己胡闹的行为并没有给他带来实际的收获。他也揭示了西天取经的真相,认为这是玉皇、菩萨设下的一场陷阱。他还提到了师傅的虚伪和对自己的实心话,以及自己作为师傅准备提拔的对象而被派下来锻炼的经历。他认为路上的九九八十一难也都是菩萨算计好的,唐僧并没有真正的危险。最后,他提到了观音菩萨在关键时刻的指导。这封信件引发了孙悟空对自己行为的思考和反省,对西天取经的目的和自己的角色有了更深入的认识。 ... [详细]
  • Windows2003 IIS上设置301定向,实现不带www域名跳转带www域名的方法
    打开IIS,建一个网站,主机头用不带www的域名,随便指向一个目录。然后在这个网站上点右键,属性--主目录--重定向到URL如图ÿ ... [详细]
  • 本文介绍了在Ubuntu下制作deb安装包及离线安装包的方法,通过备份/var/cache/apt/archives文件夹中的安装包,并建立包列表及依赖信息文件,添加本地源,更新源列表,可以在没有网络的情况下更新系统。同时提供了命令示例和资源下载链接。 ... [详细]
  • 本文讨论了读书的目的以及学习算法的重要性,并介绍了两个算法:除法速算和约瑟夫环的数学算法。同时,通过具体的例子和推理,解释了为什么x=x+k序列中的第一个人的位置为k,以及序列2和序列3的关系。通过学习算法,可以提高思维能力和解决问题的能力。 ... [详细]
author-avatar
高粱_
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有