日期:2014-05-16 浏览次数:20457 次
一 设置为归档方式
sql> archive log list; #查看是不是归档方式 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'' #设置归档日记款式 sql> shutdown immediate; sql> startup mount; #打开控制文件,不打开数据文件 sql> alter database archivelog; #将数据库切换为归档模式 sql> alter database open; #将数据文件打开 sql> archive log list; #查看此时是否处于归档模式 查询以确定数据库位于archivelog模式中且归档过程正在运行 sql> select log_mode from v$database; sql> select archiver from v$instance;
??
日志切换 sql> alter system switch logfile; 这次日志切换将归档写到两个目标地, 即上边的/oracle/ora9/oradata/arch1和/oracle/ora9/oradata/arch1, 要是要对目录确认 在oracle情况中运行如下查询: sql> select name from v$archived_log; 而后在操作系统中确认查询所列出的文件
?
二 设置非归档方式
?
sql> archive log list; #查看是否是归档方式 sql> alter system set log_archive_start=false scope=spfile; #禁用自动归档 sql> shutdown immediate; sql> startup mount; #打开控制文件,不打开数据文件 sql> alter database noarchivelog; #将数据库切换为非归档模式 sql> alter database open; #将数据文件打开 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; #检察后台进程
??