注册
达梦数据文件迁移心得
培训园地/ 文章详情 /

达梦数据文件迁移心得

杨波 2023/05/19 2309 0 0
在开发、测试、生产环境中,我们有时会碰到将达梦表空间的数据文件、重做日志文件、归档文件等迁移到别的存储空间的问题,达梦数据库提供了多种手段方便我们完成这些文件的迁移工作,现逐一介绍如下:

1、表空间数据文件的迁移

A.命令行方式

有的服务器没有安装图形化界面或者我们在PC机上通过SSH远程到服务器上做数据迁移,这时候需要用命令行方式完成数据文件迁移工作。

1. 我们将需要迁移的表空间脱机,操作步骤如下:

cd /dm8/bin
./disql sysdba/Dameng123@127.0.0.1:5236
SQL>ALTER TABLESPACE DMTEST offline;
    
如果表空间上的表还有事务没有提交,系统会提示:**锁超时**,可以使用如下SQL查询哪个会话的事务没有提交:
select A.SESS_ID,A.SQL_TEXT,A.USER_NAME,A.CURR_SCH from v$sessions a inner join v$trx b on a.sess_id=b.sess_id where a.user_name='DBTEST' and b.status='ACTIVE';
等待事务提交或手工关闭该会话(SP_CLOSE_SESSION(SESS_ID))后方可将表空间脱机。

2. 迁移数据文件

SQL>ALTER TABLESPACE DMTEST RENAME DATAFILE '/dm8/data/DAMENG/DMTEST01.DBF' to '/dm8/TS/DMTEST01.DBF';

如果我们不将表空间脱机,系统会提示:表空间[DMTEST]处于联机状态。
我们还要确保有对目标文件夹的写操作权限,否则数据文件也会迁移失败。

3. 将表空间联机

SQL>ALTER TABLESPACE DMTEST online;

B.图形界面方式
打开图形界面
打开终端,如果不是root,请切换到root用户,执行如下语句:
xhost +
echo $DISPLAY
系统会回显 :0 这样的内容
切换到安装达梦的用户,如:dmdba
su - dmdba
export DISPLAY=:0
cd /dm8/tool
./manager

如果提示swt问题,一定是没有执行xhost +和export DISPLAY语句。
登录达梦管理工具后,如下操作:

image.png
在要迁移的表空间上点击右键脱机;
然后再在该表空间上点击右键,选择修改菜单,在弹出的修改界面上,选择高级,点在线移动数据文件列表下面的【添加】按钮,弹出如下界面:
image.png
勾选要迁移的数据文件后点【确定】,在线移动数据文件列表中就显示勾选的源文件,点目的文件路径,弹出如下界面:
image.png
在文件系统中选择路径,点左上角的【铅笔按钮】修改文件名,或者不修改,直接点【确定】按钮。
在修改表空间界面上点【确定】按钮就完成了在线数据文件的迁移。
在表空间上点右键,选择【联机】菜单恢复表空间的使用。
至此,达梦表空间的数据文件迁移成功完成。

下期将介绍重做日志和归档文件的迁移。
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服