第一种方法
selectname,log_modefromv$database;
-----------------------------------------------------------
第二种方法
archiveloglist
2,oracle启动归档模式?
startupmount
alterdatabasearchivelog;
alterdatabaseopen;
altersystemsetlog_archive_start=truescope=spfile;
修改数据库参数文件c:oracleadminoradbpfileinitora,取消以下语句的#注释
log_archive_start=true
log_archive_dest_1="location=C:Oracleoradataoradbarchive"
log_archive_format=%%ORACLE_SID%%T%TS%SARC
关闭数据库,重新启动
查看C:Oracleoradataoradbarchive目录下,可以看到类似ARC的文件,说明归档成功
解释initora参数文件中关于归档重做日志参数项的含义
归档模式是自动还是手工,true为自动,false为手工
log_archive_start=true
归档日志文件所保存的路径
log_archive_dest_1="location=C:Oracleoradataoradbarchive"
归档日志文件的命名方法
log_archive_format=%%ORACLE_SID%%T%TS%SARC
2、禁止归档
a关闭数据库shutdownimmediate
bstartupmount
calterdatabase
dalterdatabaseopen
将一些不常使用的数据放在大容量和不可访问的设备上。根据查询从归档数据库详细资料得知,从归档数据库中分析是将一些不常使用的数据放在大容量和不可访问的设备上,且具有保存价值的事情或文件经系统整理后交档案室(馆)保存备案(备查)的过程。数据库是“按照数据结构来组织、存储和管理数据的仓库”。
Oracle数据库可以运行在 种模式下:归档模式(archivelog)和非归档模式(noarchivelog)
归档模式可以提高Oracle数据库的可恢复性 生产数据库都应该运行在此模式下 归档模式应该和相应的备份策略相结合 只有归档模式没有相应的备份策略只会带来麻烦
本文简单介绍如何启用和关闭数据库的归档模式
shutdown normal或shutdown immediate关闭数据库
[oracle@jumper oracle]$ sqlplus / as sysdba
SQLPlus: Release Production on Sat Oct : :
Copyright (c) Oracle Corporation All rights reserved
Connected to:
Oracle i Enterprise Edition Release Production
With the Partitioning option
JServer Release Production
SQL> shutdown immediate;
Database closed
Database di ounted
ORACLE instance shut down
启动数据库到mount状态
SQL> startup mount;
ORACLE instance started
Total System Global Area bytes
Fixed Size bytes
Variable Size bytes
Database Buffers bytes
Redo Buffers bytes
Database mounted
启用或停止归档模式
如果要启用归档模式 此处使用
alter database archivelog 命令
SQL> alter database archivelog;
Database altered
SQL> alter database open;
Database altered
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /opt/oracle/oradata/conner/archive
Oldest online log sequence
Next log sequence to archive
Current log sequence
如果需要停止归档模式 此处使用
alter database noarchivelog 命令
SQL> shutdown immediate;
Database closed
Database di ounted
ORACLE instance shut down
SQL> startup mount;
ORACLE instance started
Total System Global Area bytes
Fixed Size bytes
Variable Size bytes
Database Buffers bytes
Redo Buffers bytes
Database mounted
SQL> alter database noarchivelog;
Database altered
SQL> alter database open;
Database altered
SQL> archive log list;
Database log mode No Archive Mode
Automatic archival Enabled
Archive destination /opt/oracle/oradata/conner/archive
Oldest online log sequence
Current log sequence
修改相应的初始化参数
Oracle g之前 你还需要修改初始化参数使数据库处于自动归档模式
在pfile/spfile中设置如下参数
log_archive_start = true
重启数据库此参数生效 此时数据库处于自动归档模式
也可以在数据库启动过程中 手工执行
archive log start
lishixinzhi/Article/program/Oracle/201311/17704
对于重要的生产业务建议开启归档模式,通过对在线日志的归档,可以在数据丢失时进行数据恢复、部分 *** 作也只有在归档模式下才能实施、分析日志内容等。
对于非归档数据库开启归档功能 *** 作如下:
1)SQL
2)SQL
3)SQL
4)SQL
5)SQL
6)SQL
7)SQL
1归档模式
Oracle数据库有联机重做日志,这个日志是记录对数据库所做的修改,比如插入,删除,更新数据等,对这些 *** 作都会记录在联机重做日志里。一般数据库至少要有2个联机重做日志组。当一个联机重做日志组被写满的时候,就会发生日志切换,这时联机重做日志组2成为当前使用的日志,当联机重做日志组2写满的时候,又会发生日志切换,去写联机重做日志组1,就这样反复进行。
如果数据库处于非归档模式,联机日志在切换时就会丢弃 而在归档模式下,当发生日志切换的时候,被切换的日志会进行归档。比如,当前在使用联机重做日志1,当1写满的时候,发生日志切换,开始写联机重做日志2,这时联机重做日志1的内容会被拷贝到另外一个指定的目录下。这个目录叫做归档目录,拷贝的文件叫归档重做日志。
数据库使用归档方式运行时才可以进行灾难性恢复。
1归档日志模式和非归档日志模式的区别
非归档模式只能做冷备份,并且恢复时只能做完全备份最近一次完全备份到系统出错期间的数据不能恢复
归档模式可以做热备份,并且可以做增量备份,可以做部分恢复
用ARCHIVE LOG LIST 可以查看期模式状态时归档模式还是非归档模式
2非归档模式
相反非归档就是不保存旧事务日志。
如何解决Oracle数据库归档日志占满磁盘空间
1、常用命令
SQL> show parameter log_archive_dest;
SQL> archive log list;
SQL> select from V$FLASH_RECOVERY_AREA_USAGE;
ARCHIVELOG 9662 0 141
SQL> select sum(percent_space_used)3/100 from v$flash_recovery_area_usage;
29904
SQL> show parameter recover;
db_recovery_file_dest string /u01/oracle/flash_recovery_area
db_recovery_file_dest_size big integer 2G
一 更改日志 *** 作模式三步走
默认情况下 Oracle数据库采用的是非归档模式 但是 非归档模式不能够防止因物理损坏而导致丢失数据问题 为此数据库管理员可能需要把日志 *** 作模式从非归档模式转换为归档模式 其实 要进行这个转换的话 只需要通过简单的三个步骤即可 不过在进行 *** 作之前 要需要注意 以下的 *** 作都必须要求用户具有数据库管理员的权限 即只有SYSDBA或者SYSOPER身份才能够执行如下的 *** 作
要更改日志 *** 作模式 具体 *** 作步骤如下
第一步 先确定当前的日志 *** 作模式 当数据库管理员更改当前 *** 作日志模式之前 需要先确定一下当前日志 *** 作模式 此时数据库管理员可以查询动态性能视图 来确认当前日志 *** 作模式 如可以利用如下语句来查询我们所需要的信息 动态性能视图中存储著很多数据库运行信息 从中我们数据库管理员可以获取很多有用的信息 如现在要了解当前数据库的日志 *** 作模式 就可以从数据库动态性能视图中获知
第二步 关闭数据库 如果确认数据库当前的日志 *** 作模式为非归档模式 需要把它改为归档 *** 作模式 需要先关闭当前运行的数据库 然后重新装载数据库 需要注意的是 更改日志 *** 作模式只能够在MOUNT状态下进行 因此必须首先关闭数据库 然后重新装载数据库 另外 如果需要更改日志 *** 作模式 那么在关闭数据库时不能够使用SHUTDOWN ABORT命令 SHUTDOWN ABORT命令的作用其实跟KILL进程具有同样的效果 若利用这个命令的话 可能会给数据库带来一些不利的因素 如可能导致文件状态不一致 在数据库正常关闭的时候 数据库会同步校验各个文件 使得重新启动的时候文件时间点一致并且不用进行崩溃修复 而使用这个命令不会进行这个检验 所以 采用SHUTDOWN ABORT命令关闭数据库的时候 可能会导致数据库启动出错 导致已经递交的数据丢失 甚至出现数据库崩溃的噩梦 所以 无论是在更换数据库日志 *** 作模式 又或者其他原因需要关闭数据库的 最好不要采用这个命令 只有在采用其他关闭数据库命令不能够奏效的情况下 才能够使用这个命令 笔者建议通过SHUTDOWN IMMEDIATE命令来关闭数据库
数据库关闭之后 再利用Startup命令 把数据库启动到MOUNT状态 再次提醒一次 只有在Mount状态下才能够更改日志 *** 作模式
第三步 更改日志 *** 作模式 以上准备工作做好之后 就可以利用相关命令来更改日志 *** 作模式 我们可以利用如下命令来进行更改
然后重新打开数据库之后 设置就生效了
二 手工对重做日志文件进行归档
有时候出于某些原因 数据库管理员可能需要手工对重做日志进行归档 在 G以后的版本中 默认情况下 当将日志 *** 作模式从非归档模式转换为归档 *** 作模式的时候 Oracle数据库会在后台自动启动一个ARCH进程 这个进程就是负责重做日志的备份任务 通常情况下 归档模式下 数据库会自动备份重做日志
若需要手工备份重做日志的话 即手工归档 则必须在改变 *** 作日志模式中明确说明 即在上面的命令中 加入MANUAL参数 如果加入这个参数后 则数据库管理员就必须手工执行归档命令 如果数据库管理员没有手工执行归档命令的话 则日志组中的内容就无法被进行覆盖 所以通常情况下 除了一些特殊的需要 如数据库测试 才使用手工归档方式 否则的话 就还是采用自动归档方式更加的合理 值得一提的是 根据笔者了解 这个参数只是一个过渡参数 主要为了跟以前的Oracle数据库版本兼容 估计在不久之后 这个手工归档的参数会取消掉
三 设置归档文件的存储位置
在 *** 作系统管理中 系统管理员往往会重新设置我的文档 IE收藏夹等存储位置 以防止系统奔溃时这些数据的丢失 其实 在Oracle归档日志文件管理中也是如此 当数据库管理员把日志 *** 作模式从非归档模式转换为归档模式时 需要根据实际情况 重新设置归档文件的存储位置
当数据库处于归档模式时 如果进行日志切换 后台进程将自动生成归档日志文件 归档日志文件的默认存储位置为Oracle数据库安装目录下的RDBMS下 而在实际工作中 数据库管理员往往会改变其存储位置 如出于空间的考虑或者安全方面的考虑 会把归档日志存放在数据文件不同的硬盘中 等等
如果需要更改归档日志的 *** 作文件 则需要变更相应的初始化参数 参数Log Archive Dest就是用来控制归档日志的存储路径的 通常情况下 若是没有备用数据库的话 则只需要把归档日志存放到服务器上的独立的硬盘中即可 而不需要进行异地备份 如果需要配置本地归档日志的存储路径 则可以通过以上的初始化参数以及Log Archive Duples_Dest参数 其中前面一个参数用来指定第一个归档日志的位置 第二个参数用来指定第二个归档日志的位置 当分别对以上两个参数进行配置后 数据库系统在进行日志切换时 后台进程就会生成两份完全相同的归档日志 分别存储在上面两个不同的路径中 这里需要强调的一点是 存放在两个不同路径中的归档日志文件是完全相同的 这主要是出于数据安全的需要 一般情况下 只需要一个归档日志即可 若不放心的话 则可以设置多个归档日志存放位置 不过这些归档日志最好能够存放到不同的磁盘上 否则的话 就没有多少的实际意义
除了以上这个配置参数之外 平时工作中 我们还经常会使用Log Archive Dest_N这个参数 这个参数主要用于指定多个归档位置 通常情况下 可以多大十个归档位置 这个参数跟先前提到的两个参数有比较大的不同 数据库管理员要对此有清晰的认识 只有如此 才能够根据自己的需要 选择合适的初始化参数 他们的差异主要有以下几点
一是不带N的初始化参数(即前面的两个参数)只能够用来配置本地归档位置 而后面谈到的这个参数这可以用来配置本地归档位置与远程归档位置 也就是说 如果数据库管理员要把归档日志文件保存在网络上的其它主机中时 就必须利用后面的参数进行配置 这个区别是几个参数之间最大的差异 不过由于网络传输等方面的限制 笔者并不建议把归档日志保存在其它主机上 而是建议在数据库服务器中增加一块独立的硬盘用来保存归档日志文件即可 因为硬盘之间数据的复制要比网络传输要快的多 这可以避免重做日志归档时对网络资源过多的占用 从而降低网络的性能
二是前面两个参数只能够配置两个不同的归档日志位置;而后面一个参数则可以配置多大十个归档日志文件位置 这是两者数量上的差异 不过没什么作用 对于大部分企业来说 可能两个归档日志文件存放位置已经可以满足他们的需求了 另外一个小的差异就是 后面这个参数不能够跟前面两个参数共存 为此 当使用后者这个参数时 就需要先把前面两个参数禁用掉 因为数据库默认情况下 是启动第一个初始化参数的
三是具体的配置也有所不同 利用后者参数指定归档日志存储位置时 如果配置本地归档位之 则需要指定Location选项;如果是配置远程归档日志位置时 则就需要制定Service选项 这个选项主要用来指定远程数据库的网络服务名 通常情况下 数据库管理员可以同时配置本地归档位置与远程归档位置
lishixinzhi/Article/program/Oracle/201311/18259
以上就是关于如何查看数据库是否处于归档模式全部的内容,包括:如何查看数据库是否处于归档模式、什么是从归档数据库中分析、如何启动或关闭数据库的归档模式等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)