在sun solaris suncluster and volume manger環境下的ORACLE資料庫表空間的擴容
某使用者使用ORACLE資料庫,其中SCP資料庫採用雙機冷備份,隨著使用者量的增加,scu資料庫空間達到閥值80%,需要增加資料檔案。現網SCP硬體如下:
SUN dual-Fire V880-6*1.2GHz-12G-6*73G-2*NIC-2*SCSI-2*3310(12*73G) JBOD-2*72" Rack-Solaris8/SC3.0-Without Service-Eng. Doc-DDS4-Conf. Sheet
ORACLE資料庫資訊如下:
ORACLE 9i Enterprise Edition, V9.2.0, SUN SPARC Solaris 64Bit Platform, English Version, 25 Users, English Document
其中ORACLE的資料檔案安裝在共享磁碟中。
目前表空間的擴容方案為首先檢查目前的磁碟空間是否足夠,在磁碟空間允許的情況下,增加邏輯卷,然後再將該資料檔案加入到ORACLE資料庫;
操作步驟
? 資訊確認
1) 明確卷組資訊:
# vxdg list
NAME STATE ID
rootdg enabled 1095846169.1025.scp1
scpdg enabled 1095847191.1235.scp1
sharedg enabled 1095847234.1272.scp1
其中sharedg是用來存放oracle資料檔案的,scpdg用來存放scu應用。因此新增的邏輯卷將存放於sharedg卷組中;
2) 確定新增邏輯卷的位置和名字
ORACLE所使用的邏輯卷的詳細資訊如下:
# ls -al
total 4
drwxr-xr-x 2 root root 512 Sep 24 2004 .
drwxr-xr-x 4 root root 512 Sep 22 2004 ..
crw-rw---- 1 oracle dba 315,123008 Apr 25 2005 lvcontrol01_150
crw-rw---- 1 oracle dba 315,123007 Apr 25 2005 lvcontrol02_150
crw-rw---- 1 oracle dba 315,123009 Apr 25 2005 lvcontrol03_150
crw-rw---- 1 oracle dba 315,123005 Feb 27 09:36 lvindex_1024
crw-rw---- 1 oracle dba 315,123010 Mar 2 15:00 lvredo1_350
crw-rw---- 1 oracle dba 315,123011 Mar 2 15:00 lvredo2_350
crw-rw---- 1 oracle dba 315,123012 Mar 2 15:00 lvredo3_350
crw-rw---- 1 oracle dba 315,123015 Feb 27 09:36 lvscudata
crw-rw---- 1 oracle dba 315,123013 Apr 18 2005 lvspfile
crw-rw---- 1 oracle dba 315,123014 Sep 22 2004 lvsrvmcfg
crw-rw---- 1 oracle dba 315,123000 Feb 27 09:36 lvsystem_650
crw-rw---- 1 oracle dba 315,123002 Sep 24 2004 lvtemp_1024
crw-rw---- 1 oracle dba 315,123006 Feb 27 09:36 lvtools_150
crw-rw---- 1 oracle dba 315,123003 Feb 27 09:36 lvundo1_1024
crw-rw---- 1 oracle dba 315,123004 Sep 22 2004 lvundo2_1024
crw-rw---- 1 oracle dba 315,123001 Feb 27 09:36 lvuser_120
# pwd
/global/.devices/node@1/dev/vx/rdsk/sharedg
因此新增的邏輯卷將位於/dev/vx/rdsk/sharedg目錄下,名字為lvscudata_1
3) 瞭解sharedg的磁碟使用資訊
# vxdisk -g sharedg list
DEVICE TYPE DISK GROUP STATUS
c2t3d0s2 sliced c2t3d0 sharedg online spare
c2t4d0s2 sliced c2t4d0 sharedg online
c2t5d0s2 sliced c2t5d0 sharedg online
c2t8d0s2 sliced c2t8d0 sharedg online
c2t9d0s2 sliced c2t9d0 sharedg online
c2t10d0s2 sliced c2t10d0 sharedg online
c2t11d0s2 sliced c2t11d0 sharedg online
c2t12d0s2 sliced c2t12d0 sharedg online
c2t13d0s2 sliced c2t13d0 sharedg online
c3t3d0s2 sliced c3t3d0 sharedg online spare
c3t4d0s2 sliced c3t4d0 sharedg online
c3t5d0s2 sliced c3t5d0 sharedg online
c3t8d0s2 sliced c3t8d0 sharedg online
c3t9d0s2 sliced c3t9d0 sharedg online
c3t10d0s2 sliced c3t10d0 sharedg online
c3t11d0s2 sliced c3t11d0 sharedg online
c3t12d0s2 sliced c3t12d0 sharedg online
c3t13d0s2 sliced c3t13d0 sharedg online
該lvscudata_1將佔用c2t4d0 c2t5d0 c2t8d0 c2t9d0 c2t10d0 c2t11d0 c2t12d0 c2t13d0 c3t4d0 c3t5d0 c3t8d0 c3t9d0 c3t10d0 c3t11d0 c3t12d0 c3t13d0 磁碟;
? 具體操作步驟
以下步驟必須在當前擁有sharedg的節點上操作,如下假設當前主機為scp1。
1) 確認目前的磁碟空間是否足夠
# vxassist -g sharedg maxsize layout=stripe-mirror,nolog
Maximum volume size: 1121720320 (547715Mb)
可以看出sharedg能作raid10的邏輯卷最大能到(547715Mb),空間足夠;
2) 增加邏輯卷
# vxassist -g sharedg make lvscudata_1 5100m layout=stripe,nolog
c2t4d0 c2t5d0 c2t8d0 c2t9d0 c2t10d0 c2t11d0 c2t12d0 c2t13d0
增加邏輯卷,注意如果要增加的資料檔案的大小為5000m,那麼建立的邏輯卷應該略大於資料檔案的大小,如本例中設定邏輯卷的大小為5100m。另外,對於ORACLE資料庫,沒有象INFORMIX類似的使用的邏輯卷最大為2G的限制;但是一般情況下,建議一個資料檔案的大小不要超過5000M.
3) 進行邏輯卷映象
# vxassist -g sharedg mirror lvscudata_1
c3t4d0 c3t5d0 c3t8d0 c3t9d0 c3t10d0 c3t11d0 c3t12d0 c3t13d0
4) 邏輯卷條帶化
# vxassist -g sharedg convert lvscudata_1 layout=stripe-mirror,nolog
5) 設定邏輯卷日誌方式
# vxassist -g sharedg addlog lvscudata_1
6) 設定邏輯卷的宿主和許可權
# vxedit -g sharedg set user=oracle group=dba mode=0660 lvscudata_1
7) 下面這步比較關鍵,否則雙機切換後因為卷資訊不同步將會出問題
# scconf -c -D name=sharedg,sync
8) 然後是用oracle使用者把/dev/vx/rdsk/sharedg/lvscudata_1加入資料庫
# su - oracle
scp1% sqlplus "/ as sysdba"
SQL> SELECT * FROM V_$TABLESPACE;
TS# NAME INC
---------- ------------------------------ ---
0 SYSTEM YES
1 UNDOTBS1 YES
2 TEMP YES
3 INDX YES
4 TOOLS YES
5 USERS YES
6 SCUDATATBS YES
7 rows selected.
執行如下命令:
SQL> ALTER TABLESPACE SCUDATATBS ADD DATAFILE '/dev/vx/rdsk/sharedg/lvscudata_1' SIZE 5000M;
commit;
9) 檢查確認
SQL> select NAME from V_$DATAFILE;
可以使用如上命令檢視資料檔案是否生效;
SQL> select b.file_id ID, b.tablespace_name tablespacename, b.bytes byte, (b.bytes-sum(nvl(a.bytes,0))) used,sum(nvl(a.bytes,0)) freespace,sum(nvl(a.bytes,0))/(b.bytes)*100 freepercentage FROM dba_free_space a,dba_data_files b where a.file_id=b.file_id group by b.tablespace_name,b.file_id,b.bytes order by b.file_id;
使用如上命令檢視各個資料檔案和表空間的使用情況;
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9479798/viewspace-1050078/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle表空間擴容Oracle
- 資料庫表空間不夠,需要擴容資料庫
- AIX 5.3 10.2g rac環境下 給表空間擴容(裸裝置表空間)AI
- 達夢資料庫DSC架構下ASM擴容及表空間擴容實施資料庫架構ASM
- Oracle RAC+DG 表空間擴容Oracle
- 安裝sun cluster3.0和volume manger3.5
- WINDOWS 環境下 監控ORACLE臨時表空間WindowsOracle
- oracle清除資料庫表空間Oracle資料庫
- 在 Homestead 環境下為 PHP 新增 Oracle 資料庫擴充套件(OCI)PHPOracle資料庫套件
- 陌生Oracle的資料庫環境的巡檢內容Oracle資料庫
- Oracle RAC環境下ASM磁碟組擴容OracleASM
- Oracle生產環境建立大的表空間模板Oracle
- oracle的空間資料庫:Oracle資料庫
- 檢視Oracle資料庫表空間大小,是否需要增加表空間的資料檔案Oracle資料庫
- Oracle資料庫表空間的資料檔案大小上限。Oracle資料庫
- 在資料庫之間移動表空間資料庫
- 怎樣移動Oracle資料庫的表空間Oracle資料庫
- 華納雲:如何配置oracle表空間自動擴容?Oracle
- Brtools擴oracle表空間Oracle
- ORACLE RAC 裸裝置資料庫一節點表空間擴容錯誤新增資料檔案到本地的處理Oracle資料庫
- Oracle資料庫9i在AIX環境下的效能調整Oracle資料庫AI
- oracle 11g資料庫ASM磁碟組儲存空間擴容實施Oracle資料庫ASM
- 如何檢視Oracle資料庫表空間大小(空閒、已使用),是否要增加表空間的資料檔案...Oracle資料庫
- oracle RAC+DG 擴容ASM和表空間(Linux)OracleASMLinux
- 建立表空間、使用者、擴容、移動資料檔案
- PostgreSQL:表空間-->資料庫-->表SQL資料庫
- Oracle資料庫的空間管理技巧Oracle資料庫
- Oracle - 資料庫的例項、表空間、使用者、表之間關係Oracle資料庫
- 誤刪oracle資料庫表空間檔案Oracle資料庫
- Oracle資料庫設定預設表空間Oracle資料庫
- 對oracle資料表空間的計算Oracle
- oracle中的資料庫、使用者、方案、表空間、表物件之間的關係Oracle資料庫物件
- oracle 資料庫搭建高可用環境 容災參考。Oracle資料庫
- Oracle資料庫同平臺與異構平臺下的表空間傳輸Oracle資料庫
- 在solaris環境下,根據java程式的不同,設定不同的環境變數Java變數
- oracle資料庫中索引空間的重用Oracle資料庫索引
- 清理oracle資料庫空間Oracle資料庫
- oracle 表空間下資料檔案遷移的三種方法Oracle