Oracle修改归档模式

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

 

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

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

select name,log_mode from v$database;

也可以用下面的语句
archive log list;(该方法需要as sysdba)


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

1. 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
  Database Buffers      33554432 bytes
  Redo Buffers            811008 bytes
  数据库装载完毕。
  数据库已经打开。

  SQL> archive log list
  数据库日志模式                     存档模式
  自动存档                              启用
  存档终点                         /oracle/oracle9i/u01/product/9201/dbs/arch
  最早的概要日志序列             19
  下一个存档日志序列          21
  当前日志序列                       21

  SQL> show parameter log_archive_start
  NAME                        TYPE     value
  ------------------------------------ ----------- ------------------------------
  log_archive_start            boolean   TRUE


  自动归档模式下强制归档

  SQL> alter system switch logfile;

  SQL> select * from v$log;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值