我试过用备份正式库的用户身份导入,可是系统提示我:
“只有dba才能导入由其他dba导出的文件”

解决方案 »

  1.   

    让测试库的管理员赋予你dba权限
      

  2.   

    那你有对此对象表的select权限吧,通过select 语句转成csv文件,通过sqlldr导入;
    或者通过工具toad另存为,再通过sqlldr导入;
    或者通过sqlserver dts导出/导入;
    或者用以下脚本(metalink)
     set pagesize 0
    -- This script dumps a table to a comma delimited ASCII file and 
    -- also builds a control file and a parameter file for SQL*Loader.
     
    set trimspool on 
    set serverout on 
    clear buffer 
    undef dumpfile 
    undef dumptable 
    undef dumpowner 
    var maxcol number 
    var linelen number 
    var dumpfile char(40) 
    col column_id noprint 
    set pages 0 feed off termout on echo off verify off 
    accept dumpowner char prompt 'Owner of table to dump: ' 
    accept dumptable char prompt 'Table to dump: ' begin 
      select max (column_id) 
      into   :maxcol 
      from   all_tab_columns 
      where  table_name = rtrim (upper ('&dumptable')) and 
             owner      = rtrim (upper ('&dumpowner')); 
             
      select sum (data_length) + (:maxcol * 3)
      into   :linelen 
      from   all_tab_columns 
      where  table_name = rtrim (upper ('&dumptable')) and 
             owner      = rtrim (upper ('&dumpowner')); 
    end; 
    / print linelen 
    print maxcol spool dump.sql 
    select 'set trimspool on' from dual; 
    select 'set termout off pages 0 heading off echo off' from dual; 
    select 'set line '||:linelen from dual; 
    select 'spool '||lower ('&dumptable')||'.txt' from dual; 
    select 'select'||chr (10) from dual; 
    select '   '||''''||'"'||''''||'||'|| 
           'replace ('||column_name||', '||''''||'"'||''''||') '||
           ' ||'||''''||'", '||''''||' || ', column_id 
    from   all_tab_columns 
    where  table_name = upper ('&dumptable') and 
           owner      = upper ('&dumpowner') and 
           column_id  < :maxcol 
    union 
    select '   '||''''||'"'||''''||'||'|| 
           'replace ('||column_name||', '||''''||'"'||''''||') '||
           ' ||'||''''||'"'||'''', column_id 
    from   all_tab_columns 
    where  table_name = upper ('&dumptable') and 
           owner      = upper ('&dumpowner') and 
           column_id  = :maxcol 
    order  by 2;
    select 'from &dumpowner..&dumptable;' from dual; 
    select 'spool off' from dual; 
    spool off -- Build a basic control file 
    set line 79 
    spool dtmp.sql 
    select 'spool '||lower ('&dumptable')||'.par' from dual; 
    spool off  
    select 'userid = /'||chr (10)|| 
           'control = '||lower ('&dumptable')||'.ctl'||chr (10)|| 
           'log = '||lower ('&dumptable')||'.log'||chr (10)|| 
           'bad = '||lower ('&dumptable')||'.bad'||chr (10) 
    from   dual;
    spool offspool dtmp.sql 
    select 'spool '||lower ('&dumptable')||'.ctl' from dual;
    spool off select 'load data'||chr(10)|| 
           'infile '||''''||lower ('&dumptable')||'.txt'||''''||chr (10)|| 
           'into table &dumptable'||chr (10)|| 
           'fields terminated by '||''''||','||''''||
           ' optionally enclosed by '||''''||'"'||''''||chr (10)||'('
    from   dual;
    select '   '||column_name||',', column_id 
    from   all_tab_columns 
    where  table_name = upper ('&dumptable') and 
           owner      = upper ('&dumpowner') and 
           column_id  < :maxcol 
    union 
    select '   '||column_name, column_id 
    from   all_tab_columns 
    where  table_name = upper ('&dumptable') and 
           owner      = upper ('&dumpowner') and 
           column_id  = :maxcol 
    order  by 2;
    select ')' from dual;
    spool off
      

  3.   

    让系统管理员授予你DBA的权限/
      

  4.   

    oracle中怎么用SQl文件创建表?
      

  5.   

    问题解决了,最后我找到了system的密码