Time of Update: 2018-12-03
分享一次意外的ORACLE資料庫主機效能測試結果 最近一直在做一些ORACLE SQL效能量化方面的研究,要實現較準確的SQL效能量化很複雜,現在一直在小心推進,周末做了一下一些機器的兩個參數測試: 一個是oracle資料庫1毫秒可執行多少次記憶體hash運算操作,這個主要用於量化hash join的時間; 一個是oracle資料庫1毫秒可執行多少次記憶體排序的比較運算,這個主要用於量化order
Time of Update: 2018-12-03
下面是本人實現的代碼,也是通過網路尋找到到的答案,所以做好來共用下: DAOBean daobean = new DAOBean();//資料庫訪問類 string sql = "select PIC from TZ_PHOTO ";//讀取大欄位檔案,如 bolg,long raw ,clog byte[] filebyte = daobean.getBigByteDBRecord(sql);//轉成位元組數組
Time of Update: 2018-12-03
1、資料字典: 記錄了資料庫的系統資訊,它是唯讀表和視圖的集合,資料字典的所有使用者者為sys使用者。使用者只能在資料字典上執行查詢操作(select語句),而其維護與修改是由系統自動完成的。資料字典包括資料字典基表和資料字典視圖。 ORACLE中資料字典視圖分為3大類, 用首碼區別,分別為:USER,ALL 和
Time of Update: 2018-12-03
剛剛看完第二章,大致瞭解Oracle的體繫結構原理,最喜歡的就是對比生活其他的事物,比較容易理解為什麼Oracle的原理,為什麼這麼做了。 什麼角色或者職位,選擇性地學習相關的知識或者章節即可。文中提到Oracle官方文檔,初學者不必看完。畢竟又苦又澀,好多知識是用不到的。如果是開發的話,學習基本原理+開發技能+最佳化原理即可。 推廣的到其他的技術的學習也是,只要先學習相關章節即可,後續根據需要再去學習。
Time of Update: 2018-12-03
Chr函數 返回:返回 String,其中包含有與指定的字元代碼相關的字元。 Chr("0") 為0的字元 Chr("1") Chr("2") Chr("3") Chr("4") Chr("5") Chr("6") Chr("7") 響鈴 Chr("8") 回格 Chr("9") tab(水平定位字元) Chr("10") 換行 Chr("11") tab(垂直定位字元) Chr("12") 換頁 Chr("13") 斷行符號 chr(13)&chr(10)
Time of Update: 2018-12-03
--建立函數類型create type strcat_type as object ( cat_string varchar2(4000), --自訂聚集合函式初始化設定,從這兒開始一個聚集合函式 static function ODCIAggregateInitialize(cs_ctx In Out strcat_type) return number,
Time of Update: 2018-12-03
Oracle帳號頻繁被鎖定今天早上登入部門知識庫,發現知識庫應用又登入不了,很是納悶,明明昨天已經把密碼到期的密碼都重新設定了一遍,怎麼今天又被鎖定了呢?而且把帳號解鎖後,20分鐘後帳號就又會被鎖定了。仔細想了半天也沒想到是為什麼,還是按部就班的從日誌入手吧,下面記錄下尋找這個問題的步驟。1. 找到帳號被鎖定時間利用sqlplus或者sqldeveloper,查詢帳號被鎖定的時間,相關語句如下:--修改當前會話的日期顯示格式alter session set nls_date_format =
Time of Update: 2018-12-03
在看樣本庫的時候,發現有一些表的DDL不僅有Column部分,還有很多Partition部分,不理解什麼意思。於是搜尋了一下,發現原來是Oracle的一個Feature。 以下是參考資料:(可以結合樣本庫中的SH下的一些表學習)Oracle提供了分區技術以支援VLDB(Very Large
Time of Update: 2018-12-03
新裝了一個ORACLE 11.2.0,建了一個instance——orcl,卻發現串連不上資料庫,說是sid given in connect descriptor could not be resolved.關了防火牆,不work。用regedit.exe查了一下註冊表,ORACLE_SID和ORACLE_HOME都是預定的值。後來使用lsnrctl stat檢測監聽器狀態,去查正在啟動並執行instance,發現不是自己建的那個instance。是CLRExtPrc。於是想到去C:\app\
Time of Update: 2018-12-03
閱讀說明1.參數說明 COLD_BACK_DIR: 冷備份目錄SCRIPT_FILE: 此代碼所產生的批次檔路徑及檔案名稱LOG_FILE: 備份記錄檔存放路徑及檔案名稱INT_PWD: internal使用者的口令儲存產生的sql檔案。2.在實際生產環境中參數根據實際情況而定3.執行cmd cd 到儲存產生sql檔案的指定目錄4.sqlplus 使用者名稱/密碼@資料庫執行個體 @sql檔案名稱例: sqlplus system/123@orcl
Time of Update: 2018-12-03
php調用oracle行預存程序############################################################PHP程式訪問資料庫,完全可以使用預存程序,有人認為使用預存程序便於維護不過仁者見仁,智者見智。在這個問題上,偶認為使用預存程序意味著必須要DBA和開發人員更緊密配合,如果其中一方更變,則顯然難以維護。但是使用預存程序至少有兩個最明顯的優點:速度和效率。使用預存程序的速度顯然更快。在效率上,如果應用一次需要做一系列SQL操作,則需要往返於PHP與
Time of Update: 2018-12-03
查看錶結構:desc 表名;distinct取消重複列。set timing on;開啟顯示操作時間insert into users(userid,username,userpass) select * from users;insert into student (xh,xm,sex,birthday,sal,classid) select * from student; 複製自身原有資料內容區分大小寫算術運算式直接用即可,當運算中存在null的列,則最終結果為空白。nvl(comm,0)
Time of Update: 2018-12-03
字串函數lower(char)轉換為小寫upper(char)轉化為大寫length(char)返回字串的長度substr(char,m,n)截取字串,m開始的位置(從1開始),n截取的長度。replace(char1,search_string,replace_string)替換instr(char1,char2[,n[,m]])取字串在字串的位置數學函數round(n[,m])四捨五入trunc(n[,m])截取數字mod(m,n)模數floor(n)返回小於或者等於n的最大整數ceil(n
Time of Update: 2018-12-03
所有代碼均在oracle 9i的sql*plus中測試。以下這些步驟最好各建立獨立檔案來運行。 一,建立自己的使用者檔案(表的擁有者)。PROMPT -------------------------------------;PROMPT This part is to setup object creator.;PROMPT -------------------------------------;PROMPT;DROP USER 你要建立的使用者名稱 CASCADE;CREATE
Time of Update: 2018-12-03
1.http://www.oracle.com/technetwork/database/windows/downloads/odpmbeta-1696432.html 下載ORACLE的驅動,這個是託管版本的.2.安裝完成後,在VS2012中可看到ORACLE相關工具,這個比PLSQL要好用的多.3.和使用SQL一樣建立 資料實體模型.具體過程不說了,只說一下ORQCEL串連一塊。建議使用EZ
Time of Update: 2018-12-03
此文從以下幾個方面來整理關於分區表的概念及操作: 1.資料表空間及分區表的概念 2.表分區的具體作用 3.表分區的優缺點 4.表分區的幾種類型及操作方法 5.對錶分區的維護性操作.(1.) 資料表空間及分區表的概念資料表空間: 是一個或多個資料檔案的集合,所有的資料對象都存放在指定的資料表空間中,但主要存放的是表, 所以稱作資料表空間。 分區表:
Time of Update: 2018-12-03
用JDBC—ODBC橋來串連Oracle資料庫和JDBC方式驅動都是差不多的,所以我們就不用再設定環境變數了。在JDBC中串連資料庫的語句有關鍵的兩句:Class.forName("oracle.jdbc.driver.OracleDriver");Connection con=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:DBNAME","username","password");
Time of Update: 2018-12-03
Oracle中使用connect by 來實現樹狀查詢,其中可以使用level這個偽列來實現分層查詢。具體使用如下:一張表menu記錄菜單的層級情況。表結構如下:menu_id number,parent_id number,menu_name nvarchar2(20)首先select * from menu connect by menu_id = parent_id start with menu_id =
Time of Update: 2018-12-03
Oracle 中 %ROWTYPE: %ROWTYPE:表示該類型為行資料類型,儲存的時候為一行資料,一行有很多列,相當於表中的一行資料,也可以的遊標中的一行資料。 用到%ROWTYPE作用是:當查詢整行的時候(SELECT * FROM EMP;),那麼效率比每一個欄位對應快。 例如: v_info emp%ROWTYPE; //該類型為emp表中的一行資料類型 v_cinfo c_emp%ROWTYPE
Time of Update: 2018-12-03
當安裝oracle的機器變了機器名,或者變了ip地址。那麼原來的dbconsole就起不來了。或者當在dos下運行:emctl start dbconsole 的時候報錯。解決辦法: 1. 修改DBSNMP密碼:重新設定DBCONSOLE,需要輸入DBSNMP密碼,但任何密碼都會顯示錯誤,需要預先修改。sql>alter user dbsnmp identified by xxx; 2. 刪除早期DBCONSOLE建立的使用者: sql>drop role MGMT_USER;