重新发现Oracle太美之orainstRoot.sh

我们安装数据库软件的时候,都要会执行orainstRoot.sh,今天就来仔细看看这个脚本是来干嘛的。

平台为RedHat 6.4 x64位的,数据库版本为11.2.0.4.2

下面是脚本的内容

[[email protected] ~]$ cd /u01/app/oraInventory/

[[email protected] oraInventory]$ ls -ltr

total 24

drwxrwx--- 2 oracle oinstall 4096 Oct 30  2013 ContentsXML

-rwxrwx--- 1 oracle oinstall 1620 Oct 30  2013 orainstRoot.sh

-rw-rw---- 1 oracle oinstall   56 Oct 30  2013 oraInst.loc

drwxrwx--- 3 oracle oinstall 4096 May 14 02:47 backup

drwxrwx--- 2 oracle oinstall 4096 May 14 03:16 logs

drwxrwx--- 2 oracle oinstall 4096 May 15 00:27 oui

[[email protected] oraInventory]$ cat orainstRoot.sh

#!/bin/sh

AWK=/bin/awk

CHMOD=/bin/chmod

CHGRP=/bin/chgrp

CP=/bin/cp

ECHO=/bin/echo

MKDIR=/bin/mkdir

RUID=`/usr/bin/id|$AWK -F\( ‘{print $1}‘|$AWK -F\= ‘{print $2}‘`

if [ ${RUID} != "0" ];then

$ECHO "This script must be executed as root"

exit 1

fi

----->>>这里会首先校验权限,看看是不是以root用户执行的,如果不是就退出

if [ -d "/etc" ]; then

$CHMOD 755 /etc;

else

$MKDIR -p /etc;

fi

if [ -f "/u01/app/oraInventory/oraInst.loc" ]; then

$CP /u01/app/oraInventory/oraInst.loc /etc/oraInst.loc;

$CHMOD 644 /etc/oraInst.loc

else

INVPTR=/etc/oraInst.loc

INVLOC=/u01/app/oraInventory

GRP=oinstall

PTRDIR="`dirname $INVPTR`";

----->>>如果Central Inventory存在的话,即上面的oraInst.loc,就会复制一份到/etc/下面,作为Central Inventory Pointer File,从名字上就能知道,

这个是Central Inventory的Pointed File

# Create the software inventory location pointer file

if [ ! -d "$PTRDIR" ]; then

$MKDIR -p $PTRDIR;

fi

$ECHO "Creating the Oracle inventory pointer file ($INVPTR)";

$ECHO    inventory_loc=$INVLOC > $INVPTR

$ECHO    inst_group=$GRP >> $INVPTR

chmod 644 $INVPTR

# Create the inventory directory if it doesn‘t exist

if [ ! -d "$INVLOC" ];then

$ECHO "Creating the Oracle inventory directory ($INVLOC)";

$MKDIR -p $INVLOC;

fi

fi

----->>>>如果不存在,就会一一创建,并且需要修改权限

$ECHO "Changing permissions of /u01/app/oraInventory.

Adding read,write permissions for group.

Removing read,write,execute permissions for world.

";

$CHMOD -R g+rw,o-rwx /u01/app/oraInventory;

----->>>>对于这个目录,组要有读写权限,宿主要有读写执行的权限

if [ $? != 0 ]; then

$ECHO "OUI-35086:WARNING: chmod of /u01/app/oraInventory

Adding read,write permissions for group.

,Removing read,write,execute permissions for world.

failed!";

fi

$ECHO "Changing groupname of /u01/app/oraInventory to oinstall.";

$CHGRP -R oinstall /u01/app/oraInventory;

----->>>注意这里的组是oinstall

if [ $? != 0 ]; then

$ECHO "OUI-10057:WARNING: chgrp of /u01/app/oraInventory to oinstall failed!";

fi

$ECHO "The execution of the script is complete."

[[email protected] oraInventory]$

从上面看到,这个脚本无非就是创建oraInst.loc,然后给这个产品目录修改权限,注意组权限是读写,宿主为777,oraInventory的组要是oinstall

其他也没有多少东西。知道干嘛的就行了,学会了就没啥了,哪里报错哪里重新检查就OK了。

重新发现Oracle太美之orainstRoot.sh

