达梦数据文件改名或移动
有时想改变文件存放位置,比如d:\盘空间快满了,将部分达梦文件移动到e:\盘怎么办?
同类操作oracle的alter database move命令就很方便。可以看文末一个链接参考。
移动期间表空间上数据不可访问,一般在停业务窗口执行。
第一步 offline表空间
sql
ater tablespace TS2 offline;
第二步 rename文件
sql
ALTER TABLESPACE TS2 rename datafile '/dmdata/TEST/t.dbf' to '/dmdata/TEST/TS0001.DBF';
可以改名,可以改位置,实现移动的目的。
第三步 online表空间
sql
alter tablespace TS2 online;
达梦redo文件改名
如果要改名redo文件,整库需要先置于mount状态。
sql
alter database mount;
alter database rename logfile'/dmdata/DAMENG/DAMENG01.log' to'/dmdata/DAMENG/REDO/DAMENG01.rdo';
alter database open;
达梦系统表空间移动
如果是system或roll表空间,则需要修改控制文件
转储控制文件
这时就会想起oracle的转储控制文件命令:
sql
alter database backup controlfile
to trace as '/tmp/c.sql' noresetlogs;
达梦的需要使用工具
dmctlcvt type=1 src=dm.ctl dest=c.sql

看看具体的文件信息:

修改fil_path(注意不是file_path)为新路径后,生成新的控制文件
shell
dmctlcvt type=2 src=c.sql dest=dmnew.ctl
移动系统表空间文件
关库,复制system数据文件到新路径
替换dm.ctl
cp dmnew.ctl dm.ctl
启库
temp文件修改
直接修改参数temp_path,重启数据库会自动生成新的temp文件,原来的可以删除。
oracle数据文件含有特殊字符的处理
https://blog.csdn.net/whn1977/article/details/121299640?spm=1011.2415.3001.5331