目前分類:Oracle (119)

瀏覽方式: 標題列表 簡短摘要
測試Solaris 10 x64在限制記憶體使用量的語法,
設定SGA的大小並試著啟動Oracle DB。

Oracle DB的版本是11g x64,OS的帳號是visora

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

select obj.object_name,obj.object_type,sou.line,sou.source
from sys.source$ sou,
dba_objects obj
where sou.obj# = obj.object_id
and obj.object_name like 'TEST3%'

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

昨天發生了一件整體ERP效能緩慢的事件,主機上有正式區與測試區ERP,
共用一台Storage,正式區上的Redo Wait非常高,整個效能非常慢,
但是Redo File並沒有損毀,也可以正常切換。

而測試區ERP直接就掛點,連不上去,於是用SSH直接連上主機查看,

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

同事今天要建立一個新的table時,sql大致如下:
create table temp_01_200 as (
select we.WIP_ENTITY_NAME,msi.SEGMENT1 item_no,msi.DESCRIPTION,wdj.SCHEDULED_COMPLETION_DATE start_date,
wdj.START_QUANTITY,wdj.QUANTITY_COMPLETED qty
from wip_discrete_jobs wdj,

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

在Oracle 9i時,要縮小Temporary Tablespace的空間時,都是新增一個新的Temporary Datafile,
再將原有的Temporary Datafile離線後刪除,但是現在資料庫已經更新到11gR2的版本。

藉著這次RMAN異機還原的測試,順便測試shrink的功能。

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

有時候想要將具有相同性質或意義的多筆資料組合成一筆資料,之前我都是用程式的方式解決

例如:

SQL> select a,b from tmp_ddd;

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

--樣本標準差,只有一筆資料時傳回0
select stddev(a) from tmp_ccc;

--樣本標準差,只有一筆資料時傳回null
select STDDEV_SAMP(a) from tmp_ccc;

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

平方根
SQL> select sqrt(100) from dual;

sqrt(100)
--------------

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

透過使用catalog start with指令,可以將備份集的資訊重新導入到目前的Control file。
適用Control fi已經太舊或是手動建立(可能沒有最新備份集的資訊),或是備份集的路徑不一樣時。

例如:利用RMAN在測試機實行還原時,將備份檔案複製到測試機的/backup底下,
但是control file或是catalog database備份路徑是設定在/rman底下,就可以透過指令重新導入資訊。

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

CREATE OR REPLACE PROCEDURE APPS.SEND_MAIL_HTML_TEST
is

v_message varchar2(2000);

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

系統:Solaris 10
Database:11gR2

我把RMAN備份到遠端的主機上,以NFS方式掛載到本機的/bak上。

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

昨天用Flashback救回一個不小心覆蓋到舊資料的Procedure,今天再度測試。

建立一個測試用的Procedure
SQL> CREATE OR REPLACE PROCEDURE APPS.TEST_PROC
2 IS

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

建立測試Table
SQL> CREATE TABLE TEST_CCC( A VARCHAR2(20 BYTE)) ;

Table created.

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

一、recyclebin的使用範例(單一表格)

檢查recyclebin是否有啟用,VALUE=on表示有啟用
SQL> show parameter recyclebin ;

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

因為Database的版本由9i升級為11g,在測試的過程中發現某些報表在9i與11g顯示出來的排序不一樣。
但是報表使用的SQL及程式都是一樣的,在回報顧問之後,得知SQL中有使用distinct後,但是9i與11g在處理上有不一樣的地方。
而11g有一個參數optimizer_features_enable可以改為9i的處理方式,但是多少會影響效能,測試步驟如下:

11g預設的值

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

有一個在9i的tmp_ccc表格,想要移轉到11g,當然可以用DB_LINK將兩台DB連接後再insert資料過去。
但是我想先把tmp_ccc的資料備份出來,等有需要時再匯入11g。

在9i的OS下,執行exp匯出資料檔
$ exp test01/XXXXX file=/home/oraprod/exp_test.dmp buffer=65400 feedback=100 tables=tmp_ccc

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

先建立一個沒有啟用壓縮功能的測試表格
SQL> create table test01
2 ( a varchar2(100),
3 b varchar2(20) );

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

今天嘗試在UNDO Datafile刪除之後(只是把檔案更名而已)的還原方式,
試了幾種不用隱藏的參數*._offline_rollback_segments的方法都失敗,
在恢後UNDO Datafile之後開啟資料庫,卻出現了needs media recovery的訊息。

SQL> startup

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

找出TEMPORARY的Datafile位置
select a.file#,a.ts#,a.status,b.name,a.name
from v$tempfile a,
v$tablespace b
where a.ts#=b.ts#

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

有時候希望以上/下一筆的某個欄位值來計算,例如想知道今天與昨天交易量的差異數時,
通常是以編寫PL/SQL來達成目的。
但是今天在網路上看到原來有lead()和lag()兩個function可以直接以SQL完成。

例如:

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