在好例子网,分享、交流、成长!
您当前所在位置:首页SHELL 开发实例Linux常用脚本 → Centos7上安装oracle11gR2v1.7shell.doc

Centos7上安装oracle11gR2v1.7shell.doc

Linux常用脚本

下载此实例
  • 开发语言:SHELL
  • 实例大小:0.73M
  • 下载次数:4
  • 浏览次数:46
  • 发布时间:2021-04-16
  • 实例类别:Linux常用脚本
  • 发 布 人:yumenshamo
  • 文件格式:.doc
  • 所需积分:2
 相关标签: Centos7 Oracle centos shell S7

实例介绍

【实例简介】Centos7上安装oracle11gR2v1.7shell

【实例截图】

CentOS7上安装oracle11gR2

一、运行环境
系统环境:CentOS7 64(图形安装)

#yum -y groupinstall "X Window System" "Chinese Support" "Desktop"

检查硬盘分区:

#df -h

/boot 150M
swap 4096M(最少要3G以上)
/ 10G
/home 5G
/tmp 5G
/usr 10G
/usr/local 10G
/var 10G
/opt 10G
/data 剩余所有

fdisk -l可以查看swap分区大小

#fdisk -l

增加SWAP分区的方法:

1、使用dd命令创建一个swap交换文件

dd if=/dev/zero of=/home/swap bs=1024 count=4165632

这样就建立一个/home/swap的分区文件,大小为4G。

2、制作为swap格式文件:

mkswap /home/swap

3、再用swapon命令把这个文件分区挂载swap分区

/sbin/swapon /home/swap

我们用free -m命令看一下,发现已经有交换分区了。

但是重启系统后,swap分区又变成0了。

4、为防止重启后swap分区变成0,要修改/etc/fstab文件

vi /etc/fstab

在文件末尾(最后一行)加上

/home/swap swap swap default 0 0

这样就算重启系统,swap分区还是有值。

 

#同步时钟
yum -y install ntp
ntpdate time.nist.gov
echo "* */2 * * * /sbin/ntpdate time.nist.gov" >> /etc/crontab

关闭服务:
iptables
selinux
portmap
rpc.statd
cupsd
avahi-daemon
sendmail

启动:# systemctl start  firewalld

查看状态:# systemctl status firewalld 或者 firewall-cmd --state

停止:# systemctl disable firewalld

禁用:# systemctl stop firewalld

开放防火墙端口:

firewall-cmd --zone=public --add-port=80/tcp --permanent

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

出现success表明添加成功

 

命令含义:

--zone #作用域

--add-port=80/tcp  #添加端口,格式为:端口/通讯协议

--permanent   #永久生效,没有此参数重启后失效

二、安装oracle 11gR2 依赖的组件包
#需要以下组件:
Downloading Packages:
(1/22): libaio-devel-0.3.106-5.i386.rpm                                               |  12 kB     
(2/22): numactl-devel-0.9.8-11.el5.i386.rpm                                           |  17 kB     
(3/22): elfutils-libelf-devel-0.137-3.el5.i386.rpm                                    |  24 kB    
(4/22): elfutils-libelf-devel-static-0.137-3.el5.i386.rpm                             |  66 kB   
(5/22): libgomp-4.4.4-13.el5.i386.rpm                                                 |  72 kB    
(6/22): libgcc-4.1.2-50.el5.i386.rpm                                                  |  96 kB     
(7/22): nscd-2.5-58.el5_6.3.i386.rpm                                                  | 167 kB     
(8/22): sysstat-7.0.2-3.el5_5.1.i386.rpm                                              | 170 kB    
(9/22): pdksh-5.2.14-36.el5.i386.rpm                                                  | 198 kB      
(10/22): compat-libstdc -33-3.2.3-61.i386.rpm                                        | 232 kB   
(11/22): libstdc -4.1.2-50.el5.i386.rpm                                              | 362 kB    
(12/22): glibc-headers-2.5-58.el5_6.3.i386.rpm                                        | 603 kB   
(13/22): unixODBC-devel-2.2.11-7.1.i386.rpm                                           | 739 kB    
(14/22): unixODBC-2.2.11-7.1.i386.rpm                                                 | 832 kB   
(15/22): kernel-headers-2.6.18-238.9.1.el5.i386.rpm                                   | 1.1 MB   
(16/22): glibc-devel-2.5-58.el5_6.3.i386.rpm                                          | 2.0 MB     
(17/22): cpp-4.1.2-50.el5.i386.rpm                                                    | 2.7 MB    
(18/22): libstdc -devel-4.1.2-50.el5.i386.rpm                                        | 2.8 MB    
(19/22): gcc-c -4.1.2-50.el5.i386.rpm                                                | 3.4 MB    
(20/22): gcc-4.1.2-50.el5.i386.rpm                                                    | 5.2 MB    
(21/22): glibc-2.5-58.el5_6.3.i686.rpm                                                | 5.3 MB   
(22/22): glibc-common-2.5-58.el5_6.3.i386.rpm 

