Time of Update: 2017-01-18
dbms_random是oracle提供的一個隨機函數包,以下介紹一些dbms_random的常用樣本: dbms_random.value用法: 產生一個大於等於0,小於等於1的38位小數 複製代碼 代碼如下: -- FUNCTION value RETURN NUMBER; select dbms_random.value from dual; SQL> select dbms_random.value from dual; VALUE ---------- 0.61011338
Time of Update: 2017-01-18
表查詢: 合并查詢:使用union關鍵字,可將滿足條件的重複行去掉。 複製代碼 代碼如下: select ename,sal,job from emp where sal > 2500 union select ename,sal,job from emp where job = 'MANAGER'; 而union all用法和union相似,但是不會取消重複行。 intersect 用來取兩個結果的交集。 minus用來取兩個結果的差集。
Time of Update: 2017-01-18
1、首先建立目錄: create directory 目錄名稱 as '資料庫伺服器上的一個目錄',如: create directory 別名 as 'd:\伺服器目錄名'; 將匯入或匯出的檔案放在這個目錄下 2、匯出及匯入 以SID=orcl,匯出dmp的帳號為test,匯入dmp的帳號為test為例。 若將資料從sfz中匯出: expdp test/test@orcl directory=別名 dumpfile=匯出檔案名稱 匯入到test中: impdp test/test@orcl
Time of Update: 2017-01-18
1.安裝Oracle11g所需要的補丁包,安裝光碟片上全有,進入光碟片的Server目錄:(最好通過oracle的官方文檔來確定需要安裝哪些包) 2.修改使用者驗證選項 修改/etc/pam.d/login檔案加上如下參數 session required pam_limits.so 3.修改使用者設定檔 修改/etc/profile檔案加入如下參數: if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit
Time of Update: 2017-01-18
細粒度審計(FGA),是在Oracle 9i中引入的,能夠記錄SCN號和行級的更改以重建舊的資料,但是它們只能用於select語句,而不能用於DML,如update、insert和delete語句.因此,對於Oracle資料庫10g之前的版本,使用觸發器雖然對於以行級跟蹤使用者初始的更改是沒有吸引力的選擇,但它也是唯一可靠的方法 而Oracle10g中FGA功能的增強使其不但能夠支援select操作,同時也支援DML操作。在 Oracle 10g 中,
Time of Update: 2017-01-18
有時不清楚一些參數的所有允許設定的值,可以由以下兩個方法獲得 1.直接輸入錯的值,讓error來提示 複製代碼 代碼如下: SQL> alter system set "_db_block_cache_protect"=what scope=spfile; alter system set "_db_block_cache_protect"=what scope=spfile * ERROR at line 1: ORA-00096: invalid value WHAT for
Time of Update: 2017-01-18
安裝oracle時候遇到錯誤 Preparing to launch Oracle Universal Installer from /tmp/OraInstall2011-11-03_12-53-01PM. Please wait ...[oracle@localhost database]$ Exception in thread "main" java.lang.UnsatisfiedLinkError: /tmp/OraInstall2011-11-03_12-53-01PM/jre/1
Time of Update: 2017-01-18
再寫一個預存程序時, 用到了如下sql語句 複製代碼 代碼如下: SELECT MAX(RE_DATE) INTO V_RE_DATE FROM T_RECORDING WHERE ID ='100010010102' 按理說,根據這個條件查詢的結果應該為sqlcode=1403 ,但是奇怪的是如下sql異常卻捕獲不到: 複製代碼 代碼如下: EXCEPTION WHEN NO_DATA_FOUND THEN NULL; WHEN OTHERS THEN ERR_CODE :=-2000;
Time of Update: 2017-01-18
查看oracle資料庫是否為歸檔模式 SQL> select name,log_mode from V$database; NAME LOG_MODE ------------------ ------------------------ TEST NOARCHIVELOG SQL> archive log list Database log mode No Archive Mode Automatic archival Disabled Archive destination
Time of Update: 2017-01-18
有時我們在定義欄位名及別名時所用名與oracle關鍵字同名,這時該如何處理呢? 其實很簡單,只要在此關鍵字加上"",如"group" 看下面的例子: 複製代碼 代碼如下: SQL> DROP TABLE k; Table dropped -- 建立表K,欄位名為UID(oracle關鍵字) SQL> CREATE TABLE k(UID INT); CREATE TABLE k(UID INT) ORA-00904: : invalid IDENTIFIER --
Time of Update: 2017-01-18
round(x[,y]) 【功能】返回四捨五入後的值 【參數】x,y,數字型運算式,如果y不為整數則截取y整數部分,如果y>0則四捨五入為y位小數,如果y小於0則四捨五入到小數點向左第y位。 【返回】數字 【樣本】 select round(5555.6666,2.1),round(5555.6666,-2.6),round(5555.6666) from dual; 返回: 5555.67 , 5600 , 5556 【相近】trunc(x[,y])
Time of Update: 2017-01-18
Oracle的監聽器服務註冊方式有兩種,分別為動態和靜態。通過動態註冊的服務在lsnrctl status時顯示的狀態為ready,靜態服務為unknown。 11g2以前的版本,監聽器通過listener.ora檔案進行配置。在11g2版本中,監聽器的配置方式發生了變化,增加了一個新的設定檔endpoints_listener.ora,並且此檔案和原來的listener.ora檔案都轉移到$GRID_HOME/network/admin目錄下了。
Time of Update: 2017-01-18
適用情況: oracle 對查詢結果進行排序時,被排序的欄位存在null值,且要指定NULL值排在最前面或者最後面 關鍵字:Nulls First;Nulls Last 預設情況:null 預設為最大值(即:asc 升序<小-->大>,null值排在最後;desc 降序<大-->小>,null值排在最前面) 指定: 1.Oracle Order by支援的文法 2.指定Nulls first 則表示null值的記錄將排在最前(不管是asc 還是desc) 3.
Time of Update: 2017-01-18
問題描述:在scott使用者下建立視圖的時候,報錯:許可權不足。 (其他使用者以此類推) 解決方案: 以dba使用者登入 [sql] 複製代碼 代碼如下: sqlplus / as sysdba 賦予scott使用者建立VIEW的許可權 [sql] 複製代碼 代碼如下: grant create view to scott 以scott使用者登入oracle [sql] 複製代碼 代碼如下: conn scott/tiger 建立視圖成功 [sql] 複製代碼 代碼如下: CREATE
Time of Update: 2017-01-18
解決Connect to Idle Instance問題 第一步 查看Oracle_SID. [oracle@linuxserver ~]$ echo $ORACLE_SID cjdl 這裡的SID要和初始設定檔案spfilecjdl.ora裡的一樣才行。 [oracle@linuxserver ~]$ cd $ORACLE_HOME [oracle@linuxserver 11.2.0]$ cd dbs [oracle@linuxserver dbs]$ ls hc_cjdl.dat
Time of Update: 2017-01-18
很多資料轉換處理操作時,會遇到將0.007007040000轉換成0.70%的需求,我們使用Oracle 的SQL 函數 to_char可以實現這種轉換。 這個函數用來將DATE或NUMBER資料類型轉換成可顯示的字串,格式是to_char(number_type, format_mask)。 格式'999.99',9表示對應的某一個指定位元的值,如果是值是0則忽略不顯示,如果指定位元沒有值,則以空格表示。
Time of Update: 2017-01-18
本課內容屬於Oracle進階課程範疇,內容略微偏向理論性,但是與資料庫程式開發和管理、最佳化密切相關;另外本課的部分內容在前面章節已經涉及,請注意理論聯絡實際。事務 事務(Transaction)從
Time of Update: 2017-01-18
昨天做完項目後讓測試測試了一把,測試說分頁查詢貌似不起作用,翻到第4頁以後,看到的資料結果都是相同的。 當時我就覺得很納悶,不可能啊,分頁組件應該是好的,咋可能有問題呢。帶著疑問,我開啟了自己的ide,在自己的機器上跑了一把,果然有問題。 有問題就要找問題: 首先把2條查詢結果相同的sql列印出來到資料庫中執行: sql1: 複製代碼 代碼如下: select * from (select t.*, rownum rn from (select t_e_id, t_e_name,
Time of Update: 2017-01-18
1.靜態SQLSQL與動態SQL Oracle編譯PL/SQL程式塊分為兩個種:其一為前期聯編(early binding),即SQL語句在程式編譯期間就已經確定,大多數的編譯情況屬於這種類型;另外一種是後期聯編(late
Time of Update: 2017-01-18
在CentOS 6.3下安裝完Oracle 10g R2,重開機之後,你會發現Oracle沒有自行啟動,這是正常的,因為在Linux下安裝Oracle的確不會自行啟動,必須要自行設定相關參數,首先先介紹一般而言如何啟動oracle。一、在Linux下啟動Oracle登入到CentOS,切換到oracle使用者權限# su – oracle接著輸入:$ sqlplus "/as sysdba"原本的畫面會變為SQL>接著請輸入SQL>