oracle日志归档--一

Oracle的日志归档相关问题研究---------一:

 

1、  查看日志是否归档

 

SQL> SELECT LOG_MODE FROM V$DATABASE;

 

LOG_MODE

------------

NOARCHIVELOG

 

2、 修改数据库为归档模式

 

SQL> shutdown immediate

数据库已经关闭。

已经卸载数据库。

ORACLE例程已经关闭。

 

SQL> startup mount

ORACLE例程已经启动。

Total System Global Area 1.0255E+10 bytes

Fixed Size                  2184632 bytes

Variable Size            4596959816 bytes

Database Buffers         5637144576 bytes

Redo Buffers               18923520 bytes

数据库装载完毕。

 

SQL> ALTER DATABASE ARCHIVELOG;

数据库已更改。

 

SQL> SELECT log_mode FROM V$DATABASE;

 

LOG_MODE

------------

ARCHIVELOG

 

3、 将归档模式改成不归档

 

SQL> SHUTDOWN IMMEDIATE

数据库已经关闭。

已经卸载数据库。

ORACLE例程已经关闭。

 

SQL> startup mount

ORACLE例程已经启动。

Total System Global Area 1.0255E+10 bytes

Fixed Size                  2184632 bytes

Variable Size            4596959816 bytes

Database Buffers         5637144576 bytes

Redo Buffers               18923520 bytes

数据库装载完毕。

 

SQL> alter database noarchivelog;

数据库已更改。

 

SQL> alter database open

  2  /

 

数据库已更改。

 

SQL> SELECT log_mode FROM V$DATABASE;

 

LOG_MODE

------------

NOARCHIVELOG

 

日志文件默认存放在flash_recovery_area里保存,通过recover参数,查看路径和空间大小

SQL> show parameter recover

 

          NAME                                 TYPE                           VALUE

------------------------------------ ----------- ------------------------------

db_recovery_file_dest              string                           D:\app\Administrator\flash_rec overy_area

db_recovery_file_dest_size      big integer                  3912M

recovery_parallelism                 integer                        0

 

还有个参数为db_recover

SQL> show parameter db_recover

 

          NAME                                 TYPE                           VALUE

------------------------------------ ----------- ------------------------------

db_recovery_file_dest              string                           D:\app\Administrator\flash_rec overy_area

db_recovery_file_dest_size      big integer                  3912M

 

个人理解recoverdb_recover参数的区别是,前者是针对实例的,后者是针对数据库的,所以后者没有recovery_parallelism这个和实例有关的参数,个人理解,仅供参考;

 

如果你将日志模式设置成归档,当时没有修改路径和db_recovery_file_dest_size参数,数据库运行一段时间就会报ORA-00257: archiver error. Connect internal only, until freed.错误,此时查看V$FLASH_RECOVERY_AREA_USAGE视图:

SQL> select * from v$flash_recovery_area_usage;

 

FILE_TYPE              PERCENT_SPACE_USED           PERCENT_SPACE_RECLAIMABLE                NUMBER_OF_FILES

-------------------- ------------------ ------------------------- ---------------

CONTROL FILE                        0                                                     0                                                              0

REDO LOG                              0                                                     0                                                              0

ARCHIVED LOG                  98.99                                                 0                                                             58

BACKUP PIECE                       0                                                     0                                                              0

IMAGE COPY                          0                                                    0                                                              0

FLASHBACK LOG                    0                                                    0                                                              0

FOREIGN ARCHIVED LOG      0                                                    0                                                              0

 

已选择7行。

 

归档文件将使用了98.99%的空间,已经没有空间再存放归档日志了,此时数据库就hang住了,解决办法就是修改db_recovery_file_dest_size的大小或者是清除一些不用的归档日志。

 

注:在oracle11.2.0版本以上已经将V$FLASH_RECOVERY_AREA_USAGE废弃掉了,取而代之的是V$RECOVERY_AREA_USAGE这个视图;

V$RECOVERY_AREA_USAGE

V$RECOVERY_AREA_USAGE displays usage information about recovery areas.

Column

Datatype

Description

FILE_TYPE

VARCHAR2(20)

File type:

  • CONTROL FILE
  • REDO LOG
  • ARCHIVED LOG
  • BACKUP PIECE
  • IMAGE COPY
  • FLASHBACK LOG
  • REMOTE ARCHIVED LOG

PERCENT_SPACE_USED

NUMBER

Percent of the recovery area that is in use

PERCENT_SPACE_RECLAIMABLE

NUMBER

Percent of the recovery area that is reclaimable

NUMBER_OF_FILES

NUMBER

Number of files in the recovery area

 

 

 

 

4、 怎么修改归档文件的路径:

SQL> show parameter LOG_ARCHIVE_DEST;

 

NAME                                          TYPE        VALUE

------------------------------------ ----------- ------------------------------

log_archive_dest                       string

log_archive_dest_1                   string

log_archive_dest_10                  string

log_archive_dest_11                  string

log_archive_dest_12                  string

log_archive_dest_13                  string

log_archive_dest_14                  string

log_archive_dest_15                  string

log_archive_dest_16                  string

log_archive_dest_17                  string

log_archive_dest_18                  string

log_archive_dest_state_10             string      enable

log_archive_dest_state_11             string      enable

log_archive_dest_state_12             string      enable

log_archive_dest_state_13             string      enable

log_archive_dest_state_14             string      enable

log_archive_dest_state_15             string      enable

log_archive_dest_state_16             string      enable

log_archive_dest_state_17             string      enable

log_archive_dest_state_18             string      enable

log_archive_dest_state_19             string      enable

log_archive_dest_state_2              string      enable

 

log_archive_dest.和LOG_ARCHIVE_DEST_n区别


使用log_archive_dest参数最多可设置2个归档路径,通过log_archive_dest设置一个主归档路径,通过LOG_ARCHIVE_DUPLEX_DEST 参

数设置一个从归档路径。所有的路径必须是本地的,该参数的设置格式如下:

LOG_ARCHIVE_DEST = '/disk1/archive'
LOG_ARCHIVE_DUPLEX_DEST = '/disk2/archive'

 

LOG_ARCHIVE_DEST_n 参数可以设置最多10个不同的归档路径,通过设置关键词location或service,该参数指向的路径可以是本地或远

程的。

LOG_ARCHIVE_DEST_1 = 'LOCATION = /disk1/archive'
LOG_ARCHIVE_DEST_2 = 'LOCATION = /disk2/archive'
LOG_ARCHIVE_DEST_3 = 'LOCATION = /disk3/archive'

 

如果要归档到远程的standby数据库,可以设置service:LOG_ARCHIVE_DEST_4 = 'SERVICE = standby1'


可见,这两个参数都可以设置归档路径,不同的是后者可以设置远程归档到standby端,而前者只能归档到本地,且最多同时归档到2个

路径下。

 

下篇地址:http://blog.csdn.net/cupid1102/article/details/7899289 

-------------------------未完待续-------------------------------

你可能感兴趣的:(oracle,sql,数据库,String,Integer,archive)