免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3388 | 回复: 1
打印 上一主题 下一主题

更改数据库SID[原创] [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-05-18 14:54 |只看该作者 |倒序浏览
在oracle9i中测试通过
案例: 旧数据库(OLDDB)
        文件存放(data files,redo files,control files,temp files, undo files)目录是(/u01/OLDDB)
        dump文件目录是(/u01/dump)
      新数据库(NEWDB)
        文件存放(data files,redo files,control files,temp files, undo files)目录是(/u02/NEWDB)
        dump文件目录是(/u02/dump)

1. 生成旧数据库初始化参数文件(init{SID}.ora)和文本格式的控制文件(control.txt)
    alter database backup controlfile to trace as '/tmp/control.txt'
    create pfile from spfile

2. 关闭旧数据库

3. 将旧数据库存放文件和dump的目录移动到新数据库存放文件和dump的目录(如果不更改存放的目录可以不执行该步骤)
   mv /u01/OLDDB /u02/NEWDB
   mv /u01/dump /u02/dump

4. 进入$ORACLE_HOME/dbs目录,拷贝OLDDB的pfile成NEWDB的pfile,同时修改NEWDB的pfile文件.
   cd $ORACLE_HOME/dbs
   cp initOLDDB.ora initNEWDB.ora
   修改initNEWDB.ora文件
   a. db_name和instance_name参数更改成新数据库的名称(NEWDB)
   b. background_dump_desc,core_dump_desc和user_dump_desc参数所指定存放新数据库存放dump信息的目录(/u02/dump)
   c. control_files参数所指定存放新数据库的控制文件目录及名称('/u02/NEWDB/control01.ctl','/u02/NEWDB/control02.ctl')

5. 编辑control.txt文件,新生成newdb.sql和newdb1.sql文件
   拷贝control.txt文件中以下行到/tmp/newdb.sql文件中
   ---------------
   CREATE CONTROLFILE REUSE DATABASE "OLDDB" RESETLOGS  NOARCHIVELOG
   --  SET STANDBY TO MAXIMIZE PERFORMANCE
    MAXLOGFILES 5
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 1
    MAXLOGHISTORY 453
   LOGFILE
    GROUP 1 '/u01/OLDDB/redo01.log'  SIZE 10M,
    GROUP 2 '/u01/OLDDB/redo02.log'  SIZE 10M,
      ...
    GROUP n '/u01/OLDDB/redo0n.log'  SIZE 10M
   -- STANDBY LOGFILE
   DATAFILE
    '/u01/OLDDB/system01.dbf',
    '/u01/OLDDB/undotbs01.dbf',
    '/u01/OLDDB/indx01.dbf',
    '/u01/OLDDB/tools01.dbf',
    '/u01/OLDDB/users01.dbf',
    '/u01/OLDDB/xdb01.dbf',
      ...
    '/u01/OLDDB/filename.dbf'
   CHARACTER SET ZHS16GBK
   ;
   -------------
   并修改/tmp/newdb.sql文件
   a. REUSE ->; SET
   b. OLDDB ->; NEWDB
   c. 存放目录 /u01/OLDDB ->; /u02/NEWDB(如果不更改存放的目录可以不执行该步骤)
   更改后/tmp/newdb.sql文件内容如下
      ---------------
   CREATE CONTROLFILE SET DATABASE "NEWDB" RESETLOGS  NOARCHIVELOG
   --  SET STANDBY TO MAXIMIZE PERFORMANCE
    MAXLOGFILES 5
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 1
    MAXLOGHISTORY 453
   LOGFILE
    GROUP 1 '/u02/NEWDB/redo01.log'  SIZE 10M,
    GROUP 2 '/u02/NEWDB/redo02.log'  SIZE 10M,
      ...
    GROUP n '/u02/NEWDB/redo0n.log'  SIZE 10M
   -- STANDBY LOGFILE
   DATAFILE
    '/u02/NEWDB/system01.dbf',
    '/u02/NEWDB/undotbs01.dbf',
    '/u02/NEWDB/indx01.dbf',
    '/u02/NEWDB/tools01.dbf',
    '/u02/NEWDB/users01.dbf',
    '/u02/NEWDB/xdb01.dbf',
      ...
    '/u02/NEWDB/filename.dbf'
   CHARACTER SET ZHS16GBK
   ;
   -------------

   拷贝control.txt文件中以下行到/tmp/newdb1.sql文件中
   -------------
   ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/OLDDB/temp01.dbf'
     SIZE 524288000  REUSE AUTOEXTEND ON NEXT 8192  MAXSIZE 32767M;
    ...
   ALTER TABLESPACE TEMPn ADD TEMPFILE '/u01/OLDDB/tempn.dbf'
     SIZE 524288000  REUSE AUTOEXTEND ON NEXT 8192  MAXSIZE 32767M;
   -------------
   并修改/tmp/newdb.sql文件
   a. 存放目录 /u01/OLDDB ->; /u02/NEWDB(如果不更改存放的目录可以不执行该步骤)
   更改后/tmp/newdb1.sql文件内容如下
   -------------
   ALTER TABLESPACE TEMP ADD TEMPFILE '/u02/NEWDB/temp01.dbf'
     SIZE 524288000  REUSE AUTOEXTEND ON NEXT 8192  MAXSIZE 32767M;
    ...
   ALTER TABLESPACE TEMPn ADD TEMPFILE '/u02/NEWDB/tempn.dbf'
     SIZE 524288000  REUSE AUTOEXTEND ON NEXT 8192  MAXSIZE 32767M;
   -------------

6. 删除新数据库pfile文件(initNEWDB.ora)中control_files参数所指定的控制文件.
   rm /u02/NEWDB/*.ctl

7. 启动新数据库(NEWDB)到nomount状态,使用initNEWDB.ora参数文件
   startup nomount pfile=?/dbs/initNEWDB.ora

8. 执行/tmp/newdb.sql文件,重建控制文件
   @/tmp/newdb.sql

9. 使用resetlogs选项打开新数据库(NEWDB)
   alter database open resetlogs

10. 执行/tmp/newdb1.sql文件,重建临时表空间
   @/tmp/newdb2.sql

11. 查看v$database和v$instance视图,是不是数据库名称已更改

论坛徽章:
0
2 [报告]
发表于 2005-05-18 16:01 |只看该作者

更改数据库SID[原创]

mark&push
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP