sudo apt-get update && sudo apt-get install oracle-instantclient-basic oracle-instantclient-sqlplus
命令安装,安装后需设置ORACLE_HOME
(如/usr/lib/oracle/21/client64
)和LD_LIBRARY_PATH
($ORACLE_HOME/lib
)环境变量,确保客户端工具可正常运行。expdp
全量导出源数据库,防止迁移过程中数据丢失。Oracle Data Pump是Oracle官方推荐的高效逻辑迁移工具,适用于同构/异构数据库迁移(如Debian→Debian或其他Linux环境)。
dump_dir
),并授权给迁移用户(如your_user
):-- 源数据库执行 CREATE DIRECTORY dump_dir AS '/path/to/source_dump'; GRANT READ, WRITE ON DIRECTORY dump_dir TO your_user; -- 目标数据库执行 CREATE DIRECTORY dump_dir AS '/path/to/target_dump'; GRANT READ, WRITE ON DIRECTORY dump_dir TO your_user;
expdp
命令导出数据(可指定表空间、schema或表),例如:expdp your_user/your_password@source_db schemas=your_schema dumpfile=export_202510.dmp directory=dump_dir logfile=export.log
.dmp
文件从源服务器复制到目标服务器(可使用scp
或rsync
)。impdp
命令导入数据,若需转换schema(如源schema为src_schema
,目标为tgt_schema
),可添加remap_schema
参数:impdp your_user/your_password@target_db dumpfile=export_202510.dmp directory=dump_dir logfile=import.log remap_schema=src_schema:tgt_schema
CONTENT=ALL
参数导出表数据与索引,STATUS=COMPLETE
确保导出完整;TABLE_EXISTS_ACTION=APPEND
跳过已存在的表,避免重复创建错误;PARALLEL=4
)提升迁移速度。适用于需要零停机或实时同步的场景(如生产环境迁移),GoldenGate通过捕获源数据库的增量变更并应用到目标数据库,实现数据同步。
sudo apt-get install oracle-goldengate
),配置GLOBALS
文件(设置GoldenGate主目录)、extract
参数文件(定义源数据库连接与抽取规则)、replicat
参数文件(定义目标数据库连接与应用规则)。HANDLECOLLISIONS
参数处理目标数据库中已存在的记录冲突;ggserr.log
)及时排查同步错误。SELECT COUNT(*) FROM your_table
)、关键字段值(如主键、唯一键),确保数据一致。EXPLAIN PLAN
分析目标数据库中的慢查询,调整执行计划;根据Debian服务器的硬件配置(如CPU核心数、内存大小),调整Oracle的SGA(System Global Area)、PGA(Program Global Area)参数。your_user
)在源/目标数据库中拥有足够的权限(SELECT ANY TABLE
、INSERT ANY TABLE
、CREATE TABLE
等)。