ITPub博客

首页 > 数据库 > Oracle > NID命令试用二

NID命令试用二

原创 Oracle 作者:zhangsolomon 时间:2009-06-27 17:24:56 0 删除 编辑

每次修改都是:

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博客 ” ,链接:https://blog.itpub.net/118400/viewspace-1023551/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: NID命令试用一
请登录后发表评论 登录
全部评论

注册时间:2009-04-16

  • 博文量
    16
  • 访问量
    306700