时间: 2024-10-28 11:35:08

重新发现Oracle太美之orainstRoot.sh的相关文章

又一次发现Oracle太美之orainstRoot.sh

又一次发现Oracle太美之orainstRoot.sh 我们安装数据库软件的时候,都要会运行orainstRoot.sh,今天就来细致看看这个脚本是来干嘛的. 平台为RedHat 6.4 x64位的,数据库版本号为11.2.0.4.2 以下是脚本的内容 [[email protected] ~]$ cd /u01/app/oraInventory/ [[email protected] oraInventory]$ ls -ltr total 24 drwxrwx--- 2 oracle oi

重新发现Oracle太美之root.sh

如果你执行下以下命令基本上会在Oracle软件目录下会发现两个root.sh的脚本 [[email protected] Templates]$ find /u01/ -name root.sh |xargs ls -ltr -rwxrwx--- 1 oracle oinstall  10 May 14 02:37 /u01/app/db11g/product/11.2.0/dbhome_1/inventory/Templates/root.sh -rwxr-x--- 1 oracle oins

又一次发现Oracle太美之root.sh

假设你运行下下面命令基本上会在Oracle软件文件夹下会发现两个root.sh的脚本 [[email protected] Templates]$ find /u01/ -name root.sh |xargs ls -ltr -rwxrwx--- 1 oracle oinstall  10 May 14 02:37 /u01/app/db11g/product/11.2.0/dbhome_1/inventory/Templates/root.sh -rwxr-x--- 1 oracle oin

重新发现Oracle太美之awr相关脚本简单介绍

大家知道在$ORACLE_HOME/rdbms/admin下,有如下的相关脚本(我的环境为11.2.0.4.2): [[email protected] ~]$ cd $ORACLE_HOME/rdbms/admin [[email protected] admin]$ ls -ltr awr* -rw-r--r-- 1 oracle oinstall  1999 Oct 24  2003 awrrpt.sql -rw-r--r-- 1 oracle oinstall 49166 Sep  1

重新发现Oracle太美之glogin.sql

刚开始接触Oracle的时候,有时候一登陆一个生产环境,经常会出现下面的情况: [[email protected] app]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Thu May 15 03:17:34 2014 Copyright (c) 1982, 2013, Oracle.  All rights reserved. Connected to: Oracle Database 11g Enterpr

重新发现Oracle太美之如何重新安装sqlplus help?

在Oracle数据库中安装sqlplus中帮助命令行的脚本在$ORACLE_HOME/sqlplus/admin/help下面. 如下所示: [[email protected] admin]$ cd $ORACLE_HOME/sqlplus/admin [[email protected] admin]$ ls -ltr total 20 -rw-r--r-- 1 oracle oinstall 2118 Feb 16  2003 pupbld.sql -rw-r--r-- 1 oracle

又一次发现Oracle太美之awr相关脚本简介

大家知道在$ORACLE_HOME/rdbms/admin下,有例如以下的相关脚本(我的环境为11.2.0.4.2): [[email protected] ~]$ cd $ORACLE_HOME/rdbms/admin [[email protected] admin]$ ls -ltr awr* -rw-r--r-- 1 oracle oinstall ?1999 Oct 24 ?2003 awrrpt.sql -rw-r--r-- 1 oracle oinstall 49166 Sep ?

又一次发现Oracle太美之glogin.sql

刚開始接触Oracle的时候,有时候一登陆一个生产环境.常常会出现以下的情况: [[email protected] app]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Thu May 15 03:17:34 2014 Copyright (c) 1982, 2013, Oracle.  All rights reserved. Connected to: Oracle Database 11g Enterpr

zabbix自动发现oracle表空间并监控其使用率

监控需求 Oracle表空间使用率实时监控,当表空间使用率达到95%时触发告警机制.Oracle表空间分为系统默认表空间和用户创建的表空间,而表空间又有自动扩展和非自动扩展两种类型,用户(DBA)在创建表空间时可以根据应用需求指定是否开启表空间自动扩展.那么在这里我们需要分析一个监控策略,就是当zabbix监控到某个表空间使用率达到95%,那么就让触发器触发警告(Warning)信息,并发送邮件给DBA或管理者.当检测到表空间没有开启自动扩展时,则触发Information信息.说明一下:ora