企业内部的需求需要考虑安全因素, 比如数据仓库团队需要从生产库的备库上进行数据抽取, 除密码的安全管理外, 还需要防止他们在白天连接到生产库进行操作, 以免影响生产库的性能. 通过DBLINK可以达到这一要求, 在创建DBLINK时, 可以防止别人获得密码, 在语句中指定连接信息, 也可以防止连接到生产库.

    假如不能通过DBLINK来完成, 就得通过工具, 如果数据仓库团队用SQLULDR2来导出文本, 如休实现这样的管制呢? 通过在SQLULDR2中加入加密功能, 对连接信息做加密处理, 就可以完成. 没有加密时的参数文件如下:

user=scott/tiger@//localhost:1521/db10g
query=select * from emp

    通过SQLULDR2的加密功能, 对user选项中指定的连接信息进行加密.

D:\>sqluldr2 user=scott/tiger@//localhost:1521/db10g crypt=create
4899919fa603950b53e639d80245beae8b5d8bb7437bf79e92a473d60377e269
499ee76090faa97f7f043eeae19ffa5445ac5e9d89921dce7f043eeae19ffa54

    用得到的加密串(前后两行串在一起)替换user选项的值, 并且指定crypt选项为ON, 就可以起到保密作用了.

crypt=on
user=encrypted string
query=select * from emp

    然后再用SQLULDR2进行导出, 就不会泄露数据库的密码信息了.