【导入导出】EXP-00079

当我们对一个启用管理精细审计的表进行导出数据时,会出现如下错误:
EXP-00079: 表 "PURCHASEORDER" 中的数据是被保护的。常规路径只能导出部分表。
. . 正在导出表                   PURCHASEORDER导出了         132 行
EXP-00079:
用户在没有对DBMS_RLS(存取控制包)的执行权限时,进行了对需要存取控制的表的导出。因为表的所有者也受存取控制权限的限制,所以即使是表的所有者也不能导出整个表的所有行,而只能导出他所能看到的行。另外,为保证表的一致性,导出表的用户必须拥有足够的权限,以保证在导入时重建表及其安全策略。因此,强烈建议由数据库管理员来处理导出表的操作。赋予表的所有者以执行权限将有利于这个安全检查,当然这会引起其他安全冲突.....
一 解决方法
1 以dba的身份导出
C:\Users\aaaa>exp '/ as sysdba' wner=oe file=oe.dmp log=oe.log
连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
即将导出指定的用户...
. 正在导出 pre-schema 过程对象和操作
. 正在导出用户 OE 的外部函数库名
. 导出 PUBLIC 类型同义词
. 正在导出专用类型同义词
. 正在导出用户 OE 的对象类型定义
即将导出 OE 的对象...
. 正在导出数据库链接
. 正在导出序号
. 正在导出簇定义
. 即将导出 OE 的表通过常规路径...
. . 正在导出表                  CATEGORIES_TAB导出了          22 行
. . 正在导出表      PRODUCT_REF_LIST_NESTEDTAB导出了         288 行
. . 正在导出表  SUBCATEGORY_REF_LIST_NESTEDTAB导出了          21 行
. . 正在导出表                       CUSTOMERS导出了         319 行
. . 正在导出表                     INVENTORIES导出了        1112 行
. . 正在导出表                          ORDERS导出了         105 行
. . 正在导出表                     ORDER_ITEMS导出了         665 行
. . 正在导出表            PRODUCT_DESCRIPTIONS导出了        8640 行
. . 正在导出表             PRODUCT_INFORMATION导出了         288 行
. . 正在导出表                      PROMOTIONS导出了           2 行
. . 正在导出表                   PURCHASEORDER导出了         132 行
. . 正在导出表                      WAREHOUSES导出了           9 行
.......
. 正在导出维
. 正在导出 post-schema 过程对象和操作
. 正在导出统计信息
成功终止导出, 没有出现警告。

