A 调整归档日志大小
-->SET ORACLE_SID =orcl
-->sqlplus /nolog
-->conn / as sysdba
-->show parameter db_recovery_file_dest_size;
-->alter system set db_recovery_file_dest_size=500G;
然后重启数据库后,系统可以正常使用了
B 删除过期日志
首先删除部分归档日志物理文件,归档日志一般都是位于archive目录下
把归档日志的物理文件删除后,我们就可以正常登入ORACLE了,但是还没完全把归档日志删除干净,
ORACLE的controlfile中仍然记录着这些archivelog的信息,在oracle的OEM管理器中有可视化的日志展现出,
当我们手工清除archive目录下的文件后,这些记录并没有被我们从controlfile中清除掉,接下去我们要做的就是这个工作。
-->rman target [sys/cape@orcl]
-->list archivelog all;
-->DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';
rman target 'sys/password' cmdfile 'd:\cmd.txt'
此处路径、文件名随意在命令中对应的路径下新建cmd.txt文件,打开编辑此文件,
DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';
然后在windows计划任务里添加任务,指定每天定时执行此bat文件。
C 恢复数据库
D:\>sqlplus "/ as sysdba"
SQL> startup mount;
SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
SQL>recover database until time '2005-01-17 11:57:28';
提示: 使用基于时间的恢复,时间的格式是YYYY/MM/DD HH24:MI:SS,并且用单引号括起。