网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.深入分析Oracle数据库日志文件.
.已经装了最新的binutils,为什么.
.Oracle高水位标志的概念.
.如何在相对空闲的rac实例中强制自.
.oracle N层认证.
.创建 ext3 文件系统的步骤(摘)-.
.讲解Oracle Freelist和HWM的性能.
.参数文件.
.在oracle中编写树级代码.
.经典的问题与解答(1).
.ORACLE与SQL Server之间的数据迁.
.Using Cisco Secure with Oracle.
.查看SGA区剩余可用内存的方法.
.oracle自定义函数的执行时间.
.重建索引(rebuild index)与sort.
.Oracle Spatial数据加密问题研究.
.Oracle FAQ 之构架体系篇.
.Oracle 9i中OCCI在VC6下不能DEBU.
.ORACLE性能调优原则.
.深入讲解如何使用rollup配合grou.

更改数据库SID

发表日期:2008-2-9



在Oracle9i中测试通过
案例: 旧数据库([color=blue:f74257d0fd]OLDDB[/color:f74257d0fd])
        文件存放(data files,redo files,control files,temp files, undo files)目录是([color=blue:f74257d0fd]/u01/OLDDB[/color:f74257d0fd])
        dump文件目录是[color=blue:f74257d0fd](/u01/dump[/color:f74257d0fd])
      新数据库([color=red:f74257d0fd]NEWDB[/color:f74257d0fd])
        文件存放(data files,redo files,control files,temp files, undo files)目录是([color=red:f74257d0fd]/u02/NEWDB[/color:f74257d0fd])
        dump文件目录是([color=red:f74257d0fd]/u02/dump[/color:f74257d0fd])

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 [color=blue:f74257d0fd]/u01/OLDDB[/color:f74257d0fd] [color=red:f74257d0fd]/u02/NEWDB[/color:f74257d0fd]
   mv [color=blue:f74257d0fd]/u01/dump[/color:f74257d0fd] [color=red:f74257d0fd]/u02/dump[/color:f74257d0fd]

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 [color=blue:f74257d0fd]REUSE[/color:f74257d0fd] DATABASE "[color=blue:f74257d0fd]OLDDB[/color:f74257d0fd]" RESETLOGS  NOARCHIVELOG
   --  SET STANDBY TO MAXIMIZE PERFORMANCE
    MAXLOGFILES 5
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 1
    MAXLOGHISTORY 453
   LOGFILE

    GROUP 1 '/[color=blue:f74257d0fd]u01/OLDDB[/color:f74257d0fd]/redo01.log'  SIZE 10M,
    GROUP 2 '/[color=blue:f74257d0fd]u01/OLDDB[/color:f74257d0fd]/redo02.log'  SIZE 10M,
      ...
    GROUP n '/[color=blue:f74257d0fd]u01/OLDDB[/color:f74257d0fd]/redo0n.log'  SIZE 10M
   -- STANDBY LOGFILE
   DATAFILE
    '/[color=blue:f74257d0fd]u01/OLDDB[/color:f74257d0fd]/system01.dbf',
    '/[color=blue:f74257d0fd]u01/OLDDB[/color:f74257d0fd]/undotbs01.dbf',
    '/[color=blue:f74257d0fd]u01/OLDDB[/color:f74257d0fd]/indx01.dbf',
    '/[color=blue:f74257d0fd]u01/OLDDB[/color:f74257d0fd]/tools01.dbf',
    '/[color=blue:f74257d0fd]u01/OLDDB[/color:f74257d0fd]/users01.dbf',
    '/[color=blue:f74257d0fd]u01/OLDDB[/color:f74257d0fd]/xdb01.dbf',
      ...
    '/[color=blue:f74257d0fd]u01/OLDDB[/color:f74257d0fd]/filename.dbf'
   CHARACTER SET ZHS16GBK
   ;
   -------------
   并修改/tmp/newdb.sql文件
   a. REUSE -> SET
   b. OLDDB -> NEWDB
   c. 存放目录 /u01/OLDDB -> /u02/NEWDB(假如不更改存放的目录可以不执行该步骤)
   更改后/tmp/newdb.sql文件内容如下
      ---------------
   CREATE CONTROLFILE [color=red:f74257d0fd]SET[/color:f74257d0fd] DATABASE "[color=red:f74257d0fd]NEWDB[/color:f74257d0fd]" RESETLOGS  NOARCHIVELOG
   --  SET STANDBY TO MAXIMIZE PERFORMANCE
    MAXLOGFILES 5
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 1
    MAXLOGHISTORY 453
   LOGFILE
    GROUP 1 '/[color=red:f74257d0fd]u02/NEWDB[/color:f74257d0fd]/redo01.log'  SIZE 10M,
    GROUP 2 '/[color=red:f74257d0fd]u02/NEWDB[/color:f74257d0fd]/redo02.log'  SIZE 10M,
      ...
    GROUP n '/[color=red:f74257d0fd]u02/NEWDB[/color:f74257d0fd]/redo0n.log'  SIZE 10M
   -- STANDBY LOGFILE
   DATAFILE
    '/[color=red:f74257d0fd]u02/NEWDB[/color:f74257d0fd]/system01.dbf',

    '/[color=red:f74257d0fd]u02/NEWDB[/color:f74257d0fd]/undotbs01.dbf',
    '/[color=red:f74257d0fd]u02/NEWDB[/color:f74257d0fd]/indx01.dbf',
    '/[color=red:f74257d0fd]u02/NEWDB[/color:f74257d0fd]/tools01.dbf',
    '/[color=red:f74257d0fd]u02/NEWDB[/color:f74257d0fd]/users01.dbf',
    '/[color=red:f74257d0fd]u02/NEWDB[/color:f74257d0fd]/xdb01.dbf',
      ...
    '/[color=red:f74257d0fd]u02/NEWDB[/color:f74257d0fd]/filename.dbf'
   CHARACTER SET ZHS16GBK
   ;
   -------------

   拷贝control.txt文件中以下行到/tmp/newdb1.sql文件中
   -------------
   ALTER TABLESPACE TEMP ADD TEMPFILE '/[color=blue:f74257d0fd]u01/OLDDB[/color:f74257d0fd]/temp01.dbf'
     SIZE 524288000  REUSE AUTOEXTEND ON NEXT 8192  MAXSIZE 32767M;
    ...
   ALTER TABLESPACE TEMPn ADD TEMPFILE '/[color=blue:f74257d0fd]u01/OLDDB[/color:f74257d0fd]/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 '/[color=red:f74257d0fd]u02/NEWDB[/color:f74257d0fd]/temp01.dbf'
     SIZE 524288000  REUSE AUTOEXTEND ON NEXT 8192  MAXSIZE 32767M;
    ...
   ALTER TABLESPACE TEMPn ADD TEMPFILE '/[color=red:f74257d0fd]u02/NEWDB[/color:f74257d0fd]/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视图,是不是数据库名称已更改
上一篇:Oracle初始化参数的来源 人气:499
下一篇:Oracle数据字典说明 人气:1083
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