注册
达梦8更改各类文件位置总结
技术分享/ 文章详情 /

达梦8更改各类文件位置总结

闫伟 2022/12/24 1863 0 0

汇总更改文件的位置

本文主要对达梦8中文件移动进行了汇总。

达梦8的物理存储结构

主要有控制文件,数据文件,重做日志文件组成。
其中数据文件根据存放的数据不同,又有系统的数据文件,普通数据文件,ROLL文件,临时文件。

普通数据文件的移动

查看当前数据文件test101.dbf的位置

SQL> select tablespace_name,file_name from dba_data_files;
行号     TABLESPACE_NAME FILE_NAME                         
---------- --------------- ----------------------------------
1          SYSTEM          /opt/dm8/data/DAMENG/SYSTEM.DBF
2          roll2           /home/dmdba/roll2.dbf
3          TBS1_NEW        /opt/dm8/data/DAMENG/tbs102.dbf
4          TBS1_NEW        /opt/dm8/data/DAMENG/tbs101.dbf
5          TEST1           /opt/dm8/data/DAMENG/test101.dbf
6          MAIN            /opt/dm8/data/DAMENG/disk/MAIN.DBF
7          TEMP            /opt/dm8/data/temp/TEMP.DBF
8          ROLL            /opt/dm8/data/DAMENG/ROLL.DBF
8 rows got

已用时间: 57.745(毫秒). 执行号:5.

移动test101.dbf文件

将test1置为离线状态

SQL> alter tablespace test1 offline;
操作已执行
已用时间: 101.732(毫秒). 执行号:6.

移动位置

SQL> alter tablespace test1 rename datafile '/opt/dm8/data/DAMENG/test101.dbf' to '/opt/dm8/data/DAMENG/disk/test01.dbf';
操作已执行
已用时间: 314.194(毫秒). 执行号:7.

将表空间置为在线状态

SQL> alter tablespace test1 online;
操作已执行
已用时间: 20.210(毫秒). 执行号:8.

确认修改结果

SQL> select tablespace_name,file_name from dba_data_files where tablespace_name='TEST1';
行号     TABLESPACE_NAME FILE_NAME                           
---------- --------------- ------------------------------------
1          TEST1           /opt/dm8/data/DAMENG/disk/test01.dbf
已用时间: 6.874(毫秒). 执行号:9.

移动重做日志文件

查询当前重做日志文件的位置

SQL> select group_id,file_id,path,rlog_size from v$rlogfile;

行号     GROUP_ID    FILE_ID     PATH                              RLOG_SIZE           
---------- ----------- ----------- --------------------------------- 
1          2           0           /opt/dm8/data/DAMENG/DAMENG01.log 268435456
2          2           1           /opt/dm8/data/DAMENG/DAMENG02.log 268435456
3          2           2           /opt/dm8/data/DAMENG/DAMENG03.log 268435456
4          2           3           /opt/dm8/data/DAMENG/DAMENG04.log 419430400

已用时间: 1.815(毫秒). 执行号:10.

移动重做日志文件

SQL> alter database mount;
操作已执行
已用时间: 00:00:01.769. 执行号:0.
SQL> alter database rename logfile 
2   '/opt/dm8/data/DAMENG/DAMENG01.log' to '/opt/dm8/data/DAMENG/disk/DAMENG01.log';
操作已执行
已用时间: 00:00:02.301. 执行号:11.
SQL> alter database open;
操作已执行
已用时间: 00:00:01.738. 执行号:0.
SQL> select group_id,file_id,path,rlog_size from v$rlogfile;
行号     GROUP_ID    FILE_ID     PATH                                   RLOG_SIZE           
---------- ----------- ----------- ---------------------------------
1          2          0       /opt/dm8/data/DAMENG/disk/DAMENG01.log 268435456
2          2           1      /opt/dm8/data/DAMENG/DAMENG02.log      268435456
3          2           2      /opt/dm8/data/DAMENG/DAMENG03.log      268435456
4          2           3      /opt/dm8/data/DAMENG/DAMENG04.log      419430400

移动系统文件与roll文件

注:系统文件system与roll文件不允许offline。所以在移动时,只能修改控制文件中的路径。

