我有一个带有dbms_obfuscation_toolkit.DESEncrypt工具包加密的列的Oracle (10.2.0.4)数据库表。
我们的一些数据被另一个密钥重新加密而搞砸了。
我想对这些数据做一些测试,尝试恢复它。因此,我想把数据从我们的实时系统复制到一个测试系统中。
我尝试过简单地从导出数据(以各种基于文本的格式),但是加密数据的“二进制”性质似乎破坏了文件格式。
我尝试了exp,但这报告了错误(虽然我不确定这是否与加密的数据有关)。
如何将这个表的数据从一个数据库复制到另一个数据库?
谢谢。
导出表时遇到的错误如下。我是通过本地计算机连接到远程数据库进行此操作的:
c:\>exp <user>/<password>@<sid> FILE=export.dmp TABLES=(TABLE1)
Export: Release 11.1.0.6.0 - Production on Thu Oct 14 20:46:51 2010
Copyright (c) 1982, 2007, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit
Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Export done in WE8ISO8859P1 character set and AL16UTF16 NCHAR character set
server uses WE8ISO8859P15 character set (possible charset conversion)
About to export specified tables via Conventional Path ...
. . exporting table TABLE1
EXP-00008: ORACLE error 904 encountered
ORA-00904: "MAXSIZE": invalid identifier发布于 2010-10-18 07:28:55
结果发现,我的Windows数据库与我们的活动(unix)系统- WE8ISO8859P1 -v- WE8ISO8859P15相比,有一个稍微不同的字符集编码。我使用这里指令在测试数据库上进行字符集转换,然后能够导入数据。
发布于 2010-10-15 08:11:36
我会尝试使用数据库链接。如果无法创建数据库链接,则可以尝试SQL*Plus的复制命令,但我不确定它是否适用于加密的列(看起来这个命令是在最新版本中被弃用)。
如果失败,从Oracle导出/导入数据到Oracle的最佳工具可能是数据泵 (包括在DB中)。
https://stackoverflow.com/questions/3940197
复制相似问题