在ORACLE10g和11g版本,ORACLE默认的日志归档路径为闪回恢复区($ORACLE_BASE/flash_recovery_area)。对于这个路径,ORACLE有一个限制,就是默认只有2G的空间,而且不只是归档日志的默认路径,也是备份文件和闪回日志的默认地址,这样的话归档日志锁使用的空间就达不到2G,在没有设置好这个路径大小的情况下,很多系统都遇到过归档日志满而无法归档导致数据库夯住的问题,可以使用下面的SQL语句去查看归档信息。

SQL> archive log list
数据库日志模式             非存档模式
自动存档             禁用
存档终点            USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列     321
当前日志序列           326。

上面的存档终点USE_DB_RECOVERY_FILE_DEST默认就是闪回恢复区($ORACLE_BASE/flash_recovery_area),可以通过下面的SQL查看闪回恢复区的信息。

SQL> show parameter db_recover
NAME                        TYPE         VALUE
--------------------------  ----------- ----------------------------
db_recovery_file_dest       string      D:\oracle\flash_recovery_area
db_recovery_file_dest_size  big integer   2G

通过上面的SQL结果可以看到,闪回恢复区为D:\oracle\flash_recovery_area,大小为2G,也可以通过查询v$recovery_file_dest视图查看闪回恢复的限制信息。

SQL> select name,SPACE_LIMIT,SPACE_USED from v$recovery_file_dest;
NAME                           SPACE_LIMIT SPACE_USED
------------------------------ ----------- ----------
D:\oracle\flash_recovery_area   2147483648   21225472

默认情况下,归档日志会存放到闪回恢复区(D:\oracle\flash_recovery_area)内,如果闪回恢复区已经使用到2G,归档日志就有可能无法继续归档,数据库夯住,通常的解决方法是增大闪回恢复区,可以用以下SQL实现。

查看常用:

SQL> archive log list;

Database log mode              No Archive Mode

Automatic archival             Disabled

Archive destination            USE_DB_RECOVERY_FILE_DEST

Oldest online log sequence     7787

Current log sequence           7789

SQL>  select name,log_mode from v$database;

NAME      LOG_MODE

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

CP07MVDB  NOARCHIVELOG

查看日志格式

SQL> show parameter log_archive_format;

NAME                                 TYPE        VALUE

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

log_archive_format                   string      %t_%s_%r.dbf

SQL> show parameter log_archive_list;

如果没显示,用下一句

SQL> show parameter db_recovery_file_dest;

NAME                                 TYPE        VALUE

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

db_recovery_file_dest                string      /u01/app/oracle/fast_recovery_

area

db_recovery_file_dest_size           big integer 20G

查看DUMP日志

SQL> show parameter audit;

NAME                                 TYPE        VALUE

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

audit_file_dest                      string      /u01/app/oracle/admin/CP07MvDB

/adump

audit_sys_operations                 boolean     FALSE

audit_syslog_level                   string

audit_trail                          string      DB

SQL> alter system set db_recovery_file_dest_size=3G;
系统已更改。

即使用这种方法解决的当前燃眉之急,虽然闪回恢复区ORACLE会自动管理,如果闪回恢复区空间不足就会清理掉没用的数据,但是如果备份策略不是很完善,数据库非常繁忙的情况下,还有可能遇到这种情况,通常需要修改归档日志的路径,将归档日志放到其他不受限制的路径下来解决这个问题,可通过下面的SQL来修改归档日志的存放路径。

SQL> alter system set log_archive_dest_1='location=D:\arch';
系统已更改。

然后将数据库启动到MOUNT状态,将数据库修改为归档模式后建数据库启动到OPEN状态。

SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount
ORACLE 例程已经启动。
数据库装载完毕。
SQL> alter database archivelog;
数据库已更改。
SQL> alter database open;
数据库已更改。

再次查看数据库的归档情况。

SQL> archive log list
数据库日志模式            存档模式
自动存档             启用
存档终点            D:\arch
最早的联机日志序列     321
下一个存档日志序列   326
当前日志序列           326

可以通过切换日志,查看归档路径下是否有归档日志产生来验证归档路径设置是否正确,可以通过下面的命令切换日志。

SQL> alter system switch logfile;
系统已更改。

查看归档路径(D:\arch)下是否有归档路径产生。

D:\arch>dir/b
ARC0000000326_0764368160.0001

可以看到在D:\arch路径下已经产生了归档日志,归档日志的名字受log_archive_format参数限制,可以通过下面的命令查看。

SQL> show parameter log_archive_format
NAME                   TYPE         VALUE
---------------------- ------------ ------------
log_archive_format     string       ARC%S_%R.%T

上面产生的归档文件名字为ARC0000000326_0764368160.0001,%S也就是0000000326是日志切换号,也就是上文archive log list中的当前日志序列,%R是场景号,%T是线程号,可以理解成是节点号,如果不是RAC环境,%T都是1,还可以在log_archive_format参数值中加上%D,%D是16进制标识的DBID,如下演示:

SQL> alter system set log_archive_format='ARC%S_%R.%T_%D.log' scope=spfile;
系统已更改。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
数据库装载完毕。
数据库已经打开。
SQL> alter system switch logfile;
系统已更改。

