工作需要在條碼系統的數據庫從使用物化視圖跟ERP數據庫中的表同步
1.在ERP數據庫中授權用戶的select權限:
GRANTSELECT ON PO_REQUISITION_LINES TO hmcs
2.在ERP數據庫中創建物化視圖LOG:
creatematerialized view log on PO.PO_REQUISITION_LINES_ALL WITH ROWID;
3.在ERP數據庫中授權用戶物化視圖LOG的權限,用apps登錄顯示不夠權限,轉用system用戶:
GRANTSELECT ON PO.MLOG$_PO_REQUISITION_LINES TO hmcs
現在就可以在MES數據庫中建立物化視圖了。
遇到的問題:
怎樣查看物化視圖表的名稱:
SELECTMASTER, LOG_TABLE, LOG_OWNER FROM DBA_MVIEW_LOGS WHERE MASTER LIKE 'PO%'
在MES數據庫中建立物化視圖時,顯示一個錯誤:大概意思是表的空間不足,用DBA的用戶system登錄,用sql查詢表空間,在可以pl/sql developer中查看:
select a.tablespace_name,a.bytes/1024/1024 "SumMB",(a.bytes-b.bytes)/1024/1024 "used MB",b.bytes/1024/1024 "freeMB",round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used"
from
(select tablespace_name,sum(bytes) bytesfrom dba_data_files group by tablespace_name) a,
(select tablespace_name,sum(bytes)bytes,max(bytes) largest from dba_free_space group by tablespace_name) b
where a.tablespace_name=b.tablespace_name
order by ((a.bytes-b.bytes)/a.bytes) desc
發現HMCS_DATA的表空間已經剩下很少,於是使用工具Toad創建表空間文件。