共計 3404 個字符,預計需要花費 9 分鐘才能閱讀完成。
這篇文章將為大家詳細講解有關 ASM 命令有哪些,丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
一、ASM 管理 登錄 / 啟動 / 關閉
1. 啟動和關閉 ASM 實例
[oracle@node2 dbs]$ export ORACLE_SID=+ASM2 [oracle@node2 dbs]$ sqlplus / as sysdba
SQL startup
SQL shutdown immediate;
2. 檢查 disk group 信息的 SQL
SQL SELECT STATE, REDUNDANCY, TOTAL_MB, FREE_MB, NAME, FAILGROUP FROM v$asm_disk;
SQL SELECT GROUP_NUMBER, NAME, STATE, TYPE, TOTAL_MB, FREE_MB, UNBALANCED FROM v$asm_diskgroup;
3. 創建新的 diskgroup
SQL create diskgroup dgtest normal redundancy
failgroup DATA1 disk /dev/oracleasm/VOL5 name DATA1
failgroup DATA2 disk /dev/oracleasm/VOL6 name DATA2;
4. 刪除 diskgroup
SQL drop diskgroup DATA including contents; -- 對于多結點的 diskgroup, 只能有在一個 asm 實例上掛載之后才能被 dorp, 其他結點必須 dismount。
5. 手動 mount 命令
ALTER DISKGROUP ALL DISMOUNT; ALTER DISKGROUP ALL MOUNT; ALTER DISKGROUP DATA DISMOUNT; ALTER DISKGROUP DATA MOUNT;
6. 為 diskgroup 增加 disk
SQL alter diskgroup DATA add disk /dev/oracleasm/VOL5 name VOL5, /dev/oracleasm/VOL6 name VOL6;
7. 從 diskgroup 刪除 disk
SQL alter diskgroup DATA drop disk VOL5;
8. 取消刪除 disk 的命令,只能在上述命令沒執行完成的時候有效
ALTER DISKGROUP DATA UNDROP DISKS;
二、數據文件的管理
1. Create an alias using the fully qualified filename.
ALTER DISKGROUP disk_group_1 ADD ALIAS +disk_group_1/my_dir/my_file.dbf FOR +disk_group_1/mydb/datafile/my_ts.342.3
2. Create an alias using the numeric form filename.
ALTER DISKGROUP disk_group_1 ADD ALIAS +disk_group_1/my_dir/my_file.dbf FOR +disk_group_1.342.3
3. Rename an alias.
ALTER DISKGROUP disk_group_1 RENAME ALIAS +disk_group_1/my_dir/my_file.dbf TO +disk_group_1/my_dir/my_file2.dbf
4. Delete an alias.
ALTER DISKGROUP disk_group_1 DELETE ALIAS +disk_group_1/my_dir/my_file.dbf
5. Drop file using an alias.
ALTER DISKGROUP disk_group_1 DROP FILE +disk_group_1/my_dir/my_file.dbf
6. Drop file using a numeric form filename.
ALTER DISKGROUP disk_group_1 DROP FILE +disk_group_1.342.3
7. Drop file using a fully qualified filename.
ALTER DISKGROUP disk_group_1 DROP FILE +disk_group_1/mydb/datafile/my_ts.342.3
8. Create datafile
SQL create tablespace users2 datafile +TESTDB_DATA1 size 100m;
四. ASMCMD 工具
ASM 實例的管理除了 sqlplus,Oracle 還提供了 asmcmd 命令,具體參考 help。
1. 查看 asm bin 的位置
[oracle@node1 bin]$ which asmcmd
/u01/app/oracle/product/10.2.0/db_1/bin/asmcmd
2. 切換至 asmcmd 模式
[oracle@node1 bin]$ cd /u01/app/oracle/product/10.2.0/db_1/bin/
[oracle@node1 bin]$ ./asmcmd
3. 具體的 asm 命令
cd: -- 進入下級目錄或進入所需要的目錄 du: -- 顯示指定的 ASM 目錄下 ASM 文件占用的所有磁盤空間 find: -- 查找所需的文件 help: -- 顯示幫助信息 ls: -- 列出 ASM 目錄下的內容及其屬性 lsct: -- 列出當前 ASM 客戶端的信息 lsdg: -- 列出所有磁盤組及其屬性 mkalias:-- 為系統生成的文件名創建別名 mkdir: -- 創建新目錄 pwd: -- 顯示當前目錄路徑 rm: -- 刪除 ASM 目錄下的某個文件或文件夾 rmalias:-- 刪除別名
五、注意事項
1. ASM 實例在配置好并且創建了 ASM 磁盤組之后,還必須保證已經注冊到 Listener 中后才能在數據庫實例中使用,否則就需要手工注冊 ASM 實例:
SQL alter system register;
2. 一旦數據庫實例使用 ASM 作為存儲,那么在數據庫實例運行時是無法關閉 ASM 實例的。否則會報 ORA-15097:cannot SHUTDOWN ASM instance with connected RDBMS instance. 錯誤。
3. Oracle 中刪除 ASM 實例
刪除自動存儲管理實例 +ASM 實例 +ASM 的刪除是在數據庫被卸載之后完成的,并刪除 /ORACLE_HOME/dbs 目錄下的所有文件 (除了與 ASM 相關的)。
因此必須完成下列步驟:
4.1 在命令提示符中,設置 oracle_sid 環境變量為 +ASM 實例:
# export oracle_sid=+ASM
4.2 啟動 SQL*Plus 并以 sys 用戶連接到自動存儲管理 +ASM 實例:
# sqlplus / as sysdba
4.3 使用下列命令來確定是否有數據庫實例正在使用自動存儲管理實例 +ASM:
SQL select instance_name from v$asm_client;
該命令結果列出所有正在運行并使用 +ASM 實例的數據庫實例。只要 +ASM 包含正在支持的數據庫實例,就不能刪除該 +ASM 實例。
(其實可以先 shutdown 對應的數據庫實例,然后從 asmcmd 進入磁盤組所在目錄,刪掉對應的數據庫目錄和文件就可以了)。
4.4 如果沒有與 +ASM 相關聯的數據庫實例,則刪除與該實例相關聯的磁盤組。
首先,識別與 +ASM 相關聯的磁盤組:
SQL select name from v$asm_diskgroup;
其次,用下列命令刪除每個要刪除的磁盤組:
SQL drop diskgroupincluding contents;
4.5 關閉 +ASM 實例并退出 SQL*Plus:
SQL shutdown
SQL exit
4.6 在命令提示符中輸入下列命令,刪除 +ASM 服務(我沒找到這個命令,所以沒有運行):
oradim -delete -asmsid +ASM
關于“ASM 命令有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。