暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【达梦8】汇总更改文件的位置

原创 李美静 恩墨学院 2021-09-24
951

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

1 达梦8的物理存储结构

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

2 普通数据文件的移动

2.1 查看当前数据文件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.

1.png

2.2 移动test101.dbf文件

2.2.1 将test1置为离线状态

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

2.2.2 移动位置

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

2.2.3 将表空间置为在线状态

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

2.2.4 确认修改结果

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.

2.png

3 移动重做日志文件

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

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.

3.png

3.2 移动重做日志文件

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

4.png

4 移动系统文件与roll文件

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

4.1 转储控制文件为文本

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

fil_path=/opt/dm8/data/DAMENG/disk/ROLL.DBF
5.png
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!

6.png

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

[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 ]

7.png

4.4 验证结果

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

8.png

5 临时文件移动位置

5.1 查看相关参数

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

9.png

5.2 修改文件中TEMP_PATH的值

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

5.3 重启服务生效

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

5.4 验证结果

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

10.png

[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

11.png

SQL> select file_name from dba_data_files where file_name like '%TEMP%';
行号     FILE_NAME                
---------- -------------------------
1          /home/dmdba/temp/TEMP.DBF

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论