此方案是由shell脚本实现oracle数据库源端与目标端的表数据是否一致进行MD5校验;
需要在linux服务器运行此脚本,运行之前,需要进行简单的配置!
- 使用核对脚本必须在sqlplus中使用;
- 使用前需要在oracle的安装路径/sqlplus/admin/glogin.sql设置参数(根据具体oracle服务器进行设置):
2.1 set linesize 180
2.2 column mymd5 format a32- sqlplus / as sysdba
- 单表数据量在2000W以下的适用;
- 数据库新建MD5函数: CREATE OR REPLACE FUNCTION MD5str( passwd IN VARCHAR2) RETURN VARCHAR2 IS retval varchar2(32); BEGIN retval :=
utl_raw.cast_to_raw(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT_STRING =>
passwd)) ; RETURN retval; END;
下面进行简单的说明:
1. 脚本目录
说明:
batch_host.txt: 数据库相关配置文件;
batch_md5.sql:是执行查询主键和MD5的SQL语句;
batch_md5.sh:是执行主要脚本的文件;
md5ret:存储md5核对结果的目录;
2. 配置详细说明
2.1 batch_host.txt 内容
# host port user password db
10.10.80.88 1521 PDB1TEST pdb1test pdb1test
10.10.80.88 1521 PDB2TEST pdb2test pdb2test
格式说明: