一些ASM 資料庫的測試和管理
ASM 資料庫的測試
測試ASM 資料庫的automatic rebalance 功能
新增兩個虛擬硬碟,分別是sdf 和sdg,大小500M
啟動系統,啟動ASM 例項,啟動資料庫例項
建立ASM 磁碟
#/etc/init.d/oracleasm createdisk VOL5 /dev/sdf
#/etc/init.d/oracleasm createdisk VOL6 /dev/sdg
登入ASM 例項檢查v$asm_disk 檢視,發現這兩個新加的硬碟已經找到了
將硬碟新增到磁碟組中
SQL> ALTER DISKGROUP DGROUP1 ADD FAILGROUP FGROUP1 DISK
'ORCL:VOL5' FAILGROUP FGROUP2 DISK 'ORCL:VOL6';
Diskgroup altered.[@more@]檢查資料庫的auto rebalance 工作進度,資料庫正在將原來分佈在兩個磁碟上的資料平均
分配到三個磁碟上
SQL> SELECT group_number, operation, state, est_work, sofar, est_rate,
est_minutes FROM v$asm_operation;
GROUP_NUMBER OPERATION STATE EST_WORK SOFAR
EST_RATE EST_MINUTES
------------ ---------- -------- ---------- ---------- ---------- -----------
1 REBAL RUN 416 0 0
0
SQL> /
GROUP_NUMBER OPERATION STATE EST_WORK SOFAR
EST_RATE EST_MINUTES
------------ ---------- -------- ---------- ---------- ---------- -----------
1 REBAL RUN 275 39 148
1
SQL> /
以上表示資料重新分配的工作已經成功完成
SQL> select name,allocation_unit_size,total_mb from v$asm_diskgroup;
NAME ALLOCATION_UNIT_SIZE TOTAL_MB
------------------------------ -------------------- ----------
DGROUP1 1048576 5120
現在磁碟組空間總共是5120M
登入資料庫例項
建立一個自己的表空間,建立一個使用者,建立一個表
SQL> create tablespace ts_test datafile '+DGROUP1' size 200M;
Tablespace created.
SQL> create user kamus identified by pass default tablespace ts_test;
User created.
SQL> grant dba to kamus;
Grant succeeded.
SQL> conn kamus/pass
Connected.
SQL> create table t_test as select * from dba_objects;
Table created.
SQL> select count(*) from t_test;
COUNT(*)
----------
10319
登入ASM 例項,將磁碟從磁碟組中刪除
SQL> alter diskgroup dgroup1 drop disk VOL4;
Diskgroup altered.
SQL> SELECT group_number, operation, state, est_work, sofar, est_rate,
est_minutes FROM v$asm_operation;
GROUP_NUMBER OPERATION STATE EST_WORK SOFAR
EST_RATE EST_MINUTES
------------ ---------- -------- ---------- ---------- ---------- -----------
1 REBAL RUN 566 46 151
3
SQL> select name,allocation_unit_size,total_mb from v$asm_diskgroup;
NAME ALLOCATION_UNIT_SIZE TOTAL_MB
------------------------------ -------------------- ----------
DGROUP1 1048576 4096
Executed in 0.13 seconds
SQL> select label,failgroup from v$asm_disk;
LABEL FAILGROUP
------------------------------- ------------------------------
VOL1 FGROUP1
VOL2 FGROUP1
VOL3 FGROUP2
VOL5 FGROUP1
VOL6 FGROUP2
可以看到磁碟組的總容量已經減少了,磁碟數目也減少了
有些文件上說刪除了磁碟之後要執行:ALTER DISKGROUP REBALANCE
但是發現不需要手動執行,整個REBALANCE 的工作確實是自動的,當刪除磁碟以後,數
據庫自動開始作REBALANCE 了
為了兩個FAILGROUP 的大小相同,再刪除一個磁碟
SQL> alter diskgroup dgroup1 drop disk VOL2;
Diskgroup altered.
我們可以從下面的SQL 知道在ASM 例項中可以查詢到所有可以用的磁碟,而在資料庫實
例中只可以查詢到讓自己使用的磁碟
ASM 例項:
SQL> SELECT disk_number, label FROM V$asm_disk;
DISK_NUMBER LABEL
----------- --------------------------------------------------------------
0 VOL4
1 VOL2
0 VOL1
2 VOL3
4 VOL5
5 VOL6
資料庫例項:
SQL> SELECT disk_number, label FROM V$asm_disk;
DISK_NUMBER LABEL
----------- -------------------------------
0 VOL1
2 VOL3
4 VOL5
5 VOL6
測試ASM 資料庫的automatic rebalance 功能
新增兩個虛擬硬碟,分別是sdf 和sdg,大小500M
啟動系統,啟動ASM 例項,啟動資料庫例項
建立ASM 磁碟
#/etc/init.d/oracleasm createdisk VOL5 /dev/sdf
#/etc/init.d/oracleasm createdisk VOL6 /dev/sdg
登入ASM 例項檢查v$asm_disk 檢視,發現這兩個新加的硬碟已經找到了
將硬碟新增到磁碟組中
SQL> ALTER DISKGROUP DGROUP1 ADD FAILGROUP FGROUP1 DISK
'ORCL:VOL5' FAILGROUP FGROUP2 DISK 'ORCL:VOL6';
Diskgroup altered.[@more@]檢查資料庫的auto rebalance 工作進度,資料庫正在將原來分佈在兩個磁碟上的資料平均
分配到三個磁碟上
SQL> SELECT group_number, operation, state, est_work, sofar, est_rate,
est_minutes FROM v$asm_operation;
GROUP_NUMBER OPERATION STATE EST_WORK SOFAR
EST_RATE EST_MINUTES
------------ ---------- -------- ---------- ---------- ---------- -----------
1 REBAL RUN 416 0 0
0
SQL> /
GROUP_NUMBER OPERATION STATE EST_WORK SOFAR
EST_RATE EST_MINUTES
------------ ---------- -------- ---------- ---------- ---------- -----------
1 REBAL RUN 275 39 148
1
SQL> /
以上表示資料重新分配的工作已經成功完成
SQL> select name,allocation_unit_size,total_mb from v$asm_diskgroup;
NAME ALLOCATION_UNIT_SIZE TOTAL_MB
------------------------------ -------------------- ----------
DGROUP1 1048576 5120
現在磁碟組空間總共是5120M
登入資料庫例項
建立一個自己的表空間,建立一個使用者,建立一個表
SQL> create tablespace ts_test datafile '+DGROUP1' size 200M;
Tablespace created.
SQL> create user kamus identified by pass default tablespace ts_test;
User created.
SQL> grant dba to kamus;
Grant succeeded.
SQL> conn kamus/pass
Connected.
SQL> create table t_test as select * from dba_objects;
Table created.
SQL> select count(*) from t_test;
COUNT(*)
----------
10319
登入ASM 例項,將磁碟從磁碟組中刪除
SQL> alter diskgroup dgroup1 drop disk VOL4;
Diskgroup altered.
SQL> SELECT group_number, operation, state, est_work, sofar, est_rate,
est_minutes FROM v$asm_operation;
GROUP_NUMBER OPERATION STATE EST_WORK SOFAR
EST_RATE EST_MINUTES
------------ ---------- -------- ---------- ---------- ---------- -----------
1 REBAL RUN 566 46 151
3
SQL> select name,allocation_unit_size,total_mb from v$asm_diskgroup;
NAME ALLOCATION_UNIT_SIZE TOTAL_MB
------------------------------ -------------------- ----------
DGROUP1 1048576 4096
Executed in 0.13 seconds
SQL> select label,failgroup from v$asm_disk;
LABEL FAILGROUP
------------------------------- ------------------------------
VOL1 FGROUP1
VOL2 FGROUP1
VOL3 FGROUP2
VOL5 FGROUP1
VOL6 FGROUP2
可以看到磁碟組的總容量已經減少了,磁碟數目也減少了
有些文件上說刪除了磁碟之後要執行:ALTER DISKGROUP REBALANCE
但是發現不需要手動執行,整個REBALANCE 的工作確實是自動的,當刪除磁碟以後,數
據庫自動開始作REBALANCE 了
為了兩個FAILGROUP 的大小相同,再刪除一個磁碟
SQL> alter diskgroup dgroup1 drop disk VOL2;
Diskgroup altered.
我們可以從下面的SQL 知道在ASM 例項中可以查詢到所有可以用的磁碟,而在資料庫實
例中只可以查詢到讓自己使用的磁碟
ASM 例項:
SQL> SELECT disk_number, label FROM V$asm_disk;
DISK_NUMBER LABEL
----------- --------------------------------------------------------------
0 VOL4
1 VOL2
0 VOL1
2 VOL3
4 VOL5
5 VOL6
資料庫例項:
SQL> SELECT disk_number, label FROM V$asm_disk;
DISK_NUMBER LABEL
----------- -------------------------------
0 VOL1
2 VOL3
4 VOL5
5 VOL6
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7272495/viewspace-975436/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ASM資料庫的一個測試ASM資料庫
- solaris10_oracle10g_asm_non_asm遷移資料庫測試OracleASM資料庫
- 介面測試資料管理
- 主要測試記憶體和資料庫記憶體資料庫
- 大資料測試與 傳統資料庫測試大資料資料庫
- 建立ASM例項和資料庫ASM資料庫
- 資料庫測試的重要性——永遠不要忘記資料庫測試資料庫
- 資料庫測試指南資料庫
- 自動化測試如何管理測試資料
- 資料庫容量和記憶體測算的一些想法資料庫記憶體
- oracle例項、資料庫及相關資料庫狀態的理解和測試Oracle資料庫
- PHP 單元測試與資料庫測試PHP資料庫
- asm diskgroup 磁碟編號發生變化資料庫能正常開啟的測試ASM資料庫
- 2.4. 測試資料庫資料庫
- 【MySQL】資料庫效能測試MySql資料庫
- NoSQL資料庫效能測試SQL資料庫
- MySQL製作具有千萬條測試資料的測試庫MySql
- 使用自動儲存管理 (ASM)建立資料庫ASM資料庫
- 生產資料庫、開發資料庫、測試資料庫中的資料的區分資料庫
- 建立ASM資料庫ASM資料庫
- [資料庫]000 - ?Sysbench 資料庫壓力測試工具資料庫
- 來 ! 玩玩PHPUnit的資料庫測試 (上)PHP資料庫
- PostgreSQL:資料庫連結測試SQL資料庫
- Oracle 閃回資料庫測試Oracle資料庫
- oracle測試資料庫啟用Oracle資料庫
- PDM測試資料庫恢復資料庫
- RMAN資料庫還原測試資料庫
- ASM之建立ASM例項及ASM資料庫ASM資料庫
- Go 單元測試之Mysql資料庫整合測試GoMySql資料庫
- 建立ASM例項及ASM資料庫ASM資料庫
- ASM FTP 功能複製 ASM資料庫ASMFTP資料庫
- QTP測試資料管理-Excel+DictionaryQTExcel
- Spring、Spring Boot和TestNG測試指南 – 整合測試中用Docker建立資料庫Spring BootDocker資料庫
- DB2-WINDOWS測試新建例項資料庫配置管理DB2Windows資料庫
- 資料庫遷移到ASM資料庫ASM
- 軟體測試之資料庫測試技術系列七資料庫
- 【Mysql】資料庫索引,百萬資料測試索引效果MySql資料庫索引
- 關於資料庫壓力測試的故事資料庫