数据文件、监听日志、告警日志、redo日志、归档日志的迁移

公司一外厂商的产品把oracle安装在C盘了,D盘上1T的空间用不上,C盘几乎要撑满了,所以计划把数据文件、归档日志、监听日志、告警日志、快速恢复区转移到D

 

  1. D盘建立相应目录

  mkdir d:\app\Administrator\oradata\orcl 数据文件目录

  mkdir d:\app\Administrator\diag 诊断目录

  mkdir d:\app\Administrator\fast_recovery_area 快速恢复区

  mkdir d:\app\archlog

  注意目录层间用反斜杠

  1. 快速恢复区、归档日志、告警日志调整(online处理)

  sqlplus / as sysdba

  Alter system set fast_recovery_file_size=10G;

  Alter system set fast_recovery_file_dest=’D:/app/Administrator/fast_recovery_area/’;

  Alter system set log_archive_dest_1=’location=d:/app/archlog’;

  Alter system set diagnostic_dest=’d:/app/Administrator

  1. Datafiletempfileredo日志迁移

  Sqlplus /as sysdba

  Select group#,status from v$log;

  Alter system switch logfile;

  /

  /

  Shu immediate;

  操作系统层面将datafiletempfile redolog拷贝到指定位置d:\app\Administrator\oradata\orcl

  Startup mount

  Select name from v$datafile union select name from v$tempfile;

  Select member from v$logfile;

  修改控制文件中的文件位置

  alter database rename file ‘C:\app\Administrator\oradata\orcl\SYSTEM.DBF’ to ‘d:\app\Administrator\oradata\orcl\SYSTEM.DBF’;

 alter database rename file ‘C:\app\Administrator\oradata\orcl\redo01.log’ to ‘d:\app\Administrator\oradata\orcl\redo01.dbf’;

  ......

  ......

 

  Alter database open;

  1. 修改监听日志位置

  Lsnrctl

  Lsnrctl>help

  Lsnrctl>show help

  Lsnrctl>set log_directory ‘d:\app\Administrator\diag\tnslsnr\’

  会报错,提示TNS-01251,ADR下不能设置trace/log目录

这是因为:

Oracle11g中引入了ADR特性。

如果listener.ora文件中参数DIAG_ADR_ENABLED_listenername设置为on,则会忽略参数log_directory的设置。 trace文件和log文件被创建在ADR_BASE_listener_name指定的路径下。可以通过参数ADR_BASE_listener_name参数指定的位置作为trace和log文件的存放的base目录

也可以通过在listener.ora中设置,取消ADR特性,

DIAG_ADR_ENABLED_listener_name=OFF

 

LOG_DIRECTORY_listener_name = </path/.../>

 

posted on 2021-01-28 22:40  JennyYu  阅读(151)  评论(0编辑  收藏  举报