Time of Update: 2014-06-15
案例:新增學生,然後返回該班級的所有學生。create or replace procedure add_stu(p_sid stu.sid%type, p_sname stu.sname%type,p_cid stu.cid%type,p_data out sys_refcursor -- 輸出變數,系統引用遊標)asbegin
Time of Update: 2014-06-15
一、何時考慮效能的問題。 考慮效能的問題應該貫穿於整個系統建設的各個階段中:系統設計、資料庫設計、代碼開發、系統營運。 1.系統設計階段: 系統架構方面:二層、三層、多層 系統類別型:OLAP——產生報表等,主要考慮海量資料的處理速度 相關閱讀:Oracle根據外鍵名查關聯的表
Time of Update: 2014-06-15
一、REPORT1、報告目標資料庫的物理結構 RMAN>REPORT SCHEMA2、報告需要備份的資料檔案 在執行備份之前,常常需要取得需要備份的資料檔案資訊,通過執行REPORT NEED BACKUP 命令,可以列出需要備份的資料檔案。當使用REPORT NEED BACKUP命令時,可以帶
Time of Update: 2014-06-15
基於Oracle資料庫的資料同步技術大體上可分為兩類:Oracle自己提供的資料同步技術和第三方廠商提供的資料同步技術。Oracle自己的同步技術有DataGuard,Streams,Advanced
Time of Update: 2014-06-15
1 Swingbench 簡述1.1 概述這是Oracle UK的一個員工在一個被拋棄的項目的基礎上開發的。目前穩定版本2.2,最新版本2.3,基於JDK1.5。該工具是免費的,可以在作者的網站上自由下載,並且擁有詳細的使用文檔。除了Swingbench,作者還開發了兩個相關工具:測試資料產生工具DataGenerator和追蹤檔案分析工具Trace
Time of Update: 2014-06-15
一、Oracle的啟動和關閉1、在單機環境下要想啟動或關閉ORACLE系統必須首先切換到ORACLE使用者,如下su - oraclea、啟動ORACLE系統oracle>svrmgrlSVRMGR>connect internalSVRMGR>startupSVRMGR>quitb、關閉ORACLE系統oracle>svrmgrlSVRMGR>connect
Time of Update: 2014-06-15
最近需要寫一個資料移轉指令碼,將單一Oracle中的資料移轉到MySQL Sharding叢集,剛好最近在學習python,就用它來練手。很快搞定了MySQL,只需要安裝一個MySQLdb的python模組就可以了。但是對於Oracle用戶端,不只需要安裝相應的python模組(這裡我用了Oracle官方的python模組——cx_Oracle),還需要安裝Oracle Client,一般選擇Instant Client就足夠了,還需要配置tnsnames.ora(當然也可以簡單的通過host:
Time of Update: 2014-06-15
資料庫環境:Oracle 9i主機:AIX 5.3現象:串連資料庫超級慢,用topas查看主機的資源佔用情況,一切正常。從資料庫本機串連自己,只要是通過listener監聽,就會串連很慢。如果用oracle使用者,用sqlplus ’/as
Time of Update: 2014-06-15
Oracle資料庫關閉應該用什麼方法呢?下面就教您三種最常用的Oracle資料庫關閉的方法,希望對您學習Oracle資料庫關閉方面有所啟迪。 1、正常關閉 正常關閉資料庫所用的選項是normal,資料庫在關閉前將檢查所有的串連,並且發出命令後不允許再有新的使用者串連,在等待所有串連都斷開後再關閉資料庫,再次啟動資料庫不需要任何恢複過程。 聯入sys使用者 sql>shutdown
Time of Update: 2014-06-15
在C#當中編程時候,出現了這種問題。一般都是由於時間格式不對。時間格式一般用變數儲存的時候是使用STRING對象,但是用SQL語句錄入資料庫 的時候就要把STRING對象轉換下,通過TO_DATE('STRING','yyyy-mm-dd');也可以通過調用預存程序來實現,當調用預存程序來實現的時候。就可以不用TO_DATE來轉換,直接把STRING付給相應變數值即可,如下:OracleParameter[] paras
Time of Update: 2014-06-15
1. USERENV(OPTION) 返回當前的會話資訊. OPTION='ISDBA'若當前是DBA角色,則為TRUE,否則FALSE. OPTION='LANGUAGE'返回資料庫的字元集. OPTION='SESSIONID'為當前工作階段識別項. OPTION='ENTRYID'返回可審計的工作階段識別項. OPTION='LANG'返回會話語言名稱的ISO簡記. OPTION='INSTANCE'返回當前的執行個體.
Time of Update: 2014-06-15
一. 說明在官網看到一篇ASM 升級的文檔,如下:How To Upgrade ASM from 10.2 to 11.1 (RAC)Unable To Open Database After ASM Upgrade From Release 11.1 To Release 11.2RAC 下資料庫的升級參考:RedHat 5.4 Orcle RAC 資料庫 從10.2.0.1升級到 10.2.0.4幾點說明:1. Clusterware的版本必須要和DB 或者 ASM 的版本一致。
Time of Update: 2014-06-15
現在看相關的RAC結構的文章還不太理解。現在看這個就很清楚其中的意思了。 Oracle clusterware 主要有以下主要組件: CSS: 叢集同步服務 主要管理整個叢集內各個節點間的情況,包括節點的添加和減少。與之對應的是ocssd 進程,如果改進程出現故障將會導致節點重啟。如果使用了第三方的clusterware,css 通過第三方clusterware 管理節點間的資訊。 關於是否使用第三方clusterware,css 的不同在init.crsd 中有如下定義: #
Time of Update: 2014-06-15
達夢資料庫是個國產資料庫,據說對Oracle有很好的相容,本人親自從Oracle11g遷移到達夢6.0的資料庫上來,遇到一些問題,以下是問題記錄:1。欄位名錯誤雖然達夢SQL可以相容欄位大小寫,但是JDVC實際上執行與Oracle會有差別,達夢的SQL可以執行,但是返回的欄位的列名仍然按SQL的大小寫返回,而Oracle會變成全部的大寫返回,select typeid, typename from
Time of Update: 2014-06-15
由於開發需要,想實現一些提示資訊的通用,比如,提示資訊內容:“XXX的值YYY不正確,請檢查並重新輸入!”,那麼,通用的資訊內容就應該為:“{0}的值{1}不正確,請檢查並重新輸入!”。但這個“{0}”和"{1}"怎麼替換掉呢?在.net中,字串有String.Format函數,這樣我們就可以很容易地去根據不同的內容,替換成不一樣的內容,但Oracle裡面還沒有樣的函數(據個人所知,不知道有沒有孤漏寡聞!),但又想用,所以就只能自己寫了。想了想,有問題啊,且聽我道來:資訊內容中有多個參數,並且都
Time of Update: 2014-06-15
現象:伺服器作業系統為solaris 10,在用戶端登入Oracle的時候反覆登入幾次後就會報ora-12516錯誤。產生的原因:出現該錯誤,一般是由於資料庫的當前會話數不滿足造成的,相關的參數有兩個:processes和sessions的值。1、首先查看當前這兩個參數的值sql>conn / as sysdbasql>select count(*) from v$session; 從這裡可以看出當前的session數sql>show parameter
Time of Update: 2014-06-15
lv_sql:=' insert into ETL_SUCESS_AMOUNT select SEQ_OS_ETL_AMOUNTID.NEXTVAL AS AMOUNTID,1,AMOUNT_DATA,AMOUNT_HOUR, serviceid,portalid,mouduleid,actionid,RESERVE1_ID,RESERVE2_ID,RESERVE3_ID, RESERVE4_ID,AMOUNT,AMOUNT_TIME
Time of Update: 2014-06-15
Oracle分區表的管理筆記(僅限於對普通表,即堆表的分區管理,IOT跟CLUSTER TABLE不再討論範圍內)1. 增加分區(add partition)文法是:alter table xxx add partition…需要注意的是如果分區中存在maxvalue或default分區add partition會報錯,應使用split如:Alter table t_range add partition p5 values less than (50) [tablespace users];-
Time of Update: 2014-06-15
在Oracle開發過程中,經常會遇到各種形式的報表展示,有些報表用sql語句直接是寫不出來的,需要程式與sql配合著實現,但是這樣寫出來的報表查詢速度慢,而且不利於維護,這裡給大家分享一下UncleToo經常用的報表開發方式。思路:利用預存程序,將需要的格式、欄位以結果集的形式直接返回到頁面,這樣在程式裡不需要關心報表需要哪些欄位、如何排序等,只需要將報表條件傳入寫好的預存程序,將結果集展示就可以了,以後需要對報表格式、欄位調整時,只需要調整Oracle預存程序,頁面代碼不需要更改。此方法sql
Time of Update: 2014-06-15
ORA-01438: 值大於此列指定的允許精確度 比如定義為number(4,2),卻要插入一個值200.12的話,就會出錯啊,原因是number(p,s)的問題。number(p,s),其中p表示該number的總長度,s為小數位。如果s為負數,則會取相應位元的取整。例如,如果number(4,-3),則數字1234的儲存值為1000;如果number(4,-2),則數字1234的儲存值為1200。在對資料庫表中的欄位設定類型時,要注意:NUMBER(10,6)