达梦数据库联机备份也要设归档模式。 粗看起来好像很容易, 只要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>
达梦的文档老实说,真不给力。 上面这些步骤,反复查资料和尝试才弄出来,很费力。
终于尝试出第二种方法了:
设置归档模式:
alter database mount;
-- 配置归档参数,本质相当于更改 dmarch.ini 文件
-- 具体查 <<DM_SQL>> p59页
alter database add archivelog 'DEST=C:\dmdbms\data\DAMENG\arc,TYPE=local,FILE_SIZE=128,space_limit=1024';
--将数据库设为归档模式
alter database archivelog;
alter database open;
-- DEST:
归档文件存放目录(本地/远程), 如果所指向的本地目录不存在会自动创建.
-- TYPE=归档类型, :
远程实时归档(REALTIME)
远程异步归档(ASYNC)
远程同步归档(SYNC)
本地归档(LOCAL)
MPP远程归档(MARCH)
-- FILE_SIZE=归档文件大小,space_limit=空间大小限制
取消归档模式:
alter database mount;
alter database noarchivelog;
alter database open;
这种方法相对方便很多,不用手工去设置那些ini文件了.
第三种方法:
使用图形界面方式更改数据库归档模式
1. 运行DM管理工具并连接
2. 在”LOCALHOST(SYSDBA)节点,点右键,选择管理服务器
3. 将数据库状态从”打开”更改成”配置”,再点击”转换”按纽
4. 在归档配置下,选择”归档(R)” 再点”添加”,输入”归档目标”一栏的路径
5. 再将系统状态从”配置” 改为”打开” 点击”转换”按纽 即完成数据库归档模式的修改
MAIL: xcl_168@aliyun.com
Blog: http://blog.csdn.net/xcl168