低版本匯入高版本通常無問題;高版本匯入低版本 (9i 前) 可用 catexp.sql 降級腳本配合低版本 EXP/IMP 工具。但 9i 因 Bug 2261722 (ORA-00904, EXP-00008) 此法失效,需重建 exu81rls 視圖:
CREATE OR REPLACE VIEW exu81rls
(objown,objnam,policy,polown,polsch,polfun,stmts,chkopt,enabled,spolicy)
AS SELECT u.name, o.name, r.pname, r.pfschma, r.ppname, r.pfname,
decode(bitand(r.stmt_type,1),0,'','SELECT,')||
decode(bitand(r.stmt_type,2),0,'','INSERT,')||
decode(bitand(r.stmt_type,4),0,'','UPDATE,')||
decode(bitand(r.stmt_type,8),0,'','DELETE,'),
r.check_opt, r.enable_flag,
DECODE(BITAND(r.stmt_type,16),0,0,1)
FROM user$ u, obj$ o, rls$ r
WHERE u.user# = o.owner# AND r.obj# = o.obj#
AND (uid=0 OR uid=o.owner# OR EXISTS (SELECT * FROM session_roles WHERE role='SELECT_CATALOG_ROLE'))
/
GRANT SELECT ON sys.exu81rls TO public;
QUERY 參數,可建中間表繞過。