首页 >数据库 >Oracle >oracle怎么查询归档状态

oracle怎么查询归档状态

WBOY
WBOY原创
2022-02-28 12:19:209651浏览

oracle查询归档状态的方法:1、利用“select name,log_mode from v$database;”语句查看数据库现在归档状态;2、以“sysdba”登录,利用“archive log list”语句查看归档的状态。

oracle怎么查询归档状态

本教程操作环境:Windows10系统、Oracle 11g版、Dell G3电脑。

oracle怎么查询归档状态

查看oracle数据库是否归档和修改归档模式

Oracle分为非归档模式(NOARCHIVELOG) 和归档模式(ARCHIVELOG)。非归档模式不产生归档日志,虽然节省了硬盘空间,但是备份方案选择很有限,通常只能选择冷备份。还原也只能还原到备份那一时刻的数据,通常也仅在开发时使用(据说在数据仓库中也使用),Oracle安装默认就是非归档模式。在生产环境中我们因该使用归档模式,它会产生归档日志,可以使用多种备份和还原方案,对与Oracle管理员来说应该更改模式是必然的选择。

首先查看数据库现有模式可使用以下语句

select name,log_mode from v$database;

也可以用下面的语句

archive log list;(该方法需要as sysdba)

对于非归档模式的数据库该为归档模式(主要以Oracle 10g为参考)使用以下步骤:

 SQL> alter system set log_archive_dest_1='location=/oracle/oracle10g/log/archive_log';

该语句含义是确定归档日志的路径,实际上Oracle 10g可以生成多份一样的日志,保存多个位置,以防不测

例如再添加一个日志位置可使用以下语句

SQL>alter system set log_archive_dest_2='location=/oracle/oracle10g/log2/archive_log';

2.关闭数据库

SQL> shutdown immediate

3.启动数据mount状态:

SQL> startup mount;

4、修改数据库为归档模式:

SQL> alter database archivelog;

5、打开数据库,查询:

SQL> alter database open;

修改日志文件命名格式:

SQL> alter system set log_archive_max_processes = 5;
SQL> alter system set log_archive_format = "archive_%t_%s_%r.log" scope=spfile;

修改完成后可以查看日志模式是否修改成功!

特别指出的是在Oracle 9i中还要修改参数alter system set log_archive_start = true才能生效,oracle 10g中已经废除了该参数,所以不需要设置该参数。

自动归档默认是禁用,需要修改parameter log_archive_start=TRUE才能启用自动归档。

SQL> show parameter log_archive_start
NAME TYPE value
------------------------------------ ----------- ------------------------------
log_archive_start boolean FALSE
SQL> archive log list

数据库日志模式 存档模式

自动存档 禁用

存档终点 /oracle/oracle9i/u01/product/9201/dbs/arch

最早的概要日志序列 18

下一个存档日志序列 19

当前日志序列 20

SQL> alter system set log_archive_start=TRUE scope=spfile;

系统已更改。

SQL> startup force
ORACLE 例程已经启动。
Total System Global Area 320308312 bytes
Fixed Size 730200 bytes
Variable Size 285212672 bytes
Databa

推荐教程:《Oracle视频教程

以上是oracle怎么查询归档状态的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn