由于不知道怎么清理oracle 归档日志,我直接找到对应的日志文件,直接删除导致正式环境oracle 服务起不来。
花了好长时间,于是决定整理好文档,方便下次查找
下面这个是删除oracle归档日志
连接到数据库服务器,并登录到数据库。
语句:
1):su - oracle
2):sqlplus / as sysdba
首先查询Oracle归档空间使用情况,语句如下:
select * from V$FLASH_RECOVERY_AREA_USAGE;
如图所示如果显示99%以上,证明归档空间已经满了,需要清理。
进入oracle的rman模式:rman target /
使用删除语句进行删除:delete archivelog until time 'sysdate-7';
其中sysdate-7代表保留近七天的归档日志,如需保留近十天的,则需将sysdate-7修改为sysdate-10即可。
如果直接和我一样删除日志文件报ora-01034 ,ORA-27101
这样就需要恢复oracle 日志信息了 ,建议恢复的时间早点 。
我当时是 2018-08-02 上午九点删掉的,结果我恢复到2018-08-01 23:59:59 。
发现没任何用处 ,然后我们恢复到2018-08-01 20:00:00 就可以了
恢复日志文件信息的笔记在下面
第一步:通过dos命令进入sql :sqlplus
请输入用户名:xxx
请输入密码:xxxxx
SQL> shutdown immediate
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 6847938560 bytes
Fixed Size 2188768 bytes
Variable Size 3422554656 bytes
Database Buffers 3405774848 bytes
Redo Buffers 17420288 bytes
数据库装载完毕。
SQL> alter database open resetlogs;
alter database open resetlogs
*
第 1 行出现错误:
ORA-01139: RESETLOGS 选项仅在不完全数据库恢复后有效
SQL> select * from v$log;
SQL> alter database open resetlogs;
SQL> recover database until time '2018-08-01 20:00:00';
完成介质恢复。
SQL> alter database open resetlogs;
数据库已更改。
SQL> shutdown
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 6847938560 bytes
Fixed Size 2188768 bytes
Variable Size 3422554656 bytes
Database Buffers 3405774848 bytes
Redo Buffers 17420288 bytes
数据库装载完毕。
数据库已经打开。
SQL>