[20171223]grid使用者的環境變數問題.txt
[20171223]grid使用者的環境變數問題.txt
--//oracle 11G 安裝RAC,一般需要建立grid使用者,使用這個使用者管理asm,群集資訊.
--//在安裝過程中,同事的疑問實際上也是我以前的疑問.
--//grid使用者:
$ id
uid=1100(grid) gid=1000(oinstall) groups=1000(oinstall),1200(asmadmin),1201(asmdba),1202(asmoper)
$ env| egrep "ORACLE_BASE|ORACLE_HOME"
ORACLE_BASE=/u01/app/grid
ORACLE_HOME=/u01/app/11.2.0/grid
--//oracle使用者:
$ id
uid=1101(oracle) gid=1000(oinstall) groups=1000(oinstall),1201(asmdba),1300(dba),1301(oper)
$ env| egrep "ORACLE_BASE|ORACLE_HOME"
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
--//為什麼oracle使用者建立ORACLE_HOME在ORACLE_BASE之中,而grid使用者建立ORACLE_HOME卻沒有建立為
--//ORACLE_HOME目錄之下,例如:/u01/app/grid/product/11.2.0/dbhome_1
--//我開始一直以為也許是一種約定,按照文件操作就ok了.昨天別人問這個問題,我google:
For ASM installation of software:
. The directories are located by the operating system environment variables.
-- ORACLE_BASE is the top-level directory for a particular software owner.
-- ORACLE_HOME is used to identify the top-level directory of the Grid Infrastructure software.
. Use a common ORACLE_BASE for all Oracle products owned by the same user.
. Use an isolated ORACLE_HOME location from other Oracle products even if they are the same version.
. Do not place Grid ORACLE_HOME below ORACLE_BASE.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
. ORACLE_HOME requires 3 GB to 5 GB of disk space.
--//對方的解答:
The recommendation is correct. GRID_HOME should be separate. The root.sh script for the GRID_HOME changes ownership
and permissions for certain files to rooot so it should be separate.
...
Gridhome must not be a subdirectory of gridbase, because of the permission change to root. It works good in production
and hopefully survives a deinstall of grid base after e.g. an upgrade.
--//按照官方的解析,許多檔案目錄在按照後修改為root使用者.
$ ls -l $ORACLE_HOME |grep " root "
drwxrwxrwt 6 root oinstall 4096 2016-12-24 12:12:53 auth
drwxr-xr-x 2 root oinstall 12288 2016-12-24 12:12:53 bin
drwxr-x--- 4 root oinstall 4096 2016-12-24 12:12:53 crf
drwxr-xr-x 17 root oinstall 4096 2016-12-24 12:12:53 crs
drwxr-xr-x 3 root oinstall 4096 2016-12-24 12:12:53 ctss
drwxr-x--- 3 root oinstall 4096 2016-12-24 12:12:53 gnsd
drwxr-xr-x 3 root oinstall 12288 2016-12-24 12:12:53 lib
drwxr-xr-x 3 root oinstall 4096 2016-12-24 12:12:53 ologgerd
drwxr-xr-x 3 root oinstall 4096 2016-12-24 12:12:53 osysmond
drwxr-xr-x 4 root root 4096 2016-12-24 12:13:13 tfa
$ find /u01/app/11.2.0 -uid 0 -exec ls -ld {} \;
--//能查詢到許多目錄檔案都是root使用者.
$ ls -l /u01/app
total 16
drwxr-xr-x. 3 root oinstall 4096 2016-12-18 14:47:35 11.2.0
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drwxrwxr-x. 9 grid oinstall 4096 2016-12-30 12:09:18 grid
drwxrwxr-x. 7 oracle oinstall 4096 2016-12-24 12:52:35 oracle
drwxrwx--- 6 grid oinstall 4096 2016-12-24 12:42:52 oraInventory
--//11.2.0 目錄的owner=root.我估計安裝在子目錄下安裝也能過去,問題也許更多在取消安裝或者升級.
--//實際上有許多帖子是關於grid中檔案目錄許可權的問題.總之按照安裝文件要求實施總是有一定道理.
--//實際上最好的方法是儲存一份許可權目錄的檔案,必須時查詢與用於恢復.
getfacl -R /u01/app/11.2.0/grid > dir_privs.txt
setfact -restore dir_privs.txt
--//注意這樣儲存的是相對路徑.儲存絕對路徑使用如下命令:
getfacl -R --absolute-names /u01/app/11.2.0/grid > dir_privs.txt
--//grid在安裝後還儲存一份檔案目錄的許可權在如下目錄:
# find /u01 -name "crsconfig_*" -exec ls -l {} + | grep utl
-rw-r--r-- 1 root root 8159 Dec 24 2016 /u01/app/11.2.0/grid/crs/utl/crsconfig_dirs
-rw-r--r-- 1 root root 12877 Dec 24 2016 /u01/app/11.2.0/grid/crs/utl/crsconfig_fileperms
-rw-r--r-- 1 root root 11936 Dec 24 2016 /u01/app/11.2.0/grid/crs/utl/crsconfig_files
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2149062/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於環境變數設定的問題變數
- Linux環境變數問題彙總Linux變數
- [20231101]tmux環境變數的繼承問題.txtUX變數繼承
- ORACLE_SID環境變數設定的問題Oracle變數
- crontab定時任務環境變數使用問題變數
- [20201123]NLS_LANG環境變數問題.txt變數
- 環境變數變數
- crontab定時任務環境變數丟失問題變數
- [20170119]tmux與環境變數.txtUX變數
- Linux 新增環境變數和刪除環境變數Linux變數
- 簡述SHELL全域性環境變數與局變環境變數變數
- Java 環境變數Java變數
- jdk環境變數JDK變數
- DOS環境變數變數
- env 環境變數變數
- 環境變數path變數
- Java環境變數Java變數
- ORACLE 環境變數Oracle變數
- postman環境變數Postman變數
- 配置環境變數變數
- java 環境變數的配置Java變數
- jdk環境變數的配置JDK變數
- Bash 中的環境變數變數
- Unix的環境變數(轉)變數
- Unix的環境變數 (轉)變數
- 透過更改java環境變數修改java版本不生效問題Java變數
- Mac 設定環境變數的位置、檢視和新增PATH環境變數Mac變數
- Maven-關於在環境變數中配置兩個maven的問題Maven變數
- 解決SSH遠端執行命令找不到環境變數的問題變數
- ubuntu JDK 環境變數UbuntuJDK變數
- 配置JDK環境變數JDK變數
- 環境變數詳解變數
- Flume 配置環境變數變數
- Shell配置環境變數變數
- Java環境變數新增Java變數
- 【Linux】環境變數!!!Linux變數
- Kaldi配置環境變數變數
- MySQL 環境變數配置MySql變數