上篇日誌《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
group by 語句支援基本的having條件,還支援rollup和cube提供資訊匯總功能,類似小計。rollup:縱向小計,從右向左逐個對每一列進行小結並在結果中產生獨立的一行。只返回第一個分組條件指定的列的統計行。cube:橫行小計select d.deptno,t.job,sum(t.sal) from emp t,dept d where t.deptno=d.deptno
系統在執行expdp匯出後,alert.log中報服務名修改資訊,具體如下: Wed Sep 05 02:09:29 2012ALTER SYSTEM SET service_names='SYS$SYS.KUPC$C_1_20120905020929.ZZBRAC3' SCOPE=MEMORY SID='zzbrac31';ALTER SYSTEM SET
Oracle system無法登入,我自己遇到的問題總結如下:首先,以SYS DBA身份進入sqlpuls開啟sqlpulsSQL->請輸入使用者名稱:sys as sysdbaSQL->密碼(老密碼):登入成功以後查詢DBA使用者狀態SQL->select username,account_status from dba_users;查看其中常用的使用者狀態是否是EXPIRED
一直以為group by 除了rollup和cube可以按照子句中指定的欄位進行不同粒度的彙總,沒有其他的方法了。今天因為groupby的bug(hash group b y)而發現了另一種方法,如下例:with tmp as( select '0001' userno, '01' pno from dual union all select '0001' userno, '01' pno from dual union
srvctl即Server Control,是Oracle提供的一個命令列工具,用以用於管理Oracle的RAC環境。srvctl在Oracle 9i中被引入,Oracle10g、11g對其功能進行了很大的增強和改進。下面介紹下此命令的簡單用法。一、 查看執行個體狀態(srvctl status)查詢所有執行個體和服務的狀態:[oracle@node-rac1 ~]$ srvctl status database -d racdbInstance racdb2 is running on
(1)Oracle資料庫控制台啟動後,看到1)資料庫執行個體無資訊2)監聽程式為狀態為不可用3)到執行個體的代理串連狀態為不可用。問題分析:此時服務剛啟動,還沒有到位解決辦法:過會再重新整理。此時可能會看到1)資料庫執行個體有相關資訊2)監聽程式有資訊但狀態為關閉3)到執行個體的代理串連狀態為失敗,並提示ORA-12541: TNS:無監聽程式(DBD ERROR: OCIServerAttach)。原因可能是監聽服務沒啟動。(2)Io異常: The Network Adapter could