CentOS 7静默(无图形化界面)安装Oracle 11g

本文详细介绍了在CentOS7系统环境中进行Oracle11g静默安装的过程,包括系统环境准备、Oracle软件下载及安装、依赖包安装、用户组和用户的创建、OS内核参数优化等关键步骤。

1、准备CentOS 7 系统环境

我以 CentOS-7-x86_64-DVD-1511.iso 为例,简述Oracle 11g的安装过程。
由于是使用静默模式(silent)安装的,无需使用图形化界面,我选择了最小安装的服务器版的CentOS 7。
安装过程可参考 https://jingyan.baidu.com/article/fd8044fade8ac35031137a82.html
安装完成后,只有命令行界面。

2、下载 Oracle 11g

Oracle官方网站
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/
我的机器安装的是CentOS7 64位系统,因此下载的Oracle版本也是64位的
这里写图片描述

11.2.0.2.0 zlinux64版本的Oracle是安装在IBM服务器的,CentOS 7是无法安装的。
下载完成后,有两个压缩文件

linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip

通过Xftp将压缩文件上传到 /tmp/

3、安装依赖包

安装依赖包之前,个人建议将yum源修改为aliyun源,下载速度快些,执行如下命令即可:

cd /etc
mv yum.repos.d yum.repos.d.bak
mkdir yum.repos.d
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache

修改成功后,安装如下依赖包:

yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel expat gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make pdksh sysstat unixODBC unixODBC-devel

使用如下命令检查依赖是否安装完整

rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel expat gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make pdksh sysstat unixODBC unixODBC-devel | grep "not installed"

发现 pdksh 没有安装
这里写图片描述

执行yum -y install pdksh,发现CentOS 7 没有相关安装包可用
这里写图片描述

通过wget命令直接下载pdksh的rpm包,我下载到了/tmp/

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

下载完成后,进入 /tmp/

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

再次检查依赖包是否安装完整

rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel expat gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make pdksh sysstat unixODBC unixODBC-devel | grep "not installed"

这里写图片描述
到此依赖包安装完整

4、添加oracle用户组和用户

groupadd oinstall
groupadd dba
groupadd asmadmin
groupadd asmdba
useradd -g oinstall -G dba,asmdba oracle -d /home/oracle

添加完成后,查看oracle用户

id oracle

初始化oracle用户的密码

passwd oracle

这里写图片描述

5、配置hostname(本机IP映射)

vim /etc/hosts
192.168.154.154 centos-oracle

测试hostname

ping -c 3 centos-oracle

这里写图片描述

6、优化OS内核参数

kernel.shmmax 参数设置为物理内存的一半

vim /etc/sysctl.conf
fs.aio-max-nr=1048576
fs.file-max=6815744
kernel.shmall=2097152
kernel.shmmni=4096
kernel.shmmax = 1073741824
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=1048586

使参数生效

sysctl -p

这里写图片描述

7、限制oracle用户的shell权限

vim /etc/security/limits.conf
oracle              soft    nproc   2047
oracle              hard    nproc   16384
oracle              soft    nofile  1024
oracle              hard    nofile  65536
vim /etc/pam.d/login
session  required   /lib64/security/pam_limits.so
session  required   pam_limits.so
vim /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

8、创建oracle安装目录

mkdir -p /db/app/oracle/product/11.2.0 
mkdir /db/app/oracle/oradata 
mkdir /db/app/oracle/inventory 
mkdir /db/app/oracle/fast_recovery_area 
chown -R oracle:oinstall /db/app/oracle 
chmod -R 775 /db/app/oracle

9、配置oracle用户环境变量

su - oracle
vim .bash_profile
umask 022
export ORACLE_HOSTNAME=centos-oracle
export ORACLE_BASE=/db/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/
export ORACLE_SID=ORCL
export PATH=.:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/jdk/bin:$PATH
export LC_ALL="en_US"
export LANG="en_US"
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"

以上配置完成后,个人建议重启下系统

reboot 

10、解压oracle压缩文件到 /db

cd /tmp
unzip linux.x64_11gR2_database_1of2.zip -d /db
unzip linux.x64_11gR2_database_2of2.zip -d /db

解压完成后

mkdir /db/etc/
cp /db/database/response/* /db/etc/
vim /db/etc/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY
DECLINE_SECURITY_UPDATES=true
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/db/app/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOSTNAME=centos-oracle
ORACLE_HOME=/db/app/oracle/product/11.2.0
ORACLE_BASE=/db/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=true
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba

开始安装

su - oracle
./runInstaller -silent -responseFile /db/etc/db_install.rsp -ignorePrereq

安装期间可以使用tail命令监看oracle的安装日志

tail -f /db/app/oracle/inventory/logs/installActions2017-07-12_03-48-29PM.log

这里写图片描述
安装完成,提示Successfully Setup Software.
根据提示完成配置
这里写图片描述

su root
sh /db/app/oracle/inventory/orainstRoot.sh
sh /db/app/oracle/product/11.2.0/root.sh

这里写图片描述

11、配置静默监听

su - oracle
netca /silent /responsefile /db/etc/netca.rsp

这里写图片描述

查看监听端口

netstat -tnulp | grep 1521

这里写图片描述

12、静默创建数据库

TOTALMEMORY 设置为总内存的80%

vi /db/etc/dbca.rsp
GDBNAME = "orcl"
SID = "orcl"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
DATAFILEDESTINATION =/db/app/oracle/oradata
RECOVERYAREADESTINATION=/db/app/oracle/fast_recovery_area
CHARACTERSET = "AL32UTF8"
TOTALMEMORY = "1638"

执行静默建库

dbca -silent -responseFile /db/etc/dbca.rsp

这里写图片描述

查看oracle实例进程

ps -ef | grep ora_ | grep -v grep

这里写图片描述

查看监听状态

lsnrctl status

这里写图片描述

登录sqlplus,查看实例状态

sqlplus / as sysdba
select status from v$instance;

这里写图片描述

出现以下情况,解决方式如下:输入startup,根据提示信息,将$ORACLE_BASE/admin/数据库名称/pfile目录下的init.ora.xxx形式的文件copy到$ORACLE_HOME/dbs目录下initoracle.ora(根据startup提示)即可。
这里写图片描述

查看数据库编码

select userenv('language') from dual;

这里写图片描述

查看数据库版本信息

select * from v$version;

这里写图片描述

激活scott用户

alter user scott account unlock;
alter user scott identified by tiger;
select username,account_status from all_users;

这里写图片描述

13、Navicat远程连接Oracle

开放1521端口

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

官方网站
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
下载 instantclient-basic,解压压缩文件
这里写图片描述

下载Navicat
http://pan.baidu.com/s/1c2GP9U4
打开Navicat,工具→选项
这里写图片描述

打开OCI界面,在右侧OCI library一栏中选择instantclient-basic解压目录下的oci.dll,然后点击确定。
这里写图片描述

重启Navicat,点击连接,选中Oracle
这里写图片描述

IP为Oracle服务器的IP地址,服务名为Oracle的实例名,可忽略大小写

select instance_name from v$instance;

这里写图片描述

用户名使用刚激活的scott,密码为tiger,填完以上信息后点击连接测试
这里写图片描述

到此Navicat远程连接Oracle数据库成功。

14、设置Oracle开机启动

vi /db/app/oracle/product/11.2.0/bin/dbstart
ORACLE_HOME_LISTNER=$ORACLE_HOME
vi /db/app/oracle/product/11.2.0/bin/dbshut
ORACLE_HOME_LISTNER=$ORACLE_HOME
vi /etc/oratab

`orcl:/db/app/oracle/product/11.2.0:Y

vi /etc/rc.d/init.d/oracle
#! /bin/bash
# oracle: Start/Stop Oracle Database 11g R2
#
# chkconfig: 345 90 10
# description: The Oracle Database is an Object-Relational Database Management System.
#
# processname: oracle
. /etc/rc.d/init.d/functions
LOCKFILE=/var/lock/subsys/oracle
ORACLE_HOME=/db/app/oracle/product/11.2.0
ORACLE_USER=oracle
case "$1" in
'start')
   if [ -f $LOCKFILE ]; then
      echo $0 already running.
      exit 1
   fi
   echo -n $"Starting Oracle Database:"
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start"
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl start dbconsole"
   touch $LOCKFILE
   ;;
'stop')
   if [ ! -f $LOCKFILE ]; then
      echo $0 already stopping.
      exit 1
   fi
   echo -n $"Stopping Oracle Database:"
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut"
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
   rm -f $LOCKFILE
   ;;
'restart')
   $0 stop
   $0 start
   ;;
'status')
   if [ -f $LOCKFILE ]; then
      echo $0 started.
      else
      echo $0 stopped.
   fi
   ;;
*)
   echo "Usage: $0 [start|stop|status]"
   exit 1
esac
exit 0

开机启动oracle

systemctl enable oracle

15、开机启动问题

oracle ORA-12547: TNS:lost contact

cd /db/app/oracle/product/11.2.0/bin/
chmod 6751 oracle

TNS-12555: TNS:permission denied

cd /var/tmp
chown -R oracle:oinstall .oracle

转自:http://blog.youkuaiyun.com/kenny1993/article/details/75038670

<think>好的,用户想在CentOS 7上通过图形化界面安装Oracle 11g。我需要整理安装步骤,确保正确引用提供的资料。 首先,安装前的准备。根据引用[3],需要创建安装目录并设置权限。用户可能需要安装必要的依赖包,比如binutils、compat-libstdc++等。还要检查内核参数,调整/etc/sysctl.conf中的设置,如shmmax和sem等。这些参数优化对Oracle运行很重要,必须正确配置。 接下来,用户和组的创建。根据引用[1]和[3],应该创建oracle用户和oinstall、dba组。这步骤是标准的,确保权限管理正确。需要确认用户是否正确添加到组中。 然后,环境变量的配置。在oracle用户的.bash_profile中添加ORACLE_HOME、PATH等变量。这有助于安装和后续操作的正确执行。需要指导用户正确设置这些变量,避免路径错误。 图形化安装需要X11转发支持。用户可能需要在本地启用X11,或者使用VNC。如果用户使用SSH连接,可能需要配置SSH的X11转发,并安装xorg-x11-xauth等包。这部分需要详细说明,因为图形界面依赖这些设置。 运行安装程序时,根据引用[4],可能需要使用dbca命令静默创建数据库,但用户需要图形界面,所以应该直接运行./runInstaller。安装过程中要按向导操作,选择正确的选项,如安装类型和数据库配置。需要提醒用户注意安装过程中的提示,特别是以root身份运行脚本的部分,如引用[2]中提到的root.sh。 安装后的配置包括监听器和数据库启动。引用[2]提到配置开机自启动,可以修改/etc/rc.d/rc.local文件,添加启动命令。这部分对用户来说可能有用,特别是希望数据库随系统启动的情况。 测试阶段,用户需要以oracle用户运行sqlplus,验证数据库连接。需要确保监听器已启动,数据库实例运行正常。可能还需要配置网络端口,如1521,确保防火墙设置正确。 可能遇到的问题包括依赖包缺失、权限不足、X11转发失败等。需要建议用户检查日志文件,如/oraInventory/logs下的安装日志,以及使用tail -f监控实时日志。 最后,生成相关问题要考虑用户可能的后续需求,比如静默安装、性能调优、卸载步骤或创建多个数据库实例。根据引用中的信息,静默安装使用响应文件,可以作为一个问题。备份恢复和参数优化也是常见问题,应包含在内。</think>### CentOS 7 图形化安装 Oracle 11g 步骤 #### 一、安装前准备 1. **创建目录并赋权** 根据引用[3]要求,创建安装目录并设置权限: ```bash mkdir -p /home/oracle_11/app/ chown -R oracle:oinstall /home/oracle_11/app/ chmod -R 775 /home/oracle_11/app/ ``` 2. **安装依赖包** 安装必要依赖: ```bash yum install -y binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common libaio libaio-devel libgcc libstdc++ unixODBC unixODBC-devel ``` 3. **配置内核参数** 修改 `/etc/sysctl.conf`,添加以下内容后执行 `sysctl -p`: ```conf kernel.shmmax = 4294967296 kernel.sem = 250 32000 100 128 fs.file-max = 6815744 ``` #### 二、配置Oracle用户与环境 1. **创建用户/组** ```bash groupadd oinstall && groupadd dba useradd -g oinstall -G dba oracle passwd oracle # 设置密码 ``` 2. **设置环境变量** 在 `oracle` 用户的 `~/.bash_profile` 中添加: ```bash export ORACLE_BASE=/home/oracle_11/app export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 export PATH=$PATH:$ORACLE_HOME/bin ``` #### 三、启动图形化安装 1. **配置X11转发** - 本地计算机安装X Server(如Xming/MobaXterm) - SSH连接时启用X11转发: ```bash ssh -X root@centos_ip ``` - 在CentOS安装X11工具: ```bash yum install -y xorg-x11-xauth xorg-x11-utils ``` 2. **运行安装程序** ```bash su - oracle cd /path/to/oracle_installer/ ./runInstaller ``` - **安装向导关键步骤**: - 取消勾选邮箱通知 - 选择 *Create and configure a database* - 设置数据库类型为 *General Purpose* #### 四、安装后配置 1. **执行root脚本** 安装完成后,根据提示以 `root` 身份运行: ```bash /home/oracle_11/app/oraInventory/orainstRoot.sh /home/oracle_11/app/product/11.2.0/db_1/root.sh ``` 2. **配置监听器与数据库** 通过 `netca` 配置监听器,使用 `dbca` 创建数据库(引用[4]静默模式可参考): ```bash dbca -silent -createDatabase -responseFile /path/to/dbca.rsp ``` 3. **设置开机自启** 引用[2]方法,修改 `/etc/rc.d/rc.local`: ```bash su oracle -lc "$ORACLE_HOME/bin/lsnrctl start" su oracle -lc "$ORACLE_HOME/bin/dbstart" ``` #### 五、验证安装 ```bash sqlplus / as sysdba SQL> SELECT status FROM v$instance; # 应返回 "OPEN" ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值