2013/12/26

Published 12月 26, 2013 by

Flashbackup/Recyclebin資料回覆

1.Flashbackup:使用DML資料誤刪
2.Recyclebin:使用Drop指令誤刪除料
3.OERR-ORA Error錯誤查詢
4.11g獨有的自動修復功能

Read More
Published 12月 26, 2013 by

Oracle檔案異常資料還原(temp,redo,index,file,password,control block error)

檔案異常資料還原(11gAW2 Cheaper6,7)
一、Temp file error
二、REDO Log file error:
三、Index error
四、File error
五、Password file error
六、Control file error
七、Block Error

Oracle Version:10g/11g

Read More

2013/12/23

Published 12月 23, 2013 by

建立Recovery Catalog的步驟&RMAN指令

建立Recovery Catalog的步驟(11gAW2_Chapter3,4)
1.選擇reocvery catalog所在的database
2.建立獨立使用的tablespace(建議)
3.建立獨立的user(建議)
4.授權recovery_catalog_owner角色給step 3所建立的user
5.建立recovery catalog
6.註冊target database到recovery catalog(僅需一次)
7.RMAN常用指令


Read More

2013/12/09

Published 12月 09, 2013 by

SQL SERVER 轉 ORACLE

1.     透過SQL SERVER 2008 Standard版本的IMPORT/EXPORT 轉換
2.     安裝Oracle Client/設定TNS
3.     Create Oracle User Account/Create Oracle Datafile
4.     import data to Oracle
5.     注意事項

Read More

2013/12/06

Published 12月 06, 2013 by

df卡住問題解決

Linux底下,下df指令會卡住…

解決方法:
一、應該是mount遠端磁帶機,然後遠端磁碟機關機、當機或某種原因連不到
二、確認有多少user有在這個目錄底下,有的話請退出或Kill user
三、使用strace df命令,查看是那一個point卡住
...
...
statfs("/mnt", <unfinished ...>;
由這一個可看出是/mnt這一個Point

四、umount這一個Point
umount -f /mnt,
killall -9 df

五、復原正常
Read More

2013/11/29

Published 11月 29, 2013 by

Oracle的優化器(Optimizer)-Analysis


Oracle的優化器(Optimizer)有兩種優化方式, Hint也不例外,除了/*+rule*/其他的都是CBO優化方式

基於規則的優化方式(Rule-Based Optimization,簡稱為RBO)
基於成本的優化方式(Cost-Based Optimization,簡稱為CBO)

Read More

2013/11/28

Published 11月 28, 2013 by

Oracle Mview教學


Oracle Mview教學

數據庫之間可以通過DBLINK+Materialized View實現數據同步; 若需要對物化視圖做UPDATE更新操作,則需要建立Writable Materialized View,在建立物化視圖時指定FOR UPDATE子句。由於Writable Materialized View要求物化視圖能夠快速刷新,所以建立必要的物化視圖日志Materialized View Log

刷新方式:FAST/COMPLETE/FORCE
刷新時間:ON DEMAND/ON COMMIT
是否可更新:UPDATABLE/READ ONLY
是否支持查詢重寫:ENABLE QUERY REWRITE/DISABLE QUERY REWRITE


Read More

2013/11/22

Published 11月 22, 2013 by

Drop Partition & MView Rsync & Index確認

步驟:
一、確認要刪的Table Partition是否為Mview rsync資料
二、確認db大小,可以知道刪除多少資料
三、Report Mview jobs stop
四、Drop Partition(MES & Report)
五、使用Complete更新Mview物件
六、啟用Mview job
七、確認index狀態
八、確認刪除的大小


Read More

2013/11/14

Published 11月 14, 2013 by

Software RAID 建置-mdadm


Software RAID 建置-mdadm

什麼是mdadm?
mdadm multiple devices admin的簡稱,它是Linux下的一款標準的軟件 RAID 管理工具,作者是 Neil Brown

用途:多個Lun組成一個raid,使用不同的Storage
方法: Storage透過iscsi的方式,切割LunServer
主機:xenserver VM
StorageNetApp

Read More
Published 11月 14, 2013 by

使用ssh,建立不用帳密認證立即登入主機

1.產生ssh KEY
2.交換ssh key
3.互相登入對方的主機,即可快速登入主機

Read More
Published 11月 14, 2013 by

開機自動執行 Services-自行寫script,把它掛成services

建立services,可透過services指令,自動開啟服務


Read More

2013/11/06

Published 11月 06, 2013 by

ORA-00060: Deadlock Detected

ORA-00060: Deadlock Detected

關於資料庫鎖死的檢查方法
一、 資料庫鎖死的現象
程式在執行的過程中,點擊確定或保存按鈕,程式沒有回應,也沒有出現報錯。

二、鎖死的原理
當對於資料庫某個表的某一列做更新或刪除等操作,執行完畢後該條語句不提
交,另一條對於這一列資料做更新操作的語句在執行的時候就會處於等待狀態,
此時的現象是這條語句一直在執行,但一直沒有執行成功,也沒有報錯。

三、鎖死的定位方法
通過檢查資料庫表,能夠檢查出是哪一條語句被鎖死,產生鎖死的機器是哪一台。

Read More
Published 11月 06, 2013 by

ORA-01555 ::snapshot too old Error Message

ORA-01555 Error Message

出現ORA-01555錯誤,通常有下列情況:
            SQL語句執行時間太長,或者UNDO表空間過小,或者事務量過大,或者過於頻繁的提交,導致執行SQL過程中進行一致性讀時,SQL執行後修改的前鏡像(即UNDO資料)在UNDO表空間中已經被覆蓋,不能構造一致性讀塊(CR blocks)。  這種情況最多。
  
解決的辦法:
1)增加UNDO表空間大小
2增加undo_retention 時間默認只有15分鐘
3優化出錯的SQL減少查詢的時間首選方法
4)避免頻繁的提交