================================================
C:\Users\aaaa>exp system/yang wner=oe file=oe2.dmp log=oe2.log
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
即将导出指定的用户...
. 正在导出 pre-schema 过程对象和操作
. 正在导出用户 OE 的外部函数库名
. 导出 PUBLIC 类型同义词
. 正在导出专用类型同义词
. 正在导出用户 OE 的对象类型定义
即将导出 OE 的对象...
. 正在导出数据库链接
. 正在导出序号
. 正在导出簇定义
. 即将导出 OE 的表通过常规路径...
. . 正在导出表                  CATEGORIES_TAB导出了          22 行
. . 正在导出表      PRODUCT_REF_LIST_NESTEDTAB导出了         288 行
. . 正在导出表  SUBCATEGORY_REF_LIST_NESTEDTAB导出了          21 行
. . 正在导出表                       CUSTOMERS导出了         319 行
. . 正在导出表                     INVENTORIES导出了        1112 行
. . 正在导出表                          ORDERS导出了         105 行
. . 正在导出表                     ORDER_ITEMS导出了         665 行
. . 正在导出表            PRODUCT_DESCRIPTIONS导出了        8640 行
. . 正在导出表             PRODUCT_INFORMATION导出了         288 行
. . 正在导出表                      PROMOTIONS导出了           2 行
EXP-00079: 表 "PURCHASEORDER" 中的数据是被保护的。常规路径只能导出部分表。
. . 正在导出表                   PURCHASEORDER导出了         132 行
. . 正在导出表                      WAREHOUSES导出了           9 行
. 正在导出同义词
........
. 正在导出统计信息
导出成功终止, 但出现警告。
================================================
2 使用system用户,使用direct=y 参数 导出数据。但是oe用户使用direct=y参数导出时依然报错!
C:\Users\aaaa>exp system/yang wner=oe file=oe3.dmp log=oe3.log direct=y
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
即将导出指定的用户...
. 正在导出 pre-schema 过程对象和操作
. 正在导出用户 OE 的外部函数库名
. 导出 PUBLIC 类型同义词
. 正在导出专用类型同义词
. 正在导出用户 OE 的对象类型定义
即将导出 OE 的对象...
. 正在导出数据库链接
. 正在导出序号
. 正在导出簇定义
. 即将导出 OE 的表通过直接路径...
表 CATEGORIES_TAB 将以常规路径导出。
. . 正在导出表                  CATEGORIES_TAB导出了          22 行
. . 正在导出表      PRODUCT_REF_LIST_NESTEDTAB导出了         288 行
. . 正在导出表  SUBCATEGORY_REF_LIST_NESTEDTAB导出了          21 行
表 CUSTOMERS 将以常规路径导出。
. . 正在导出表                       CUSTOMERS导出了         319 行
. . 正在导出表                     INVENTORIES导出了        1112 行
. . 正在导出表                          ORDERS导出了         105 行
. . 正在导出表                     ORDER_ITEMS导出了         665 行
. . 正在导出表            PRODUCT_DESCRIPTIONS导出了        8640 行
. . 正在导出表             PRODUCT_INFORMATION导出了         288 行
. . 正在导出表                      PROMOTIONS导出了           2 行
表 PURCHASEORDER 将以常规路径导出。
. . 正在导出表                   PURCHASEORDER导出了         132 行
表 WAREHOUSES 将以常规路径导出。
. . 正在导出表                      WAREHOUSES导出了           9 行
. 正在导出同义词
.........
. 正在导出维
. 正在导出 post-schema 过程对象和操作
. 正在导出统计信息
成功终止导出, 没有出现警告。

