客戶資料庫升級後出現ORA-30004錯誤
幫客戶將資料庫從11.2.0.1升級到11.2.0.3後,資料庫執行正常,不過隨後出現了ORA-30004錯誤。
這個錯誤以前還真沒有碰到過,檢查後發現感覺問題似乎不一定和升級有關係:
ORA-30004: when using
SYS_CONNECT_BY_PATH function, cannot have separator as part of column value
Cause: A column value contained the string that the SYS_CONNECT_BY_PATH
function was to use to separate column values.
Action: Specify another separator for the SYS_CONNECT_BY_PATH function to use
which does not occur in any column value, then retry.
從錯誤資訊看,是SYS_CONNECT_BY_PATH函式導致的錯誤。而客戶出現錯誤的語句也確實包含SYS_CONNECT_BY_PATH函式。導致錯誤的原因是SYS_CONNECT_BY_PATH處理的列中包含了分隔列。
為了確認這一點,特別在11.2.0.1環境中再現這個問題:
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise
Edition Release 11.2.0.1.0 - Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for 32-bit Windows: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
SQL> create user u1 identified by u1 default tablespace users;
使用者已建立。
SQL> grant connect, resource to u1;
授權成功。
SQL> conn u1/u1
已連線。
SQL> create table t_conn (id number, fid number, name varchar2(30));
表已建立。
SQL> insert into t_conn values (1, 0, 'a');
已建立 1 行。
SQL> insert into t_conn values (2, 1, 'b');
已建立 1 行。
SQL> insert into t_conn values (3, 2, 'c');
已建立 1 行。
SQL> select sys_connect_by_path(name, ',') from t_conn start with id = 1 connect by prior id = fid;
SYS_CONNECT_BY_PATH(NAME,',')
--------------------------------------------------------------------------------
,a
,a,b
,a,b,c
SQL> update t_conn set name = 'b,' where id = 2;
已更新 1 行。
SQL> commit;
提交完成。
SQL> select
sys_connect_by_path(name, ',') from t_conn start with id = 1 connect
by prior id = fid;
ERROR:
ORA-30004: 使用
SYS_CONNECT_BY_PATH 函式時, 不能將分隔符作為列值的一部分
未選定行
顯然確認了問題只是由於資料錯誤所致,而與升級沒有任何關係。
根據客戶錯誤的SQL語句,定位了表中的錯誤資料。將包含分隔符的資料更新後,問題消失。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-714571/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料庫升級後匯出報EXP-00056錯誤解決辦法資料庫
- 升級informix資料庫到10.0出現KAIO錯誤的解決辦法ORM資料庫AI
- 資料庫升級報錯資料庫
- 資料庫升級導致ORA-918錯誤資料庫
- 資料庫升級後goldengate報錯,ORA-04045資料庫Go
- 客戶資料庫出現大量cache buffer chains latch資料庫AI
- Oracle資料庫從11.1.0.7升級到11.2.0.3 SYS.DBMS_AQADM_SYS包出現錯誤Oracle資料庫
- oracle客戶端升級Oracle客戶端
- ORA-39700錯誤(一般升級資料庫容易遇到)資料庫
- 解決升級資料庫時遇到的Text file busy錯誤資料庫
- 資料庫升級後‘PLAN_TABLE資料庫
- rac 升級crs 升級資料庫軟體,升級資料庫資料庫
- ORACLE 使用DBCA安裝資料庫出現錯誤Oracle資料庫
- 升級win10後出現80240020錯誤程式碼怎麼辦Win10
- 升級win10後出現藍屏錯誤INTERNAL_POWER_ERROR怎麼辦Win10Error
- 資料庫主機名錯誤導致客戶端TNS-12541資料庫客戶端
- 資料庫啟動出現ORA-27037錯誤資料庫
- 關閉資料庫出現ORA-21779錯誤資料庫
- solaris上建立oracle資料庫出現:out of memory 錯誤Oracle資料庫
- 啟動資料庫出現ORA-9925錯誤資料庫
- 資料庫升級資料庫
- ♀♀資料庫升級♀♀資料庫
- SQL Server資料庫出現邏輯錯誤的資料恢復SQLServer資料庫資料恢復
- 升級失敗後,資料庫降級方案(flashback database)資料庫Database
- Oracle客戶端非預設路徑安裝出現的錯誤Oracle客戶端
- 故障分析 | MySQL 資料庫升級後,資料庫怎麼卡住了MySql資料庫
- 【轉】Oracle 9i客戶端匯出10g資料庫時報ora-33262錯誤Oracle客戶端資料庫
- 升級go1.10後打包出錯Go
- 9.2 STANDBY資料庫出現ORA-16009錯誤資料庫
- 10.2.0.1資料庫exp出現Ora-07445錯誤資料庫
- 啟動資料庫出現ORA-27123錯誤資料庫
- 資料庫啟動出現ORA-27102錯誤資料庫
- 升級win10後出現藍色畫面錯誤INTERNAL_POWER_ERROR怎麼辦Win10Error
- 客戶端連不上資料庫,如何來排錯客戶端資料庫
- Oracle 資料庫升級Oracle資料庫
- SonicWALL Global VPN客戶端連線出現Failed to open the IPSec driver錯誤客戶端AI
- windows10系統升級助手出現錯誤的解決方法Windows
- DBCA建庫導致已有資料庫出現ORA-27140錯誤資料庫