ORA-00980與PL/SQL程序編譯出錯

? ? 今天碰到一個有意思的問題。
??? 為了降低統計分析數據庫的計算和磁盤空間壓力。我們使用了將遠程數據庫中數據通過DBLINK和SYNONYM的形式來緩解當前統計數據庫所面臨的問題。工作實施的比較順利。但是統計人員發現有幾個執行統計的PL/SQL過程和包(PACKAGE)失效。
??? 趕快查看失效的數據庫對象,發現都是報ORA-00980
??? 看看出錯原因:
????
Cause: The synonym used is based on a table, view, or synonym that no longer exists.?

Action: Replace the synonym with the name of the object it references or re-create the synonym so that it refers to a valid table, view, or synonym.
????
??? 可是我的DBLINK和源數據庫中沒有出錯的表、視圖或者同義詞呀。
??? 奇怪?
??? 再分析下源數據庫中的這些對象,確實發現了一個問題:
??? 就是在目標數據庫上創建SYNONYM的“基礎”不是真正意義上的表、視圖或者是SYNONYM。而是一些物化視圖(MATERIALIZED VIEW)!
??? 趕快重新修改:
??? 試著按照一個物化視圖(還好是簡單的只讀物化視圖!)的規則新建一個SYNONYM,然后在目標數據庫上利用該新建的SYNONYM為基礎創建一個基于DBLINK的SYNONYM(這話說著確實比較繞嘴)。然后編譯某個相關聯的PL/SQL程序,編譯通過。
??? 奇怪,這難道是ORACLE的一個BUG?
??? 探索中 -:)
? -------------------
? 目標數據庫:9.2.0.4
? 源數據庫:? 10.2.0.1

? 補:

? 后來通過使用動態SQL的方法將無法編譯的問題進行了解決。

本文轉自Be the miracle!博客51CTO博客,原文鏈接http://blog.51cto.com/miracle/60615如需轉載請自行聯系原作者


Larry.Yue

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/257132.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/257132.shtml
英文地址,請注明出處:http://en.pswp.cn/news/257132.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

學習筆記(03):Python實戰編程-sys模塊

立即學習:https://edu.csdn.net/course/play/19711/255505?utm_sourceblogtoedu sys是一個系統的環境交互模塊,是唯一一個可以與操作系統有關的模塊 #codingutf-8 import sysprint(sys.modules) print(sys.)

spring+mybatis實現讀寫分離

springmore-core springibatis實現讀寫分離 特點 無縫結合springibatis,對于程序員來說,是透明的 除了修改配置信息之外,程序的代碼不需要修改任何東西 支持spring的容器事務規則:基于spring配置的容器事務讀寫事務到主庫只讀事務到從庫如果沒…

DEV C++如何不需要通過建項目可以調試程序

1點擊文件 2、開始寫一段類的程序 #include<iostream>using namespace std;class Point //點類定義 { int x,y; //點的x和y坐標public: void lnitPoint(int,int); //設置坐標 int GetX(){ return x;} //取x坐標 int GetY() {return y;} //取y坐標 void …

創建數據庫

先創建數據庫&#xff1a; CREATE DATABASE SCUTCS; 接著&#xff0c;創建表&#xff1a; CREATE TABLE STUDENT ( SNO CHAR(7) NOT NULL, SNAME VARCHAR(8) NOT NULL, SEX CHAR(2) NOT NULL, BDATE DATE NOT NULL, HEIGHT DEC(5,2) DEFAULT 000.00, PRIMARY KEY(SNO) ); 然后插…

2017-2018-1 20155301 《信息安全系統設計基礎》第7周學習總結

2017-2018-1 20155301 《信息安全系統設計基礎》第7周學習總結 教材學習內容總結 作為我們處理器實現的運行實例&#xff0c;因為受x86-64指令集的啟發&#xff0c;它被俗稱為“x86”&#xff0c;所以我們稱我們的指令集為“Y86-64”&#xff0c;與“x86-64”相比&#xff0c;Y…

[學習筆記]面向對象VS面向過程

1.編程范式 為了實現同一個任務不同的編程方式類別稱為編程范式 2.面向過程編程 面向過程從上到下運行&#xff0c;將一個大問題分解成小問題&#xff0c;再將小問題繼續分解成足夠簡單在一定范圍內可以解答的小問題為止&#xff01;3.面向對象編程 面向對象簡稱為OOP&#x…

批處理系統和分時系統各具有什么特點?為什么分時系統的響應比較快?

批處理系統的特點如下 優點&#xff1a;系統的吞吐率較高。 &#xff08;作業的調度由系統控制&#xff0c;并允許幾道程序同時投入運行&#xff0c;只要合理的搭配作業&#xff08;例如把計算量大的作業和I/O量大的作業搭配&#xff09;就可以充分利用系統的資源&#xff09; …