yum -y install binutils compat-libstdc -33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc gcc-c libaio-devel libaio libgcc libstdc libstdc -devel make sysstat unixODBC unixODBC-devel pdksh numactl-devel glibc-headers
/sbin/ldconfig

rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm  --force --nodeps 

其它安装参考:

 

yum install libXp.i686 libXp-devel.i686 libXt.i686 libXt-devel.i686 libXtst.i686 libXtst-devel.i686 make.x86_64 gcc.x86_64 libaio.x86_64 glibc-devel.i686 libgcc.i686
glibc-devel.x86_64 compat-libstdc -33 -y
yum install glibc* gcc* make* compat-db* libstdc* libXp* libXtst* compat-libstdc * -y

 

yum install binutils-2.* compat-libstdc -33* elfutils-libelf-0.* elfutils-libelf-devel-* gcc-4.* gcc-c -4.* glibc-2.* glibc-common-2.* glibc-devel-2.* glibc-headers-2.* ksh-2* libaio-0.* libaio-devel-0.* libgcc-4.* libstdc -4.* libstdc -devel-4.* make-3.* sysstat-7.* unixODBC-2.* unixODBC-devel-2.* pdksh*

 

 

三、调整内核参数
vi /etc/sysctl.conf
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576

#让内核参数生效
sysctl -p

#修改limits.conf
vi /etc/security/limits.conf
#oracle settings
oracle soft nproc 16384

oracle hard nproc 16384

oracle soft nofile 65536

oracle hard nofile 65536

#修改系统版本(Redhat 5.×系列系统略过这步)
cp /etc/redhat-release /etc/redhat-release.bk
vi /etc/redhat-release
#修改内容为:
Red Hat Enterprise Linux AS release 5 (Taroon)

#修改vi /etc/pam.d/login
#添加以下内容:
session    required     /lib/security/pam_limits.so
session    required     pam_limits.so

#修改/etc/profile
vi /etc/profile
#添加以下内容:
if [ $USER = "oracle" ]; then
   if [ $SHELL = "/bin/ksh" ]; then
      ulimit -p 16384
      ulimit -n 65536
   else
      ulimit -u 16384 -n 65536
   fi
fi

#修改/etc/csh.login
vi /etc/csh.login
#添加以下内容:
if ( $USER == "oracle" ) then
     limit maxproc 16384
     limit deors 65536
endif

四、创建oracle用户
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle Weaver-123

mkdir -p /oracleData/oracle
mkdir -p /oracleData/oralnventory
mkdir -p /oracleData/software
chown -R oracle:oinstall /oracleData/oracle
chown -R oracle:oinstall /oracleData/software
chown -R oracle:oinstall /oracleData/oralnventory

#设置用户环境变量
#su oracle
$ vi .bash_profile 
#添加以下内容:
ORACLE_SID=orcl;

export ORACLE_SID
ORACLE_BASE=/oracleData/oracle;

export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; 

export ORACLE_HOME
PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin; 

export PATH

ORACLE_BASE下是admin和product
ORACLE_HOME下则是ORACLE的命令、连接库、安装助手、listener等等一系列的东东。
这只是ORACLE自己的定义习惯。ORACLE_HOME比ORACLE_BASE目录要更深一些。也就是说:ORACLE_HOME=$ORACLE_BASE/product/version

ORACLE_BASE是oracle的根目录,ORACLE_HOME是oracle产品的目录。
简单说,你如果装了2个版本的oracle,那么ORACLE_BASE可以是一个,但ORACLE_HOME是2个

全局数据库名用于区别分布式数据库各个不同机器上的实例。
SID用于区别同一台机器上的不同实例,
即一个用于外部区分。
一个用于内部区分。

$source .bash_profile

五、安装oracle
#上传oracle安装文件到/data/software目录下,并解压
cd /oracleData/software
unzip linux_11gR2_database_1of2.zip
unzip linux_11gR2_database_2of2.zip
xhost    #(这里使用root用户执行,一定要执行以下2步,如果没有执行,将无法启动图形安装界1面)
xhost localhost
su - oralce
cd /data/software/database
$./runInstaller  #(到oracle安装文件所在目录执行该命令)

#方案口令:大写字母 数字 小写字母

#以root身份执行脚本
su -
/data/oralnventory/orainstRoot.sh
/data/oracle/product/11.2.0/db_1/root.sh

六、开机启动设置
#自动启动和关闭数据库实例和监听

开机启动脚本样例1

oracle随机启动脚本:

#!/bin/bash

#desciption:Oracle auto start-stop script.

#chkconfig:345 66 66

#

#Set ORA_HOME TO to be equivalent to the $ORACLE_HOME

#from which you wish to execute dbstart and dbshut;

#设置你自己的 oracle 安装路径。

#Set ORA_OWNER to the user id of the owner of the

#Oracle database in ORA_HOME.

export ORA_BASE=/oracleData/oracle

export ORA_HOME=/oracleData/oracle/product/11.2.0/db_1;

export ORACLE_USER=oracle

#判断 dbstart 文件

