centos7部署oracle11.2.0.4(小白都能装上的简易教程)

本文目录

  • 一、安装环境
  • 二、安装准备
  • 三、开始安装oracle
  • 四、登陆测试
     
     

一、安装环境

CentOS Linux release 7.7

Oracle Database 11g Release 2 (11.2.0.4)
 
 

二、安装准备

2.1 需要使用vnc,请在windows上安装vnc客户端,在linux上vnc服务端

2.2 修改主机名

(注意:2.3和2.4这两步,可做可不做,贴出来主要是想让大家了解一下如何改主机名)

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

[root@localhost ~]# hostnamectl set-hostname oracledb

####永久性修改

[root@localhost ~]#vim /etc/sysconfig/network

NETWORKING=yes

HOSTNAME= oracledb

[root@localhost ~]# hostname oracledb

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

[root@localhost ~]# vi /etc/hosts
"你的服务器地址" oracledb

2.4 关闭Selinux

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

2.5下载Oracle 11g

oracle总共7个文件只需要p13390677_112040_Linux-x86-64_1of7.zip和p13390677_112040_Linux-x86-64_2of7.zip
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

2.6 检查硬件配置要求

虚拟内存容量要求:

Available RAM Swap Space Required
Between 1 GB and 2 GB 1.5 times the size of RAM
Between 2 GB and 16 GB Equal to the size of RAM
More than 16 GB 16 GB

 
数据库软件硬盘空间需求:

Installation Type Requirement for Software Files (GB)
Enterprise Edition 3.95
Standard Edition 3.88

 
数据文件硬盘空间需求:

Installation Type Requirement for Data Files (GB)
Enterprise Edition 1.7
Standard Edition 1.5

 
检查的命令

内存 
grep MemTotal /proc/meminfo

交换空间 
grep SwapTotal /proc/meminfo

磁盘空间 
df -ah

2.7 安装所需的软件包

通过查看Oracle安装文档中列出的Package Requirements可以查看在不同平台上需要的软件包。centos7所需要的依赖包有两种类型:packages for Oracle Linux 7和Oracle ODBC Drivers(一定要每个包都能装上)

########################1.packages for Oracle Linux 7#########################

binutils-2.23.52.0.1-12.el7.x86_64

compat-libcap1-1.10-3.el7.x86_64

gcc-4.8.2-3.el7.x86_64

gcc-c++-4.8.2-3.el7.x86_64

glibc-2.17-36.el7.i686

glibc-2.17-36.el7.x86_64

glibc-devel-2.17-36.el7.i686

glibc-devel-2.17-36.el7.x86_64

ksh libaio-0.3.109-9.el7.i686 libaio-0.3.109-9.el7.x86_64

libaio-devel-0.3.109-9.el7.i686 libaio-devel-0.3.109-9.el7.x86_64

libgcc-4.8.2-3.el7.i686 libgcc-4.8.2-3.el7.x86_64

libstdc++-4.8.2-3.el7.i686 libstdc++-4.8.2-3.el7.x86_64

libstdc++-devel-4.8.2-3.el7.i686 libstdc++-devel-4.8.2-3.el7.x86_64

libXi-1.7.2-1.el7.i686 libXi-1.7.2-1.el7.x86_64

libXtst-1.2.2-1.el7.i686 libXtst-1.2.2-1.el7.x86_64

make-3.82-19.el7.x86_64 sysstat-10.1.5-1.el7.x86_64




#############################2.Oracle ODBC Drivers#########################
On Oracle Linux 6, Red Hat Enterprise Linux 6, and Asianux Server 4:

unixODBC-2.3.1-6.el7.x86_64 or later
unixODBC-2.3.1-6.el7.i686 or later
unixODBC-devel-2.3.1-6.el7.x86_64 or later
unixODBC-devel-2.3.1-6.el7.i686 or later
2.7.1 安装软件包
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
2.7.2 如果ksh装不上或者无效,可以安装pdksh代替,另外还需要安装elfutils-libelf-devel.
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 install -y elfutils-libelf-devel

