关于Oracle 10g 归档方式的讨论:关闭归档/启用闪回恢复区归档(Oracle 10g新特性)/启用类Oracle9i的归档
注:在Oracle安装过程中,如果数据库是自动创建的,那么该数据库最初的存档模式是由操作系统指定的。通常情况下,归档日志在Oracle数据库安装结束后需要手工创建。
环境:Oracle 10g 10.2.0.1.0/Windows 2003 Server SP1
数据字典视图:v$archived_log,v$log,v$archive_dest,v$database,v$archive_processes,
v$backup_redolog,v$log_histroy,v$recovery_file_dest.
一、关闭归档
1、启动SQL*PLUS以管理身份登录Oracle数据库:
SQL> connect / as sysdba
2、关闭数据库实例
SQL> shutdown immediate
3、备份数据库:在对数据库做出任何重要的改变之前,建议备份数据库以免出现任何问题。
4、启动一个新的实例并装载数据库,但不打开数据库:
SQL> startup mount
5、禁止自动存档
SQL> alter system archive log stop;
6、禁止存档联机重做日志:转换数据库的存档模式。
SQL> alter database noarchivelog ;
7、打开数据库:
SQL> alter database open ;
8、察看已连接实例的存档信息:
SQL> archive log list ;
数据库日志模式             非存档模式
自动存档             禁用
存档终点            E:\oracle\arc
最早的联机日志序列     50
当前日志序列           52

二、启用闪回恢复区归档(Oracle 10g新特性)-Oracle数据库安装完成后首次创建自动归档日志
1、启动SQL*PLUS以管理身份登录Oracle数据库:
SQL> connect / as sysdba
2、关闭数据库实例
SQL> shutdown immediate
3、备份数据库:在对数据库做出任何重要的改变之前,建议备份数据库以免出现任何问题。
4、启动一个新的实例并装载数据库,但不打开数据库:
SQL> startup mount
5、转换数据库的存档模式为归档方式:
SQL> alter database archivelog ;
6、打开数据库:
SQL> alter database open ;
7、在数据库实例启动后允许自动存档方式:
SQL> alter system archive log start ;
8、通过资源管理器察看flash_recovery_area的日志文件结构快照如下:
9
、关闭flash_recovery_area归档:
SQL>alter database flashback off ;
10
、闪回区默认的存储空间为2G,修改FLASH_RECOVERY_AREA空间为20GB
SQL> alter system set DB_RECOVERY_FILE_DEST_SIZE=20g ;
三、启用类Oracle9i的归档
1、启动SQL*PLUS以管理身份登录Oracle数据库:
SQL> connect / as sysdba
2、关闭数据库实例
SQL> shutdown immediate
3、备份数据库:在对数据库做出任何重要的改变之前,建议备份数据库以免出现任何问题。
4、启动一个新的实例并装载数据库,但不打开数据库:
SQL> startup mount
5、转换数据库的存档模式为归档方式:
SQL> alter database archivelog ;
6、打开数据库:
SQL> alter database open ;
7、在数据库实例启动后允许自动存档方式:
SQL> alter system set log_archive_start=true scope=spfile;
8、指定归档日志文件的存放位置并记录到SPFILE
SQL> alter system set log_archive_dest_1='location=E:\oracle\arc' scope=spfile;
9、指定归档日志文件名命名格式:使用%s来包含日志序号作为文件名的一部份,并且使用%t来包含线程号,使用大写字母(%S和%T)来以0填补文件名左边的空处。
The following variables can be used in the format:
%s log sequence number
%S log sequence number, zero filled
%t thread number
%T thread number, zero filled
SQL> alter system set log_archive_format='BE%S_%R_%T.arc' scope=spfile;
四、闪回恢复区归档与类Oracle9i归档的切换
类Oracle9i归档到闪回恢复区归档:
1
、以SYSDBA身份登录Oracle的OEM,依次选择管理->数据库配置中的所有初始化参数:
2
、选择“当前”的初始化参数,将“在当前正在运行的实例模式下将更改应用于 SPFile。对于静态参数, 必须重新启动数据库。”选中,查找参数“log_archive_dest_1”、“log_archive_dest_2“...,将所有上述的参数值清空,其它参数保持不变,点击应用按钮后注销退出。
闪回恢复区归档到类Oracle9i归档:同三,只应用7、8、9步骤即可。
如果在Oracle安装结束后先做闪回恢复区归档,后改为类Oracle9i归档,如果手工将原归档文件删除,则需要以Rman方式来清理失效的日志记录信息,操作步骤如下:
1
、以sysdba身份登录到Rman:
C:\>rman nocatalog target
 \
2
、删除失效的日志记录信息:
RMAN>crosscheck archivelog all;
RMAN>delete expired archivelog all;
查询那一个联机重做日志组需要存档:
SQL> select group#,archived from sys.v$log ;
    GROUP# ARC
---------- ---
         1 NO
         2 YES
         3 YES
查看当前的存档模式:
SQL> select log_mode from sys.v$database ;
LOG_MODE
------------
ARCHIVELOG

 

////////////////////////////////////////////////////////

在Oracle 10g里启动自动归档模式

$ sqlplus "/ as sysdba"

SQL*Plus: Release 10.1.0.3.0 - Production on Wed Apr 13 09:53:25 2005

Copyright (c) 1982, 2004, Oracle. All rights reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - 64bit Production
With the Partitioning and Data Mining options

SQL> archive log list;
Database log mode              No Archive Mode
Automatic archival             Disabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     25
Current log sequence           27
SQL> show parameter log_archive_start

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_start                    boolean     FALSE
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup mount;
ORACLE instance started.

Total System Global Area 3204448256 bytes
Fixed Size                  1304912 bytes
Variable Size             651957936 bytes
Database Buffers         2550136832 bytes
Redo Buffers                1048576 bytes
Database mounted.
SQL> alter database archivelog;

Database altered.

SQL> alter database open;

Database altered.

SQL> archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     25
Next log sequence to archive   27
Current log sequence           27
SQL>

posted on 2012-11-12 09:09  小傻瓜  阅读(386)  评论(0编辑  收藏  举报