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

35次阅读
没有评论

共计 3075 个字符,预计需要花费 8 分钟才能阅读完成。

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

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

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

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

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

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

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

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

13:35:03 SYS @ sink shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

13:36:03 SYS @ sink

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

[oracle@sink dbs]$ pwd

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

[oracle@sink dbs]$ vim initsink.ora

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

*.audit_trail= db

*.compatible= 11.2.0.4.0

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

*.db_block_size=8192

*.db_create_file_dest= +DATA

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

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

ORACLE instance started.

Total System Global Area  835104768 bytes

Fixed Size     2257840 bytes

Variable Size   553651280 bytes

Database Buffers   276824064 bytes

Redo Buffers     2371584 bytes

Database mounted.

Database opened.

13:42:13 SYS @ sink

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

13:42:13 SYS @ sink col name for a55

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

NAME

——————————————————-

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

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

2 rows selected.

Elapsed: 00:00:00.00

13:44:01 SYS @ sink

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

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

File created.

Elapsed: 00:00:00.02

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 启动

13:46:59 SYS @ sink shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

13:52:08 SYS @ sink startup

ORACLE instance started.

Total System Global Area  835104768 bytes

Fixed Size     2257840 bytes

Variable Size   553651280 bytes

Database Buffers   276824064 bytes

Redo Buffers     2371584 bytes

Database mounted.

Database opened.

13:52:22 SYS @ sink

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

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

NAME

——————————————————-

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

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

2 rows selected.

Elapsed: 00:00:00.00

13:53:51 SYS @ sink

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

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-28发表,共计3075字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)