(否则会提示缺少package)

733883-20160503201352279-527824961 (1).png

2.8创建安装oracle所需用户与用户组

[root@oracledb ~]# groupadd -g 200 oinstall

[root@oracledb ~]# groupadd -g 201 dba

[root@oracledb ~]# useradd -u 440 -g oinstall -G dba -d /home/oracle oracle

[root@oracledb ~]# passwd oracle

2.9 更改kernel参数

[root@oracledb ~]# 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

执行以下命令使更改生效
[root@oracledb ~]# sysctl -p

2.10 修改系统资源限制

[root@oracledb ~]# vim /etc/security/limits.conf

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

[root@oracledb ~]# 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

[root@oracledb ~]# vim /etc/pam.d/login

#文件里添加一条pam_limits.so 
session    required    pam_limits.so

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

*** 将会创建如下结构的目录

[oracle@oracledb /]$ tree /u01/
/u01/
└── oracle
    ├── app
    └── oradata
2.11.1 创建目录和设置权限
[root@oracledb ~]#  mkdir -p /u01/oracle
[root@oracledb ~]#  mkdir /u01/oracle/app
[root@oracledb ~]#  mkdir /u01/oracle/oradata
[root@oracledb ~]#  chown -R oracle:oinstall  /u01
[root@oracledb ~]#  chmod -R  755 /u01
2.11.2 添加环境变量

[root@localhost ~]# su - oracle
[oracle@oracledb ~]$ vim ~/.bash_profile

export ORACLE_BASE=/u01/oracle/app

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/dbhome_1

export PATH=$PATH:$ORACLE_HOME/bin

export ORACLE_SID=orcl

export LANG=C #防止安装过程出现乱码

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK  #设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持一致

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

三、安装oracle

3.1 首先配置好vnc环境,在防火墙上开启vnc窗口端口(第一个端口为5901,可用进程指令查看)

3.2 解压安装文件,并运行安装程序

解压,将生成的database文件夹移动到/u01/oracle/app下

unzip p13390677_112040_Linux-x86-64_1of7.zip
unzip p13390677_112040_Linux-x86-64_2of7.zip
mv database /u01/oracle/app

运行安装程序

su - oracle
/u01/oracle/app/database/runInstaller

 

*************************上步可能出现的问题************************

A
问题一:系统显示权限的设置问题。如下两个错误都是一个问题。
通常当你从hostA登陆到hostB上运行hostB上的应用程序时,做为应用程序来说,hostA是client,但是对图形来说,是在hostA上显示的,需要使用hostA的Xserver,所以hostA是server。因此在登陆到hostB前,需要在hostA上运行xhost +来使其它用户能够访问hostA的Xserver。

To test that the DISPLAY environment variable is set correctly, run a X11 based program that comes with the native operating system such as 'xclock':
    % <full path to xclock.. see below>
If you are not able to run xclock successfully, please refer to your PC-X Server or OS vendor for further assistance.
Typical path for xclock: /usr/X11R6/bin/xclock

或者

gnoring required pre-requisite failures. Continuing...
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2020-04-26_02-36-53AM. Please wait ...[oracle@localhost tmp]$ Invalid MIT-MAGIC-COOKIE-1 keyException in thread "main" java.lang.NoClassDefFoundError
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:164)
    at java.awt.Toolkit$2.run(Toolkit.java:821)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:804)
    at com.jgoodies.looks.LookUtils.isLowResolution(LookUtils.java:484)
    at com.jgoodies.looks.LookUtils.<clinit>(LookUtils.java:249)
    at com.jgoodies.looks.plastic.PlasticLookAndFeel.<clinit>(PlasticLookAndFeel.java:135)
    at java.lang.Class.forName0(Native Method)

解决方案:修改显示权限

[oracle@oracledb ~]$exit
[root@localhost ~]# ps -ef| grep vnc #看到出现localhost.localdomain:1的信息,然后根据该信息我们来设置DISPLAY值。

