前提:在Linux系統中安裝ASM,安裝完ASM和Oracle數據庫時都是正常使用的,但在重啟服務器后Oracle相關命令不識別。
1、
[grid@udevasm:/home/grid]$crsctl?status?res?-t -bash:?crsctl:?command?not?found
2、查看環境變量是否正常,命令如下:
[grid@udevasm:/home/grid]$env?|grep?gri USER=grid ORACLE_BASE=/oracle/app/grid MAIL=/var/spool/mail/grid PATH=.:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/grid/bin:/home/grid/bin:/oracle/app/11.2.0/grid/bin PWD=/home/grid PS1=[grid@udevasm:$PWD]$ HOME=/home/grid LOGNAME=grid ORACLE_HOME=/oracle/app/11.2.0/grid [grid@udevasm:/home/grid]$
3、通過查詢結果初步判斷環境變量是正常的,然后通過另外一個角度去考慮,是不是Oracle程序本身安裝有問題,因為昨天系統才安裝過ASM和Oracle數據庫,測試都是正常的,應該講沒有啥問題才對,但是突然間想起在服務器重啟的時候,啟動界面提示要加載文件系統,而且時間很長,截圖如下:
4、通過在啟動時提示的信息,就是查看文件系統是否有問題,想起之前硬盤掛載在不同的路徑下,命令如下:
[oracle@udevasm?~]$?df?-lh Filesystem??????Size??Used?Avail?Use%?Mounted?on /dev/sda1????????95G??4.5G???86G???5%?/ tmpfs???????????996M???72K??996M???1%?/dev/shm /dev/sdb1????????50G??8.3G???39G??18%?/oradata /dev/sdb2????????20G??7.4G???12G??40%?/soft
5、通過上面命令查詢結果,發現問題所在,因為sdb1我調整掛載在/oracle路徑下的,原來的sdc1是掛載/oradata路徑,由于sdc1mount在/oradata路徑下沒有設置在開機時啟動,而且sdb1是默認的啟動,從而導致在啟動的sdc1掛載失敗,影響Oracle相關程序啟動,所以命令失敗無法找到,去查看fstab內容。
[root@udevasm?~]#?more?/etc/fstab?# #?/etc/fstab #?Created?by?anaconda?on?Fri?May?19?04:21:30?2017 # #?Accessible?filesystems,?by?reference,?are?maintained?under?'/dev/disk' #?See?man?pages?fstab(5),?findfs(8),?mount(8)?and/or?blkid(8)?for?more?info # UUID=a6cc0566-d29b-44fa-8741-b78170483210?/???????????????????????ext4????defaults????????1?1 UUID=8a211faf-b2d7-4384-9c9d-fc25cb79f19b?/oradata????????????????ext4????defaults????????1?2 UUID=08d48193-8c4e-40e9-a333-47fe86568029?/soft???????????????????ext4????defaults????????1?2 UUID=6e9b041a-1687-430f-9209-c06b6558e6fe?swap????????????????????swap????defaults????????0?0 tmpfs???????????????????/dev/shm????????????????tmpfs???defaults????????0?0 devpts??????????????????/dev/pts????????????????devpts??gid=5,mode=620??0?0 sysfs???????????????????/sys????????????????????sysfs???defaults????????0?0 proc????????????????????/proc???????????????????proc????defaults????????0?0
6、通過命令查看后,并沒有發現oracle路徑下的設備,再通過查詢UUID塊設備下有哪些設備
[root@udevasm ~]# sudo blkid
/dev/sda1: UUID="a6cc0566-d29b-44fa-8741-b78170483210" TYPE="ext4"
/dev/sda2: UUID="6e9b041a-1687-430f-9209-c06b6558e6fe" TYPE="swap"
/dev/sdb1: UUID="8a211faf-b2d7-4384-9c9d-fc25cb79f19b" TYPE="ext4"
/dev/sdb2: UUID="08d48193-8c4e-40e9-a333-47fe86568029" TYPE="ext4"
/dev/sdc1: UUID="07af4d45-14d3-4a8f-89ae-53a276f7c01e" TYPE="ext4"
/dev/asm_grid1: TYPE="oracleasm"
/dev/asm_system: TYPE="oracleasm"
/dev/asm_recovery: TYPE="oracleasm"
/dev/asm_data01: TYPE="oracleasm"
/dev/asm_data02: TYPE="oracleasm"
[root@udevasm ~]# more /etc/fstab
7、再通過lsblk -f 命令查詢塊設備下詳細的信息如下:
[root@udevasm?~]#?lsblk?-f NAME???FSTYPE??LABEL??????????????????UUID?????????????????????????????????MOUNTPOINT sda???????????????????????????????????????????????????????????????????????? ├─sda1?ext4???????????????????????????a6cc0566-d29b-44fa-8741-b78170483210?/ └─sda2?swap???????????????????????????6e9b041a-1687-430f-9209-c06b6558e6fe?[SWAP] sdb???????????????????????????????????????????????????????????????????????? ├─sdb1?ext4???????????????????????????8a211faf-b2d7-4384-9c9d-fc25cb79f19b?/oradata └─sdb2?ext4???????????????????????????08d48193-8c4e-40e9-a333-47fe86568029?/soft sdd???????????????????????????????????????????????????????????????????????? └─sdd1????????????????????????????????????????????????????????????????????? sde???????????????????????????????????????????????????????????????????????? └─sde1????????????????????????????????????????????????????????????????????? sdf???????????????????????????????????????????????????????????????????????? └─sdf1????????????????????????????????????????????????????????????????????? sdg???????????????????????????????????????????????????????????????????????? └─sdg1????????????????????????????????????????????????????????????????????? sdh???????????????????????????????????????????????????????????????????????? └─sdh1????????????????????????????????????????????????????????????????????? sr0????iso9660?RHEL_6.5?x86_64?Disc?1
通過上述幾個命令可以判斷出是由于sdc1分區沒有自動掛載導致Oracle程序沒有辦法啟動
8、修改/etc/fstab配置文件,讓sdc1設備在開機自動啟動,最好通過UUID來掛載,因為:
Linux UUID的作用及意義
原因1:它是真正的唯一標志符
UUID為系統中的存儲設備提供唯一的標識字符串,不管這個設備是什么類型的。如果你在系統中添加了新的存儲設備如硬盤,很可能會造成一些麻煩,比如說啟動的時候因為找不到設備而失敗,而使用UUID則不會有這樣的問題。
原因2:設備名并非總是不變的
自動分配的設備名稱并非總是一致的,它們依賴于啟動時內核加載模塊的順序。如果你在插入了USB盤時啟動了系統,而下次啟動時又把它拔掉了,就有可能導致設備名分配不一致。
使用UUID對于掛載移動設備也非常有好處──例如我有一個24合一的讀卡器,它支持各種各樣的卡,而使用UUID總可以使同一塊卡掛載在同一個地方。
原因3:Ubuntu中的許多關鍵功能現在開始依賴于UUID
9、通過第6步和第7步中,可以把相關的修改成之前配置想要的內容,修改內容如下:
[root@udevasm?~]#?more?/etc/fstab?# #?/etc/fstab #?Created?by?anaconda?on?Fri?May?19?04:21:30?2017 # #?Accessible?filesystems,?by?reference,?are?maintained?under?'/dev/disk' #?See?man?pages?fstab(5),?findfs(8),?mount(8)?and/or?blkid(8)?for?more?info # UUID=a6cc0566-d29b-44fa-8741-b78170483210?/???????????????????????ext4????defaults????????1?1 UUID=8a211faf-b2d7-4384-9c9d-fc25cb79f19b?/oracle?????????????????ext4????defaults????????0?0 UUID=07af4d45-14d3-4a8f-89ae-53a276f7c01e?/oradata????????????????ext4????defaults????????0?0 UUID=08d48193-8c4e-40e9-a333-47fe86568029?/soft???????????????????ext4????defaults????????0?0 UUID=6e9b041a-1687-430f-9209-c06b6558e6fe?swap????????????????????swap????defaults????????0?0 tmpfs???????????????????/dev/shm????????????????tmpfs???defaults????????0?0 devpts??????????????????/dev/pts????????????????devpts??gid=5,mode=620??0?0 sysfs???????????????????/sys????????????????????sysfs???defaults????????0?0 proc????????????????????/proc???????????????????proc????defaults????????0?0
注意:后面的數字修改成0 0,如果不設置0的話,服務器在啟動的時候就會檢測,如果硬盤滿的話,就會導致操作系統無法正常啟動,此處應該讓系統禁止檢測
10、注意:再mount 一下,判斷是否掛載成功,如果掛載有問題會導致系統無法正常啟動
[root@udevasm?~]#?mount /dev/sda1?on?/?type?ext4?(rw) proc?on?/proc?type?proc?(rw) sysfs?on?/sys?type?sysfs?(rw) devpts?on?/dev/pts?type?devpts?(rw,gid=5,mode=620) tmpfs?on?/dev/shm?type?tmpfs?(rw) /dev/sdb2?on?/soft?type?ext4?(rw) none?on?/proc/sys/fs/binfmt_misc?type?binfmt_misc?(rw) /dev/sdc1?on?/oradata?type?ext4?(rw) /dev/sdb1?on?/oracle?type?ext4?(rw)
11、重啟一下服務器判斷設備掛載是否成功
[root@udevasm?~]#?reboot
重啟時,服務器系統啟動時間快,就沒有之前那種提示要加載文件系統內容
12、系統啟動成功后用grid用戶查看ASM狀態:
[grid@udevasm:/home/grid]$crs_stat?-t Name???????????Type???????????Target????State?????Host???????? ------------------------------------------------------------ ora....TA01.dg?ora....up.type?ONLINE????ONLINE????udevasm????? ora....TA02.dg?ora....up.type?ONLINE????ONLINE????udevasm????? ora....VERY.dg?ora....up.type?ONLINE????ONLINE????udevasm????? ora....STEM.dg?ora....up.type?ONLINE????ONLINE????udevasm????? ora.GRID1.dg???ora....up.type?ONLINE????ONLINE????udevasm????? ora....ER.lsnr?ora....er.type?ONLINE????ONLINE????udevasm????? ora.asm????????ora.asm.type???ONLINE????ONLINE????udevasm????? ora.cssd???????ora.cssd.type??ONLINE????ONLINE????udevasm????? ora.diskmon????ora....on.type?OFFLINE???OFFLINE??????????????? ora.evmd???????ora.evm.type???ONLINE????ONLINE????udevasm????? ora.ons????????ora.ons.type???OFFLINE???OFFLINE??????????????? ora.udevasm.db?ora....se.type?OFFLINE???OFFLINE
??????????
13、此時說明硬盤設置成自動重啟正常,再用lsblk -f 命令查詢塊設備下詳細的信息如下
[root@udevasm?~]#?lsblk?-f NAME???FSTYPE??LABEL??????????????????UUID?????????????????????????????????MOUNTPOINT sda???????????????????????????????????????????????????????????????????????? ├─sda1?ext4???????????????????????????a6cc0566-d29b-44fa-8741-b78170483210?/ └─sda2?swap???????????????????????????6e9b041a-1687-430f-9209-c06b6558e6fe?[SWAP] sdb???????????????????????????????????????????????????????????????????????? ├─sdb1?ext4???????????????????????????8a211faf-b2d7-4384-9c9d-fc25cb79f19b?/oracle └─sdb2?ext4???????????????????????????08d48193-8c4e-40e9-a333-47fe86568029?/soft sdc???????????????????????????????????????????????????????????????????????? └─sdc1?ext4???????????????????????????07af4d45-14d3-4a8f-89ae-53a276f7c01e?/oradata sdd???????????????????????????????????????????????????????????????????????? └─sdd1????????????????????????????????????????????????????????????????????? sde???????????????????????????????????????????????????????????????????????? └─sde1????????????????????????????????????????????????????????????????????? sdf???????????????????????????????????????????????????????????????????????? └─sdf1????????????????????????????????????????????????????????????????????? sdg???????????????????????????????????????????????????????????????????????? └─sdg1????????????????????????????????????????????????????????????????????? sdh???????????????????????????????????????????????????????????????????????? └─sdh1????????????????????????????????????????????????????????????????????? sr0????iso9660?RHEL_6.5?x86_64?Disc?1
通過上述說明,則可以判斷我們設置成自動啟動成功
總結:1、在發現命令無法使用的時候,就要首先從可能導致這個命令的原因找問題,如果首先問題判斷沒有問題,再去判斷其它方面的問題
???????????? 2、系統在啟動時會給我們一些詳細的啟動參數內容,如果有問題的也會詳細打印出來,最好看一下系統啟動的日志內容
???????????? 3、在mount設備時,必須要讓系統自己掛載,這樣可以避免一些程序上面的問題,同時在使用UUID時也要注意,防止系統在啟動時無法正常啟動
有關在linux系統中fstab配置文件詳解說明
參考:http://xiaocao13140.blog.51cto.com/6198256/1930572
有關在Linux磁盤分區UUID的獲取及其UUID的作用
參考:http://xiaocao13140.blog.51cto.com/6198256/1930571
轉載于:https://blog.51cto.com/xiaocao13140/1930577