首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle 8i/9i EXP/IMP 實戰經驗談 (二):跨版本與進階議題

     編輯:Oracle 資料庫基礎

跨版本匯出入策略

低版本匯入高版本通常無問題;高版本匯入低版本 (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;

其他實務提醒

  • 8.0.x 缺 QUERY 參數,可建中間表繞過。
  • 平行 IMP 建索引時建議不超過 5 條;不建索引可多跑,事後用腳本建索引。
  • 字符集轉換問題複雜,建議規劃階段即確定。
  • 傳輸表空間參考 Metalink: 77523.1, 100698.1。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved