[20130618]改变dbid.txt_just play!.txt

[20130618]改变dbid.txt_just play!.txt

参考链接:
http://www.pythian.com/blog/how-to-choose-your-oracle-database-id-dbid/

修改数据库的dbid,一般可以选择nid工具,或者alter database open resetlogs打开.但是无法控制修改为什么数值!
按照上面的链接做一个测试,不要在生产系统上做这种操作.

SQL>  select name, dbid from v$database  ;
NAME                       DBID
-------------------- ----------
TEST                 2071943378
sqlplus / as sysdba
shutdown immediate;
startup open read only;

执行如下命令:[注:数据库名我没有修改]

var old_name varchar2(20)
var old_dbid number
var new_name varchar2(20)
var new_dbid number

exec select name, dbid into :old_name,:old_dbid from v$database
print old_name

accept new_name prompt "Enter the new Database Name:"

accept new_dbid prompt "Enter the new Database ID:"

exec :new_name:='&&new_name'
exec :new_dbid:=&&new_dbid

set serveroutput on
exec dbms_output.put_line('Convert '||:old_name||  -
     '('||to_char(:old_dbid)||') to '||:new_name|| -
     '('||to_char(:new_dbid)||')')

declare
  v_chgdbid   binary_integer;
  v_chgdbname binary_integer;
  v_skipped   binary_integer;
