文档库 最新最全的文档下载
当前位置:文档库 › oracle归档日志关闭方法

oracle归档日志关闭方法

<>
一、设置为归档方式
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; #检察后台进程

附:
===================================================================
一、删除oracle归档日志
1、以oracle用户登录服务器
2、输入 rman target/ 进入oracle备份工具
3、输入 DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7'
--删除7天之前的归档日志,'SYSDATE-7' 表示当前系统时间的7天之前

还可以(通过find结合-exec来删除日志文件):
find /oraarchive -xdev -mtime +7 -name "*.dbf" -exec rm -f {}; //+7表示7天前

注意:如果直接将归档日志文件删除在cronprofile文档中还会有记录,并不知道文件已经不存在了
需要进入备份工具(rman target/)执

行以下操作:
cresscheck archivelog all;
delete expired archivelog all;


二、启动数据库时不启动归档日志
1、关闭所有的数据库实例($代表oracle用户登录后执行的命令)
$srvctl stop database -d SID -o immediate
2、启动当前机器的实例到mount状态
$SQLPLUS /NOLOG
SQL > STARTUP MOUNT
SQL > ALTER DATABASE NOARCHIVELOG;

相关文档
相关文档 最新文档