C:\Users\aaaa>exp oe/yang wner=oe file=oe4.dmp  log=oe4.log direct=Y
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
. 正在导出 pre-schema 过程对象和操作
. 正在导出用户 OE 的外部函数库名
. 导出 PUBLIC 类型同义词
. 正在导出专用类型同义词
. 正在导出用户 OE 的对象类型定义
即将导出 OE 的对象...
. 正在导出数据库链接
. 正在导出序号
. 正在导出簇定义
. 即将导出 OE 的表通过直接路径...
表 CATEGORIES_TAB 将以常规路径导出。
. . 正在导出表                  CATEGORIES_TAB导出了          22 行
. . 正在导出表      PRODUCT_REF_LIST_NESTEDTAB导出了         288 行
. . 正在导出表  SUBCATEGORY_REF_LIST_NESTEDTAB导出了          21 行
表 CUSTOMERS 将以常规路径导出。
. . 正在导出表                       CUSTOMERS导出了         319 行
. . 正在导出表                     INVENTORIES导出了        1112 行
. . 正在导出表                          ORDERS导出了         105 行
. . 正在导出表                     ORDER_ITEMS导出了         665 行
. . 正在导出表            PRODUCT_DESCRIPTIONS导出了        8640 行
. . 正在导出表             PRODUCT_INFORMATION导出了         288 行
. . 正在导出表                      PROMOTIONS导出了           2 行
表 PURCHASEORDER 将以常规路径导出。
EXP-00080: 表 "PURCHASEORDER" 中的数据是被保护的。请使用常规模式。
EXP-00079: 表 "PURCHASEORDER" 中的数据是被保护的。常规路径只能导出部分表。
. . 正在导出表                   PURCHASEORDER导出了         132 行
表 WAREHOUSES 将以常规路径导出。
. . 正在导出表                      WAREHOUSES导出了           9 行
. 正在导出同义词
........
. 正在导出刷新组和子组
. 正在导出维
. 正在导出 post-schema 过程对象和操作
. 正在导出统计信息
导出成功终止, 但出现警告。
================================================
3 赋予用户exempt access policy 再次导出。当oe 用户自己导出数据是依然报错!
C:\Users\aaaa>exp oe/yang wner=oe file=oe3.dmp  log=oe3.log
Export: Release 11.1.0.6.0 - Production on 星期日 2月 20 21:08:14 2011
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
. 正在导出 pre-schema 过程对象和操作
. 正在导出用户 OE 的外部函数库名
. 导出 PUBLIC 类型同义词
. 正在导出专用类型同义词
. 正在导出用户 OE 的对象类型定义
即将导出 OE 的对象...
. 正在导出数据库链接
. 正在导出序号
. 正在导出簇定义
. 即将导出 OE 的表通过常规路径...
. . 正在导出表                  CATEGORIES_TAB导出了          22 行
. . 正在导出表      PRODUCT_REF_LIST_NESTEDTAB导出了         288 行
. . 正在导出表  SUBCATEGORY_REF_LIST_NESTEDTAB导出了          21 行
. . 正在导出表                       CUSTOMERS导出了         319 行
. . 正在导出表                     INVENTORIES导出了        1112 行
. . 正在导出表                          ORDERS导出了         105 行
. . 正在导出表                     ORDER_ITEMS导出了         665 行
. . 正在导出表            PRODUCT_DESCRIPTIONS导出了        8640 行
. . 正在导出表             PRODUCT_INFORMATION导出了         288 行
. . 正在导出表                      PROMOTIONS导出了           2 行
EXP-00079: 表 "PURCHASEORDER" 中的数据是被保护的。常规路径只能导出部分表。
. . 正在导出表                   PURCHASEORDER导出了         132 行
. . 正在导出表                      WAREHOUSES导出了           9 行
. 正在导出同义词
.......
. 正在导出维
. 正在导出 post-schema 过程对象和操作
. 正在导出统计信息
导出成功终止, 但出现警告。
================================================
sys@ORACL> grant exempt access policy to oe;
================================================
C:\Users\aaaa>exp oe/yang wner=oe file=oe3.dmp  log=oe3.log
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
. 正在导出 pre-schema 过程对象和操作
. 正在导出用户 OE 的外部函数库名
. 导出 PUBLIC 类型同义词
. 正在导出专用类型同义词
. 正在导出用户 OE 的对象类型定义
即将导出 OE 的对象...
. 正在导出数据库链接
. 正在导出序号
. 正在导出簇定义
. 即将导出 OE 的表通过常规路径...
. . 正在导出表                  CATEGORIES_TAB导出了          22 行
. . 正在导出表      PRODUCT_REF_LIST_NESTEDTAB导出了         288 行
. . 正在导出表  SUBCATEGORY_REF_LIST_NESTEDTAB导出了          21 行
. . 正在导出表                       CUSTOMERS导出了         319 行
. . 正在导出表                     INVENTORIES导出了        1112 行
. . 正在导出表                          ORDERS导出了         105 行
. . 正在导出表                     ORDER_ITEMS导出了         665 行
. . 正在导出表            PRODUCT_DESCRIPTIONS导出了        8640 行
. . 正在导出表             PRODUCT_INFORMATION导出了         288 行
. . 正在导出表                      PROMOTIONS导出了           2 行
. . 正在导出表                   PURCHASEORDER导出了         132 行
. . 正在导出表                      WAREHOUSES导出了           9 行
. 正在导出同义词
.........
. 正在导出维
. 正在导出 post-schema 过程对象和操作
. 正在导出统计信息
成功终止导出, 没有出现警告。
====================================
二 如何确定导出的数据是否完整
以dba身份执行如下查询并对比导出日志中的行数,是否相等。
sys@ORACL> select count(*) from oe.PURCHASEORDER;
  COUNT(*)
----------
       132
查询某些表是否启动了管理精细审计
sys@ORACL> SELECT enable,sel,object_owner||'.'||object_name "OBJECT_OWNER.NAME"
  2  FROM dba_policies WHERE object_name='PURCHASEORDER';

ENA SEL OBJECT_OWNER.NAME
--- --- -------------------------------------------------------------
YES NO  OE.PURCHASEORDER
YES NO  OE.PURCHASEORDER
YES YES OE.PURCHASEORDER

sys@ORACL> desc dba_policies 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值