在Oracle12.1中使用NID 修改数据库的DBID和DBName【实战】

在异机恢复完成后,使用NID 修改数据库的DBID和DBName,重新启动数据库。

主要步骤如下:

1、 开启数据库:

 SQL> startup
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
ORACLE instance started.
Total System Global Area 4.2950E+10 bytes
Fixed Size                  4508576 bytes
Variable Size            2.6172E+10 bytes
Database Buffers         1.5569E+10 bytes
Redo Buffers             1203449856 bytes
Database mounted.
Database opened.

2、创建pfile,用于对DBName进行参数修改

SQL> create pfile from spfile;

3、查询当前的DBID和DBNAME

select name,dbid from v$database;

4、关闭数据库

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> exit

5、备份数据文件,尤其是控制文件

cp proddata  data  (简单进行冷备份)

6、将数据库启动到mount状态

[[email protected] dbs]$ export ORACLE_SID=PROD
[[email protected] dbs]$ echo $ORACLE_SID
PROD
[[email protected] dbs]$sqlplus / as sysdba
SQL>startup mount;

7、查看nid命令简单帮助文档

[[email protected] dbs]$ nid

DBNEWID: Release 12.1.0.2.0 - Production on Wed Mar 14 22:40:19 2018
Copyright (c) 1982, 2014, Oracle and/or its affiliates.  All rights reserved.
Keyword     Description                    (Default)
----------------------------------------------------
TARGET      Username/Password              (NONE)
DBNAME      New database name              (NONE)
LOGFILE     Output Log                     (NONE)
REVERT      Revert failed change           NO
SETNAME     Set a new database name only   NO
APPEND      Append to output log           NO
HELP        Displays these messages        NO

8、使用nid修改dbid和DBName

[[email protected] dbs]$ nid target=sys/oracle dbname=PBF
DBNEWID: Release 12.1.0.2.0 - Production on Wed Mar 14 22:41:41 2018
Copyright (c) 1982, 2014, Oracle and/or its affiliates.  All rights reserved.
Connected to database PROD (DBID=357998902)
Connected to server version 12.1.0
Control Files in database:
    /mnt/data/PBF/db/proddata/cntrl01.dbf
    /mnt/data/PBF/db/proddata/cntrl02.dbf
    /mnt/data/PBF/db/proddata/cntrl03.dbf
Change database ID and database name PROD to PBF? (Y/[N]) => y
Proceeding with operation
Changing database ID from 357998902 to 2995320870
Changing database name from PROD to PBF
    Control File /mnt/data/PBF/db/proddata/cntrl01.dbf - modified
    Control File /mnt/data/PBF/db/proddata/cntrl02.dbf - modified
    Control File /mnt/data/PBF/db/proddata/cntrl03.dbf - modified
    Datafile /mnt/data/PBF/db/proddata/system01.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/system02.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/system03.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/system04.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/system05.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/ctxd01.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/owad01.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_queue02.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/odm.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/olap.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/sysaux01.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/apps_ts_tools01.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/system12.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_txn_data04.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_txn_ind06.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_ref03.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_int02.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/sysaux02.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/system13.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/system14.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/system15.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/system16.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/system17.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/system18.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/system19.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/system20.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/system21.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/system22.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/system23.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/system24.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/system25.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_ref04.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_ref05.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_ref06.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/undo02.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/cux_data01.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/cux_ind01.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/undo03.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/undo04.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/undo05.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_media02.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_media03.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_media04.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/sysaux03.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_media05.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_txn_ind07.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_txn_ind08.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_txn_data05.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_txn_data06.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_queue03.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/ctxd0 - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_media06.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_media07.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/sysaux04.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_media08.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_media09.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/sysaux05.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_txn_ind09.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_txn_data07.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_media10.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_media11.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_media12.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_media13.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_media14.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_media15.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_media16.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_media17.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_media18.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_queue04.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_media19.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_media20.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_media21.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/system10.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/system06.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/portal01.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/system07.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/system09.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/system08.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/system11.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/undo01.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_txn_data01.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_txn_ind01.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_ref01.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_int01.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_summ01.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_nolog01.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_archive01.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_queue01.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_media01.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_txn_data02.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_txn_data03.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_txn_ind02.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_txn_ind03.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_txn_ind04.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_txn_ind05.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/a_ref02.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/temp11.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/temp21.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/temp12.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/temp22.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/temp32.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/temp42.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/temp13.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/temp33.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/temp43.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/temp31.db - dbid changed, wrote new name
    Datafile /mnt/data/PBF/db/proddata/temp41.db - dbid changed, wrote new name
    Control File /mnt/data/PBF/db/proddata/cntrl01.dbf - dbid changed, wrote new name
    Control File /mnt/data/PBF/db/proddata/cntrl02.dbf - dbid changed, wrote new name
    Control File /mnt/data/PBF/db/proddata/cntrl03.dbf - dbid changed, wrote new name
    Instance shut down
Database name changed to PBF.
Modify parameter file and generate a new password file before restarting.
Database ID for database PBF changed to 2995320870.
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.
[[email protected] dbs]$ exit
登出

9、修改参数文件

