我想創建這么一個存盤程序
SQL> create or replace procedure BMSXY_SP_CDCXY as
2 begin
3 DBMS_CDC_PUBLISH.PURGE_CHANGE_SET
4 ('CDC_SET_BMSXY','sysdate-3'
5 );
6 end;
7 /
Warning: Procedure created with compilation errors
為啥不行呢,變更集是存在的
uj5u.com熱心網友回復:
自己頂一個,大佬解答一下
uj5u.com熱心網友回復:
-- show errors 一下,看看什么錯誤
SQL>
SQL> create or replace procedure BMSXY_SP_CDCXY as
2 begin
3 DBMS_CDC_PUBLISH.PURGE_CHANGE_SET
4
5 ('CDC_SET_BMSXY','sysdate-3'
6 );
7 end;
8 /
Warning: Procedure created with compilation errors
SQL> show errors;
Errors for PROCEDURE XSNWSH_USER.BMSXY_SP_CDCXY:
LINE/COL ERROR
-------- --------------------------------------------
3/2 PLS-00201: 必須宣告識別符號 'DBMS_CDC_PUBLISH'
3/2 PL/SQL: Statement ignored
SQL>
uj5u.com熱心網友回復:
SQL> create or replace procedure BMSXY_SP_CDCXY as
2 begin
3 DBMS_CDC_PUBLISH.PURGE_CHANGE_SET
4 ('CDC_SET_BMSXY','sysdate-3'
5 );
6 end;
7 /
Warning: Procedure created with compilation errors
SQL> show errors;
Errors for PROCEDURE BMSXY_CDC_CONF.BMSXY_SP_CDCXY:
LINE/COL ERROR
-------- ---------------------------------------------------------
3/1 PLS-00201: identifier 'DBMS_CDC_PUBLISH' must be declared
3/1 PL/SQL: Statement ignored
這樣的
uj5u.com熱心網友回復:
@賣水果的net 需要宣告?這個不是自帶的程式嗎
uj5u.com熱心網友回復:
這個是系統的一個包,看這個提示, 應該沒有權限 ,你用 system (或sys) 給你當前用戶做一個授權
SQL> grant execute on BMSXY_CDC_CONF to 當前用戶名;
uj5u.com熱心網友回復:
SQL> create or replace procedure BMSXY_SP_CDCXY as
2 begin
3 DBMS_CDC_PUBLISH.PURGE_CHANGE_SET
4 ('CDC_SET_BMSXY','sysdate-3'
5 );
6 end;
7 /
Warning: Procedure created with compilation errors
SQL> show errors;
Errors for PROCEDURE CDC_PUBLISHER.BMSXY_SP_CDCXY:
LINE/COL ERROR
-------- ---------------------------------------------------------------------------
3/1 PLS-00306: wrong number or types of arguments in call to 'PURGE_CHANGE_SET'
3/1 PL/SQL: Statement ignored
換了一個當時創建這個變更集的用戶,報錯如下 怎么回事啊??求解~~~~
uj5u.com熱心網友回復:
@賣水果的net 需要宣告?這個不是自帶的程式嗎
這個是系統的一個包,看這個提示, 應該沒有權限 ,你用 system (或sys) 給你當前用戶做一個授權
SQL> grant execute on BMSXY_CDC_CONF to 當前用戶名;
額 BMSXY_CDC_CONF這個就是我當前執行這個操作的用戶,是DBA
uj5u.com熱心網友回復:
有DBA權限都報錯嗎?
uj5u.com熱心網友回復:
dba也可能不行,需要顯式的授權。
uj5u.com熱心網友回復:
dba也可能不行,需要顯式的授權。
DBMS_CDC_PUBLISH你是想說授權這個嗎 但是這個的其他操作是可以的 比如DBMS_CDC_PUBLISH.ALTER_CHANGE_SET();這種 本身我之前也有過授權
SQL> grant execute ON dbms_cdc_publish TO cdc_publisher;
**桔妹導讀:**深耕人工智能領域,致力于探索AI讓出行更美好的滴滴AI Labs再次斬獲國際大獎,這次獲獎的專案是什么呢?一起來看看詳細報道吧! 近日,由國際計算語言學協會ACL(The Association for Computational Linguistics)舉辦的世界最具影響力的機器 ......
我們經常在資料庫中使用 LIKE 運算子來完成對資料的模糊搜索,LIKE 運算子用于在 WHERE 子句中搜索列中的指定模式。 如果需要查找客戶表中所有姓氏是“張”的資料,可以使用下面的 SQL 陳述句: SELECT * FROM Customer WHERE Name LIKE '張%' 如果需要 ......
關于MySQL的二進制日志(binlog),我們都知道二進制日志(binlog)非常重要,尤其當你需要point to point災難恢復的時侯,所以我們要對其進行備份。關于二進制日志(binlog)的備份,可以基于flush logs方式先切換binlog,然后拷貝&壓縮到到遠程服務器或本地服務器 ......