ITPub博客

首页 > 数据库 > Oracle > oracle-导出-EXP-00068分析

oracle-导出-EXP-00068分析

Oracle 作者:huskar_y 时间:2016-12-26 13:11:37 0 删除 编辑
当导出数据时,会遇到EXP-00068 错误。
About to export specified tables via Conventional Path ...
. . exporting table      TESTLOB
EXP-00068: tablespace TEST_EXP is offline
EXP-00068: tablespace TEST_EXP is offline          1 rows exported
Export terminated successfully without warnings.

一般来说,EXP-68 的症状,原因和解决办法是:
Text  : tablespace  %s is offline
Cause : Export failed to export tablespace (tablespace being offline).
Action: Make tablespace online and re-export.

解决办法如下:
-----------------------------------------------------------------
1 连接数据库,执行如下查询,检查错误中出现的表空间和数据文件的状态:
      SELECT d.tablespace_name,d.status,d.extent_management,f.file#,f.status
         FROM dba_tablespaces d, v$datafile f, v$tablespace t
         WHERE d.tablespace_name=t.name AND t.ts#=f.ts#(+);
2.a. 如果状态显示为 offline,则将表空间online
      ALTER TABLESPACE tablespace_name ONLINE;
  b. 如果表空间里的一个或多个数据文件offline,则将相应的数据文件online
      ALTER DATABASE DATAFILE datafile# ONLINE;
  c. 如果表空间里的一个或多个数据文件的状态为 recover,则将其恢复并online
      RECOVER DATAFILE datafile#
      ALTER DATABASE DATAFILE datafile# ONLINE;
          SQL> host exp system/****** file=d:\exp.dmp full=y
  d. 将报错的表空间和数据文件online后,再次执行导出操作。
3. 如果表空间和数据文件已经online 并且是表空间是本地管理的时候,可以忽略次错误!

实例:
-- Export log
    About to export the entire database ...
    . exporting tablespace definitions
    EXP-00068: tablespace TS1 is offline
    -- 查看 DBA_TABLESPACES 视图 TS1的状态
    SQL> select TABLESPACE_NAME,STATUS
    from dba_tablespaces where tablespace_name='TS1';

    TABLESPACE_NAME                   STATUS
    ------------------------------ ---------
    TS1                               ONLINE 

    TS1 显示为online,此时需要做更深一步的研究。执行如下查询来查看表空间TS1下的所有数据文件的状态。

    SQL> select a.file#, a.name, a.status
    2    from v$datafile a, v$tablespace b
    3    where a.ts#=b.ts#
    4    and b.name='TS1';

         FILE# NAME                        STATUS
    ---------- --------------------------- -------
            6 D:\TS1-1.DBF                 ONLINE
            7 D:\TS1-2.DBF                 RECOVER <== datafile requires recovery.
            9 D:\TS1-3.DBF                 ONLINE

从这里可以看出 ts-2.dbf 需要恢复,这就是导致EXP-00068错误的原因。
 解决办法
    -- 恢复数据文件 7;
    SQL> recover datafile 7;
    Media recovery complete.
    SQL> alter database datafile 7 online;
    Database altered.
    ---再次检查
    SQL> select a.file#, a.name, a.status
    2 from v$datafile a, v$tablespace b
    3 where a.ts#=b.ts#
    4 and b.name='TS1';

         FILE# NAME                     STATUS
    ---------- ------------------------ -------
             6 D:\TS1-1.DBF             ONLINE
             7 D:\TS1-2.DBF             ONLINE <== datafile is online now.
             9 D:\TS1-3.DBF             ONLINE 
   --再次执行导出就好!

在一个测试数据库中导出数据库时发现一个表空间offline后,按照以上步骤执行操作发现表空间的一个数据文件offline,按照以上步骤online数据文件时发现
报错ORA-01190和ORA-01110,这个数据文件没有在控制文件里。



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30633998/viewspace-2131379/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2015-12-14

  • 博文量
    132
  • 访问量
    96210