[[email protected] ~]$ cd $ORACLE_HOME/dbs
[[email protected] dbs]$ ls
hc_PROD.dat  initPROD.ora  lkPROD  snapcf_PROD.f  spfilePROD.ora
[[email protected] dbs]$ vi initPROD.ora 
*.compatible='12.1.0'
...
*.db_name='PBF'
...
*._sort_elimination_cost_ratio=5
*._system_trig_enabled=TRUE
*._TRACE_FILES_PUBLIC=FALSE
*.aq_tm_processes=1
*.AUDIT_SYS_OPERATIONS=TRUE
*.compatible='12.1.0'
*.control_files='/mnt/data/PBF/db/proddata/cntrl01.dbf','/mnt/data/PBF/db/proddata/cntrl02.dbf','/mnt/data/PBF/db/proddata/cntrl03.dbf'#Restore Controlfile
*.cursor_sharing='EXACT'# Required 11i settting
*.db_block_checking='FALSE'
*.db_block_checksum='TRUE'
*.db_block_size=8192
*.db_files=512# Max. no. of database files
*.db_name='PBF'
*.db_recovery_file_dest_size=214748364800
*.db_recovery_file_dest='/mnt/data/PBF/db/db_recovery_dest'
*.diagnostic_dest='/mnt/data/PBF/db/12.1.0/admin/PBF_erptest'
*.dml_locks=10000
*.event='10995 trace name context forever, level 16'
*.job_queue_processes=10
*.local_listener='PBF_LOCAL'
*.log_archive_dest_1='LOCATION=/mnt/data/PBF/db/archive'
"initPROD.ora" 76L, 2920C 已写入

10、创建新的密码文件

orapwd file=/mnt/data/PBF/db/12.1.0/dbs/initPBF password=oracle format=12

11、使用resetlogs 选项打开数据库

[[email protected] dbs]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Wed Mar 14 22:46:59 2018
Copyright (c) 1982, 2014, Oracle.  All rights reserved.
Connected to an idle instance.
SQL> startup nomount;
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
ORACLE instance started.
Total System Global Area 4.2950E+10 bytes
Fixed Size                  4508576 bytes
Variable Size            1.1274E+10 bytes
Database Buffers         3.0467E+10 bytes
Redo Buffers             1203449856 bytes
SQL> alter database mount;
Database altered.
SQL> alter database open resetlogs;
SQL> select name,dbid from v$database;
NAME            DBID
--------- ----------
PBF       2995320870
Database altered.

sqlplus / as sysdba
startup

12、创建新的spfile文件

create spfile from pfile;

原文地址:http://blog.51cto.com/peenboo/2087291

时间: 2024-10-20 14:17:54

在Oracle12.1中使用NID 修改数据库的DBID和DBName【实战】的相关文章

在SQL中修改数据库名称

假设SQL Server 2008中有个数据库test,现在要将其改名为zhy步骤:(1) 分离数据库:打开management studio,找到test数据库-->右键-->任务-->分离(2) 改名:然后到数据库物理路径(例如C:/Program Files/Microsoft SQL Server/MSSQL10.MSSQLSERVER/MSSQL/DATA)下找到test.mdf和test_log.ldf,分别改名为zhy.mdf.zhy_log.ldf(3) 附加数据库:打开

ADO.NET之6-使用Command修改数据库中的数据---ShinePans

源代码: using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SQLTest { class Program { static void Main(string[] args) { ///连接数据库 st

MySQL数据库批量修改数据库中的表

问题:今天工作遇到这样一个问题,需要把数据库中的所有表,每个表加入四个字段,如果表少,我们可以手动去添加或者修改,如果是成千上百万张表的话,我们如何去修改,现记录下来. 解决方法: 找到数据库的建模资料,就是PDM文件.发个截图 下面我们就要用一个工具了,就是powerdesign,我们将用这个工具批量修改数据库表中的字段.需要用vb脚本. 我们打开powerdesign,点开脚本运行栏,方法,工具--如图 点击后的运行脚本框如下写好的脚本放在上面运行即可. vb语法 Option Explic

MySql数据库在表中添加新字段,设置主键,设置外键,字段移动位置,以及修改数据库后如何进行部署和维护的总结

1,为当前已有的表添加新的字段 alter table student add studentName varchar(20) not null; 2,为当前已有的表中的字段设置为主键自增 alter table student add constraint PK_studentId primaryKey(studentId); 3,为当前已有的表中的字段设置为外键 alter table student add constraint FK_teacherId_studentInfo forei

MySql 用户管理 中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束):

MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 登录MYSQL: @>mysql -u root -p @>密码 创建用户: mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("1234")); 如果报错解决方法:https://i.c

MySql中添加用户,新建数据库,用户授权,删除用户,修改密码

MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 登录MYSQL: @>mysql -u root -p @>密码 创建用户: mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("1234")); 这样就创建了一个名为:test 密码为:

修改数据库名(db_name)及实例名(Instance_name or Service_name)

操作系统版本:rhel6.5 (Red Hat Enterprise Linux Server release 6.5 (Santiago)) 数据库版本:12.1.0.2.0 实验目的: 假设原来的数据库名为scp,要改成etdb,原实例名(service_name,instance_name)scp,要改成etdb. 当前数据库的db_name和instance_name: SQL> select dbid,name from v$database; DBID NAME ----------

oracle nid修改dbname

修改name的目的只是为了日后管理清晰点,不重复.我比较懒.记性又差,所以就整理记下1.检查当前nameSQL> show parameter nameNAME TYPE VALUE------------------------------------ ----------- ------------------------------db_file_name_convert string db_name string test141db_unique_name string test141g

gitlab连接并批量修改数据库账号邮箱地址(上)

最近,由于公司的域名发生变化,导致需要批量修改gitlab的账号.这个工作对于运维人员来说,工作量还是相对较大的.因此,尝试通过脚本修改数据库的方式进行批量修改. 整个过程大致分为几个阶段: 1)搞清楚gitlab的数据库结构 2)使用Python对相关的字段进行修改,若发现以@xxx结尾的域名,自动替换为@aaa的域名 注:本文中所采用的gitlab安装方式为官方默认的yum安装 1)gitlab的数据库采用的是postgresql,连接库时需要修改pg_hba.conf文件的相关配置 vim