一、归档的开关
Oracle分为非归档模式(NOARCHIVELOG) 和归档模式(ARCHIVELOG)。非归档模式不产生归档日志,虽然节省了硬盘空间,但是备份方案选择很有限,通常只能选择冷备份。还原也只能还原到备份那一时刻的数据,通常也仅在开发时使用(据说在数据仓库中也使用),Oracle安装默认就是非归档模式。在生产环境中我们因该使用归档模式,它会产生归档日志,可以使用多种备份和还原方案,对与Oracle管理员来说应该更改模式是必然的选择。
0、 以操作系统权限认证的oracle sys管理员登陆
sqlplus / as sysdba
1、查看归档是否开启:
SQL> select name,log_mode from v$database;
# 也可以用下面的语句
SQL> archive log list;(该方法需要as sysdba)
2、设置归档路径
SQL> alter system set log_archive_dest_1='location=d:\arch2';
3、开启数据库归档
SQL> shutdown immediate; # 关闭数据库
SQL> startup mount; # 启动到mount状态
SQL> alter database archivelog; # 开启数据库归档
SQL> alter database open; # 打开数据库
4、关闭数据库归档
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database noarchivelog;
SQL> alter database open;
二、删除归档日志
1. su - oracle # 进入oracle账户
2. sqlplus / as sysdba # 以操作系统权限认证的oracle sys管理员登陆
3. archive log list # 查看数据库的归档模式
# 注意:输入archive log list会显示出USE_DB_RECOVERY_FILE_DEST
4. select * from V$RECOVERY_FILE_DEST; # 查询归档日志空间大小及路径
5. show parameter recover; # 显示归档文件路径
6. rman target sys/password # 退出到oracle账户根目录然后进入rman输入以上命令进入rman
7. RMAN> crosscheck archivelog all; # 验证的DB的归档日志
8. RMAN> delete expired archivelog all; # 删除所有归档日志
9. RMAN>DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7'; # 保留7天的归档日志
10. SQL> select * from V$RECOVERY_FILE_DEST; # 再查
11. SQL> alter system set db_recovery_file_dest_size=5G scope=both; # 修改大小
三、闪回区的开关
1、查看是否开启闪回区
SQL> select flashback_on from v$database;
2、设置闪回恢复区的大小
SQL> alter system set db_recovery_file_dest_size=30G scope=both;
3、设置闪回恢复区路径
SQL> alter system set db_recovery_file_dest='/u01/flashback' scope=both;
4、开启闪回
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database flashback on; --开启闪回
SQL> alter database open;
5、关闭闪回
SQL> alter database flashback off;
评论前必须登录!
注册