暂无图片
暂无图片
暂无图片
暂无图片
1
暂无图片

Oracle修改数据文件所在目录的挂载点小结

DBA闲思杂想录 2024-01-26
155

如何修改Oracle数据库文件所在目录的挂载点名称。这里先简单介绍一下背景情况,这套数据库是刚搭建不久的一套Oracle 19c单机的UAT,数据库安装在/opt目录下,$ORACLE_HOME目录为/opt/oracle19c/product/19.3.0/db_1。由于前期挂盘,设置挂载点命名没有严格按规范操作,将数据文件和归档日志放置在下面目录下:

/gspdbuat      --存放数据文件等...
/gspdbloguat   --存放归档日志文件...

复制

现在系统管理员想统一规范挂载点的命名,将这个挂载点重新命名。由于修改这些挂载点目录对数据库的影响非常大。当前环境涉及到数据文件,临时文件(temp文件),联机重做日志文件,归档日志文件等文件修改路径。当然,这里不需要拷贝移动数据文件。

具体的挂载点重命名如下所示:

/gspdbuat     修改为    /gspuatdb
/gspdbloguat  修改为    /gspuatlog

复制

下面简单介绍修改数据库文件所在目录的挂载点名称的简单步骤。

1: 创建数据库的pfile

show parameter spfile;

create pfile from spfile;

create pfile='$ORACLE_HOME/dbs/initgsp.ora' from spfile;

复制

2:环境检查,信息收集

检查控制文件路径/位置

select name from v$controlfile;

show parameter control_files;

复制

检查数据库文件路径/位置

set linesize 690;
set pagesize 100;
select name from v$datafile;

复制

检查临时文件路径/位置

set linesize 690;
set pagesize 100;
select name from v$tempfile;

复制

检查联机重做日志路径/位置

set linesize 690;
set pagesize 100;
select member from v$logfile;

复制

3:关闭数据库实例和监听

shutdown immediate;
lsnrctl stop gsp;

复制

4:修改挂载点名称

/gspdbuat     修改为   /gspuatdb
/gspdbloguat  修改为   /gspuatlog

复制

这里的工作是系统管理员处理,这里不做详细展开。

5:修改pfile中的参数

如下所示,将control_files,log_archive_dest_1等参数的值修改如下:

*.control_files='/gspuatdb/data/control01.ctl','/gspuatdb/data/control02.ctl'
*.log_archive_dest_1='LOCATION=/gspuatlog'

复制

具体还以实际情况为准,涉及到相关目录的参数需要根据实际情况调整。例如,控制文件所在的路径没有变化的,则无需修改。

4:用pfile启动Oracle实例到mount状态

startup mount pfile='$ORACLE_HOME/dbs/initgsp.ora';

复制

5:控制文件修改

数据文件重命名

set linesize 680;
select 'alter database rename file ''' || name || ''' to ''' || replace(name,'gspdbuat''gspuatdb') ||''';' from v$datafile;

复制

执行上面脚本生成的脚本,重定向数据库的所有数据文件.

重做日志文件重命名

select 'alter database rename file ''' || member || ''' to ''' || replace(member,'gspdbuat''gspuatdb') ||''';' from v$logfile;

复制

执行上面脚本生成的脚本,重定向数据库的redo文件.

临时文件(temp file)重命名

select 'alter database rename file ''' || name || ''' to ''' || replace(name,'gspdbuat''gspuatdb') ||''';' from v$tempfile;

复制

执行上面脚本生成的脚本,重定向数据库的临时文件.

6:启动数据库到OPEN状态

alter databae open;

复制

7:检查告警日志,检查数据文件,联机重做日志等文件路径

检查数据库文件路径/位置

set linesize 690;
set pagesize 100;
select name from v$datafile;

复制

检查临时文件路径/位置

set linesize 690;
set pagesize 100;
select name from v$tempfile;

复制

检查联机重做日志路径/位置

set linesize 690;
set pagesize 100;
select member from v$logfile;

复制

8:重新生成spfile,然后重新启动数据库实例。

--执行前先备份旧的spfile。
create spfile form pfile='$ORACLE_HOME/dbs/initgsp.ora'

shutdown immediate;
startup;

复制


文章转载自DBA闲思杂想录,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

江湖小虾米
暂无图片
1年前
评论
暂无图片 0
rac环境各实例把归档日志归档到了实例的本地目录了,恢复的时候咋处理呀?
1年前
暂无图片 点赞
评论