Read More

2013/11/01

Published 11月 01, 2013 by

WEB 壓測軟體

WEB 壓測軟體

介紹兩套軟體:
Siege & Webbench

Read More

2013/10/23

Published 10月 23, 2013 by

Disk IO 壓測軟體 - IOMETER


Disk IO 壓測軟體

使用軟體:iometer
測試方式:多台主機做壓測
Storage: NAS 2020B

每一台主機需掛戴要測的遠端磁碟機
透過指令的方式,把要測的主機加進來

Read More

2013/10/18

Published 10月 18, 2013 by

在Partition Table/Index中,找出最大的Partition Table/Index

在Oracle10G中,常會使用partition table,好處是要刪除資料可以一次drop掉partition table,但
經過一段時間之後,需要增加partition table,若沒有增加,新的資料常會塞不進去,造成異常狀況。


Read More

2013/10/17

Published 10月 17, 2013 by

查詢誰Lock住Oracle

Oracle sid and Linux pid
為什麼會Lock呢?因為user在update table的時候,沒有做commit的動作,ORACLE就會把它Lock,而在一次在更改的時候,就會形成Wait狀態。


Read More

2013/10/10

Published 10月 10, 2013 by

好用免費的DB管理工具 -DBeaver

2013/10/09

Published 10月 09, 2013 by

Online redo log


Online redo log file:

Online Redo log:
 1 . 紀錄對資料庫中的資料所作的所有更改(紀錄指令)
 2 . 用來提供恢復機制
 3 . group為單位,每個group最少一個member(redo log file)
 4 . 至少需要有兩個group
 5 . 若為RAC架構,則為多Instance對一個資料庫,redo log 則以thread對應Instance(不會解釋)

Read More

2013/10/06

Published 10月 06, 2013 by

Linux LVM Create


Linux LVM Create

一、        Fdisk,劃分硬碟
二、        pvcreate,增加硬碟
三、        vgextend,增加vg空間
四、        lvresize,增加lv空間
五、        resize2fs,讓os看得到


Read More

2013/10/04

Published 10月 04, 2013 by

Oracle Reog datafile


Oracle Reog datafile:
Oracle: Oracle 10G
Method:Move C5_SYS_DATA_2 to C5_SYS_DATA
縮小空間有兩種方法:(此兩種方法都會把Highwater做移動,所以有辦法縮小空間)
一、        做export/import(本例已做過export/import,所以空間不會改變)
二、        建立新的datafile,把資料move過去,刪除舊的tablespace(此範列)


Read More
Published 10月 04, 2013 by

Oracle Export/Import DB(含Oracle Data Pump)


Export/Import DB


1.        確認空間大小
2.        export tablespace,並確認是否要更改路徑
3.        create user/grant resource
4.        export data
5.        import data

範列二:
Oracle Data Pump

Read More

2013/06/17

Published 6月 17, 2013 by with 0 comment

冷氣噸數計算


首先量空間的尺寸:


2.33(m) x 3.2(m) = 7.456(m2)


因為 1坪 = 3.3058 m2          所以 7.456 / 3.3058 = 2.26坪


通常 1坪 需要 450 kCal/hr    所以 2.26 x 450 = 1017 kCal/hr


