Oracle子句GROUP BY CUBE續

上篇日誌《Oracle子句GROUP BY CUBE》(見  )中的問題稍作變化,現在每個欄位有3個狀態,SQL該如何寫呢?這時CUBE的機制恐怕沒有辦法構成3的八次方行資料了,只能另尋辦法。以下代碼是以3列為例的一個比較囉嗦的方案,僅供參考。with base as(select 0 as a1, 0 as a2, 0 as a3   from dual union all select 1 as a1, 0 as a2, 0 as

Oracle分組函數之ROLLUP魅力

本文通過示範給出Oracle ROLLUP分組函數的用法,體驗一下Oracle在統計查詢領域中的函數魅力。ROLLUP分組函數可以理解為Group By分組函數封裝後的精簡用法,這裡同時給出ROLLUP的Group By的改寫思路。1.初始化實驗壞境1)建立測試表group_testSECOOLER@ora11g> create table group_test (group_id int, job varchar2(10), name varchar2(10), salary int);

Oracle資料庫遊標

遊標的概念遊標是SQL的一個記憶體工作區,由系統或使用者以變數形式定義。遊標的作用是用於臨時儲存從資料庫中提取的資料區塊。為什麼要用遊標?資料庫的資料是存放在磁碟中的,遊標是把資料從磁碟中調到電腦記憶體中進行處理,最後將處理結果顯示出來或者最終寫回資料庫,這樣可以提高資料處理的效率,因為頻繁的磁碟資料交換會降低效率。遊標有兩種類型:隱式遊標和顯示遊標。隱式遊標:對於SELECT...INTO...語句(一次只能從資料庫中提取一行記錄)和DML(資料操縱語言,也就是INSERT語句、UPDATE語

不使用rman工具就能恢複被rm刪除的資料檔案案例

引題:朋友一時興起使用了rm**,刪除了Oracle資料檔案後找我幫忙,我在幫朋友恢複資料庫時,遇到了當recover時,報錯不能找到28739號歸檔日誌,這樣我就不能同步scn,更不能開啟資料庫了。這是歸檔日誌不連續的典型案例,我最後告訴他要做好心理準備。事情還沒有完,這個真實案例引發了我的思考,如果當時在朋友沒有做rman拯救措施的情況下,可不可能不使用rman即可恢複資料檔案呢!最後我找到了答案:)案例1.系統solaris SunOS TJLT-YDWG6 5.9 Generic_122

Oracle資料庫進階查詢

在一個SQL語句中嵌套另外一個sql語句稱為子查詢而這個查詢語句作為另一個查詢語句它的條件,其中包含其他sql語句的這個sql語句稱為父查詢樣本如下如果需要查詢商品類別中為圖書的所有商品id,名稱,價格select id,name,price from es_product   where sort_id =(  

delete表的資料後恢複

今天測試下了Oracle在刪除表的資料後的恢複方法。在oracle生產系統的維護測試中有一張表,將裡面的資料delete並commit了,由於業務不能中斷(資料庫不能停機),並且系統還在不斷有資料往該表中寫入。現在需要將之前delete掉的資料恢複,可以使用基於scn的恢複。在刪除之前,最好查詢到資料庫當前的scn,恢複的時候就採用基於這個scn點的恢複。example:方法一:1)建立一張測試表;      CREATE TABLE w AS

Oracle 11gR2 RAC 刪除節點最佳實務

Oracle 11gR2 RAC 添加節點最佳實務可參見:OS資訊:[grid@11grac1 ~]$ uname -aLinux 11grac1 2.6.32-300.10.1.el5uek #1 SMP Wed Feb 22 17:22:40 EST 2012 i686 i686 i386 GNU/LinuxDB資訊:SQL> select * from v$version where rownumBANNER--------------------------------------

Oracle case when用法

CASE運算式可以在SQL中實現if-then-else型的邏輯,而不必使用PL/SQL。CASE的工作方式與DECODE()類似,但應該使用CASE,因為它與ANSI相容。注意點:  1、以CASE開頭,以END結尾  2、分支中WHEN後跟條件,THEN為顯示結果  3、ELSE為除此之外的預設情況,類似於進階語言程式中switch case的default,可以不加  4、END後跟別名  CASE有兩種運算式:  1.簡單CASE運算式,使用運算式確定傳回值.  文法:  CASE

Linux sybase執行isql報錯

在RedHat as 4上面安裝完sybase 12.5.4後,初始化完畢,執行isql -Usa -P報錯:The context allocation routine failed when it tried to load localization files!!One or more following problems may caused the failureYour sybase home directory is /opt/sybase-12.5. Check the

ORA-12514: TNS: 監聽程式當前無法識別串連描述符中請求的服務

