达梦数据库归档启用介绍

夙愿已清 提交于 2019-12-02 00:07:08


--DM7
--DM6

(1)DM7数据库

     DM7数据库通过系统配置文件dm.ini(ARCH_INI参数)和dmarch.ini来进行归档的配置。DM7数据库有多种归档方式,部署DMHS时,需要开启本地归档方式,最多可以设置8个本地归档。

 Ø 查询DM7数据库是否开启了归档模式

SQL> select arch_mode from v$database;

行号   ARCH_MODE

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

1          Y

已用时间: 2.984(毫秒). 执行号:11926314.

SQL> 

 

  Ø 查询DM7数据库的归档配置信息

SQL> select arch_name,arch_type,arch_dest,arch_file_size,arch_space_limit from v$dm_arch_ini;

行号   ARCH_NAME ARCH_TYPE ARCH_DEST  ARCH_FILE_SIZE ARCH_SPACE_LIMIT

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

1      ARCHIVE_LOCAL1 LOCAL     /home/dmdba/arch 128            0

已用时间: 0.740(毫秒). 执行号:11926317.

SQL> 

或者使用manager管理工具进行查看。

    如果DM7数据库本地归档未开启,可以使用SQL语句或者在数据库系统配置文件目录直接编辑dm.ini和dmarch.ini文件进行配置。SQL语句提供了在DM7服务器运行时对归档配置进行动态修改的手段,通过SQL语句修改成功后会将相关配置写入dmarch.ini文件中。只有在mount状态下,才能对DM7数据库归档进行修改操作。

SQL> alter database mount;

操作已执行

已用时间: 00:00:01.343. 执行号:0.

SQL>alter database add archivelog 'dest=/home/dmdba/arch_new,type=local,file_size=256,space_limit=4096';

操作已执行

已用时间: 53.172(毫秒). 执行号:0.

SQL> alter database archivelog;

操作已执行

已用时间: 79.639(毫秒). 执行号:0.

SQL> alter database open;

操作已执行

已用时间: 736.239(毫秒). 执行号:0.

SQL> select arch_name,arch_type,arch_dest,arch_file_size,arch_space_limit from v$dm_arch_ini;

行号 ARCH_NAMEARCH_TYPE ARCH_DESTARCH_FILE_SIZE ARCH_SPACE_LIMIT

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

1          ARCHIVE_LOCAL1 LOCAL     /home/dmdba/arch     128            0

2          ARCHIVE_LOCAL2 LOCAL     /home/dmdba/arch_new 256            4096

已用时间: 0.928(毫秒). 执行号:11926368.

SQL>

经过修改后,dmarch.ini参数内容如下:

[ARCHIVE_LOCAL1]

        ARCH_TYPE                       = LOCAL

        ARCH_DEST                       = /home/dmdba/arch

        ARCH_FILE_SIZE          = 128

        ARCH_SPACE_LIMIT                = 0

[ARCHIVE_LOCAL2]

        ARCH_TYPE                       = LOCAL

        ARCH_DEST                       = /home/dmdba/arch_new

        ARCH_FILE_SIZE          = 256

        ARCH_SPACE_LIMIT                = 4096

另外DM7数据库还具有与ORACLE数据库兼容的动态视图V$archived_log用于显示当前实例的所有归档日志文件信息:

SQL> select name,thread#,first_change#,next_change# from v$archived_log;

行号   NAME THREAD#   FIRST_CHANGE#   NEXT_CHANGE#        

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

1          /home/dmdba/arch/ARCHIVE_LOCAL1_20170829004722110_0.log     0                    302663645            302923251

2          /home/dmdba/arch/ARCHIVE_LOCAL1_20170830175141262_0.log     0                    302924764            302926275

3          /home/dmdba/arch_new/ARCHIVE_LOCAL2_20170830175141416_0.log 0                    302924764            302926275

已用时间: 0.400(毫秒). 执行号:11926372.

SQL> 

(2)DM6数据库

      对于DM6数据库,在使用CREATE DATABASE语句创建数据库时,可以使用ARCHIVELOG和ARCHIVEDIR子句开启数据库归档模式,默认数据库是不开启归档模式。DM6数据库使用系统函数对归档配置信息进行查询:

   Ø 首先从系统全局表中查询出数据库的id值

SQL>select name,id from sysdatabases;

select name,id from sysdatabases;

name  id  

1 oca_db01 60

2 oca_db02 61

3 SYSTEM 0

4 TEST 59

5 testdb01 130

6 ZJW 303

6 rows got

time used: 1.399(ms).

SQL>

Ø 根据数据库id值查询数据库归档模式是否开启

SQL>select db_get_arch_flag(0);

select db_get_arch_flag(0);



DB_GET_ARCH_FLAG(0)  



1 0       

1 rows got

time used: 1.127(ms).

SQL>

以上db_get_arch_flag(0)查询的为SYSTEM数据库的归档是否开启,值为0表示未开启。如果数据库未开启归档模式,可以使用ALTER DATABASE语句开启归档模式。

Ø 查询数据库归档默认的归档目录以及归档风格

SQL>select db_get_arch_dir(0);

select db_get_arch_dir(0);



DB_GET_ARCH_DIR(0)  



1 /opt/dmServer/arch

1 rows got

time used: 1.147(ms).

SQL>select db_get_arch_style(0);

select db_get_arch_style(0);



DB_GET_ARCH_STYLE(0)  



1 %s%t.log

1 rows got

time used: 1.096(ms).

SQL>

如果需要对数据库默认的归档目录进行修改可以使用系统函数或者ALTER DATABASE语句进行修改。

Ø 使用系统函数修改数据库默认归档目录

SQL>select db_set_arch_dir(0,'/opt/dmServer/data');

select db_set_arch_dir(0,'/opt/dmServer/data');



DB_SET_ARCH_DIR(0,/opt/dmServer/data)  



1 1       

1 rows got

time used: 5.223(ms).

SQL>select db_get_arch_dir(0);

select db_get_arch_dir(0);



DB_GET_ARCH_DIR(0)  



1 /opt/dmServer/data

1 rows got

time used: 0.809(ms).

SQL>

或者使用ALTER DATABASE语句修改

或者使用ALTER DATABASE语句修改

SQL>alter database system modify archivedir to '/opt/dmServer/arch';

alter database system modify archivedir to '/opt/dmServer/arch'



time used: 4.624(ms).

SQL>select db_get_arch_dir(0);

select db_get_arch_dir(0);



DB_GET_ARCH_DIR(0)  



1 /opt/dmServer/arch

1 rows got

time used: 0.735(ms).

SQL>

确定好归档目录后,使用ALTER DATABASE语句开启数据库归档模式,不需要重启数据库。

SQL>alter database system archivelog;

alter database system archivelog



time used: 5.337(ms).

SQL>select db_get_arch_flag(0);

select db_get_arch_flag(0);



DB_GET_ARCH_FLAG(0)  



1 1       

1 rows got

time used: 0.763(ms).

SQL>


或者使用manager工具操作。

总结如下:

DB_GET_ARCH_DIR(id) 根据数据库id 取得归档默认路径

DB_GET_ARCH_FLAG(id) 根据数据库id 取得归档标识

DB_GET_ARCH_STYLE(id) 根据数据库id 取得归档文件名生成方式

DB_SET_ARCH_DIR(id,path) 设置归档默认路径 id 为数据库ID

DB_SET_ARCH_FLAG(id,flag) 设置归档标识 id 为数据库ID

DB_SET_ARCH_STYLE(id,style) 设置归档文件名生成方式 id 为数据库ID

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!