Oracle数据库如何开启自动归档

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle数据库如何开启自动归档相关的知识,希望对你有一定的参考价值。

Oracle
Enterprise
Manager
Console——某一个数据库——例程——配置——恢复——“归档日志模式”(自动归档);
例程——配置——一般信息——所有初始化参数——log_archive_start=true
归档信息可以通过如下语句查看
SQL
archive
log
list
Oracle数据库可以运行在两种模式下:归档模式(archivelog)和非归档模式(noarchivelog)。
  检查归档模式命令
  SQL
archive
log
list
设置归档模式
  SQL
shutdown
immediate;
  SQL
startup
mount
  SQL
alter
database
archivelog;
  SQL
alter
database
open;
  SQL
archive
log
list;
  如果需要停止归档模式,使用:alter
database
noarchivelog
命令。Oracle10g之前,你还需要修改初始化参数使数据库处于自动归档模式。在pfile/spfile中设置如下参数
  log_archive_start
=
true
  重启数据库此参数生效,此时数据库处于自动归档模式。也可以在数据库启动过程中,手工执行
  archive
logstart  使数据库启用自动归档,但是重启后数据库仍然处于手工归档模式
。10g使用db_recovery_file_dest来作为归档日志的存放地。
  SQL
show
parameter
db_recovery(
该语句在oracle11g下无效)  NAME
TYPEVALUE  db_recovery_file_dest
string
/home/oracle/ora10g/flash_reco
  very_area/
参考技术A 1、常用命令
sql>
show
parameter
log_archive_dest;
sql>
archive
log
list;
sql>
select
*
from
v$flash_recovery_area_usage;
archivelog
96.62
0
141
sql>
select
sum(percent_space_used)*3/100
from
v$flash_recovery_area_usage;
2.9904
sql>
show
parameter
recover;
db_recovery_file_dest
string
/u01/oracle/flash_recovery_area
db_recovery_file_dest_size
big
integer
2g
2、删除日志
cd
$oracle_base/flash_recovery_area/orcl/archivelog
转移或清除对应的归档日志,
删除一些不用的日期目录的文件,注意保留最后几个文件在删除归档日志后,必须用rman维护控制文件,否则空间显示仍然不释放。
3、rman
target
sys/password
rman>
crosscheck
archivelog
all;
rman>
delete
expired
archivelog
all;
或者
rman>
delete
archivelog
until
time
“sysdate-1″;
4、再查
sql>
select
*
from
v$flash_recovery_area_usage;
5、修改大小
sql>
alter
system
set
db_recovery_file_dest_size=4g
scope=both;

Oracle 开启归档模式

Oracle 数据库通常建议开启归档模式,记录数据库操作的记录归档到本地日志文件!

可以通过以下命令查看是否开启归档:

archive log list


如图,即已开启归档!

有啥好处呢?

开了归档之后,可以 RMAN 实时备份数据,配置 DataGuard 必须开启归档模式,数据库基本能保证零丢失!

缺点可能就是:

1、占用大量磁盘空间
2、占用部分系统资源
3、如果归档空间满了,可能导致数据库宕机

总的来说,利大于弊,现在谁还差那么点磁盘空间和系统资源呢?对吧!

开启归档模式的步骤:

1、设置归档路径

alter system set log_archive_dest_1='LOCATION=/archivelog';

这个 /archivelog 目录需要是磁盘中物理存在的路径,否则无法归档!

2、关闭数据库,开启到mount状态

shutdown immediate
startup mount

如果是 rac 集群环境,使用 srvctl 来关闭所有节点数据库,然后打开一个节点到 mount 状态!

3、打开归档模式,打开数据库到 open

alter database archivelog;
alter database open;

4、检查归档状态,切换日志

archive log list
alter system switch logfile;

本次分享到此结束啦~

如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力。

❤️ 技术交流可以 关注公众号:Lucifer三思而后行 ❤️

以上是关于Oracle数据库如何开启自动归档的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 开启归档日志以及关闭归档日志

oracle数据库手动删除数据文件前没有将表空间offline,没有开启归档

如何启动或关闭oracle的归档模式

mariadb开启归档模式

Oracle12C开启归档模式

Oracle12C开启归档模式