case $1 in

    start)

    su - "$ORACLE_USER"<<EOO

    lsnrctl start

    sqlplus /nolog<<EOS

    connect / as sysdba

    startup

EOS

    emctl start dbconsole

EOO

touch /var/lock/subsys/$scriptname

    ;;

    stop)

su - "$ORACLE_USER"<<EOO

    lsnrctl stop

    sqlplus /nolog<<EOS

    connect / as sysdba

    shutdown immediate

EOS

    emctl stop dbconsole

EOO

rm -f /var/lock/subsys/scriptname

    ;;

    *)

    echo "Usage: $0 {start|stop}"

    ;;

esac

开机启动脚本样例2
vi /oracle/oracle/product/11.2.0/db_1/bin/dbstart
ORACLE_HOME_LISTNER=$1
#修改为:
ORACLE_HOME_LISTNER=$ORACLE_HOME

vi /etc/init.d/oracle
#!/bin/sh
# chkconfig: 345 61 61
# description: Oracle 11g AutoRun Services
# /etc/init.d/oracle
#
# Run-level Startup script for the Oracle Instance, Listener, and
# Web Interface

export ORACLE_BASE=/data/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=kerry
export PATH=$PATH:$ORACLE_HOME/bin
ORA_OWNR="oracle"

# if the executables do not exist -- display error


if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
     echo "Oracle startup: cannot start"
     exit 1
fi

# depending on parameter -- startup, shutdown, restart
# of the instance and listener or usage display

case "$1" in
 start)
     # Oracle listener and instance startup
     su $ORA_OWNR -lc $ORACLE_HOME/bin/dbstart
     echo "Oracle Start Succesful!OK."
     ;;
 stop)
     # Oracle listener and instance shutdown
     su $ORA_OWNR -lc $ORACLE_HOME/bin/dbshut
     echo "Oracle Stop Succesful!OK."
     ;;
 reload|restart)
     $0 stop
     $0 start
     ;;
 *)
     echo $"Usage: `basename $0` {start|stop|reload|reload}"
     exit 1
esac
exit 0

chmod 750 /etc/init.d/oracle
ln -s /etc/init.d/oracle /etc/rc1.d/K61oracle
ln -s /etc/init.d/oracle /etc/rc3.d/S61oracle
chkconfig --level 345 oracle on
chkconfig --add oracle

#启动oracle
service oracle start

#自动启动和关闭 EM
vi /etc/init.d/oraemctl
#!/bin/sh
# chkconfig: 345 61 61
# description: Oracle 11g AutoRun Services
# /etc/init.d/oraemctl
#
# Run-level Startup script for the Oracle Instance, Listener, and
# Web Interface

export ORACLE_BASE=/data/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=kerry
export PATH=$PATH:$ORACLE_HOME/bin
ORA_OWNR="oracle"

case "$1" in
start)
echo -n $"Starting Oracle EM DB Console:"
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl start dbconsole"
echo "OK"
;;
stop)
echo -n $"Stopping Oracle EM DB Console:"
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
echo "OK"
;;
*)
echo $"Usage: $0 {start|stop}"
esac

chmod 750 /etc/init.d/oraemctl
#启动EM
service oraemctl start

七、安装过程中排错总结

今天在rhel7.0上安装oracle11g时报error in invoking target ‘agent nmhs’ of makefile

$vi $ORACLE_HOME/sysman/lib/ins_emagent.mk

 

Search for the line

$(MK_EMAGENT_NMECTL)

Change it to:

$(MK_EMAGENT_NMECTL) -lnnz11

linux install oracle 11g Error in invoking target ‘agent nmhs’ of makefile ‘../ins_emagent.mk’

 

'/home/oracle_11/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk'.

解决过程

vi $ORACLE_HOME/sysman/lib/ins_emagent.mk

Search for the line
$(MK_EMAGENT_NMECTL)
Change it to:
$(MK_EMAGENT_NMECTL) -lnnz11


#1、机器CPU如果是AMD64位,装Linux32系统,再装32位Oracle会出现netca无法执行的错误,网上说,需要打p8670579_112010_LINUX.zip这个补丁就可以了
#下载地址:http://www.megaupload.com/?d=6A29ZU8T


su - oracle
cd /data/software
unzip p8670579_112010_LINUX.zip
cd 8670579
/data/oracle/product/11.2.0/db_1/OPatch/opatch apply -invPtrLoc /data/oracle/product/11.2.0/db_1/oraInst.loc
#其中/apps/oracle/product/11.2.0/db_1/为ORACLE_HOME,可使用$ORACLE_HOME代替

 


#补丁打好后,点击安装程序的retry,继续安装即可。

#2、libail程序包缺失


yum -y install libaio-devel libaio
/sbin/ldconfig

#3、严重: 无法在指定的范围内为以下进程分配端口: JMS [5540-5559],RMI [5520-5539],Database Control [5500-5519],EM Agent [3938] | [1830-1849]


#主机名与IP不对导致
vi /etc/hosts

 

【核心代码】

实例下载地址

Centos7上安装oracle11gR2v1.7shell.doc

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警