Linux(CentOS 6.X)命令行下安装Oracle 11g

一、系统要求

1.1.内存及swap(交换空间)要求

RAM

swap

1~2G

RAM的1.5倍

2~16G

与RAM相等

大于16G

16G

 查看内存大小:

grep MemTotal /proc/meminfo

查看交换空间大小:

grep SwapTotal /proc/meminfo

1.2、swap空间不足可以进行调整,内存的话就只能加硬件了

修改swap空间必须以root用户登录。

1.2.1、关闭swap

swapoff -a

1.2.2、设置swap的大小

dd if=/dev/zero of=/swapfile bs=1M count=5120

bs指的是Block Size,就是每一块的大小,这里是1M。count是告诉程序,新的swapfile要多少个block。5120个block就是5G。

1.2.3、把增大后的文件变为swap文件

mkswap /swapfile

1.2.4、重新打开swap:

swapon /swapfile

1.2.5、让swap在启动的时候,自动生效

vi /etc/fstab

在最后面追加:

/swapfile swap swap default 0 0

1.3、硬盘要求

最小4G

 

二、准备工作

2.1、下载安装包

下载地址:https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

必须先同意。另外,下载安装包需要登录,若没有账号,注册一个即可,免费。

 

Linux(CentOS 6.X)命令行下安装Oracle 11g_第1张图片

根据实际情况,选择对应的安装包。32位系统只能使用32位的安装包,64位系统只能使用64位的安装包。

查看Linux系统版本

cat /etc/issue

查看Linux内核信息

uname -a

我的是64位系统

Linux(CentOS 6.X)命令行下安装Oracle 11g_第2张图片

2.2、上传安装包至Linux

上传位置自定,我上传至/home/exe/Oracle

2.3、修改系统参数

2.3.1、修改sysctl.conf

vim /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

最后使配置文件生效

sysctl -p

2.3.2、用户限制

修改/etc/security/limits.conf

vim /etc/security/limits.conf

在后面追加

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240

然后修改/etc/pam.d/login

vim /etc/pam.d/login

在后面追加

session required /lib/security/pam_limits.so
session required pam_limits.so

最后修改/etc/profile

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

使命令生效

source /etc/profile

2.3.3、创建Oracle用户及组

groupadd oinstall 
groupadd dba
groupadd oper
useradd oracle
passwd oracle

提示输入密码时,需要重复输入两次密码。若提示密码过于简单,可以忽略。

为方便记忆,我设置为“oracle”。

2.3.4、将Oracle用户添加进oinstall、dba、oper组

gpasswd -a oracle oinstall
gpasswd -a oracle dba
gpasswd -a oracle oper

2.3.5、创建数据库软件目录和数据文件存放目录,目录的位置,根据自己的情况来定

我放到根目录下

mkdir -p /Oracle/app/oradata
mkdir -p /Oracle/app/oracle/product

2.3.6、更改目录属主为Oracle用户所有,输入命令

chown -R oracle:oinstall /Oracle/app

2.3.7、配置oracle用户的环境变量

首先,切换到新创建的oracle用户下

su - oracle

然后直接输入:

vim .bash_profile

追加如下内容

export ORACLE_BASE=/Oracle/app
export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

使设置生效

source /etc/profile

2.4、安装依赖组件(root用户登录)

Oracle需要依赖以下组件:(没安装依赖组件时,Oracle是不会安装成功的,会生成一个安装日志,日志里边有描述哪些依赖组件是需要安装的)

gcc

gcc-c++

make

binutils

compat-libstdc++-33

glibc

glibc-devel

libaio

libaio-devel

libgcc

libstdc++

libstdc++-devel

unixODBC

unixODBC-devel

sysstat

elfutils-libelf-devel

ksh

以下这些32位的依赖也是必须的(不知道为什么),注意有些是.i686,有些是.i386

compat-libstdc++-33.i386

glibc.i686

libaio.i386

libaio-devel.i386

libgcc.i386

libstdc++.i386

unixODBC.i386

unixODBC-devel.i386

 

使用yum命令进行安装,yum命令不带版本号时,自动安装最新版,且根据系统位数自动选择32位或64位。

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

 

再安装指定的32位依赖

yum -y install compat-libstdc++-33.i386 glibc.i686 libaio.i386 libaio-devel.i386 libgcc.i386 libstdc++.i386 unixODBC.i386 unixODBC-devel.i386

看到yum没有找到这些.i386的包,只能手动去网上搜了。

Linux(CentOS 6.X)命令行下安装Oracle 11g_第3张图片

可以在清华大学开源站点的CentOS5.11下找到https://mirrors.tuna.tsinghua.edu.cn/centos-vault/5.11/os/x86_64/CentOS/,不过这些版本都老与已经安装的64位的版本,无法进行安装。

怎么办呢?找到对应64位版本号的32位,不行,都是.i686的,先决条件检查不通过。卸载64位的重装老版本,太麻烦,而且libgcc这东西一卸载系统就出错。那就去找Oracle检查先决条件的配置文件,/……/Oracle/database/stage/cvu/cvu_prereq.xml,干它,把.i386都改成.i686。

Linux(CentOS 6.X)命令行下安装Oracle 11g_第4张图片

查找ARCHITECTURE="i386",有45处匹配,替换为ARCHITECTURE="i686"

Linux(CentOS 6.X)命令行下安装Oracle 11g_第5张图片

保存后上传至Linux。然后执行安装

yum -y install compat-libstdc++-33.i686 glibc.i686 libaio.i686 libaio-devel.i686 libgcc.i686 libstdc++.i686 unixODBC.i686 unixODBC-devel.i686

 

pdksh不能使用yum安装,因为yum找不到pdksh安装包。下载地址:

http://rpm.pbone.net/index.php3 搜索“pdksh-5.2.14”。看清是64位还是32位,不要下载带“debug”的。

安装包上传至Linux,使用下列命令安装

rpm -ivh /home/exe/pdksh-5.2.14-23.x86_64.rpm

rpm命令:

         安装:rpm -ivh 文件名(.rpm)

         升级:rpm -Uvh 文件名(.rpm)

         删除:rpm -e --nodeps 软件名

         查看:rpm -qa

2.5、解压安装包

Oracle用户登录

su - oracle

切换目录

cd /home/exe/Oracle

执行解压命令

unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip

 

若提示无法创建文件夹等错误,需要修改/home/exe/Oracle目录权限,需在root用户下:

chmod 777 /home/exe/Oracle

若提示没有unzip命令,使用yum安装(root用户),需联网

yum –y install unzip zip

2.6、修改响应文件

2.6.1、复制响应文件模板

