达梦定时迁移数据

 1. 生成迁移源代码

        1.1 启动DM迁移工具(bin/dts.exe)

        1.2 右击迁移管理空白处 -> 新建工程

        1.3 展开工程 -> 右击迁移,新建迁移 -> 输入迁移名称,确认

        1.4 右击迁移名称,打开 -> 输入源数据库连接信息,下一步 -> 输入目的数据库连接信息,下一步 -> 选择源模式(源用户),选择目的模式(目的用户),下一步 -> 选择需要迁移的表,下一步 -> 完成。

        

        1.5 点击迁移完成界面的源代码,全选拷贝,将内容复制到新建的xml文件中。

 

2. 创建定时作业

        2.1 通过达梦管理工具登录目的数据库

        2.2 展开用户 -> 右击代理,创建代理环境->展开代理右击作业,新建作业->输入作业名->切换到作业步骤,点击添加,输入步骤名称,选择数据迁移,浏览选择新建的xml文件->切换到高级,选择报告执行成功并结束作业,报告执行失败并结束作业,点击确定->切换到作业调度,点击新建,输入名称,发生频率类别选择天,每日频率选择执行周期,点击确认,点击确认。

 

 

        2.3 1小时后,右击作业名,点击查看作业历史信息可查看到定时迁移记录。

---达梦数据库常用参数配置

Select para_name,para_value from v$dm_ini where para_name='MAX_SESSIONS';--系统允许同时连接的最大数,同时还受到LICENSE 的限制,取二者中较小的值
call sp_set_para_value(2,'MAX_SESSIONS',500);
ALTER SYSTEM SET 'MAX_SESSIONS' =500 spfile;
commit;
Select para_name,para_value from v$dm_ini where para_name='CACHE_POOL_SIZE'; --SQL 缓冲池大小,以 M 为单位
call sp_set_para_value(2,'CACHE_POOL_SIZE',1024);
ALTER SYSTEM SET 'CACHE_POOL_SIZE' =1024 spfile;
commit;

Select para_name,para_value from v$dm_ini where para_name='BUFFER';--系统缓冲区大小,以 M 为单位。推荐值:系统 缓冲区大小为可用物理内存的 60%~80%。有效值范围(8~1048576)
call sp_set_para_value(2,'BUFFER',20480);
ALTER SYSTEM SET 'BUFFER' =20480 spfile;
commit;  

--如无效,可修改dm.ini文件,重启数据库。

要实现定时迁移Oracle数据达梦数据库,可以使用PHP编写一个脚本来完成。下面是一个简单的示例: ```php <?php //设置Oracle数据库连接信息 $oracleHost = 'localhost'; $oraclePort = '1521'; $oracleSID = 'ORCL'; $oracleUser = 'username'; $oraclePass = 'password'; //设置达梦数据库连接信息 $damaHost = 'localhost'; $damaPort = '5236'; $damaDbname = 'databasename'; $damaUser = 'username'; $damaPass = 'password'; //创建Oracle数据库连接 $oracleConn = oci_connect($oracleUser, $oraclePass, "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=$oracleHost)(PORT=$oraclePort))(CONNECT_DATA=(SID=$oracleSID)))"); if (!$oracleConn) { $e = oci_error(); trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR); } //创建达梦数据库连接 $damaConn = new PDO("dm:host=$damaHost;port=$damaPort;dbname=$damaDbname", $damaUser, $damaPass); //查询Oracle数据 $query = 'SELECT * FROM oracle_table'; $oracleStmt = oci_parse($oracleConn, $query); oci_execute($oracleStmt); //插入到达梦数据库 while ($row = oci_fetch_array($oracleStmt, OCI_ASSOC)) { $damaStmt = $damaConn->prepare('INSERT INTO dama_table (col1, col2) VALUES (:col1, :col2)'); $damaStmt->bindParam(':col1', $row['COL1']); $damaStmt->bindParam(':col2', $row['COL2']); $damaStmt->execute(); } //关闭Oracle和达梦数据库连接 oci_free_statement($oracleStmt); oci_close($oracleConn); $damaConn = null; ``` 以上是一个简单的示例,你可以根据需要进行修改。同时,你还需要在服务器上设置一个定时任务来定期运行这个脚本。可以使用Linux的Cron来实现。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时间 流逝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值