转储控制文件为文本

cd  /opt/dm8/data/DAMENG
[dmdba@enmoedu1 DAMENG]$ dmctlcvt type=1 src=dm.ctl dest=/home/dmdba/dm.txt
DMCTLCVT V8
convert ctl to txt success!

编辑dm.txt,修改system.dbf与roll.dbf的位置

[dmdba@enmoedu1 ~]$ cat dm.txt | grep -i system
ts_name=SYSTEM
fil_path=/opt/dm8/data/DAMENG/disk/SYSTEM.DBF
[dmdba@enmoedu1 ~]$ cat dm.txt | grep -i roll
ts_name=ROLL

4.2 将文本控制文件转储为二进制文件

[dmdba@enmoedu1 DAMENG]$ dmctlcvt type=2 src=/home/dmdba/dm.txt dest=/opt/dm8/data/DAMENG/dm.ctl
DMCTLCVT V8
convert txt to ctl success!

关闭数据库拷贝文件之后启动服务

[dmdba@enmoedu1 ~]$ DmServiceDMSERVER stop
Stopping DmServiceDMSERVER: [ OK ]
[dmdba@enmoedu1 ~]$ cp /opt/dm8/data/DAMENG/SYSTEM.DBF /opt/dm8/data/DAMENG/disk/SYSTEM.DBF
[dmdba@enmoedu1 ~]$ 
[dmdba@enmoedu1 ~]$ cp /opt/dm8/data/DAMENG/ROLL.DBF /opt/dm8/data/DAMENG/disk/ROLL.DBF
[dmdba@enmoedu1 ~]$ DmServiceDMSERVER start
Starting DmServiceDMSERVER: [ OK ]

验证结果

SQL> select file_name from dba_data_files;
行号     FILE_NAME                           
---------- ------------------------------------
1          /opt/dm8/data/DAMENG/disk/SYSTEM.DBF
2          /home/dmdba/roll2.dbf
3          /opt/dm8/data/DAMENG/tbs102.dbf
4          /opt/dm8/data/DAMENG/tbs101.dbf
5          /opt/dm8/data/DAMENG/disk/test01.dbf
6          /opt/dm8/data/DAMENG/disk/MAIN.DBF
7          /opt/dm8/data/temp/TEMP.DBF
8          /opt/dm8/data/DAMENG/disk/ROLL.DBF

临时文件移动位置

查看相关参数

SQL> select type,name,value from v$parameter  where name like '%TEMP%';
行号     TYPE      NAME             VALUE             
---------- --------- ---------------- ------------------
1          READ ONLY TEMP_PATH        /opt/dm8/data/temp
2          IN FILE   TEMP_SIZE        10
3          SYS       TEMP_SPACE_LIMIT 0

修改文件中TEMP_PATH的值

[dmdba@enmoedu1 DAMENG]$ cat dm.ini | grep TEMP_PATH
                TEMP_PATH                       = /home/dmdba/temp

重启服务生效

[dmdba@enmoedu1 DAMENG]$ DmServiceDMSERVER stop
Stopping DmServiceDMSERVER: [ OK ]
[dmdba@enmoedu1 DAMENG]$ DmServiceDMSERVER start
Starting DmServiceDMSERVER: [ OK ]

验证结果

SQL>  select type,name,value from v$parameter  where name like '%TEMP%';
服务器[LOCALHOST:5236]:处于普通打开状态
已连接
行号     TYPE      NAME             VALUE           
---------- --------- ---------------- ----------------
1          READ ONLY TEMP_PATH        /home/dmdba/temp
2          IN FILE   TEMP_SIZE        10
3          SYS       TEMP_SPACE_LIMIT 0
[dmdba@enmoedu1 DAMENG]$ cd /home/dmdba/temp/
[dmdba@enmoedu1 temp]$ ll
总用量 10240
-rw-r--r-- 1 dmdba dinstall 10485760 9月   1 10:33 TEMP.DBF
SQL> select file_name from dba_data_files where file_name like '%TEMP%';
行号     FILE_NAME                
---------- -------------------------
1          /home/dmdba/temp/TEMP.DBF
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服