达梦(3)如何设置归档模式

原创
2016-06-07 15:23:14 1668浏览

达梦数据库联机备份也要设归档模式。 粗看起来好像很容易, 只要alter database archivelog;就可以了。 坑人的是光这样做,你是做不了联机备份的,要去dmarch.ini中改了,重启服务才算数. 这个dmarch.ini内容默认是空的,但在Windows下,会提供一个dmarch_ex

达梦数据库联机备份也要设归档模式。 粗看起来好像很容易, 只要alter database archivelog;就可以了。 坑人的是光这样做,你是做不了联机备份的,要去dmarch.ini中改了,重启服务才算数. 这个dmarch.ini内容默认是空的,但在Windows下,会提供一个dmarch_example.ini文件来做例子。Linux下则没有,所以搞达梦,先弄Windows再弄Linux才明智。Windows版的明显比Linux做得完善,当然性能就不清楚有差异没。

具体的设置归档模式的步骤如下:
1. 查看现有状态
Connected to: DM 7.1.2.215
SQL> select arch_mode from v$database;


LINEID     ARCH_MODE
---------- ---------
1          N        

used time: 1.709(ms). Execute id is 512.
2. 生成归档目录
mkdir /opt/dmdbms/data/DMSERVER/arch

3. 到数据库所在目录下,在空白的dmarch.ini 中新增这些参数
[ARCHIVE_LOCAL1]
ARCH_TYPE		 = LOCAL
ARCH_DEST		 = /opt/dmdbms/data/DMSERVER/arch
ARCH_FILE_SIZE	 	 = 128
ARCH_SPACE_LIMIT	 = 0
4. 检查 dm.ini,让它知道dmarch.ini 生效了。
a. cp dm.ini dm_bk.ini
b.
更改方法一:
vi dm.ini
可将ARCH_INI 对应的参数改为 1 ,即可启用

更改方法二:
	    SQL>alter database mount;
		executed successfully
		used time: 545.290(ms). Execute id is 0.
		SQL>alter database archivelog;
		executed successfully
		used time: 2.191(ms). Execute id is 0.
		SQL>alter database open;
		executed successfully
		used time: 523.332(ms). Execute id is 0.
		SQL>select arch_mode from v$database;


		LINEID     ARCH_MODE
		---------- ---------
		1          Y        

		used time: 1.360(ms). Execute id is 513.
		SQL>
	#configuration file
                MAL_INI  =  0                    #dmmal.ini
                ARCH_INI                        =  1                    #dmarch.ini
                REP_INI                         =  0                    #dmrep.ini
                LLOG_INI                        =  0                    #dmllog.ini
                TIMER_INI                       =  0                    #dmtimer.ini
                MPP_INI                         =  0                    #dmmpp.ini
5. 重启服务 
如果不重启,现有的运行的是用旧的dm.ini中的参数,即归档目录等相关设置实际上并没生效。

重启 :
Linux下:
1. 如果是用下面这个命令启动的,去crlt+c 或exit 即退出
./dmserver /opt/dmdbms/data/DMSERVER/dm.ini
或

./dmserver /opt/dmdbms/data/DMSERVER/dm.ini -noconsole

Windows下:

在这里重启

6. 检查设置是否真的成功了。
做一个联机备份来看是否可以备份成功。
backup database full to dm_bak1 bakfile '/dmbak/dm_bak1' backupinfo 'xiongchuanliang' ;
	SQL>backup database  full to  dm_bak1 bakfile '/dmbak/dm_bak1' backupinfo 'xiongchuanliang'
	2   ;
	executed successfully
	used time: 00:00:01.115. Execute id is 3.
	SQL>

达梦的文档老实说,真不给力。 上面这些步骤,反复查资料和尝试才弄出来,很费力。

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