目录
LLL的数据库培训-103-第五部分—Oracle安全管理—第3讲—对加密的表空间进行导入导出
一、案例4—对已加密表空间的数据进行导入导出(expdp/impdp)
1、expdp导出数据不带透明加密选项
(1)导出数据
此时导出的数据是没有任何加密的。因为test用户所在的表空间是TDE加密的,所以要求钱包是打开的。
SQL> alter system set encryption wallet open identified by "Htsxw123321";
expdp test/123 directory=testbackup dumpfile=test.dmp logfile=test.log
(2)导入数据
impdp system/oracle directory=testexpdp dumpfile=test.dmp logfile=test_imp.log
2、expdp导出数据带透明加密选项
(1)导出数据
此时导出的数据是加密的,加密方式是根据当前的。
expdp test/123 directory=testbackup dumpfile=test2.dmp logfile=test2.log ENCRYPTION=all ENCRYPTION_MODE=TRANSPARENT
(2)导入数据
--先将目标端设置wallet目标:
vi /oracle/app/oracle/product/11.2.0/db_1/network/admin/sqlnet.ora ENCRYPTION_WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = /oracle/app/oracle/admin/mesorcl/wallet2) ) )
--从源端将钱包文件传输至目标端:
scp /oracle/app/oracle/admin/mesorcl/ewallet.p12 oracle@192.168.20.221:/oracle/app/oracle/admin/mesorcl/wallet2
--再打开目标端钱包:(注:钱包密码就是源端的密码)
SYS@mesorcl>alter system set encryption wallet open identified by "Htsxw123321";
--导入数据
impdp system/oracle directory=testexpdp dumpfile=test2.dmp logfile=test2_imp.log
3、expdp导出数据带密码加密选项
(1)导出数据
此时导出的数据是加密的,加密方式是根据当前的。
expdp test/123 directory=testbackup dumpfile=test3.dmp logfile=test3.log ENCRYPTION=all ENCRYPTION_MODE=password ENCRYPTION_PASSWORD=Htsxw123
(2)导入数据
impdp system/oracle directory=testexpdp dumpfile=test3.dmp logfile=test3_imp.log ENCRYPTION_PASSWORD=Htsxw123
注:如果参数ENCRYPTION_MODE=dual使用双重认证(密码+钱包认证),那导入目标端时,只要钱包打开了,即可,无需再经过密码认证,不知道oracle为何要这么做。