oracle数据库更改名称的方法
如何修改数据库名称(db_name)和实例名称(instance_name或service_name)NID是一个工具,提供了从在9iR2 Oracle,可以更改数据库名称不需要繁琐的方法重建控制文件。
该是一个独立的工具在oracle_home / bin目录。下面的方法假设登录到数据库完成。
目的:在这种情况下,假定原来的名字是Oracle数据库,必须改变dborcl,原始实例名称(service_name,instance_name)Oracle,必须改变dborcl。
步骤总结:
1。检查当前参数情况
的2.shutdown数据库,然后安装数据库
三.运行该命令
4。更改参数文件pfile.ora(db_name,instance_name)
5。检测的变化
6。如果是Windows平台,可以修改服务
7。修改侦听器服务
C:文件和设置管理员 / > SQLPlus SYSDBA
SQL * Plus:释放10.2.0.1.0生产在10月22日星期四11:56:33 2009
版权(c)1982, 2005,甲骨文。版权所有。
连接:
Oracle数据库10g企业版发布10.2.0.1.0生产
使用分区、OLAP和数据挖掘选项
从$ $版本中选择*;
旗帜
----------------------------------------------------------------
Oracle数据库10g企业版发布10.2.0.1.0 -产品
PL / SQL版本10.2.0.1.0生产
核心10.2.0.1.0生产
TNS的32位Windows版本10.2.0.1.0生产:
nlsrtl版10.2.0.1.0生产
1。更改前查看相应的名称
显示参数名
名称类型值
-----------------------------------------------------------------------------
db_file_name_convert字符串
db_name字符串orcl
db_unique_name字符串orcl
global_names布尔false
instance_name字符串orcl
lock_name_space字符串
log_file_name_convert字符串
service_names字符串orcl
2。-第一关闭数据库
立即关闭
数据库已关闭。
数据库已卸载。
Oracle例程已关闭。
三.要在安装状态下进行NID的需要。因为你想改变控制文件的信息
启动挂载
Oracle例程已经启动。
系统全局区域612368384字节
固定大小1250428字节
可变大小180358020字节
数据库缓冲423624704字节
重做缓冲区7135232字节
加载数据库。
NID是操作系统的命令,所以使用主机
SQL >主机NID -帮助
dbnewid:释放10.2.0.1.0 - 10月23日2009生产13:40:54
版权(c)1982, 2005,甲骨文。版权所有。
关键字描述(默认)
----------------------------------------------------
目标用户名/密码(无)
在新的数据库名称(无)
日志文件输出日志(无)
回复失败失败更改否
集名称设定一个新的数据库名称只有不
追加到输出日志no
帮助显示这些消息
以上是对该命令的语法
4。运行nid指挥
SQL >主机NID目标=系统 /爱博北京dborcl
dbnewid:释放10.2.0.1.0生产在10月22日星期四11:58:27 2009
版权(c)1982, 2005,甲骨文。版权所有。
已经连接到数据库Oracle(DBID = 1224293825)
连接的服务器版本10.2.0
数据库中控制文件的数量:
D:甲骨文产品 10.2.0 control01.ctl oradata orcl
D:甲骨文产品 10.2.0 control02.ctl oradata orcl
D:甲骨文产品 10.2.0 control03.ctl oradata orcl
是否改变数据库和数据库的名字是dborcl ID ORCL(Y / { })= > Y
操作上继续
将数据库ID从1224293825更改为3277448932
从Oracle的数据库的名称改为dborcl
控制文件: 10.2.0 Oracle产品 oradata公司control01.ctl修饰
控制文件: 10.2.0 Oracle产品 oradata公司control02.ctl修饰
控制文件: 10.2.0 Oracle产品 oradata公司control03.ctl修饰
数据文件: 10.2.0 Oracle产品 oradata公司system01.dbf - DBID已经改变,
已经写了一个新名字
数据文件: 10.2.0 Oracle产品 oradata公司undotbs01.dbf - DBID已经改变,
已经写了一个新名字
数据文件: 10.2.0 Oracle产品 oradata公司sysaux01.dbf - DBID已经改变,
已经写了一个新名字
数据文件: 10.2.0 Oracle产品 oradata公司users01.dbf - DBID已改变了,改变了
写一个新名字
数据文件: 10.2.0 Oracle产品 oradata公司example01.dbf - DBID已经改变,
已经写了一个新名字
数据文件: 10.2.0 Oracle产品 oradata公司temp01.dbf - DBID已改变了,改变了
写一个新名字
控制文件: 10.2.0 Oracle产品 oradata公司control01.ctl - DBID已经改变,
已经写了一个新名字
控制文件: 10.2.0 Oracle产品 oradata公司control02.ctl - DBID已经改变,
已经写了一个新名字
控制文件: 10.2.0 Oracle产品 oradata公司control03.ctl - DBID已经改变,
已经写了一个新名字
实例将关闭
数据库的名称已改为dborcl。
重新启动参数文件并生成新的密码文件。
数据库的dborcl数据库ID已改为3277448932。
此数据库的所有备份和归档重做日志都不可用。
数据库无法在恢复区中识别以前的备份和归档日志。
数据库关闭,并打开数据库的RESETLOGS选项。
数据库名称和ID已成功更改。
dbnewid -成功完成。
5。---关闭数据库
立即关闭
ora-01034:Oracle不可用
ora-27101:共享内存领域不存在
警告:安装启动
Oracle例程已经启动。
系统全局区域612368384字节
固定大小1250428字节
可变大小180358020字节
数据库缓冲423624704字节
重做缓冲区7135232字节
SQL >创建pfile =想: 10.2.0 Oracle产品 pfile20091022 ora'from数据库;
文件已创建。
立即关闭;
ora-01507:
6。-修改初始化参数文件,数据库文件(初始化。奥拉/ SPFILE)
###########################################
instance_name = eyglen
# instance_name = eyglev
###########################################
db_domain =
db_name = eyglen
# db_name = eyglev
###########################################
7。-用修改的参数启动数据库
SQL >启动pfile =想: 10.2.0 Oracle产品 pfile20091022口。
Oracle例程已经启动。
系统全局区域612368384字节
固定大小1250428字节
可变大小180358020字节
数据库缓冲423624704字节
重做缓冲区7135232字节
加载数据库。
ora-01589:已使用RESETLOGS选项打开数据库或noresetlogs
SQL >创建pfile =会令:甲骨文产品 10.2.0 pfile20091022口。
2;
文件已创建。
立即关闭
的ora-01109:数据库未打开
数据库已卸载。
Oracle例程已关闭。
已启动
Oracle例程已经启动。
系统全局区域612368384字节
固定大小1250428字节
可变大小180358020字节
数据库缓冲423624704字节
重做缓冲区7135232字节
加载数据库。
ora-01589:已使用RESETLOGS选项打开数据库或noresetlogs
SQL数据库的noresetlogs >
2;
打开数据库noresetlogs
*
第一行错了:
ora-01588:必须使用RESETLOGS选项打开数据库
SQL > AlterDatabaseOpenResetlogs
2;
数据库已更改。
8。-现在数据库已经启动,检查它,看看它是否被修改了。
SQL >选择open_mode V $数据库;
open_mode
----------
读写
显示参数名
名称类型值
-----------------------------------------------------------------------------
db_file_name_convert字符串
db_name字符串dborcl
db_unique_name字符串dborcl
global_names布尔false
instance_name字符串dborcl
lock_name_space字符串
log_file_name_convert字符串
service_names字符串dborcl
SQL >
SQL >选择instance_name V为实例;
instance_name
----
Oracle
9。发现v实例没有变化,因为在Windows平台上继续执行以下操作。
如果结果是Windows平台,V $实例instanc_name没有变化,继续操作如下
passwd文件通常放在oracle_home /数据库目录下,文件名是PWDsid.ora,和SID的实例名称(service_name)。
如果当前数据库的名称和service_name是Oracle,passwd文件是PWDorcl.ora
C:文件和设置管理员> orapwd文件= D:甲骨文产品 10.2.0 db_
1 数据库 pwddborcl.ora密码=爱宝条目= 5
重要的是要注意,当数据库名称已改为dborcl,instance_name仍然是Oracle,所以passwd文件必须一样,否则,会有一个错误。
10。删除以前的实例orcl
C:文件和设置管理员> ORADIM删除SID orcl
实例已被删除。
11。创建一个新的实例名称dborcl
C:文件和设置管理员> ORADIM -新-希德dborcl - intpwd Aibo -圣
Artmode - pfile D:甲骨文产品 10.2.0 pfile20091022.ora
opw-00005:同名文件,请删除或重命名
实例已创建。
十二
C:文件和设置管理员>设置oracle_sid = dborcl
C:文件和设置管理员 / > SQLPlus SYSDBA
SQL * Plus:释放10.2.0.1.0生产在10月22日星期四13:41:12 2009
版权(c)1982, 2005,甲骨文。版权所有。
连接:
Oracle数据库10g企业版发布10.2.0.1.0生产
使用分区、OLAP和数据挖掘选项
SQL >退出
从Oracle数据库10g企业版发布10.2.0.1.0生产
使用分区、OLAP和数据挖掘选项断开连接
13。检查服务名称
C:文件和设置管理员>程序lsnrctl重装
32位Windows程序lsnrctl:版本10.2.0.1.0 - 22-10月生产2009 13:4
3:13
版权(c)1991, 2005,甲骨文。版权所有。
连接(=(地址=(协议为TCP)(主持人= 192.168.2.56)(端口为1521))))
指挥的成功
C:文件和设置管理员 / > SQLPlus SYSDBA
SQL * Plus:释放10.2.0.1.0生产在10月22日星期四13:43:21 2009
版权(c)1982, 2005,甲骨文。版权所有。
连接:
Oracle数据库10g企业版发布10.2.0.1.0生产
使用分区、OLAP和数据挖掘选项
SQL >选择open_mode V $数据库;
open_mode
----------
读写
SQL >选择instance_name V为实例;
instance_name
----
dborcl
显示参数名;
名称类型值
-----------------------------------------------------------------------------
db_file_name_convert字符串
db_name字符串dborcl
db_unique_name字符串dborcl
global_names布尔false
instance_name字符串dborcl
lock_name_space字符串
log_file_name_convert字符串
service_names字符串dborcl
SQL >退出
从Oracle数据库10g企业版发布10.2.0.1.0生产
使用分区、OLAP和数据挖掘选项断开连接
检查服务是否已更改
C:文件和设置管理员> tnsping dborcl
TNS坪为32位Windows效用:版本10.2.0.1.0 22-10月生产—
2009 13:50:00
版权(c)1997, 2005,甲骨文。版权所有。
已使用的参数文件:
D:甲骨文产品 10.2.0 db_1 网络管理员 sqlnet.ora
的ezconnect适配器已被用来解析别名
试图联系(=(connect_data =(service_name = dborcl。gdgg。局部)
)))(地址=(协议为TCP)(主持人= 202.106.195.30)(端口为1521))))
^ C
测试不通过,说明dborcl配置是有问题的
修改tnsnames.ora文件中添加下面:
*** *** *** *** *** ***
= dborcl
(描述=
(地址=(协议为TCP)(主持人= 192.168.2.56)(端口为1521))
(connect_data = =
(服务器=专用的)
(service_name = dborcl)
)
)
*** *** *** *** *** ***
-重新启动和监控
C:文件和设置管理员>程序lsnrctl重装
32位Windows程序lsnrctl:版本10.2.0.1.0 - 22-10月生产2009 13:5
0:46
版权(c)1991, 2005,甲骨文。版权所有。
连接(=(地址=(协议为TCP)(主持人= 192.168.2.56)(端口为1521))))
指挥的成功
-在测试中
C:文件和设置管理员> tnsping dborcl
TNS坪为32位Windows效用:版本10.2.0.1.0 22-10月生产—
2009 13:52:18
版权(c)1997, 2005,甲骨文。版权所有。
已使用的参数文件:
D:甲骨文产品 10.2.0 db_1 网络管理员 sqlnet.ora
的dns适配器已被用来解析别名
试图联系(描述=(地址=(协议= TCP))(主机= 192.168)。
(2.56)港口= 1521))(connect_data =(服务器专用)(service_name = dborcl)
))
好的(20毫秒)
所有的数据库名称(db_name)和实例名称(instance_name或service_name)已经改变了