怎么解決word敲空格刪掉后面的字的問題

將word左下角的改寫改為插入&#xff0c;或者筆記本的按下insert的按鈕

Dubbo原理解析-監控

Dubbo發布代碼中&#xff0c;自帶了一個簡易的監控中心實現。對于一般的小業務這個監控中心應該能夠滿足需求&#xff0c;對于那些大業務量的大公司一般都會有自己的監控中心&#xff0c;更加豐富的功能如常用的報警短信通知等等。這章講解分析使得讀者能夠了解一般的監控中心實…

學習筆記(04):Python網絡編程并發編程-什么是socket

立即學習:https://edu.csdn.net/course/play/24458/296233?utm_sourceblogtoedu 1.什么是網絡編程&#xff1f; 答&#xff1a;網絡編程也叫做socket編程即套接字編程&#xff0c;基于遵循socket套接字的規定進行的編程 2.什么是socket&#xff1f; 答&#xff1a;socket就是…

mysql 獲取自增主鍵

MyBatis 3.2.6插入時候獲取自增主鍵方法有二以MySQL5.5為例&#xff1a;方法1&#xff1a;<insert id"insert" parameterType"Person" useGeneratedKeys"true" keyProperty"id">insert into person(name,pswd) values(#{name},#…

虛擬主機用戶ftp和apache用戶文件互操作權限解決方法

方法1.用戶組控制方法 先給所有的虛擬主機主機中的虛擬用戶(ftp用戶)加入到apache這個組.然后設置umask為002.這樣用戶和組都有讀寫執行權限。這個是比較容易的方法.但不安全。不同的用戶可以刪除對方的文件&#xff0c;因為是同一個組,組有讀寫執行的權限. 方法2.使用linux高級…

數學的列向量內積計算方法

x(cos x1 y(-sinx1sinx1) cosx1) [x,y]cosx1*(-sinx1)sinx1*cosx1

遍歷枚舉

/// <summary> /// 卡卷類型 /// </summary> public enum CardTypeEnum {代金券 1,優惠卷 2 } foreach (int myCode in Enum.GetValues(typeof(CardTypeEnum))){string strName Enum.GetName(typeof(CardTypeEnum), myCode); //文本 keystring strValue myCode…

前端工程師必須要知道的SEO技巧(2):制作比設計還要漂亮的代碼(內容和語義化代碼)上...

前言:現在的網站設計,大多數不僅僅要求美觀,前端代碼往往發揮著重要的作用.這意味著很大一部分搜索引擎優化或搜索引擎優化責任應該落在設計師身上.然而,有大量的網頁設計師不理解這個問題以及如何在建立一個網站初期就達到是完全的搜尋引擎優化.當然,要達到這個高度,肯定離不開…

學習筆記(05):Python網絡編程并發編程-基于socket實現簡單套接字通信

立即學習:https://edu.csdn.net/course/play/24458/296234?utm_sourceblogtoedu 1.服務器端 #以打電話通訊為例子進行說明 #導入相應的模塊 import socket#1、設置套接字的類型以及協議(買手機)&#xff0c;其實就是設置一個套接字&#xff0c;phone即為一個套接字 #設置為網…

JeeSite 4.0 說說前端的那些事

2019獨角獸企業重金招聘Python工程師標準>>> 引言 一個不得不說的話題&#xff0c;經過近幾年的發展&#xff0c;Web前端開發已經不是一個新有的崗位了&#xff0c;前端技術發展非常迅速&#xff0c;技術更新換代也很快&#xff0c;對于前端工程師來說是一個很大的挑…

筆記本換固態硬盤

我換固態硬盤是讓熟人修電腦換的&#xff0c;結果跟我要100塊錢的服務費&#xff0c;在這我絕得太坑了&#xff0c;所以建議大家自己換固態硬盤 1、首先自己在網上買一塊相對較好的固態硬盤&#xff0c;盡量買大點 2、還需要買一個硬盤的托盤&#xff0c;這個是直接換筆記本上的…

Bootstrap富文本編輯器-bootstrap-wysiwyg

在進行英語試題的錄入中&#xff0c;因為英語試題經常會有類似如下的試題&#xff1a; My friend watches dragon boat races at the Dragon Boat Festival.(對劃線部分提問) ——_______ is the Double Ninth Festival? ——It is in October. 在上面的題目中&#xff0c;我們…

學習筆記(06):Python網絡編程并發編程-在簡單套接字基礎上加上通信循環

立即學習:https://edu.csdn.net/course/play/24458/296235?utm_sourceblogtoedu 1.服務器端 #以打電話通訊為例子進行說明 #導入相應的模塊 import socket#1、設置套接字的類型以及協議(買手機)&#xff0c;其實就是設置一個套接字&#xff0c;phone即為一個套接字 #設置為網…