温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Oracle修改控制文件路径的方法

发布时间:2021-09-15 13:38:18 来源:亿速云 阅读:175 作者:chen 栏目:关系型数据库

这篇文章主要介绍“Oracle修改控制文件路径的方法”,在日常操作中,相信很多人在Oracle修改控制文件路径的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Oracle修改控制文件路径的方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

控制文件----二进制文件,在数据库启动和数据库运行中有着巨大的作用
参数文件----pfile             可文本编辑
               spfile             二进制文件,不可文本编辑
下面介绍两种修改控制文件两种方法
################ 1 #####################

如果在startup里指定了pfile=''的话,Oracle将从你指定的文件作为启动参数文件,如果是没有指定pfile的话,Oracle会先去默认目录($ORACLE_HOME/)下找spfileSID.ora,如果没有找到,则找spfile.ora,如果还是没有,找initSID.ora,这个就是以前的静态参数文件了,如果没有则找init.ora;如果没有找到的话,这时候,启动就会有,找不到参数文件的错误,同时会动态注册实例名到监听服务里。

把对应的controlfile移动到目标路径下,由于control01.ctl的路径没有发生变动所以mv:提示不影响操作

  1. [oracle@sink dbs]$ mv /u01/app/oracle/oradata/sink/control01.ctl /u01/app/oracle/oradata/sink/control01.ctl

  2. mv: `/u01/app/oracle/oradata/sink/control01.ctl' and `/u01/app/oracle/oradata/sink/control01.ctl' are the same file

  3. [oracle@sink dbs]$ mv /u01/app/oracle/fast_recovery_area/sink/control02.ctl /u01/app/oracle/oradata/sink/control02.ctl

一定要先关闭数据库之后才移动控制文件,不然会后面会出一系列错误

  1. 13:35:03 SYS @ sink >shutdown immediate;

  2. Database closed.

  3. Database dismounted.

  4. ORACLE instance shut down.

  5. 13:36:03 SYS @ sink >

到$ORACLE_HOME/dbs路径下vim编辑控制文件路径   然后    :wq  保存退出(w 保存 q 退出  q! 强制退出)

  1. [oracle@sink dbs]$ pwd

  2. /u01/app/oracle/product/11.2.0/dbhome_1/dbs

  3. [oracle@sink dbs]$ vim initsink.ora


  4. *.audit_file_dest='/u01/app/oracle/admin/sink/adump'

  5. *.audit_trail='db'

  6. *.compatible='11.2.0.4.0'

  7. *.control_files='/u01/app/oracle/oradata/sink/control01.ctl','/u01/app/oracle/oradata/sink/control02.ctl'

  8. *.db_block_size=8192

  9. *.db_create_file_dest='+DATA'

刚我们修改了pfile但是spfile还没有改动,所以先指定使用pfile启动数据库

  1. 13:41:29 SYS @ sink >startup pfile=$ORACLE_HOME/dbs/initsink.ora

  2. ORACLE instance started.


  3. Total System Global Area  835104768 bytes

  4. Fixed Size            2257840 bytes

  5. Variable Size          553651280 bytes

  6. Database Buffers      276824064 bytes

  7. Redo Buffers            2371584 bytes

  8. Database mounted.

  9. Database opened.

  10. 13:42:13 SYS @ sink >

查看此时的controlifle的路径信息,好了,没错,那么这么pifle是成功的

  1. 13:42:13 SYS @ sink >col name for a55

  2. 13:43:50 SYS @ sink >select name from v$controlfile;


  3. NAME

  4. -------------------------------------------------------

  5. /u01/app/oracle/oradata/sink/control01.ctl

  6. /u01/app/oracle/oradata/sink/control02.ctl


  7. 2 rows selected.


  8. Elapsed: 00:00:00.00

  9. 13:44:01 SYS @ sink >

用pfile生成spifle,因为pfile成功了,但是spifle还没有被修改,还没有生效,默认以spfile启动,所以此操作合理


  1. 13:44:01 SYS @ sink >create spfile from pfile;


  2. File created.


  3. Elapsed: 00:00:00.02

  4. 13:46:59 SYS @ sink >

PS : 如果数据库以spfile启动,然后你在执行 create spfile from pfile 则会报错
      ORA-32002: cannot create SPFILE already being used by the instance

数据库正常关闭,然后,startup 不指定任何参数而数据库又存在spfile,所以oracle 默认 以 spfile启动

  1. 13:46:59 SYS @ sink >shutdown immediate;

  2. Database closed.

  3. Database dismounted.

  4. ORACLE instance shut down.

  5. 13:52:08 SYS @ sink >startup

  6. ORACLE instance started.


  7. Total System Global Area  835104768 bytes

  8. Fixed Size            2257840 bytes

  9. Variable Size          553651280 bytes

  10. Database Buffers      276824064 bytes

  11. Redo Buffers            2371584 bytes

  12. Database mounted.

  13. Database opened.

  14. 13:52:22 SYS @ sink >

启动后,查询控制文件路径,发现成功转移,故修改控制文件路径成功

  1. 13:52:22 SYS @ sink >select name from v$controlfile;


  2. NAME

  3. -------------------------------------------------------

  4. /u01/app/oracle/oradata/sink/control01.ctl

  5. /u01/app/oracle/oradata/sink/control02.ctl


  6. 2 rows selected.


  7. Elapsed: 00:00:00.00

  8. 13:53:51 SYS @ sink >

到此,关于“Oracle修改控制文件路径的方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI