ITPub博客

首页 > 数据库 > Oracle > Oracle 归档和非归档模式之间的切换

Oracle 归档和非归档模式之间的切换

原创 Oracle 作者:kuqlan 时间:2012-06-10 15:25:32 0 删除 编辑

Oracle 数据运行模式有 归档和非归档模式两种,数据库安装后的默认情况及相互切换方法如下:

1、在Linux4.7+Oracle10g环境:当数据库创建时,如果没有选择flash_recovery_area并不启用归档操作,则模式设置如下:

SQL> archive log list;

Database log mode No Archive Mode

Automatic archival Disabled

Archive destination /opt/oracle/product/10.2.0/dbs/arch

Oldest online log sequence 15

Current log sequence 17

SQL>

[@more@]

要改变为归档模式并改变默认的归档文件路径的具体操作步骤如下:

在操作系统创建归档所需的独立目录,如果放到默认目录,则该步骤不用执行:

[root@dbserv ~]# cd /opt/

[root@dbserv opt]# mkdir backup

[root@dbserv opt]# chown -R oracle:oinstall backup/

[root@dbserv opt]# chmod -R 755 backup/

关闭数据库并将重启至mount状态

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup mount;

SQL> archive log list;

Database log mode No Archive Mode

Automatic archival Disabled

Archive destination /opt/oracle/product/10.2.0/dbs/arch

Oldest online log sequence 15

Current log sequence 17

更改默认归档路径并将数据库改为归档模式(要注意location字符及等号前后无空格):

SQL> alter system set log_archive_dest_1='location=/opt/backup';

System altered.

SQL> alter database archivelog;

Database altered.

SQL> archive log list;

Database log mode Archive Mode

Automatic archival Enabled

Archive destination /opt/backup

Oldest online log sequence 15

Next log sequence to archive 17

Current log sequence 17

如果要返回非归档模式,则在mount状态下执行如下命令即可:

SQL> alter database noarchivelog;

2、在Linux4.7+Oracle10g环境:当数据库创建时,如果选择flash_recovery_area并不启用归档操作,则模式设置如下:

SQL> archive log list;

Database log mode No Archive Mode

Automatic archival Disabled

Archive destination USE_DB_RECOVERY_FILE_DEST

Oldest online log sequence 4

Current log sequence 6

这里的USE_DB_RECOVERY_FILE_DEST指的是,当数据库创建时如果选用flash_recovery_area的默认路径,则个如下:

SQL> show parameter db_recovery_file_dest

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

db_recovery_file_dest string /opt/oracle/flash_recovery_are

a

db_recovery_file_dest_size big integer 2G

该路径建库是也可以自定义,当然建库完毕后也可以如下命令修改:

SQL> alter system set db_recovery_file_dest='/opt/backup' scope=spfile;

System altered.

SQL> show parameter db_recovery_file_dest;

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

db_recovery_file_dest string /opt/oracle

db_recovery_file_dest_size big integer 2G

修改后,实际效果是新生成的archivelog已经在新路径下存储, 但是flashback缺仍然在原来的路径下生成,因此整个修改过程应该如下:

1 alter system set db_recovery_file_dest='xxx' scope=spfile;

2 shutdown immediate;

3 startup mount

4 alter database flashback off;

5 alter database flashback on;

6 alter database open;

以上过程中,步骤4和5是必须的;

如果要返回非归档模式,则在mount状态下执行如下命令即可:

SQL> alter database noarchivelog;

3、在Windows+Oracle10g环境:当数据库创建时,如果没有选择flash_recovery_area并不启用归档操作,则模式设置如下:

SQL> archive log list

数据库日志模式 存档模式

自动存档 启用

存档终点 D:oracleproduct10.2.0db10gRDBMS

最早的联机日志序列 0

下一个存档日志序列 1

当前日志序列 1

修改过程跟Linux环境一样,即关闭数据库,在Nomont状态下:

SQL> alter system set log_archive_dest_1='location=D:oraclebackuparchive';

系统已更改。

SQL> alter database archivelog;

数据库已更改。

SQL> archive log list;

数据库日志模式 存档模式

自动存档 启用

存档终点 D:oraclebackuparchive

最早的联机日志序列 4

下一个存档日志序列 6

当前日志序列 6

SQL>

关于在Windows上艰苦时启用flash_recovery_area功能,跟Linux环境一样;

4、DB_RECOVERY_FILE_DEST、log_archive_dest_n、log_archive_dest的说明:

DB_RECOVERY_FILE_DEST参数是默认的flash recovery area的路径,里面存放有归档日志、闪回日志以及rman的备份文件等文件。如果归档原来不在闪回去,设置归档日志存放在闪回区,可以使用如下命令:

SQL> alter system set log_archive_dest_1='location=USE_DB_RECOVERY_FILE_DEST';

System altered.

log_archive_dest_n与DB_RECOVERY_FILE_DEST参数都可以用来存放归档日志,但二者的关系是:不设置log_archive_dest_n时,使用DB_RECOVERY_FILE_DEST来存文件;当设置了log_archive_dest_n时,则使用log_archive_dest_n来存放归档日志。

log_archive_dest_n与log_archive_dest 和 Log_archive_duplex_dest参数不兼容,如果设置了log_archive_dest参数,需要先将其清空:

SQL> alter system set log_archive_dest='';

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/18841027/viewspace-1058473/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle技术爱好者,Oracle10g OCM,网名 KUQLAN ,具有7的年Oracle数据库管理实践,曾经参加过BOSS、ERP、云计算(OpenStack+kvm)等项目的一线工作。以前写博客是为了自己,而现在是为了自己和别人。因为领会了帮助别人和分享、沉淀和积累会创造快乐和价值...

注册时间:2009-01-26

  • 博文量
    183
  • 访问量
    1681006