begin
  dbms_backup_restore.nidbegin(:new_name,:old_name,:new_dbid,:old_dbid,0,0,10);
  dbms_backup_restore.nidprocesscf(v_chgdbid,v_chgdbname);
  dbms_output.put_line('ControlFile:');
  dbms_output.put_line('  => Change Name:' ||to_char(v_chgdbname));
  dbms_output.put_line('  => Change DBID:' ||to_char(v_chgdbid));
  for i in (select file#,name from v$datafile)
     loop
     dbms_backup_restore.nidprocessdf(i.file#,0, v_skipped,v_chgdbid,v_chgdbname);
     dbms_output.put_line('DataFile:'||i.name);
     dbms_output.put_line('  => Skipped:' ||to_char(v_skipped));
     dbms_output.put_line('  => Change Name:' ||to_char(v_chgdbname));
     dbms_output.put_line('  => Change DBID:' ||to_char(v_chgdbid));
     end loop;
  for i in (select file#,name from v$tempfile)
     loop
     dbms_backup_restore.nidprocessdf(i.file#,1, v_skipped,v_chgdbid,v_chgdbname);
     dbms_output.put_line('DataFile:'||i.name);
     dbms_output.put_line('  => Skipped:' ||to_char(v_skipped));
     dbms_output.put_line('  => Change Name:' ||to_char(v_chgdbname));
     dbms_output.put_line('  => Change DBID:' ||to_char(v_chgdbid));
     end loop;
  dbms_backup_restore.nidend;
end;
/

RMAN> list incarnation;
using target database control file instead of recovery catalog
List of Database Incarnations
DB Key  Inc Key DB Name  DB ID            STATUS  Reset SCN  Reset Time
------- ------- -------- ---------------- ---     ---------- ----------
1       1       TEST     1                CURRENT 3230431872 2013-06-04 09:52:43

重新启动数据库,需要执行 alter database open resetlogs ;

RMAN> list incarnation;
using target database control file instead of recovery catalog
List of Database Incarnations
DB Key  Inc Key DB Name  DB ID            STATUS  Reset SCN  Reset Time
------- ------- -------- ---------------- --- ---------- ----------
1       1       TEST     1                PARENT  3230431872 2013-06-04 09:52:43
2       2       TEST     1                CURRENT 3231164707 2013-06-18 17:20:27
时间: 2024-07-30 10:59:28

[20130618]改变dbid.txt_just play!.txt的相关文章

[20141202]改变文件大小与检查点.txt

[20141202]改变文件大小与检查点.txt Resize datafile会触发一个文件级检查点,真的是这样吗?自己做一个测试: SCOTT@test> @ver1 PORT_STRING                    VERSION        BANNER ------------------------------ -------------- -----------------------------------------------------------------

使用dbms_backup_restore包修改dbname及dbid

      修改dbname以及dbid通常在使用RMAN还原到异机之后需要更改dbname以及dbid的情形.对于这个修改我们可以借助于命令行下的nid工具来完成.同时也可以直接调用API来实现.本文即是通过dbms_backup_restore方式来修改dbname及dbid,供大家参考.       有关使用nid方式修改dbname及dbid,请参考:使用nid命令修改 db name 及 dbid   1.修改dbid及dbname的步骤    a.一致性关闭数据库并启动数据库到rea

Flash CS4文字颜色缓动特效

核心提示:Flash CS4文字颜色缓动特效教程. 代码详解: [SWF(backgroundColor=0x000000,width=550,height=400)]//设置场景背景色.大小 var r:uint=0,g:uint=0,b:uint=0;//声明无符号整数型变量r.g.b,初始值都是0 var color:uint,targetR:uint,targetG:uint,targetB:uint;//声明无符号整数型变量color.targetR.targetG.targetB v

JavaScript调用ajax获取文本文件内容实现代码_javascript技巧

这几年JQuery写多了,传统的的javascript已经很久不写了,不少东西都忘掉了,还有多少人记得javascript中实现ajax操作需要借助XMLHttpRequest对象,其实jquery的ajax本质也是这个,好了,今天就花点时间演示一下如何用传统javascript获取文本内容并展示在页面上,废话不多少,直接上代码,注释写的很详细,大家应该能看懂: 复制代码 代码如下: <script type="text/javascript"> //(A)①获取文本文件方

an d-安卓的一个小问题 OnClickListener 在线等

问题描述 安卓的一个小问题 OnClickListener 在线等 报的错误是 The method setOnClickListener(View.OnClickListener) in the type View is not applicable for the arguments (MainActivity.mClick) ------------------------------------ The type MainActivity.mClick must implement th

php常用文件操作函数汇总_php技巧

本文实例分析了php常用文件操作函数.分享给大家供大家参考.具体方法如下: 这里搜集了大量的php中文件操作函数如有文件打开,创建,删除,更变组,读取写文件,文件上传以及打开远程文件,把内容写入文件等实例. 复制代码 代码如下: $fp=fopen("test.txt","r"); //以只读方式打开文件,将文件指针指向文件头 $fp=fopen("test.txt","r+"); //以读写方式打开文件,将文件指针指向文件头

seo优化要注意几点

1.假设网页的PageRank值为N ,当失去5个链接的时候,PageRank的值为多少? A. N / 5 B. N - 5 C. 0.5 * N D. 没有影响 E. 这是不可预测的,因为PageRank的算法是Google的机密 正确答案是D .虽然我们不知道在多重链接下PageRank算法如何执行,但是可以确定的是PageRank值是基于与链接网站的相互联系作为计算基础的,这个数值是随时变动的,Google不可能因为链接数的突发性变化而轻易的改变网站的PageRank值.一般情况下,Go

php 文件操作函数集

$fp=fopen("test.txt","r"); //以只读方式打开文件,将文件指针指向文件头 $fp=fopen("test.txt","r+"); //以读写方式打开文件,将文件指针指向文件头 $fp=fopen("test.txt","w"); //写入方式打开,将文件指针指向文件头并将文件大小截为零.如果文件不存在则尝试创建 $fp=fopen("test.txt&

[20161214]如何确定dbid.txt

[20161214]如何确定dbid.txt --如何确定数据库的dbid,我曾经写过一篇blog,链接:http://blog.itpub.net/267265/viewspace-2125849/ --实际上还有1种非常武断的方法,直接使用strings扫sysaux表空间对应的数据文件,就可以知道: 例子如下: SYS@book> @&r/ver1 PORT_STRING                    VERSION        BANNER ----------------