oracle数据库系列-Archivelog归档文件相关操作

来源:互联网 发布:淘宝众筹 淘宝怎么不管 编辑:程序博客网 时间:2024/05/01 05:28

最近在工作中遇到一些关于oracle的相关问题,此处作为记录,由此来写一些系列性的文章,有不对之处请大家指正。今天先记录下归档日志的相应操作吧。

因为对oracle不太熟悉,所以在安装使用后,一些相应的机制未作处理就投入使用了,所以出现了一些问题,就如此文提到的归档日志的开关操作。一般在生产环境中,归档日志是需要进行打开的,因为这样可以在DB发生异常的时候,使用日志进行数据恢复,但是在我们平常练习使用的时候,这些机制是可以进行关闭的。下面有相应的操作。

在使用oracle过程中,00025错误码出现了,经查询此错误是“空间不足错误”,是由于我们的Archivelog归档日志占用了磁盘空间导致,所以处理如下:

一 设置为归档方式
1 sql> archive log list;  #查看是不是归档方式
2 sql> alter system set log_archive_start=true scope=spfile; #启用主动归档
  sql> alter system set log_archive_dest=''location=/oracle/ora9/oradata/arch'' scope=spfile;
      #设置归档路径
  sql> alter system set log_archive_dest_1=''location=/oracle/ora9/oradata/arch1'' scope=spfile;
  sql> alter system set log_archive_dest_2=''location=/oracle/ora9/oradata/arch2'' scope=spfile;
      #如果归档到两个位置,则可以通过上边方法实现
  sql> alter system set log_archive_format=''arch_%d_%t_%r_%s.log''  #设置归档日记款式
3 sql> shutdown immediate;
4 sql> startup mount;    #打开控制文件,不打开数据文件
5 sql> alter database archivelog; #将数据库切换为归档模式
6 sql> alter database open;  #将数据文件打开
7 sql> archive log list;  #查看此时是否处于归档模式
8 查询以确定数据库位于archivelog模式中且归档过程正在运行
sql> select log_mode from v$database;
sql> select archiver from v$instance;
9 日志切换
sql> alter system switch logfile;
10 这次日志切换将归档写到两个目标地,
  1,即第二步的/oracle/ora9/oradata/arch1和/oracle/ora9/oradata/arch1,要是要对目录确认


在oracle情况中运行如下查询:
sql> select name from v$archived_log;
而后在操作系统中确认查询所列出的文件


二 设置非归档方式
1 sql> archive log list;  #查看是否是归档方式
2 sql> alter system set log_archive_start=false scope=spfile; #禁用自动归档
3 sql> shutdown immediate;
4 sql> startup mount;    #打开控制文件,不打开数据文件
5 sql> alter database noarchivelog; #将数据库切换为非归档模式
6 sql> alter database open;  #将数据文件打开
7 sql> archive log list;  #查看此时便处于非归档模式


三 归档相关命令
archive log stop;
archive log start;
archive log list;
show parameters;
show parameters log_archive_start;
show parameters log_archive_max_process; #归档进程数
alter system set log_archive_max_process=5; #将归档进程数改为5
select * from v$bgprocess;    #检察后台进程



0 0
原创粉丝点击