1、查看日志文件组或者成员:
QL> select group#,member from v$logfile;
GROUP# MEMBER
---------- ----------------------------------------
1 /u01/app/oracle/oradata/PROD/redo01.log
2 /u01/app/oracle/oradata/PROD/redo02.log
3 /u01/app/oracle/oradata/PROD/redo03.log
2、添加两个成员:
SQL> alter database add logfile group 4
2 ('/u01/app/FRA/redo05.log',
3 '/u01/app/FRA/redo06.log')
4 size 10M;
Database altered.
3、再次查看:
SQL> select group#,member from v$logfile;
GROUP# MEMBER
---------- ----------------------------------------
1 /u01/app/oracle/oradata/PROD/redo01.log
2 /u01/app/oracle/oradata/PROD/redo02.log
3 /u01/app/oracle/oradata/PROD/redo03.log
4 /u01/app/FRA/redo05.log
4 /u01/app/FRA/redo06.log
4、查看系统目录:
[oracle@enmo FRA]$ ls
ora_control4.ctl redo05.log redo06.log
5、查看日志文件:
SQL> select group#,status from v$log;
GROUP# STATUS
---------- ----------------
1 INACTIVE
4 UNUSED
3 CURRENT
2 INACTIVE
6、切换日志组:
SQL> alter system switch logfile;
System altered.
7、再次查看日志文件:
SQL> select group#,status from v$log;
GROUP# STATUS
---------- ----------------
1 INACTIVE
2 INACTIVE
3 ACTIVE
4 CURRENT
拓展:
日志组的四种状态:
1>unused:表明该日志组从来没有被使用过,我们可以看到重建的日志组就是这个状态。
2>current:是oracle当前正在使用的日志组,即后台进程LGWR正在写的日志组。
3>active:当发生日志切换的时候,状态为current的日志组就会变成active状态,表明记录在这个日志组的事务提交所造成的数据块改变,
还没有完全从database buffer cache 写入到data file中。当数据库处于archivelog mode时,ARCn就会归档这个日志组。所以处在这个状态
的日志组是不允许被覆盖的。崩溃恢复需要该状态,可用于块恢复,可能归档也可能未归档。
4>inactive:处于这个状态的日志组,表明记录在这个日志组的事务提交所造成的数据块的改变,已经完全从database buffer cache写入到
data file中了,实例恢复不再需要这个状态的日志组了,所以这个日志组是可以被覆盖的。
修改日志文件的操作步骤:
1 关闭数据库
2 启动实例到mount状态
3 在操作系统修改所修改的日志文件额路径或名称---然后使用alter语句修改。
4 开启数据库到 open状态。
1、查看数据库是否为归档模式:
SQL> archive log list;
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination /u01/app/oracle/product/11.2.0/dbhome_1/dbs/arch
Oldest online log sequence 64
Current log sequence 66
非归档模式 。
2、关闭数据库:
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
3、开启到mount状态:
SQL> startup mount;
ORACLE instance started.
Total System Global Area 835104768 bytes
Fixed Size 2257840 bytes
Variable Size 541068368 bytes
Database Buffers 289406976 bytes
Redo Buffers 2371584 bytes
Database mounted.
SQL>
查看实例的状态:
SQL> select status from v$instance;
STATUS
------------
MOUNTED
4、切换数据库到归档模式:
SQL> alter database archivelog;
Database altered.
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 64
Next log sequence to archive 66
Current log sequence 66
一般情况下,都会把归档日志文件放到快速恢复区,便于管理。这样,就需要对快速恢复区进项参数设置,如下:
5、修改归档文件的存放目录:
SQL> alter system set db_recovery_file_dest =' /u01/app/FRA/'; --- 设置快速恢复区的路径,也即归档文件的存放路径
SQL> alter system set db_recovery_file_dest_size = '3G'; ----设置快速恢复区的大小
6、查看快速恢复区的参数:
SQL> show parameter DB_RECOVERY_FILE_DEST
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string /u01/app/FRA/
db_recovery_file_dest_size big integer 3G
当然,归档日志文件还可以自己设置它的存放路径:
设置归档目标的语法:
Alter system set log_archive_dest-N=’{location|server}=directory ‘;
例如:
alter system set log_archive_dest_1=’location=/u01/app/oracle/oradata/myarchive’;
通过log_archive_format 可以设置归档日志文件的名称格式语法如下:
Alter system set log_archive_format = ‘fix_name%S_%R.%T ‘ scope=spfile;
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31392094/viewspace-2126427/ ,如需转载,请注明出处,否则将追究法律责任。