而 1kW = 860 kCal/hr         所以 1017 / 860 = 1.18 kW


另外 1 噸 = 3024 kCal/hr     所以 1017 / 3024 = 0.336 噸


 



•能源效率值EER(EER值愈高,用電愈經濟)

----------------------------------------------------------------------



第一步:先確定空間的坪數,計算方式如下


          室內空間以公尺為單位:長×寬×0.3025=坪數




第二步:選取每坪空間概略需要的仟卡數


          普通房間(非頂樓、沒西曬、樓高2.8M),每坪約需500Kcal/h冷房能力


          普通房間(非頂樓但強烈西曬、樓高2.8M),每坪約需625Kcal/h冷房能力


          普通房間(頂樓且西曬、樓高2.8M),每坪約需750Kcal/h冷房能力


          家用客廳(非頂樓、沒西曬、樓高2.8M),每坪約需750Kcal/h冷房能力




※ 每坪空間所需要的Kcal/h數,會隨著使用人數多寡、建築材料(是否為


     鐵皮屋)、空間用途(是否為營業場所)、樓層高度、照明燈的種類及


     數量、等不同情形;而有所差異。若有不明白,可請教專業,以免花錢


     裝冷氣不冷又耗電。


※ 冷氣能力計算單位:


      1 Kcal -1公升的水升高攝氏一度所需的熱量,為公制熱量單位。


      Kcal/h為每小時多少仟卡,是日本常用的冷度(或熱量)單位。


      1BTU-1英磅的水升高華氏一度所需的熱量,為英制熱量單位。


                  《1 Kcal≒4BTU》


      BTU/H為每小時多少BTU,是英、美等主要工業國家計算冷度(或熱


                 量)單位。


 


第三步:將第一步得知的坪數和第二步選取每坪空間概略需要的仟卡數,


          計算如下:


          坪數×每坪空間概略需要的仟卡數=空間內所需要的Kcal/h(冷房能力)


          此時選購的冷房能力Kcal/h應大於計算出的數值


※ 選購冷氣時以上述方法所得出的數值來挑選,是較穩健的方式。如只參


     考冷氣型錄內的適用坪數或沒有統一說法的冷氣噸數,常會因誤差或認


     知差異而有新購買的冷氣不冷是否故障的疑問。


     冷氣噸數─台灣常通稱2000Kcal/h為一噸


                           日制2500 Kcal/h為一噸


                           美制3024 Kcal/h為一噸


 


--------------------------------------------------------------------------------------------------------------------


(a)冷氣機的冷房能力:

以「噸」表示,其單位為仟卡/小時(Kcal/Hr)或BTU/Hr。台灣常用的「1噸」=2000Kcal/Hr(1 Kcal/Hr=4 BTU/Hr)。建議您根據空間不同大小,選擇不同冷房能力的冷氣,以確保有效達到冷房效果,一般而言,每1坪 空間所需的冷房能力約為450 Kcal/Hr(1800BTU/Hr)。 但估計冷房能力需求時,遇有西曬、頂樓、邊間或營業場所等情形,應較上述一般需求再加約20﹪,即每坪約需550 Kcal/Hr。
















































冷氣能力﹝1Kcal=4BTU

適用坪數

噸數

2000Kcal

8000BTU

3~ 5坪

1

2500Kcal

10000BTU

4~ 6坪

1.3

3150Kcal

12600BTU

5~ 7坪

1.5

3550Kcal

14200BTU

6~ 8坪

1.7

4500Kcal

18000BTU

8~ 10坪

2.5

5600Kcal

22400BTU

10~ 12坪

3

6300Kcal

25200BTU

12~ 14坪

3.5

7100Kcal

28400BTU

14~ 16坪

3.5噸或以上


 


 


參考資料:


http://www.7headlines.com/article/show/168926136


http://mike134.pixnet.net/blog/post/26811292-%E6%8F%9B%E5%86%B7%E6%B0%A3%E6%A9%9F%E7%9A%84%E4%B8%80%E4%BA%9B%E5%BF%83%E5%BE%97


http://blog.yam.com/happylive1/article/20239648


Read More

2013/05/24

Published 5月 24, 2013 by with 0 comment

Linux 中文顯示設定

請先檢查系統的語言設定:

#vim /etc/sysconfig/i18n


內容應為:
LANG="zh_TW.UTF-8"


即時生效:


#source /etc/sysconfig/i18n


確認線上環境的設定檔是否正確:


#env | grep LANG


LANG="zh_TW.UTF-8"


