NID命令试用二

本文详细介绍了Oracle数据库名称变更的具体步骤,包括通过NID工具进行数据库名称修改、参数文件更新及重启服务等关键操作,并讨论了数据库名变更后的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

每次修改都是:

NID-00135: 存在 1 个活动的线程

执行如下解决:

C:>sqlplus sys/ggyy@ggyy as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on 星期六 6月 27 15:37:37 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> shutdown immediate
ORA-01109: 数据库未打开


已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount
ORACLE 例程已经启动。

Total System Global Area 289406976 bytes
Fixed Size 1248600 bytes
Variable Size 96469672 bytes
Database Buffers 188743680 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
SQL> exit
c:exit

此时退出CMD,然后重进入CMD即可!

C:>nid target=sys/ggyy@ggyy dbname=test setname=yes

即可运行成功:

数据库名已更改为 TEST。
修改参数文件并在重新启动前生成新的口令文件。
数据库TEST的数据库 ID 已更改为 ******

此数据库的所有以前的备份和归档重做日志均不可用。
数据库无法识别恢复区中以前的备份和归档日志。
数据库已关闭, 用 RESETLOGS 选项打开数据库。
已成功更改数据库名和 ID。
DBNEWID - 已成功完成。

C:>

接下来要先重启SERVER,(ORACLE_SID变成了TEST,

改ORACLE__SID=DEMO,不知道是不是必需,但没改之前始终报错,也许是例程名和SID必定一致的原因)

修改:SPFILE(创建SPFILETEM。ORA,然后停止SERVER,改名SPFILEDEMO)

最后start nomount

alter database mount --(这里很奇怪,如果不一步步来,直接startup open resetlogs 每次都报错,需要确认??)

SQL> startup open
ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它
SQL> alter database open
2 ;
alter database open
*
第 1 行出现错误:
ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项


SQL> alter database open noresetlogs;
alter database open noresetlogs
*
第 1 行出现错误:
ORA-01588: 要打开数据库则必须使用 RESETLOGS 选项


SQL> alter database open resetlogs;

数据库已更改。

至此终于改名完全成功。

同时网络服务名是否要改也要确定?

此时的例程名仍是DEMO,但数据库名是TEST ,如果要改,那么监听里面的SID为DEMO不变,全局数据库名为TEST,同时网络服务名中服务也要改为TEST;但如果同时都不修改也可以使用(待确认),也许这是NID修改数据库名和手动修改SPFIL,重建控制文件来修改数库名的一个区别。

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/118400/viewspace-1023551/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/118400/viewspace-1023551/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值