先说总结,达梦数据库在已经开启归档模式的情况,无法在open状态下修改归档目录,把数据库改成mount状态下也无法在线修改归档目录。
要修改数据库的归档路径,只能是手工修改dmarch.ini文件,然后重启实例生效。
这一点跟oracle不同,个人觉得仅仅是修改归档目录,应该可以在线修改才更合理,要重启实例生效对于一些在线生产系统影响太大了。
1.达梦数据数据在disql命令行模式下开启归档模式
服务器[LOCALHOST:5238]:处于普通打开状态
登录使用时间 : 5.713(ms)
disql V8
SQL> set lineshow off
SQL> select arch_mode from v$database;
N
把数据库改到mount状态:
SQL> alter database mount;
操作已执行
已用时间: 2.433(毫秒). 执行号:0.
通过命令增加归档目录,并设置相关的归档目录参数:
SQL> ALTER DATABASE ADD ARCHIVELOG 'DEST=/dm8/data/arch, TYPE = local, FILE_SIZE = 256, SPACE_LIMIT = 0';
操作已执行
已用时间: 4.455(毫秒). 执行号:0.
在mount状态下,用ALTER DATABASE modify ARCHIVELOG命令修改归档的FILE_SIZE,SPACE_LIMIT等参数,均成功:
SQL> ALTER DATABASE modify ARCHIVELOG 'TYPE=local,DEST=/dm8/data/arch,FILE_SIZE = 512, SPACE_LIMIT = 10240';
操作已执行
常识用同样的命令修改归档目录为/dm8/data/archivelog,报错:
SQL> ALTER DATABASE modify ARCHIVELOG 'DEST=/dm8/data/archivelog, TYPE = local, FILE_SIZE = 512, SPACE_LIMIT = 0';
ALTER DATABASE modify ARCHIVELOG 'DEST=/dm8/data/archivelog, TYPE = local, FILE_SIZE = 512, SPACE_LIMIT = 0';
第1 行附近出现错误[-953]:归档目标不存在.
设置数据库归档:
SQL> alter database archivelog;
操作已执行
已用时间: 17.023(毫秒). 执行号:0.
SQL> alter database open;
操作已执行
已用时间: 5.949(毫秒). 执行号:0.
查询实例状态,open:
SQL> select INSTANCE_NAME,START_TIME,STATUS$,MODE$,SVR_VERSION,DB_VERSION from v$instance;
INSTANCE_NAME START_TIME STATUS$ MODE$ SVR_VERSION DB_VERSION
GZ 2023-10-25 21:36:07 OPEN NORMAL DM Database Server x64 V8 DB Version: 0x7000c
已用时间: 1.375(毫秒). 执行号:902.
在数据库open的状态下用ALTER DATABASE modify ARCHIVELOG命令修改归档的FILE_SIZE,SPACE_LIMIT等参数,同样能够执行成功,并生效:
SQL> ALTER DATABASE modify ARCHIVELOG 'TYPE=local,DEST=/dm8/data/arch,FILE_SIZE = 300, SPACE_LIMIT = 10240';
操作已执行
已用时间: 1.372(毫秒). 执行号:0.
但是在open的状态下,用ALTER DATABASE modify ARCHIVELOG命令修改归档目录仍然报错:
SQL> ALTER DATABASE modify ARCHIVELOG 'TYPE=local,DEST=/dm8/data/arch/archivelog,FILE_SIZE = 300, SPACE_LIMIT = 10240';
ALTER DATABASE modify ARCHIVELOG 'TYPE=local,DEST=/dm8/data/arch/archivelog,FILE_SIZE = 300, SPACE_LIMIT = 10240';
第1 行附近出现错误[-953]:归档目标不存在.
已用时间: 0.417(毫秒). 执行号:0.
SQL>
因此,要修改数据库的归档路径,只能是手工修改dmarch.ini文件,然后重启实例生效。
[dmdba@klin gz]$ cat dmarch.ini
#DaMeng Database Archive Configuration file
#this is comments
ARCH_WAIT_APPLY = 0
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/data/arch #######修改此处的路径#####
ARCH_FILE_SIZE = 300
ARCH_SPACE_LIMIT = 10240
ARCH_FLUSH_BUF_SIZE = 0
ARCH_HANG_FLAG = 1
有提前创建相关的归档目录:
[dmdba@klin data]$ pwd
/dm8/data
[dmdba@klin data]$ ls -rtl
总用量 8
drwxr-xr-x 6 dmdba dinstall 4096 10月 25 21:36 gz
drwxr-xr-x 2 dmdba dinstall 6 10月 25 21:47 archivelog
drwxr-xr-x 2 dmdba dinstall 6 10月 25 21:48 arch
[dmdba@klin data]$
文章
阅读量
获赞