諾不是和我們設定的一樣,重新開機試試,或者查看user profile看是否有把它寫入


#cat /etc/profile



#cat /etc/bashrc


#cat .bash_profile


#cat ~/.bashrc


Read More

2013/05/15

Published 5月 15, 2013 by

Oracle Rebuild Index



1. 文件目的


提供Oracle Rebuild操作說明,能依照此文件進行各項工作的處理與確認。




2. Oracle Version


查看Oracle版本,以下的指令適用在10.2.0.4版本:

[oracle@c5rptdb1 OPatch]$ ./opatch lsinventory

Invoking OPatch 10.2.0 .4.2



Oracle Interim Patch Installer version 10.2.0 .4.2

Copyright (c) 2007, Oracle Corporation.  All rights reserved.





Oracle Home       : /orasys/product/10.2

Central Inventory : /orasys/product/oraInventory

   from           : /etc/oraInst.loc

OPatch version    : 10.2.0 .4.2

OUI version       : 10.2.0 .4.0

OUI location      : /orasys/product/10.2/oui

Log file location : /orasys/product/10.2/cfgtoollogs/opatch/opatch 2013-05-15 _08-35-51AM.log



Lsinventory Output file location : /orasys/product/10.2/cfgtoollogs/opatch/lsinv/lsinventory 2013-05-15 _08-35-51AM.txt



--------------------------------------------------------------------------------

Installed Top-level Products (2):



Oracle Database 10g                                                  10.2.0 .1.0

Oracle Database 10g Release 2 Patch Set 3                            10.2.0 .4.0

There are 2 products installed in this Oracle Home.





There are no Interim patches installed in this Oracle Home.





--------------------------------------------------------------------------------



OPatch succeeded.



 



3. 確認tablespace的大小


透過tode,可以知道STGC5_IDX這一個快沒有空間了,已使用79%,剩下26G空間。



由這一個欄位資訊,可以得知:

MAX SIZE每一個dbf31G,目前使用Used每一個是24G,剩下(24+24+25+25)/(31*4)=79%空間,可用空間26G(31*4-24+24+25+25=26)





4. Index Rebuild/File Add語法及注意事項




rebuild index online的指令範例語法如下:



(1)在原來的Tablespace rebuild

ALTER INDEX index_name REBUILD ONLINE;



(2)rebuild 到另一個Tablespace

ALTER INDEX  index_name REBUILD TABLESPACE tablespace_name ONLINE;



(3)add file Tablespace



注意事項:

一、須注意避開DB忙碌時間即可 ex. 晨午報產生時間

二、注意最大的index_name需大於剩餘空間

三、Rebuild到另一個tablespace,還需要在rebuild回原來的tablespace,所以要做兩次,但效果比較好

四、Archive log空間會變大,注意事否空間足夠

五、Tablespace Temp空間也會變大,也要注事是否足夠空間





5. Index Rebuild ()操作


一、查詢前十大的index_name

SELECT * FROM (SELECT OWNER, SEGMENT_NAME INDEX_NAME, BYTES/1024/1024 MB from dba_segments  where tablespace_name='STGC5_IDX' order by BYTES DESC) WHERE  rownum<10;







註:最大為12.5G,小於目前最大26G,可以做Rebuild



產生rebuild語法:

ALTER INDEX STGC5.GROUPHIST_0E8E REBUILD TABLESPACE STGC5_IDX ONLINE;



要打十個太累,自動產生語法:

SELECT * FROM (SELECT 'ALTER INDEX ' || OWNER || '.' || SEGMENT_NAME || ' REBUILD TABLESPACE ' || TABLESPACE_NAME || ' ONLINE;'  from dba_segments  where tablespace_name='STGC5_IDX' order by BYTES DESC) WHERE rownum < 10;









寫成一個sql,自動全部執行:



[oracle@c5rptdb1 script]$ cat index_rebuild_stgc5.sql

alter session set NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS";

--設定時間格式

set linesize 110

--設定顯示寬度

set timing on

--啟動計時

spool index_20130514.log

--產生log file

select sysdate from dual;

--顯示現在時間

PROMPT rebuild 1/10...

--列印目前執行項目

ALTER INDEX STGC5.PKFWAMTCOMPTRACKHISTORY REBUILD TABLESPACE STGC5_IDX ONLINE;

PROMPT rebuild 2/10...

ALTER INDEX STGC5.GROUP_HIST_ 7F 1A REBUILD TABLESPACE STGC5_IDX ONLINE;

PROMPT rebuild 3/10...

ALTER INDEX STGC5.TXNTIMECOMMENT_ 7F 1A REBUILD TABLESPACE STGC5_IDX ONLINE;

