1 从A机器的oracle8中导出数据,在B机器上用imp命令导入到oracle10的新建数据库DBC中(以sysman用户),但是现在不知道
这些导入的表去哪了,谁能告知。有导入成功提示的,用select from user_tables where table_name like也找不到。
是什么原因那,会不会是以下原因:
(1) 两台机器的用户不同,所以即使给出了B机器的用户,也最终是导入到了sys用户下?
(2) 导入表后,自动改表名,比如说table1->imp_table1?但是好像用like也没有看到2 sysman的表一共有337个,这些是否都是建立数据库的时候就有的?3 我想把sysman用户下的几个表,比如tableA,tableB给(所拥有)新建立的用户user1,怎么办?
user1需要什么权限,是create any table吗,但是这个好像不等于拥有吧4 怎样将一个用户的表空间以及其中数据全部给另一个用户?

解决方案 »

  1.   

    上网找了以下,3,4都可以通过导出再导入实现,不过,能否简单地再em里或是通过什么命令一步到位呢,比如说imp touser table=(,)
      

  2.   

    我也有类似的问题:
    用imp sys/789 
    则提示:
    IMP-00058: 遇到 ORACLE 错误 28009
    ORA-28009: connection to sys should be as sysdba or sysoper用户名
    那我要怎么 as sysdba 登录呀~
      

  3.   

    1、已经导入了表但是不知道导入到哪里去了,就用有dba权限的用户登陆系统,然后执行
    select * from all_all_tables where table_name = upper(your_table_name)
    查询结果中的owner字段内容就是你的表最后导入的用户;
    2、为了精确定位,进行数据导入时一般用有dba权限的用户采用如下命令导入:
    imp user_name/password@conn_str fromuser=fromuser1,fromuser2,... touser=touser1,touser2,...
    3、如果已经导到了不希望的用户下且不想重新导了,就为这些对象给指定用户授权,并在指定用户下建立该对象的同义词,或者建立公有同义词
      

  4.   

    少写了个参数,应该这样:
    imp user_name/password@conn_str fromuser=fromuser1,fromuser2,... touser=touser1,touser2,... file=yourfile.dmp