欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

oracle 开启归档模式

程序员文章站 2022-07-14 13:55:15
...

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_destlog_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_2db_recovery_file_dest目录即可。