一 设置为归档方式
-
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; #检察后台进程
--->>细节关注点:
SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;
FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
-------------------- ------------------ ------------------------- ---------------
CONTROL FILE .36 0 1
REDO LOG 4.1 0 4
ARCHIVED LOG 40.95 0 53
BACKUP PIECE 0 0 0
IMAGE COPY 0 0 0
FLASHBACK LOG 0 0 0
FOREIGN ARCHIVED LOG 0 0 0
7 rows selected.
SQL> show parameter log_archive_format
NAME TYPE VALUE
---------------------- ------------ ------------
log_archive_format string ARC%S_%R.%T
上面产生的归档文件名字为ARC0000000326_0764368160.0001,%S也就是0000000326是日志切换号,也就是上文archive log list中的当前日志序列,%R是场景号,%T是线程号,可以理解成是节点号,如果不是RAC环境,%T都是1,还可以在log_archive_format参数值中加上%D,%D是16进制标识的DBID,如下演示:
SQL> alter system set log_archive_format='ARC%S_%R.%T_%D.log' scope=spfile;
系统已更改。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29119536/viewspace-1124672/
,如需转载,请注明出处,否则将追究法律责任。