查看归档日志的名字,5AA14A62就是16进制的DBID。

D:\arch>dir/b
ARC0000000326_0764368160.0001
ARC0000000327_0764368160.0001_5AA14A62.LOG

更改ORACLE归档路径及归档模式相关推荐

  1. oracle 12c创建归档,Oracle12C开启归档模式

    安装Oracle12C后,默认是没有开启归档模式的,可按以下方式开启. 1.查看归档相关信息: archive log list 可以看到数据库未开启归档. 2.关闭数据库: shutdown imm ...

  2. oracle数据库查看归档路径,centos7下查oracle归档及物理文件路径

    (本人菜鸟,写此随笔仅为学习,大神勿喷,谢谢!) Oracle查看当前连接的数据库实例及状态: SQL> select instance_name,status from v$instance; ...

  3. 查看mysql是否归档的命令_查看oracle数据库是否为归档模式

    查看oracle数据库是否为归档模式 [1] 1.select name,log_mode from v$database; NAME LOG_MODE ------------------ ---- ...

  4. Oracle Study之--Oracle 11g RAC设置归档路径错误案例

    Oracle Study之--Oracle 11g RAC置归档路径错误案例 系统环境: 操作系统: RedHat EL55 集群:     Oracle 11g GI Oracle:   Oracl ...

  5. oracle 查看日志组切换状态_【DB笔试面试800】在Oracle中,归档和非归档模式之间的不同点是什么?它们各自的优缺点是什么?...

    ♣题目部分 在Oracle中,归档和非归档模式之间的不同点是什么?它们各自的优缺点是什么? ♣答案部分 在Oracle数据库中,数据库可以设置为归档模式和非归档模式.归档模式保存所有的事务日志,包括在 ...

  6. Oracle 数据库安装规范--database所在路径和归档目录所在路径必须分开

    database 所在路径和归档目录所在路径必须分开 此处说的database的所在路径是 指:redol log file 所在路径,datafile 所在路径,control file 所在路径 ...

  7. Oracle RAC 11R2配置归档、删除策略,闪回配置完整版

    2019独角兽企业重金招聘Python工程师标准>>> 题记: 生产RAC,闪回和归档必须配置,但是闪回功能基本上用不到所以可以考虑不启用,读者只需要了解其作用以及如何紧急处理因归档 ...

  8. oracle dataguard延迟,Oracle DataGuard延迟应用归档归档日志

    1. 查看主库的参数设置: SQL> show parameter log_archive_dest_2 NAME TYPE VALUE ---------------------------- ...

  9. oracle数据库归档闪回,[Oracle]Oracle的闪回归档

    Oracle的闪回归档 场景需求,由于管理数据库的一些核心表,在实施初期会有人为误删除的问题.Oracle 11gR2提供了闪回归档的特性,可以保证不用RMAN来恢复误删除的数据.实践如下: 1.创建 ...

最新文章

  1. 牛客网:为什么不能将实数作为 HashMap 的 key?
  2. 完全企业虚拟化方案-Total Enterprise Virtualization
  3. c语言重定义不同的基类型_简述usb连接器输出类型定义和不同环境下的用法
  4. python和表格关系_python – 单表继承上的SQLAlchemy一对多关系...
  5. MATLAB之GUI学习经典举例
  6. Go Modules 的智障版本选择
  7. java如果把字符串转成对象_Java中的重复对象:不仅仅是字符串
  8. CentOS7 搭建基于DPDK的FD.io VPP环境-1
  9. windows之间自动传送文件
  10. 李彦宏:Apollo Moon共享无人车必须要比打车便宜;消息称iPhone 12 mini已停产;抖音网页版上线|极客头条...
  11. Flink Weekly | 每周社区动态更新
  12. Unity音频常用插件
  13. JAVA人力、项目面试常谈问题以及个人开场介绍模板
  14. python标准输出sys.stdout_使Python中的函数标准输出静音,而不会破坏sys.stdout并恢复每个函数调用...
  15. 基于STM32F103C8T6 HAL库 TM7705数据读取
  16. 从表征到行动---意向性的自然主义进路(续五)
  17. cisco设备的mib库
  18. 本田及通用公司利用区块链技术探索智能电网与电动汽车的互操作性
  19. 创建表的几种方式(语法总结)
  20. PowerShell 未对文件\XXX.ps1进行数字签名。无法在当前系统上运行该脚本。

热门文章

  1. 250鲁大师跑分_看了鲁大师跑分,会发现MX250独显笔记本已落伍了
  2. linux假延迟脚本,linux – 期望脚本期望错过发送字符串延迟问题
  3. jmeter 导入java_8. Jmeter导入jar包
  4. notepad如何新建php,notepad新手怎么使用教程
  5. Java设计模式(访问者模式-迭代器模式-观察者模式-中介者模式)
  6. 正值实系数多项式函数所对应的导数累加和是否非负?
  7. 调试来自于逐飞的MM32F3277移植有MicroPython开发板
  8. 基于ADuC845的数据采集板
  9. 基于OEP30WD类音频功率放大器驱动电磁铁--以失败告终
  10. SpringBoot如何自动生成实体类和Dao层以及映射文件(mybatis generator 自动生成代码)