Oacle
归档模式是
ORACLE
热备份的必要条件
,
特别是
7X24
生产数据库
,
必须要工作在归档模式。网上有说归档文件可否放在裸设备上,理论上应该可以,但是每一次归档都产生一个归档文件,那么我们务必建很多裸设备。所以我们倾向于归档文件存于文件系统中。假定
e:/arch
为归档目录。
Sqlplus /nolog
Conn /as sysdba #sysdba
用户登陆
查看归档模式:
SQL> archive log list
数据库日志模式
非存档模式
自动存档
禁用
存档终点
USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列
14
当前日志序列
16
显示末归档。
关闭
ORACLE
:
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE
例程已经关闭。
启动到
MOUNT
状态
:
SQL> startup mount
ORACLE
例程已经启动。
Total System Global Area 603979776 bytes
Fixed Size 1250380 bytes
Variable Size 272632756 bytes
Database Buffers 322961408 bytes
Redo Buffers 7135232 bytes
数据库装载完毕。
更改归档模式:
SQL> ALTER DATABASE ARCHIVELOG;
数据库已更改。
查看归档模式:
SQL> archive log list
数据库日志模式
存档模式
自动存档
启用
存档终点
USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列
14
下一个存档日志序列
16
当前日志序列
16
显示数据库已归档。
Oracle9i
以前版本需要开启
log_archive_start
参数
SQL>
alter system set log_archive_start = true scope=spfile;
设定归档地址
, log_archive_dest
指定归档文件存放的路径,该路径只能是本地磁盘,默认为空。如果设置
log_archive_dest,
就不能设置
log_archive_dest_n
,也不能设置
db_recovery_file_dest
。
也就是说
log_archive_dest
与
log_archive_dest_n
是两套不同的归档方法,只能用一个。
SQL> alter system set log_archive_dest=' e:\arch ';
alter system set log_archive_dest=' e:\arch '
*
第
1
行出现错误
:
ORA-02097:
无法修改参数
,
因为指定的值无效
ORA-16018:
无法将
LOG_ARCHIVE_DEST
与
LOG_ARCHIVE_DEST_n
或
DB_RECOVERY_FILE_DEST
一起使用
SQL> alter system set db_recovery_file_dest='';
系统已更改。
SQL> alter system set log_archive_dest=' e:\arch ';
系统已更改。
打开数据库:
SQL> alter database open
/
测试归档:
SQL>alter system switch logfile.
系统已更改
.
查看归档情况
:
SQ>select * from v$archived_log
另外从
OS(e:\arch)
目录也可以看到有文件生成。
更改归档路径
:
SQL> alter system set log_archive_dest=' ';
SQL> alter system set log_archive_dest_1=' e:\arch ' scope=spfile;
如果想
db_recovery_file_dest
目录产生归档,设定
log_archive_dest_2
为
db_recovery_file_dest
目录即可。