目前分類:Oracle (438)

瀏覽方式: 標題列表 簡短摘要
dbms_stats包問世以後,Oracle專家可通過一種簡單的方式來為CBO收集統計資料。目前,已經不再推薦你使用老式的分析表和dbms_utility方法來生成CBO統計資料。那些古老的方式甚至有可能危及SQL的性能,因為它們並非總是能夠捕捉到有關表和索引的高品質資訊。CBO使用物件統計,為所有SQL語句選擇最佳的執行計畫。

 

dbms_stats能良好地估計統計資料(尤其是針對較大的分區表),並能獲得更好的統計結果,最終制定出速度更快的SQL執行計畫。

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

1. 找到帳號被鎖定時間

 

利用sqlplus或者sqldeveloper,查詢帳號被鎖定的時間,相關語句如下:

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

Oracle資料庫日期範圍搜索的兩種方法是本文我們主要要介紹的內容,接下來我們通過一個實際的例子來對其進行介紹,希望能夠對您有所説明。

 

例如,搜索日期小於 2000-1-5 的記錄,方法如下:

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

select rownum as id, to_char(sysdate + rownum / 24 / 3600, 'yyyy-mm-dd hh24:mi:ss')
as inc_datetime,
trunc(dbms_random.value(0, 100)) as random_id,

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

1.環境:

 

①Windows XP + Oracle 10g

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

select   
    d.itemid as ItemId,   
    d.itenname as ItenName   
from dictionaryitem d   
start with d.parent_id = #aa#   
connect by prior  d.itemid  =  d.parent_id


shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

1.單表轉移表空間

 

場景:有表user存放在表空間oldspace下,需把表user移動到表空間newspace下

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

現在是遇到這種問題,比如兩個表主表base與環節表process現在取主表base的記錄和環節號最大的記錄關聯
base表:
id,

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

前期工作:

 

檢查oracle伺服器端監聽是否正常工作及瞭解監聽信息。

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

利用oracle控制檔實現大批量資料的入庫操作,效率比sql指令檔要高很多。

 

一個300M的資料檔案,ctl檔的入庫大概在20mins左右,sql指令檔則需要2h左右。

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

做專案的時候,一位同事導資料的時候,不小心把一個表中的資料全都搞重了,也就是說,這個表裡所有的記錄都有一條重複的。這個表的資料是千萬級的,而且是生產系統。也就是說,不能把所有的記錄都刪除,而且必須快速的把重複記錄刪掉。

 

對此,總結了一下刪除重複記錄的方法,以及每種方法的優缺點。

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

1.停止所有與ORACLE相關的服務。
2. 使用OUI(Oracle Universal Installer)卸載Oracle軟體。
「開始」->「程式」->「Oracle-OraDb110g_home1|Oracle installation product|Universal installer.

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

自動啟動ORACLE服務
在oracle使用者下:
vi Start_ORA.sh

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

oracle中用comment on命令給表或欄位加以說明,語法如下:
COMMENT ON
{ TABLE [ schema. ]

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

--查詢3204功能表下面所有的子功能表以及子功能表下面包含的子功能表
--delete from tbMenu where menuId in
(select menuId from tbmenu start with menuId = 3204 connect by prior menuId = menuParentId);

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

oracle 提供了start with connect by 語法結構可以實現遞迴查詢。

 

1. 一個簡單舉例:

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

我的ORACLE裝在C盤plateform目錄下,定義了 ORACLE_HOME 和 JAVA_HOME 兩個環境變數,

 

想要使用 isqlplus 則按照如下操作創建一個 webDba 使用者,來使用簡單方便的 isqlplus

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

create temporary tablespace IDX_TEMP
tempfile '/u/app/oracle/oradata/ELM/IDX_TEMP01.dbf'
size 32m

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

Oracle %TYPE

 

%TYPE 是定義變數的一種方法

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

今天在做oracle10gR2新特性透明加密(TDE)的時候,建立wallet預設路徑和修改sqlnet.ora檔都 報ORA-28368和ORA-28353錯誤,而且修改sqlnet.ora檔後,監聽程式起不來,後來在sqlnet.ora檔里加入NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)問題解決。
下面簡單介紹下我對NAMES.DIRECTORY_PATH連接參數的瞭解:
NAMES.DIRECTORY_PATH常用的值有tnsnames,hostname,onames和ezconnect和ldap,cds,nis不常用的值,預設值是(tnsnames,onames,hostname)。

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()