達夢資料庫修改資料檔案路徑

2022-07-07 15:42:11 字數 4372 閱讀 4478

一、在生產環境中,可能遇到磁碟空間不足的情況,需要將資料檔案移動到先掛載的磁碟上。

二、環境描述

作業系統版本:

[root@damengtest ~]# cat /etc/redhat-release

red hat enterprise linux server release 7.3 (maipo)

資料庫版本:

sql> select * from v$version;

行號 banner

---------- -------------------------

1 dm database server 64 v8

2 db version: 0x7000a

三、資料檔案遷移步驟

方法一、以資料檔案為單位移動 

1、關閉資料庫服務並通過dmctlcvt轉換控制檔案為文字檔案;

2、拷貝資料檔案到新的路徑;

3、修改控制檔案中資料檔案的路徑到新的路徑並重建控制檔案;

4、啟動資料庫服務

注意:如果是使用者表空間的所有資料檔案都更換了位置,也需要同時修改dm.ini中的資料檔案的路徑

方法二、以表空間為單位進行移動 

1、表空間offline;

2、修改控制檔案路徑

3、表空間online

四、資料檔案遷移過程

4.1、建立測試環境

建立如下表空間及使用者用於資料檔案遷移測試

新建表空間及使用者並授權

sql> create tablespace "xiao" datafile '/opt/dm8/data/dm/xiao.dbf' size 128 autoextend on cache = normal;

操作已執行

sql> create user "xiao" identified by "xiao1234!"

limit failed_login_attemps 3, password_lock_time 1, password_grace_time 10

default tablespace "xiao"

default index tablespace "xiao";

操作已執行

sql> grant "dba","public","resource","soi","vti" to "xiao";

操作已執行

sql>

檢視資料檔案路徑

sql> select path from v$datafile;

行號 path

---------- -----------------------------

1 /opt/dm8/data/dm/system.dbf

2 /opt/dm8/data/dm/roll.dbf

3 /opt/dm8/data/dm/temp.dbf

4 /opt/dm8/data/dm/main.dbf

5 /opt/dm8/data/dm/bookshop.dbf

6 /opt/dm8/data/dm/dmhr.dbf

7 /opt/dm8/data/dm/xiao.dbf

7 rows got

sql> exit

方法一:以資料檔案為單位移動 

4.2、停庫並轉換控制檔案為文字檔案

1、停止資料庫例項

[dmdba@damengtest bin]$ ./dmservicedm stop

stopping dmservicedm: [ ok ]

2、轉換控制檔案

[dmdba@damengtest bin]$ ./dmctlcvt type=1 src=/opt/dm8/data/dm/dm.ctl dest=/opt/dm8/data/dm/dmctl.txt

dmctlcvt v8

convert ctl to txt success!

[dmdba@damengtest bin]$

3、拷貝資料檔案到新的路徑

[dmdba@damengtest dm]$ mv xiao.dbf ../

[dmdba@damengtest dm]$ cd ..

[dmdba@damengtest data]$ ls

dm dmtest newpath test xiao.dbf

4、修改文字檔案中資料檔案路徑到新路徑並重建控制檔案

將dmctl.txt路徑改成現在的

# file path

fil_path=/opt/dm8/data/xiao.dbf

將dmctl.txt轉化為dm.ctl

[dmdba@damengtest bin]$ ./dmctlcvt type=2 src=/opt/dm8/data/dm/dmctl.txt dest=/opt/dm8/data/dm/dm.ctl

dmctlcvt v8

convert txt to ctl success!

[dmdba@damengtest bin]$

5、啟動資料庫並進行驗證

[dmdba@damengtest bin]$ ./dmservicedm start

starting dmservicedm: [ ok ]

sql> select path from v$datafile;

行號 path

---------- -----------------------------

1 /opt/dm8/data/dm/system.dbf

2 /opt/dm8/data/dm/roll.dbf

3 /opt/dm8/data/dm/temp.dbf

4 /opt/dm8/data/dm/main.dbf

5 /opt/dm8/data/dm/bookshop.dbf

6 /opt/dm8/data/dm/dmhr.dbf

7 /opt/dm8/data/xiao.dbf

7 rows got

sql> exit

方法二、以表空間為單位進行移動 

1、表空間offline

sql> alter tablespace "xiao" offline;

操作已執行

2、修改控制檔案路徑

sql> alter tablespace "xiao" rename datafile '/opt/dm8/data/xiao.dbf' to '/opt/dm8/data/dm/xiao.dbf';

操作已執行

3、表空間online

sql> alter tablespace "xiao" online;

操作已執行

4、驗證

[dmdba@damengtest dm]$ ls

arch dm01.log dmctl.txt dm_service.prikey roll.dbf trace

bak dm02.log dmhr.dbf hmain sqllog.ini xiao.dbf

bookshop.dbf dmarch.ini dm.ini main.dbf system.dbf

ctl_bak dm.ctl dminit20201224170230.log rep_conflict.log temp.dbf

sql> select path from v$datafile;

行號 path

---------- -----------------------------

1 /opt/dm8/data/dm/system.dbf

2 /opt/dm8/data/dm/roll.dbf

3 /opt/dm8/data/dm/temp.dbf

4 /opt/dm8/data/dm/main.dbf

5 /opt/dm8/data/dm/bookshop.dbf

6 /opt/dm8/data/dm/dmhr.dbf

7 /opt/dm8/data/dm/xiao.dbf

7 rows got

由以上2種方法可將資料檔案遷移到新的位置。

達夢資料庫之資料檔案遷移

一 前言 在實際生產環境中,可能存在資料磁碟空間不足的情況,一般情況下,我們會通過增加新的磁碟來解決,當新磁碟增加完畢後,需要將原資料檔案遷移一部分到新磁碟空間,以釋放原資料磁碟的空間,本文主要闡述此種情況下資料檔案的移動。二 環境描述 作業系統版本 dmdba dm3 cat etc redhat...

mysql資料庫儲存路徑更改 資料檔案位置

mysql資料庫儲存路徑更改 使用了vps一段時間之後發現磁碟空間快滿了。本人的vps在購買的時候買了500gb的磁碟,提供商贈送了20gb的高效能系統磁碟。這樣系統就有兩個磁碟空間了。在初次安裝mysql 的時候將資料庫目錄安裝在了系統盤。第乙個磁碟 使用了一段時間之後資料庫儲存量變大,快將20g...

mysql資料庫儲存路徑更改 資料檔案位置

使用了vps一段時間之後發現磁碟空間快滿了。本人的vps在購買的時候買了500gb的磁碟,提供商贈送了20gb的高效能系統磁碟。這樣系統就有兩個磁碟空間了。在初次安裝mysql 的時候將資料庫目錄安裝在了系統盤。第乙個磁碟 使用了一段時間之後資料庫儲存量變大,快將20gb的存放空間佔滿了。因此必須將...