PROMPT rebuild 4/10...

ALTER INDEX STGC5.IDANDTIMESTAMP_ 7F 1A REBUILD TABLESPACE STGC5_IDX ONLINE;

PROMPT rebuild 5/10...

ALTER INDEX STGC5.LOTOBJTXNTIME_0E94 REBUILD TABLESPACE STGC5_IDX ONLINE;

PROMPT rebuild 6/10...

ALTER INDEX STGC5.PKFWWIPHISTORY_N 2M REBUILD TABLESPACE STGC5_IDX ONLINE;

PROMPT rebuild 7/10...

ALTER INDEX STGC5.WIPTXN_0E8E REBUILD TABLESPACE STGC5_IDX ONLINE;

PROMPT rebuild 8/10...

ALTER INDEX STGC5.PKFWWIPTRANSACTION REBUILD TABLESPACE STGC5_IDX ONLINE;

PROMPT rebuild 9/10...

ALTER INDEX STGC5.PKFWWIPHISTORY REBUILD TABLESPACE STGC5_IDX ONLINE;

PROMPT rebuild 10/10...

ALTER INDEX STGC5.GROUPHIST_0E8E REBUILD TABLESPACE STGC5_IDX ONLINE;

select sysdate from dual;

--顯示結束完的時間

spool off;

--關閉

exit;

--離開



執行方式:

[oracle@c5rptdb1 script]$ sqlplus / as sysdba



SQL*Plus: Release 10.2.0 .4.0 - Production on Wed May 15 10:29:30 2013



Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.





Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0 .4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options



SQL> @index_rebuild_stgc5.sql



註:Index Rebuild完之後,再確認一下空間是否有釋放出來,若沒有,代表這一段時間很少在做delete的動作,大部份都是add資料,所以釋放的空間不大。



6. Index Rebuild ()操作


選擇Add tablespace file









填入Tablespace Name






增加DataFiles







SQL語法:

CREATE TABLESPACE STGC5_IDX_TMP DATAFILE

  '/rptdata1/c5prpt/STGC5_IDX_TMP_01.dbf' SIZE 1024M AUTOEXTEND ON NEXT 100M MAXSIZE 31744M

LOGGING

PERMANENT

EXTENT MANAGEMENT LOCAL AUTOALLOCATE

BLOCKSIZE 8K

SEGMENT SPACE MANAGEMENT MANUAL

FLASHBACK ON;



開始搬移資料到新的TABLESPACE,一樣選擇前十大的index_name ==>STGC5_IDX會清出空間

ALTER INDEX  STGC5.PKFWAMTCOMPTRACKHISTORY REBUILD TABLESPACE STGC5_IDX_TMP ONLINE;



做完之後再搬移到舊的TABLESPACE ==>  tablespace STGC5_IDX_temp 會變成空的

ALTER INDEX STGC5.PKFWAMTCOMPTRACKHISTORY rebuild TABLESPACE STGC5_IDX online;



再把 tablespace STGC5_IDX_temp 刪除掉

Drop tablespace STGC5_IDX_TMP including contents;



7. Add File in Tablespace




一樣是在Tablespace的位置下,新增file






照上面看到的資訊增加File

DataFile:預設OS使用的空間,增加1g的空間

Auto Extend:下次若空間滿了,增加allocate的空間,100mb

Maximum:最大的空間佔多大,使用31G( 32G會出錯)






Sql語法:

ALTER TABLESPACE STGC5_IDX ADD DATAFILE '/rptdata1/c5prpt/STGC5_IDX_05.dbf' SIZE 1024M AUTOEXTEND ON  NEXT 100M MAXSIZE 31744M;





PS.
確認Index是否正常:
詳見以下的文章:Drop Partition & MView Rsync & Index確認
http://shinchuan1.blogspot.tw/2013/11/drop-partition-mview-rsync-index.html

8. 修改備份軟體的Catalog data


因增加了Datafilerman的資料不知道要備份此檔案,需要透過RMAN的方式,連結到backup Server,做resync catalog的動作。



[oracle@c5rptdb1 script]$ rman  target  / catalog rman/rman@C5RMAN



Recovery Manager: Release 10.2.0 .4.0 - Production on Wed May 15 10:00:51 2013



Copyright (c) 1982, 2007, Oracle.  All rights reserved.



connected to target database: C5PRPT (DBID=2364754468)

connected to recovery catalog database

RMAN> resync catalog;



starting full resync of recovery catalog

full resync complete



RMAN> exit





Read More