Oracle 怎樣修改DB_NAME

DBNEWID 是一个数据库实用程序,用于更改 Oracle 数据库的 DBNAME 和 DBID。可以更改 DBID 或 DBNAME 或两者。

DBNAME 是在创建数据库时指定的数据库名称,DBID 是创建数据库时分配给数据库的唯一编号。

以下步骤演示如何使用 DBNEWID 实用程序更改 Oracle 数据库的 DBNAME 和 DBID。

重要提示:开始此过程之前,请确保拥有数据库的完整备份。

Step 1:开始之前,找出数据库当前的 DBNAME 和 DBID:

bash 复制代码
SQL> SELECT DBID,NAME from V$DATABASE;
      DBID NAME
---------- ---------
2426088413 MYORDB

Step 2:第一步是启动实例并挂载数据库,但不打开数据库。

bash 复制代码
sqlplus / as sysdba

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

SQL> startup mount
ORACLE instance started.

Total System Global Area 1071333376 bytes
Fixed Size                  1375792 bytes
Variable Size             553648592 bytes
Database Buffers          511705088 bytes
Redo Buffers                4603904 bytes
Database mounted.

SQL> exit
Disconnected from Oracle Database 11g Release 11.2.0.1.0 - Production

Step 3. 通过指定连接字符串和数据库的新名称来运行 DBNEWID 实用程序。 连接字符串中指定的用户应具有 SYSDBA 权限。

bash 复制代码
nid target=sys/MYPASS@MYORDB dbname=MYNEWDB setname=YES
DBNEWID: Release 11.2.0.1.0 - Production on Tue May 30 12:50:01 2015
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

Connected to database MYORDB (DBID=2436089413)

Connected to server version 11.2.0

Control Files in database:
    C:ORADATAMYORDBCONTROL01.CTL
    C:ORADATAMYORDBCONTROL02.CTL
  
Change database name of database MYORDB to MYNEWDB? (Y/[N]) => Y

Proceeding with operation
Changing database name from MYORDB to MYNEWDB
    Control File C:ORADATAMYORDBCONTROL01.CTL - modified
    Datafile C:ORADATAMYORDBSYSTEM01.DB - wrote new name
    Datafile C:ORADATAMYORDBSYSAUX01.DB - wrote new name
    Datafile C:ORADATAMYORDBUNDOTBS01.DB - wrote new name
    Datafile C:ORADATAMYORDBUSERS01.DB - wrote new name
    Datafile C:ORADATAMYORDBMYORDBDAT01.DB - wrote new name
    Datafile C:ORADATAMYORDBMYORDBIDX01.DB - wrote new name
    Datafile C:ORADATAMYORDBTEMP01.DB - wrote new name
    Control File C:ORADATAMYORDBCONTROL01.CTL - wrote new name
    Control File C:ORADATAMYORDBCONTROL02.CTL - wrote new name

    Instance shut down

Database name changed to MYNEWDB.
Modify parameter file and generate a new password file before restarting.
Succesfully changed database name.
DBNEWID - Completed succesfully.

Step 4: Shut down the database.

bash 复制代码
SQL> shutdown immediate

Step 5:将初始化参数文件中的DB_NAME初始化参数设置为新的数据库名称。

bash 复制代码
sqlplus / as sysdba

SQL> show parameter db_name
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_name                              string      MYORDB


SQL> alter system set db_name=MYNEWDB scope=spfile;
System altered.

Step 6: 创建一个新的密码文件。

bash 复制代码
orapwd file=orapwMYNEWDB password=MYPASS

Step 7: 启动DB

bash 复制代码
SQL> startup mount

Step 8:验证名称更改

bash 复制代码
SELECT DBID,NAME from V$DATABASE;
      DBID NAME
---------- ---------
2426088413 MYNEWDB
相关推荐
金仓拾光集2 分钟前
告别“凭感觉”告警,金仓数据库替换MongoDB让运维更精准
运维·数据库·mongodb·kingbase·数据库平替用金仓·金仓数据库·kingbasees·
FinTech老王8 分钟前
金仓替换MongoDB:金融交易数据一致性新解
数据库·mongodb·1024程序员节
g323086315 分钟前
Milvus知识
数据库·milvus
测绘小沫-北京云升智维18 分钟前
CG-5重力仪外壳漏电怎么办?
数据库·经验分享
不爱笑的良田1 小时前
从零开始的云原生之旅(五):用 StatefulSet 部署 Redis
数据库·redis·云原生
一个天蝎座 白勺 程序猿2 小时前
Apache IoTDB(7):设备模板管理——工业物联网元数据标准化的破局之道
数据库·apache·时序数据库·iotdb
sky-stars2 小时前
.NET 任务 Task、Task.Run()、 Task.WhenAll()、Task.WhenAny()
数据库·php·.net
技术砖家--Felix2 小时前
Spring Boot数据访问篇:整合MyBatis操作数据库
数据库·spring boot·mybatis
银河技术2 小时前
Redis 限流最佳实践:令牌桶与滑动窗口全流程实现
数据库·redis·缓存
小白考证进阶中2 小时前
如何拿到Oracle OCP(Oracle 19c)?
数据库·oracle·dba·开闭原则·ocp认证·oracle认证·oracleocp