Posted on 2007-06-11 18:01
胡娟 阅读(1002)
评论(0) 编辑 收藏 所属分类:
Oracle
1.数据库日志的归档模式分为:
1.1非归档模式noarchivelog:缺省情况下为noarchivelog,oracle不保留久的重做日志信息,可以在原来的基础上覆盖写入。因此一般情况下不可恢复。
1.2归档模式archivelog :oracle 一般至少有一组日志文件,含有三个日志成员文件。他们是轮流交替被写入所作的一切修改信息。当系统设置为可恢复模式即归档模式是,oracle自动将每次即将被覆盖的日志信息先做备份,然后再其上记录所修改的信息。
2确认数据库日志工作模式:
办法一:查询v$database
1SQL> select log_mode from v$database;
2
3LOG_MODE
4------------
5ARCHIVELOG --表明日志工作模式在归档模式
办法二:
1 SQL> archive log list
2 数据库日志模式 存档模式
3 自动存档 启用
4 存档终点 USE_DB_RECOVERY_FILE_DEST
5 最早的联机日志序列 31
6 下一个存档日志序列 33
7 当前日志序列 33
3.修改日志归档模式
从归档archivelog/noarchivelog到非归档noarchivelog/archivelog
1)关闭数据库
1 SQL> shutdown immediate;
2 数据库已经关闭。
3 已经卸载数据库。
4 ORACLE 例程已经关闭。
2)启动数据库至mount状态
1 SQL> startup mount;
2 ORACLE 例程已经启动。
3
4 Total System Global Area 209715200 bytes
5 Fixed Size 1248140 bytes
6 Variable Size 83887220 bytes
7 Database Buffers 121634816 bytes
8 Redo Buffers 2945024 bytes
9 数据库装载完毕。
3)执行命令
alter database noarchivelog/archivelog进行修改
1 SQL> alter database noarchivelog;
2
3 数据库已更改。
4)确认执行结果
1 SQL> select log_mode from v$database;
2
3 LOG_MODE
4 ------------
5 NOARCHIVELOG
6
5)打开数据库
1
2 SQL> alter database open;
3
4 数据库已更改。
5
4.修改自动归档模式
办法一:将数据库加载至mount状态。然后执行命令(该方法不持久,重新启动服务后对所作的修改无效)
1 SQL> alter system archive log start;
2
3 系统已更改。
4
1SQL> alter system archive log start;
2
3系统已更改。
4
5SQL> archive log list;
6数据库日志模式 存档模式
7自动存档 启用
8存档终点 USE_DB_RECOVERY_FILE_DEST
9最早的联机日志序列 31
10下一个存档日志序列 33
11当前日志序列 33
办法二:通过修改pfile文件实现持久性修改。在pfile文件中的init.ora文件中加入log_archive_log=true,然后通过pfile文件加载数据库即可
startup pfile='D:\oracle\admin\libn\pfile\init.ora' mount;。
5.oracle 9i默认会通过SPFILE文件启动数据库。由pfile文件创建SPFILE:
SQL> create spfile='D:\oracle\ora92\database\SPFILELIBN.ORA' from PFILE='D:\oracle\admin\libn\pfile\init.ora';