欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle 修改数据库名字详细解释

程序员文章站 2024-02-08 11:04:58
...

Oracle 修改数据库名字详细解释,一步一步教你改oracle数据库的数据库名。 这两天一朋友问如何更改数据库名,于是做个测试,简单

Oracle 修改数据库名字详细解释,一步一步教你改oracle数据库的数据库名。

这两天一朋友问如何更改数据库名,于是做个测试,简单记录下,以便说明问题。
如何修改数据库名(db_name)及实例名(Instance_name or Service_name)

Nid是Oracle从9iR2开始提供的工具,可以用来更改数据库名称,而无需通过之前重建控制文件等繁琐方式。
nid是自带的工具,在oracle_home/bin目录中.以下方法假设登陆到数据库本机做。
目的:在本例中,假设原来的数据库名为orcl,要改成dborcl,原实例名(service_name,instance_name)orcl,要改成dborcl.
步骤概述:

1.检查当前的参数情况
2.shutdown数据库,然后mount数据库
3.运行nid命令
4.更改参数文件pfile.ora(db_name,instance_name)
5.检测更改情况
6.如果是windows平台,要修改服务
7.修改监听服务

C:\Documents and Settings\Administrator>sqlplus "/as sysdba"
SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 10月 22 11:56:33 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.

连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
1. 查看更改前的相应名称
SQL> show parameter name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert string
db_name string orcl
db_unique_name string orcl
global_names boolean FALSE
instance_name string orcl
lock_name_space string
log_file_name_convert string
service_names string orcl
2. --先shutdown数据库
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
3. --nid需要在mount状态下才能做。因为要更改控制文件的信息
SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 180358020 bytes
Database Buffers 423624704 bytes
Redo Buffers 7135232 bytes
数据库装载完毕。

nid是操作系统的命令,所以要用host
SQL> host nid -help
DBNEWID: Release 10.2.0.1.0 - Production on Fri Oct 23 13:40:54 2009
Copyright (c) 1982, 2005, Oracle. 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
以上是nid命令的语法
4。 --运行nid命令
SQL> host nid target=sys/aibo dbname=dborcl
DBNEWID: Release 10.2.0.1.0 - Production on 星期四 10月 22 11:58:27 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
已连接数据库 ORCL (DBID=1224293825)
已连接服务器版本 10.2.0
数据库中的控制文件数:
D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL01.CTL
D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL02.CTL
D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL03.CTL
是否将数据库 ID 和数据库名 ORCL 更改为 DBORCL? (Y/[N]) => y
操作继续进行
将数据库 ID 从 1224293825 更改为 3277448932
将数据库名从 ORCL 更改为 DBORCL
控制文件 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL01.CTL - 已修改
控制文件 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL02.CTL - 已修改
控制文件 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL03.CTL - 已修改
数据文件 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF - dbid 已更改,
已写入新名称
数据文件 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF - dbid 已更改,
已写入新名称
数据文件 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF - dbid 已更改,
已写入新名称
数据文件 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF - dbid 已更改, 已
写入新名称
数据文件 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF - dbid 已更改,
已写入新名称
数据文件 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP01.DBF - dbid 已更改, 已
写入新名称
控制文件 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL01.CTL - dbid 已更改,
已写入新名称
控制文件 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL02.CTL - dbid 已更改,
已写入新名称
控制文件 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL03.CTL - dbid 已更改,
已写入新名称
实例关闭
数据库名已更改为 DBORCL。
修改参数文件并在重新启动前生成新的口令文件。
数据库 DBORCL 的数据库 ID 已更改为 3277448932。
此数据库的所有以前的备份和归档重做日志均不可用。
数据库无法识别恢复区中以前的备份和归档日志。
数据库已关闭, 用 RESETLOGS 选项打开数据库。
已成功更改数据库名和 ID。
DBNEWID - 已成功完成。
5. ---shutdown数据库
SQL> shutdown immediate
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist

SQL> startup nomount
ORACLE 例程已经启动。
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 180358020 bytes
Database Buffers 423624704 bytes
Redo Buffers 7135232 bytes

SQL> create pfile='D:\oracle\product\10.2.0\pfile20091022.ora' from spfile;
文件已创建。
SQL> shutdown immediate;
ORA-01507: ??????

Oracle 修改数据库名字详细解释