0

我有来自 Oracle8 的 oracle 转储文件。我正在尝试在 Oracle 10 中导入数据。对于导入数据,我使用的是 PL/SQL Developer(顺便说一句,我有 TOAD 客户端)。我这样做是通过单击工具->导入表选择 Oracle 导入,然后选择导入文件。之后单击确定,完成。那么如何找到导入的表?我正在使用“sys”登录。数据库位于远程。

更新1 好的。在导入期间我得到了这个日志

Export file created by EXPORT:V08.01.07 via conventional path
import done in CL8MSWIN1251 character set and AL16UTF16 NCHAR character set
import server uses WE8MSWIN1252 character set (possible charset conversion)
export client uses WE8ISO8859P1 character set (possible charset conversion)
export server uses WE8ISO8859P1 NCHAR character set (possible ncharset conversion)
. importing SYSTEM's objects into SYSTEM
. importing MD's objects into MD

*****
Then
"ALTER SESSION .....
....there some sql syntaxes

. . skipping table "MyTable" 
****
WHY it is skipping?
****
end last
Import terminated successfully with warnings. :)

更新2。通过在虚拟机中安装 Oracle8 解决了该问题。导入成功。

4

3 回答 3

2

如果您之前的数据库中没有这些表,您可以尝试按创建时间找到它们:

select object_name, created, last_ddl_time, timestamp
  from all_objects
 where owner = 'SYS'
   and object_type = 'TABLE';

而且,是的,正如已经说过的那样,不要将 SYS 用于日常操作。这根本不是一个好习惯。

于 2010-10-05T08:50:30.267 回答
1

导入的表不会以任何特定方式标记。导入过程本身知道加载了哪些表——如果您使用命令行导入实用程序,您可以让它生成导入对象的日志。我希望您的 GUI 具有类似的日志功能。

我希望您没有将对象导入 SYS 模式或使用 SYS 进行正常的日常操作。SYS 是一个非常特殊、非常强大的帐户。它应该很少使用,并且只用于少数管理任务。

于 2010-10-05T08:31:59.057 回答
0

希望导出是作为不同的用户完成的,并且对象没有在模式下导入SYS。这样做——或者几乎任何事情——SYS通常是不可取的,因为有很多方法可以破坏你的数据库。

如果您知道对象的原始所有者,请在架构列表底部的“其他用户”下查找您的连接(在左侧面板中),找到并展开该用户,表格应该在那里。我必须补充一点,我没有以这种方式导入,但是使用命令行imp工具,您会收到有关以其他用户身份导入的警告,并且会告诉您原始所有者。此导入是否有日志?

于 2010-10-05T08:32:31.583 回答