Linux服務器重啟後crs_stat -t 命令無法正常使用以及解決思路
前提:在Linux系統中安裝ASM,安裝完ASM和Oracle數據庫時都是正常使用的,但在重啟服務器後Oracle相關命令不識別。
1、
[[email protected]:/home/grid]$crsctl status res -t -bash: crsctl: command not found
2、查看環境變量是否正常,命令如下:
[[email protected]:/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=[[email protected]
3、通過查詢結果初步判斷環境變量是正常的,然後通過另外一個角度去考慮,是不是Oracle程序本身安裝有問題,因為昨天系統才安裝過ASM和Oracle數據庫,測試都是正常的,應該講沒有啥問題才對,但是突然間想起在服務器重啟的時候,啟動界面提示要加載文件系統,而且時間很長,截圖如下:
4、通過在啟動時提示的信息,就是查看文件系統是否有問題,想起之前硬盤掛載在不通的路徑下,命令如下:
[[email protected] ~]$ 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內容。
[[email protected] ~]# 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塊設備下有哪些設備
[[email protected] ~]# 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"
[[email protected] ~]# more /etc/fstab
7、再通過lsblk -f 命令查詢塊設備下詳細的信息如下:
[[email protected] ~]# 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步中,可以把相關的修改成之前配置想要的內容,修改內容如下:
[[email protected] ~]# 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 一下,判斷是否掛載成功,如果掛載有問題會導致系統無法正常啟動
[[email protected] ~]# 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、重啟一下服務器判斷設備掛載是否成功
[[email protected] ~]# reboot
重啟時,服務器系統啟動時間快,就沒有之前那種提示要加載文件系統內容
12、系統啟動成功後用grid用戶查看ASM狀態:
[[email protected]:/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 命令查詢塊設備下詳細的信息如下
[[email protected] ~]# 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
本文出自 “我主梁緣” 博客,請務必保留此出處http://xiaocao13140.blog.51cto.com/6198256/1930577
Linux服務器重啟後crs_stat -t 命令無法正常使用以及解決思路