归档模式练习

来源:互联网 发布:手机绘图软件 戒指 编辑:程序博客网 时间:2024/06/13 13:39

1、查询数据库归档模式

select log_mode from v$database;

archive log list;

SQL> select log_mode from v$database;

 

LOG_MODE

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

NOARCHIVELOG

 

SQL> archive log list;

数据库日志模式             非存档模式

自动存档             禁用

存档终点            USE_DB_RECOVERY_FILE_DEST

最早的联机日志序列     2

当前日志序列           4

SQL> show parameter db_recovery

 

NAME                                 TYPE        VALUE

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

db_recovery_file_dest

C:\oracle\product\10.2.0/flash

                                                _recovery_area

db_recovery_file_dest_size

2G

 

2、修改归档模式

启动数据库到mount状态

alter database archivelog;

alter database noarchivelog;

 

SQL> alter database archivelog;

 

数据库已更改。

 

SQL> archive log list;

数据库日志模式            存档模式

自动存档             启用

存档终点            USE_DB_RECOVERY_FILE_DEST

最早的联机日志序列     2

下一个存档日志序列   4

当前日志序列           4

 

3、设置归档路径

log_archive_dest_1

log_archive_dest_2

...

 

log_archive_dest_10

 

alter system set

  log_archive_dest_1='location=c:\arc\';

alter system set

  log_archive_dest_2='location=d:\arc\';

 

4、设置归档文件名格式

log_archive_format

SQL> alter system set

log_archive_format='arc_%S_%T_%R.arc'

scope=spfile;

ARC_00005_001_0740309526.ARC

 

 

 

2、归档模式备份恢复

2.1 把数据置成归档模式

查询

select log_mode from v$database;

archive log list;

 

设置归档模式

shutdown immediate

startup mount

alter database archivelog;

alter database open;

 

2.2 备份

 

热备份(数据库运行状态下备份)

 

备份数据文件

alter tablespace users begin backup;

拷贝数据文件

alter tablespace users end backup;

 

alter database begin backup;

拷贝数据文件

alter database end backup;

 

备份控制文件

alter database backup controlfile to 'd:\ctl.ctl'

 

 

备份恢复练习

SQL> alter tablespace users begin backup;

拷贝数据文件users01.dbf

SQL> alter tablespace users end backup;

 

SQL> create table test (id number) tablespace users;

 

表已创建。

 

SQL> insert into test values(100);

 

已创建 1 行。

 

SQL> commit;

 

提交完成。

 

SQL> alter system switch logfile;

 

系统已更改。

 

SQL> insert into test values(200);

 

已创建 1 行。

 

SQL> commit;

 

提交完成。

 

SQL> alter system switch logfile;

 

系统已更改。

 

SQL> insert into test values(300);

 

已创建 1 行。

 

SQL> commit;

 

提交完成。

 

SQL> alter system switch logfile;

 

系统已更改。

 

SQL> insert into test values(400);

 

已创建 1 行。

 

SQL> commit;

 

提交完成。

 

SQL> alter system switch logfile;

 

系统已更改。

 

 

恢复

altertablespace users offline;

recover datafile 4;

altertablespace users online;