1.檢查Oracle資料庫主服務和監聽服務是否開啟    2.檢查listener.ora檔案是否正確配置 

Oracle 10g大表批次更新最佳化

Oracle 10g大表批次更新最佳化,其實,700萬的表不算大表,作為測試夠了一,t表資訊SQL> alter table t add is_del number(1);SQL> alter table t modify is_del default 0;SQL> desc tName   Type      Nullable Default Comments------ --------- -------

Oracle匯入dmp遇到問題解決

一、 首先要明白,Oracle匯入匯出dmp檔案是通過cmd命令執行的,而不是通過SQL plus執行的.此外也可以藉助PLSQLDev工具進行匯入匯出記得“匯出可執行檔”選擇用戶端安裝好的bin下的exp.exe工具二、發現在匯出的過程有問題:網上查詢原因是說資料庫oracle服務端與用戶端版本存在問題,要換一個oracle用戶端與服務端一致的版本就可以進行dmp檔案的匯出三、如果手上沒有相應的用戶端版本,我們為何不直接連上伺服器直接用cmd命名匯出匯入呢,呵呵。1、匯入命令:imp

Oralce水平分表

工作中遇到一張表每天都插入很多資料,隨著時間的推移資料量會變的很大上百萬條甚至上千萬條記錄。這樣我們能不能把表進行拆分呢,答案是肯定的Oracle 很早就考慮到這個問題提供了水平分割。oracle 10 g 中提供下面三中分區:1)定界分割(Range partition)2) 雜湊分割(Hash  partition)3)列表分區(List

使用MySQL時的遇到問題整理

1 ERROR 2002(HY000): Can't connect to local MySQL server through socket' /var/lib/mysql/mysql.sock'(2)未啟動MySQL MySQL的問題2 ERROR 1045(28000): Access denied for user 'root'@'localhost' (using password: NO)密碼錯了,修改root使用者的密碼:2.1 方法一mysqladmin -uroot

在虛擬機器上VM 添加一塊共用磁碟方法 支援Oracle 10g RAC

因為原先的ASM共用磁碟容量小,無法裝下歸檔日誌和備份檔案.所以決定增加一塊磁碟.1 在節點1增加一塊虛擬磁碟 放在原來的共用目錄上 取名為ASM4 選擇SCSI 1:5  注意放在SCSI匯流排1號上面排在其他盤後面,否則容易發生盤符改變 mode=independent->Persistent2  關閉虛擬機器檔案,然後用UEDIT開啟 Red Hat Enterprise Linux 4.vmx 在檔案最後scsi1:5.present = "TRUE"scsi1

在虛擬機器上添加共用磁碟後節點2的ASM執行個體無法載入到

在節點1用DBCA給ASM增加磁碟圖形過程比較容易,建立了兩個目錄分別是ARCHLOG和BACKUP. 可不能裝載節點2上面![Oracle@node2bdump]$ export ORACLE_SID=+ASM2[oracle@node2bdump]$ asmcmdASMCMD>ll        commands:         --------

RMAN 異機遷移

1. 環境說明:原機:192.168.102.156     Oracle 10.2.0.1目標:192.168.102.157     ORACLE 10.2.0.12.對資料庫做建立一張表。SQL> create table rmantest(id number(9));Table created.SQL> insert into rmantest(id) values(88);1 row

Oracle 10g RAC 備份 RMAN

[Oracle@node1 dbs]$ rman target / Recovery Manager: Release 10.2.0.1.0- Production on Thu Sep 27 16:37:55 2012 Copyright (c) 1982, 2005, Oracle.  All rights reserved. connected to target database: MYRAC(DBID=4177338842) RMAN&

使用MySQL的PROFILING調試功能

MySQL5.0.37版本以上支援PROFILING調試功能,讓您可以瞭解SQL語句消耗資源的詳細資料。因為它需要調用系統的getrusage()函數,所以只是在Linux/Unix類平台上才能使用,而不能在Windows平台上使用。而且,PROFILING是針對處理進程(process)而不是線程(thread)的,伺服器上的其他應用,可能會影響您的調試結果,因此,這個工具適合開發過程中的調試,如果要在生產環境中調試使用,則要注意它的局限性。參考資料:http://dev.mysql.com/

Linux上Oracle啟用非同步IO

剛解決了一個非同步io的問題,還是專門描述一下Oracle中設定非同步IO的方式。首先要檢查作業系統上,非同步io的相關包是否已經安裝,如果沒有的話,通過rpm進行安裝,並檢查系統上非同步io的參數設定:[oracle@localhost ~]$ rpm-qa|grep aiolibaio-0.3.107-10.el6.x86_64libaio-devel-0.3.107-10.el6.x86_64[oracle@localhost ~]$

總頁數: 978 1 .... 421 422 423 424 425 .... 978 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.