Home  >  Article  >  Database  >  达梦(3)如何设置归档模式

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

WBOY
WBOYOriginal
2016-06-07 15:23:142090browse

达梦数据库联机备份也要设归档模式。 粗看起来好像很容易, 只要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
<strong>5. 重启服务 </strong>
如果不重启,现有的运行的是用旧的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 &#39;/dmbak/dm_bak1&#39; backupinfo &#39;xiongchuanliang&#39;
	2   ;
	executed successfully
	used time: 00:00:01.115. Execute id is 3.
	SQL>

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn