CentOS 7 安装 Oracle 11.2.0.4

CentOS 7 安装 Oracle 11.2.0.4

(参考网上各大神的记录及自己数次安装经历总结的文章,算是半原创,转创请留本人记录。谢谢!)

作者:flexitime

一、安装环境
CentOS Linux release 7.X
Oracle Database 11g Release 2 (11.2.0.4)

请确保 磁盘空间 > 20G,内存 > 4G,其中 Oracle安装文件解压后会有 5.2G 左右。


建议 CentOS 7安装时桌面套件,最小化安装,安装后请补安装桌面套件:
Centos7安装时最后修改一下交换区大小,与内存相当。

yum groupinstall "GNOME Desktop" "Graphical Administration Tools"

安装后,可配置默认为字符界面起动。

systemctl get-default
systemctl set-default multi-user.target

修改时区

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime


二、安装安准备

2.1 修改主机名

修改/etc/sysconfig/network配置文件中的HOSTNAME变量

vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME= oracledb


2.2 添加主机名与IP对应记录

[root@xqzt ~]# vi /etc/hosts
172.25.18.61 oracledb61

2.3 关闭Selinux

[root@oracledb ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config  
[root@oracledb ~]# setenforce 0

2.4 firewall开启1521端口

firewall-cmd --permanent --zone=public --add-port=1521/tcp 
firewall-cmd --permanent --zone=public --add-port=5901/tcp 
firewall-cmd --permanent --zone=public --add-port=5902/tcp 
firewall-cmd --reload

2.7 安装所需的软件包

wget -O /tmp/pdksh-5.2.14-37.el5_8.1.x86_64.rpm http://vault.centos.org/5.11/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm
cd /tmp
rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm


安装软件包

yum -y install binutils
yum -y install compat-libcap1
yum install -y gcc gcc-c++ glibc.i686 glibc.x86_64 glibc-devel.i686 glibc-devel.x86_64
yum install -y libaio.i686 libaio.x86_64 libaio-devel.i686 libaio-devel.x86_64
yum install -y libgcc.i686 libgcc.x86_64 libstdc++.i686 libstdc++.x86_64 libstdc++-devel.i686 libstdc++-devel.x86_64
yum install -y libXi.i686 libXi.x86_64 libXtst.i686 libXtst.x86_64
yum install -y make
yum install -y sysstat
yum install -y unixODBC.i686 unixODBC.x86_64 unixODBC-devel.i686 unixODBC-devel.x86_64
yum install -y compat-libstdc++-33
yum install -y elfutils-libelf-devel
yum install -y ksh


root用户:创建Oracle安装组oinstall,数据库管理员组dba,及oracle用户

groupadd -g 200 oinstall
groupadd -g 201 dba
useradd -u 440 -g oinstall -G dba -d /home/oracle oracle
passwd oracle

2.9 更改kernel参数

[root@oracledb ~]# vi /etc/sysctl.conf

#末尾添加如下

net.ipv4.ip_local_port_range= 9000 65500
fs.file-max = 6815744
kernel.shmall = 10523004
kernel.shmmax = 6465333657
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=1048576
fs.aio-max-nr = 1048576

执行以下命令使更改生效

[root@oracledb ~]# sysctl -p

2.10 修改系统资源限制

[root@oracledb ~]# vi /etc/security/limits.conf
oracle   soft   nproc   2047
oracle   hard   nproc   16384
oracle   soft   nofile   1024
oracle   hard   nofile   65536
[root@oracledb ~]# 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
[root@oracledb ~]# vi /etc/pam.d/login 

session    required    pam_limits.so

2.11 创建安装目录及设置权限

创建如下的目录

[oracle@oracledb /]$ tree /u01/
/u01/
└── oracle
    ├── app
    └── oradata

root创建

[root@oracledb ~]# mkdir -p /u01/oracle
[root@oracledb ~]# chown -R oracle:oinstall  /u01

切换用户到 oracle :

su - oracle

chmod 755 /u01/oracle
mkdir /u01/oracle/app
chmod 755 /u01/oracle/app/
mkdir /u01/oracle/oradata
chmod 755 /u01/oracle/oradata/

2.12 设置oracle环境变量[

oracle@localhost ~]$ vi ./.bash_profile
# 在文件末尾添加

umask 022
export ORACLE_BASE=/u01/oracle/app
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_SID=mchisdb
export NLS_LANG ORA_NLS33
export ORACLE_HOME_LISTNER=$ORACLE_HOME
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib


[oracle@oracledb ~]$ source .bash_profile #立即生效

三、安装database
3.1 安装VNC(如果可以登录到机器的图形界面,可以不用vnc)

yum install tigervnc-server

配置root的vnc账号

[root@oracledb ~]$ vncserver

配置oracle的vnc账号

su - oracle
[oracle@oracledb ~]$ vncserver

注意,在Centos7中vncserver的配置与6的不一样。配置文件分别放在家目录上。

至此,强烈建议重启用服务器,观察所有的配置 (env, vnc, 等时否都已配置正确)

3.2 将安装包上传(复制)到

/u01/database 

运行安装程序,注意如果不用本地jre,可能那些安装对话框会搞死人。

/u01/database/database/runInstaller -jreLoc /etc/alternatives/jre_1.8.0

接着一路直next,
但要注意
1.Install Type那一页上面要选 Advanced Install
2.Language 那里要选  Simplified Chinese
3.Specify Database Identifiers 中要设好  sid
4.Specify Configurtion options 中 Character set要设置好 ZHS16GBK

5.在安装过程中会报错,大致如下:
Exception String: Error in invoking target 'agent nmhs' of makefile '/u01/oracle/app/oracle/product/11.2.0/dbhome/sysman/lib/ins_emagent.mk'. 

这个是oracle新版的bug,如下解决:
解决方案: 保留安装过程,另外开启一个终端窗口,将ins_emagent.mk文件中的$(MK_EMAGENT_NMECTL)更改为$(MK_EMAGENT_NMECTL) -lnnz11,然后在安装过程中点击Retry即可。

用命令:

sed  -i  's/^\(\s*\$(MK_EMAGENT_NMECTL)\)\s*$/\1 -lnnz11/g' /u01/oracle/app/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk

3.4 最后提示要用root授权运行的脚本:

/u01/oracle/oraInventory/orainstRoot.sh
/u01/oracle/app/product/11.2.0/dbhome_1/root.sh

至此oracle 11.2.0.4 数据库安装完毕。

四、创建服务

创建服务文件:

vi /etc/init.d/oracledb
#----------------
#!/bin/bash
#chkconfig: 2345 98 01
#description: Oracle database dataguard server
#Starts the oracle database dataguard server
#
# processname: oracle
# Source function library.

. /etc/init.d/functions
ORACLE_SID=mchisdb; export ORACLE_SID
ORACLE_BASE=/u01/oracle/app; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export NLS_LANG ORA_NLS33
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export ORACLE_HOME_LISTNER=$ORACLE_HOME
PATH=$HOME/bin:$ORACLE_HOME/bin:/app/bin:/bin:/usr/bin:usr/ccs/bin:/usr/ucb:/etc:$PATH

export PATH

test -x $ORACLE_HOME/bin/oracle || exit 0

RETVAL=0

start() {

# Check if oracle is already running

if [ ! -f /var/lock/subsys/oracle ]; then
  prog="listener"
  echo -n $"Starting $prog: "
  su - oracle -c "lsnrctl start" >> /var/log/oracle.log
  RETVAL=$?
  [ $RETVAL -eq 0 ] && success || failed
  echo
  prog="oracle database"
  echo -n $"Starting $prog: "
  su - oracle -c "sqlplus /nolog" << EOF >> /var/log/oracle.log

connect / as sysdba
startup 
! sleep 60
select name,open_mode,PROTECTION_MODE,DATABASE_ROLE from v\$database;
select name,open_mode,PROTECTION_MODE,DATABASE_ROLE from v\$database;
select thread#,min(sequence#) no_applied_min,max(sequence#) no_applied_max,count(1) no_applied_all from v\$archived_log where applied='NO' and STANDBY_DEST='NO' and deleted<>'YES' group by thread# order by thread#;

exit

EOF

  RETVAL=$?

  [ $RETVAL -eq 0 ] && success || failed
  echo
  [ $RETVAL -eq 0 ] && touch /var/lock/subsys/oracle || RETVAL=1
fi
return $RETVAL



}

stop() {
  prog="listener"
  echo -n $"Stopping $prog: "
  su - oracle -c "lsnrctl stop" >> /var/log/oracle.log
  RETVAL=$?
  [ $RETVAL -eq 0 ] && success || failed
  echo
  prog="oracle database"
  echo -n $"Stopping $prog: "
su - oracle -c "sqlplus /nolog" << EOF >> /var/log/oracle.log

connect / as sysdba
shutdown immediate
exit
EOF

  RETVAL=$?
  [ $RETVAL -eq 0 ] && success || failed
  echo
  [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/oracle
  return $RETVAL
}

restart() {
stop
start
}

reload() {
restart
}

status_oracle() {
su - oracle -c "lsnrctl status"
su - oracle -c "sqlplus /nolog" << EOF

connect / as sysdba

select name,open_mode,PROTECTION_MODE,DATABASE_ROLE from v\$database;

exit


EOF

}

case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  reload|restart)
    restart
    ;;
  status)
    status_oracle
    ;;
  *)
    echo $"Usage: $0 {start|stop|restart|status}"
    exit 1
esac

exit $?

exit $RETVAL


#-----------------------------
chmod a+x oracledb
chkconfig --add oracledb
chkconfig --list

至此,安装完成!

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
安装 Oracle 9i 需要满足以下条件: - CentOS 7 系统已经安装并配置好了必要的软件包和组件。 - 系统已经为 Oracle 数据库安装了必要的软件包和组件。 - 系统已经创建了一个用户以便安装和管理 Oracle 数据库。 - 系统已经配置好了必要的内核参数和环境变量。 以下是在 CentOS 7 上安装 Oracle 9i 的步骤: 1. 下载 Oracle 9i 安装包。 2. 创建一个新用户以便安装和管理 Oracle 数据库。例如,我们可以创建一个名为 oracle 的用户: ``` sudo useradd -m -d /home/oracle -s /bin/bash oracle ``` 3. 将 oracle 用户添加到 dba 组中: ``` sudo usermod -a -G dba oracle ``` 4. 安装必要的软件包和组件: ``` sudo yum install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel -y ``` 5. 配置内核参数: 编辑 /etc/sysctl.conf 文件,将以下值添加到文件末尾: ``` fs.file-max = 65536 kernel.shmall = 2097152 kernel.shmmax = 536870912 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default = 262144 net.core.rmem_max = 262144 net.core.wmem_default = 262144 net.core.wmem_max = 262144 ``` 执行以下命令使更改生效: ``` sudo sysctl -p ``` 6. 配置环境变量: 将以下值添加到 oracle 用户的 ~/.bash_profile 文件中: ``` export ORACLE_BASE=/home/oracle/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/9.2.0 export PATH=$PATH:$ORACLE_HOME/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib ``` 然后执行以下命令使更改生效: ``` source ~/.bash_profile ``` 7. 解压 Oracle 9i 安装包: 将下载的 Oracle 9i 安装包解压到 /tmp 目录中: ``` unzip linux_9204_database.zip -d /tmp ``` 8. 运行安装程序: 切换到 oracle 用户并进入安装程序所在的目录: ``` su - oracle cd /tmp/database ``` 执行安装程序: ``` ./runInstaller ``` 根据安装程序的指示完成安装过程。 注意:安装程序可能会提示您安装旧版本的软件包。如果您看到这个提示,请安装所需的软件包并重新运行安装程序。 9. 安装完成后,运行 Oracle 9i 数据库: ``` sqlplus /nolog SQL> connect sys as sysdba SQL> startup ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值