SQL> select group#,sequence#,bytes,members,status from v$log; #查看状态发现有了区别
GROUP# SEQUENCE# BYTES MEMBERS STATUS
---------- ---------- ---------- ---------- --------------------------------
1 22052428800 1 INACTIVE
2 22152428800 1 ACTIVE
3 21952428800 1 INACTIVE
4 222 524288000 1 ACTIVE
5 223 524288000 1 CURRENT
经理过如上操作,突然看到了alert日志中有一个recovery 并且 tomcat应用日志中也有recovery这个单词,于是又百度了一番。分别执行了如下命令(不懂什么意思)
SQL> select * from v$flash_recovery_area_usage;
SQL> select * from v$recovery_file_dest; 查看recovery的实际大小:
NAME
--------------------------------------------------------------------------------
SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES
----------- ---------- ----------------- ---------------
/u01/app/oracle/recovery_area
4070572032 3926630400 2059067392 41
SQL> select * from v$flash_recovery_area_usage
2 ;
FILE_TYPE PERCENT_SPACE_USED
---------------------------------------- ------------------
PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
------------------------- ---------------
CONTROL FILE 0
00
REDO LOG 0
00
ARCHIVED LOG 0
00
FILE_TYPE PERCENT_SPACE_USED
---------------------------------------- ------------------
PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
------------------------- ---------------
BACKUP PIECE 53.96
50.58 37
IMAGE COPY 42.5
04
FLASHBACK LOG 0
00
FILE_TYPE PERCENT_SPACE_USED
---------------------------------------- ------------------
PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
------------------------- ---------------
FOREIGN ARCHIVED LOG 0
00
7 rows selected.
SQL> show parameter db_recovery_file_dest_size; 最后发现这个才是我要找的 查看当前recovery的限制大小
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
db_recovery_file_dest_size big integer
3882M
SQL> alter system set db_recovery_file_dest_size=5882M scope=spfile; 改大一点?
System altered.
SQL> show parameter db_recovery_file_dest_size; 但是好像并没有用,还是这么大
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
db_recovery_file_dest_size big integer
3882M
好吧,仍然百度:)执行了如下命令好像管用了
SQL> alter system set db_recovery_file_dest_size=10G;
System altered.
SQL> show parameter db_recovery_file_dest_size;
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
db_recovery_file_dest_size big integer
10G
先观察看看吧~应用日志10点好像没有超时报错了~~ 完
补充一下,下面这俩货的区别
scope=both
scope=spfile
Oracle spfile就是动态参数文件,里面设置了Oracle 的各种参数。所谓的动态,
就是说你可以在不关闭数据库的情况下,更改数据库参数,记录在spfile里面。更改参数
的时候,有4种scope选项,scope就是范围。
scope=spfile 仅仅更改spfile里面的记载,不更改内存,也就是不立即生效,而是等
下次数据库启动生效。
有一些参数只允许用这种方法更改,scope=memory 仅仅更改内存,不改spfile。也就是下次
启动就失效了
scope=both 内存和spfile都更改,不指定scope参数,等同于scope=both。
=========================================================================================
好吧,问题好像解决了
oracle 在每天凌晨2点自动重启,登录EM 查了一下jobs果然2点是有一个自动备份策略的,具体步骤如下:
1, su oracle
2, source .bash_profile
3, sqlplus /nolog
4, conn /as sysdba
5, emctl status dbconsole 检查EM是否启动,如果没有==》 emctl start dbconsole
[oracle@xx ~]$ emctl status dbconsole
Oracle Enterprise Manager 11g Database Control Release 11.2.0.1.0
Copyright (c) 1996, 2009 Oracle Corporation. All rights reserved.
https://xx:1158/em/console/aboutApplication
Oracle Enterprise Manager 11g is running.
------------------------------------------------------------------
Logs are generated in directory /u01/app/oracle/product/11.2.0/dbhome_1/xx/sysman/log
6, 获取到如上的地址(https://xx:1158/em/console/aboutApplication),在浏览器访问
7,点开job
8,删除job
先这么观察一下。明天看结果,另外,上面查看job步骤是可以修改备份策略的。