ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 【导入导出】EXP-00068分析

【导入导出】EXP-00068分析

原创 Linux操作系统 作者:杨奇龙 时间:2011-02-20 17:33:43 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.

但是 也有时候甚至会遇到明明表空间online时,却报错误。

解决办法如下:
-----------------------------------------------------------------
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
   --再次执行导出就好!

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

请登录后发表评论 登录
全部评论
MySQL DBA NoSQL DEVOPS

注册时间:2009-10-07

  • 博文量
    1026
  • 访问量
    7698654