image.png
[root@oracledb ~]#export DISPLAY=localhost:1

[root@oracledb ~]#xhost +

[root@oracledb ~]# su oracle      这里百千万不要用度su - oracle (会自动消掉root刚刚设置好的xhost + 配置环境)

[oracle@oracledb ~]$export DISPLAY=localhost:1

[oracle@oracledb ~]$xhost +

关于DISPLAY变量的科普:https://blog.csdn.net/preamble_1/article/details/70883978

*************************************************************************

 

3.3 图形界面向导

3.3.1 设置用来接收更新信息提升的邮箱。不用管,直接跳过。
image.png
3.3.2 点击Skip-software-updates
image.png
3.3.3 点击create and configure a database
image.png
3.3.4 点击server class
image.png
3.3.5 点击single instance database installation
image.png
3.3.6 点击Typical install
image.png
3.3.7 按实际路径修改,设置密码
image.png
3.3.8 填写配置文件目录
image.png
3.3.9 点击install
image.png

************************上步可能出现的问题*************************

A

问题一:缺少gcc和gcc-c++的依赖包

Error in invoking target 'mkldflags ntcontab.o&nb

解决方案:直接安装gcc和gcc-c++环境

首先你得先把镜像上传安装:这个根据自己的版本
将镜像挂载到/mnt目录下:
# cd /mnt

# mkdir cd

# mount /dev/cdrom  /mnt/cd

# /mnt/cd/Packages

开始安装gcc环境顺序不能错:

rpm -ivh glibc-common-2.12-1.132.el6.x86_64.rpm

rpm -ivh kernel-headers-2.6.32-431.el6.x86_64.rpm

rpm -ivh libgcc-4.4.7-4.el6.x86_64.rpm

rpm -ivh glibc-2.12-1.132.el6.x86_64.rpm

rpm -ivh libgomp-4.4.7-4.el6.x86_64.rpm

rpm -ivh nscd-2.12-1.132.el6.x86_64.rpm

rpm -ivh glibc-headers-2.12-1.132.el6.x86_64.rpm

rpm -ivh glibc-devel-2.12-1.132.el6.x86_64.rpm

rpm -ivh mpfr-2.4.1-6.el6.x86_64.rpm

rpm -ivh ppl-0.10.2-11.el6.x86_64.rpm

rpm -ivh cloog-ppl-0.15.7-1.2.el6.x86_64.rpm

rpm -ivh cpp-4.4.7-4.el6.x86_64.rpm

rpm -ivh gcc-4.4.7-4.el6.x86_64.rpm

开始安装gcc-c++环境:

rpm -ivh libstdc++-4.4.7-4.el6.x86_64.rpm

rpm -ivh libstdc++-devel-4.4.7-4.el6.x86_64.rpm

rpm -ivh gcc-c++-4.4.7-4.el6.x86_64.rpm

如果要是版本不一样可以用ls | grep 包名 来查询自己版本所对应的rpm包。再用rpm -ivh 包名 进行安装。实在没有自己去网上下载

B

问题二:makefile没有链接到libnnz11库

Error in invoking target 'agent nmhs' of makefile

解决方案:修改$ORACLE_HOME/sysman/lib/ins_emagent.mk文件,添加链接库

cd $ORACLE_HOME/sysman/lib
cp ins_emagent.mk ins_emagent.mk.bak    #备份原始文件,以防需要还原
vim ins_emagent.mk


然后找到$(MK_EMAGENT_NMECTL)这一行,在后面添加-lnnz11,效果如下
                  $(MK_EMAGENT_NMECTL) -lnnz11

*************************************************************************

 
 

四、测试登录

进入创建的实例文件夹db_home1下的bin目录下,执行 ./sqlplus /nolog 看是否能进入数据库,能进入,就代表安装成功。

cd $ORACLE_HOME/bin
./sqlplus /nolog
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342

推荐阅读更多精彩内容