cd /home/exe/Oracle/database
mkdir etc
cp /home/exe/Oracle/database/response/* /home/exe/Oracle/database/etc

2.6.2、设置响应文件权限

chmod 777 /home/exe/Oracle/database/etc/*.rsp

2.6.3、修改响应文件

vim /home/exe/Oracle/database/etc/db_install.rsp

修改如下内容

oracle.install.option=INSTALL_DB_SWONLY     //安装类型
ORACLE_HOSTNAME=RainingTime        //主机名称(hostname查询)
UNIX_GROUP_NAME=oinstall 	// 安装组(前边4.3小节定义的)
INVENTORY_LOCATION=/Oracle/app/oradata   //INVENTORY中央库存目录(不填就是默认值)
SELECTED_LANGUAGES=en,zh_CN,zh_TW // 选择语言
ORACLE_HOME=/Oracle/app/oracle/product/11.2.0/dbhome_1   //oracle_home
ORACLE_BASE=/Oracle/app/oracle     //oracle_base
oracle.install.db.InstallEdition=EE     // oracle版本
oracle.install.db.isCustomInstall=false   //自定义安装,否,使用默认组件
oracle.install.db.DBA_GROUP=dba  / dba用户组
oracle.install.db.OPER_GROUP=oper   // oper用户组
oracle.install.db.config.starterdb.type=DATA_WAREHOUSE		//数据库类型(DATA_WAREHOUSE:数据仓库,GENERAL_PURPOSE:通用型,TRANSACTION_PROCESSING:事务型)
oracle.install.db.config.starterdb.globalDBName=orcl		//globalDBName
oracle.install.db.config.starterdb.SID=orcl		//SID
oracle.install.db.config.starterdb.memoryLimit=81920		//自动管理内存(M)
oracle.install.db.config.starterdb.password.ALL=orcl123456	 //设定所有数据库用户使用同一个密码
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false         //(手动写了false)
DECLINE_SECURITY_UPDATES=true   //设置安全更新(貌似是有bug,这个一定要选true,否则会无限提醒邮件地址有问题,终止安装。PS:不管地址对不对)

2.7、CentOS 6.X开启防火墙1521端口

开启1521端口

/sbin/iptables -I INPUT -p tcp --dport 1521 -j ACCEPT

使更改生效

/etc/rc.d/init.d/iptables save

2.8、CentOS 7.X关闭防火墙和selinux

2.8.1、关闭防火墙(root用户登录)

查看防火墙运行状态,如果看到“active(running)”,表示防火墙正在运行中;而“disavtive(dead)”,表示防火墙已关闭。

systemctl status firewalld.service

使用以下命令关闭防火墙(仅本次关闭,系统重启后会重新运行):

systemctl stop firewalld.service 

永久关闭防火墙,则使用以下命令:

systemctl disable firewalld.service

2.8.2、关闭selinux(root用户登录)

查看selinux状态,若为“Enforcing”表示已开启,若为“disabled”表示已关闭。

getenforce

临时关闭selinux

setenforce 0

永久关闭selinux,需要修改/etc/selinux/config

vim /etc/selinux/config

修改如下内容

SELINUX=disabled

Linux(CentOS 6.X)命令行下安装Oracle 11g_第6张图片

重启系统后生效。

 

 

三、开始安装

3.1、重启系统,以oracle用户登录

Oracle用户登录

su - oracle

3.2、执行安装命令

/home/exe/Oracle/database/runInstaller -silent -force -responseFile /home/exe/Oracle/database/etc/db_install.rsp

 

出现类似下面情况时,请耐心等待:

 

出现以下情况,提示安装失败、不满足先决条件,按照提示查看日志:

Linux(CentOS 6.X)命令行下安装Oracle 11g_第7张图片

 

出现以下情况,表示先决条件检查通过,开始进行安装。

此时打开另一个Linux终端,按上方提示实时查看安装日志:

tail -f /Oracle/app/oradata/logs/installActions2021-03-05_10-41-34AM.log

当日志打印出以下信息,表示已安装完毕:

Linux(CentOS 6.X)命令行下安装Oracle 11g_第8张图片

这时回到先前的终端,会看到以下内容:

Linux(CentOS 6.X)命令行下安装Oracle 11g_第9张图片

这时,打开另一个Linux终端,以root用户登录,运行提示的两个脚本文件,然后当前终端,按Enter键。

3.3、配置监听程序

以oracle用户登录,输入以下命令

netca /silent /responsefile /home/exe/Oracle/database/etc/netca.rsp

Linux(CentOS 6.X)命令行下安装Oracle 11g_第10张图片

意思是监听程序配置完毕,但是启动监听器失败,看日志找原因:

Linux(CentOS 6.X)命令行下安装Oracle 11g_第11张图片

意思是启动对RainingTime/10.96.103.69:1521的监听失败。一看就觉得是IP有问题,那就改下监听器配置文件吧:

vim /Oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora

Linux(CentOS 6.X)命令行下安装Oracle 11g_第12张图片

把这个IP改为localhost,保存。

Linux(CentOS 6.X)命令行下安装Oracle 11g_第13张图片

 

然后手动启动监听器

lsnrctl start

Linux(CentOS 6.X)命令行下安装Oracle 11g_第14张图片

监听器已经启动。

 

监听器相关命令:

启动:lsnrctl start

状态:lsnrctl status

停止:lsnrctl stop

3.4、创建数据库实例

静默建立数据库实例。

编辑建库应答文件:

vim /home/exe/Oracle/database/etc/dbca.rsp

文件有多个节点,只编辑第一个全局公用节点即可

Linux(CentOS 6.X)命令行下安装Oracle 11g_第15张图片

修改内容如下

RESPONSEFILE_VERSION = "11.2.0"       //Oracle版本,保持不变
OPERATION_TYPE = "createDatabase"    //Oracle版本,保持不变
GDBNAME = "dbsrv2"     //全局数据库名
SID = "dbsrv2"    //服务名
TEMPLATENAME = "General_Purpose.dbc"  //保持不变

保存。

 

开始创建实例

dbca -silent -responseFile /home/exe/Oracle/database/etc/dbca.rsp

Linux(CentOS 6.X)命令行下安装Oracle 11g_第16张图片

需要输入SYS、SYSTEM用户密码。

3.5、连接数据库

实例创建完毕,就可以访问数据库了。(保证监听器开启)

sqlplus SYSTEM/orcl123456@localhost:1521/orcl

Linux(CentOS 6.X)命令行下安装Oracle 11g_第17张图片

正常访问。

3.6、配置数据库远程机访问

由于之前配置的监听器只针对本地localhost有效,因此远程机是无法访问的。

如果需要远程访问数据库,需要修改监听器配置文件如下:

vim /Oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora

Linux(CentOS 6.X)命令行下安装Oracle 11g_第18张图片

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = /Oracle/app/oracle/product/11.2.0/dbhome_1)
    )
    (SID_DESC =
          (GLOBAL_DBNAME = orcl)
          (ORACLE_HOME = /Oracle/app/oracle/product/11.2.0/dbhome_1)
      (SID_NAME = orcl)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.25.128)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = /Oracle/app

编辑完毕,保存。

重启监听器:

lsnrctl stop
lsnrctl start

测试远程访问(本文第2.7节已开启1521端口)

Linux(CentOS 6.X)命令行下安装Oracle 11g_第19张图片

成功。

你可能感兴趣的:(Linux,安装,Oracle,数据库,linux,centos)