CentOS 6.5安装Oracle过程记录


1,事先准备

1,Oracle下载链接:Oracle官网下载

  1. Oracle官方安装指南:官方安装指南(英语)

  2. VMware + CentOS虚拟机


2,在实体机与虚拟机,Win7和CentOS之间,实现文件共享

2.1. 安装VMware Tools
  • 安装perl
    由于VMware Tools的安装脚本需要用到perl,所以要先为CentOS安装perl
    # yum install perl

  • 在VMware界面“虚拟机”按钮的下拉菜单中,选择“安装VMware Tools”


    安装
  • 安装过程
    mkdir /mnt/cdrom //创建挂载目录
    mount /dev/cdrom /mnt/cdrom //挂载
    cd /mnt/cdrom //进入挂载目录
    mkdir /usr/local/vmtools //创建安装包存放文件夹
    cp VMwareTools-10.0.5-3228253.tar.gz /usr/local/vmtools //把挂载目录中的安装包拷贝到目标文件夹中
    cd /usr/local/vmtools //进入存放文件夹中
    umount /dev/cdrom //卸载
    tar zxvf VMwareTools-10.0.5-3228253.tar.gz //解压
    cd vmware-tools-distrib //进入解压文件夹
    ./vmware-install.pl //执行文件

  • 安装结果


    安装结果

其中mounting hgfs shares失败报错了,没关系,这只是说明hgfs下没有共享文件,添加共享就可以了。
共享文件在/mnt/hgfs路径下,可以看到,这时文件夹下什么内容也没有。

文件夹空的

2.2. 添加共享文件:
  • 编辑虚拟机,点击“选项”


    选项
  • 共享文件夹,改为“总是启用”,点击“添加”按钮


    启用共享
  • 进入向导


    向导
  • 添加共享文件


    添加共享
  • 下一步,选择启用共享,即可完成共享。


    共享完成
2.3. 在CentOS中访问共享文件夹
  • 共享文件的存放位置为 /mnt/hgfs,之前安装VMware Tools之后什么都没有的hgfs文件夹,这时可以看到上一步共享的database文件夹了。

    看到了共享的database文件夹

  • 进入database文件夹,看到了Oracle的安装文件


    文件夹内容

3,安装Oracle

3.1. 进入安装文件存放的文件夹/mnt/hgfs/database,直接安装数据库,提示不能用root用户安装


root安装报错

3.2. 建立Oracle用户和组
groupadd dba //添加dba组
groupadd oinstall //添加oinstall组
useradd -m -g oinstall -G dba oracle //添加oracle用户,默认组oinstall,自动添加home目录,同时添加到dba组
passwd oracle //设置密码,由于是自用测试库就不设置复杂密码了

3.3. 目录和权限
如果准备使用默认路径(如下图所示)安装Oracle,可以跳过这一步,如果想要自主管理Oracle软件、配置、数据等的存放路径,可以参考这一步。
最好先百度/谷歌一下Oracle的OFA体系,再创建目录。例如可以参考 Dave老师的这一篇文Oracle OFA(Optimal Flexible Architecture) 说明
mkdir -p /u01/app/oracle/product/11.2.0/db_1 #创建目录
mkdir -p /u01/app/oracle/oradata
chown -R oracle:oinstall /u01/app #修改目录所有者
chmod -R 775 /u01/app #修改目录权限

11.2安装的默认路径

3.4. 配置系统网络参数

  • 配置静态IP
    Oracle在安装的时候需要静态IP地址,所以需要先配置好相关网络参数。
    配置文件的各个参数作用可以看我的另一篇文:CentOS的网络配置参数作用

    要想永久保留IP地址等修改,需要修改配置文件。
    先用ifconfig确定系统的网卡名称,然后在/etc/sysconfig/network-scripts路径下,寻找与网卡名称一致的配置文件。例如,网卡名称为eth0,配置文件名称为ifcfg-eth0。
    或者直接编辑:vi /etc/sysconfig/network-scripts/ifcfg-eth0

    修改配置文件

    以下是配置文件需要编辑的主要内容,不需要修改的行未记录,记得改完后要保存:

    ONBOOT=yes  #开机自动启用网络接口
    BOOTPROTO=static  #静态地址
    IPADDR=192.168.9.43   #IP地址,根据实际情况配置
    NETMASK=255.255.255.0  #子网掩码,根据实际情况配置
    #PREFIX=24  #本行可注释
    GATEWAY=192.168.9.1  #网关,根据实际情况配置
    DNS1=192.168.10.4  #DNS,根据实际情况配置
    DNS2=114.114.114.114  #第2个DNS,根据实际情况配置,一般有1个DNS就够了
    
  • 修改hosts文件
    vi /etc/hosts,在底部添加一条记录:本机IP 本机主机名。
    如果不做这一步,在安装的时候可能会报Oracle Net Configuration Assisant failed错误。
    /etc/sysconfig/network中的hostname要与/etc/hosts中的一致。

    hosts
  • 重启网络服务
    service network restart,重启网络服务使配置生效。

3.5. 修改内核参数
vi /etc/sysctl.conf,修改内核参数文件:

修改前的内核内容

在文件底部录入以下内容:

fs.aio-max-nr = 1048576
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

各个内核参数的值,可以参照下表来调整,如果系统值比下表中大可以不调整,如果小于下表的值再作调整。
如果添加后有重复的内核参数,需要注释其中一个。
调整完内核后需要重启系统。

参数名称 最小值 文件 查询命令
kernel.sem(semmsl) 50 /proc/sys/kernel/sem /sbin/sysctl -a | grep sem
kernel.sem(semmns) 32000 同上 同上
kernel.sem(semopm) 100 同上 同上
kernel.sem(semmni) 128 同上 同上
kernel.shmall 2097152 /proc/sys/kernel/shmall /sbin/sysctl -a | grep shm
kernel.shmmax 见下方 /proc/sys/kernel/shmmax 同上
kernel.shmmni 4096 /proc/sys/kernel/shmmni 同上
fs.file-max 6815744 /proc/sys/fs/file-max /sbin/sysctl -a | grep file-max
net.ip_local_port_range 9000 65500 /proc/sys/net/ipv4/ip_local_port_range /sbin/sysctl -a | grep ip_local_port_range
net.core.rmem_default 262144 /proc/sys/net/core/rmem_default /sbin/sysctl -a | grep rmem_default
net.core.rmem_max 4194304 /proc/sys/net/core/rmem_max /sbin/sysctl -a | grep rmem_max
net.core.wmem_default 262144 /proc/sys/net/core/wmem_default /sbin/sysctl -a | grep wmem_default
net.core.wmem_max 1048576 /proc/sys/net/core/wmem_max /sbin/sysctl -a | grep wmem_max
fs.aio-max-nr 1048576

其中,shmmax参数,Oracle官方的说明如下:

Minimum of the following values:
    · Half the size of the memory
    · 4GB - 1 byte
Note: The minimum value required for shmmax is 0.5 GB. 
However, Oracle recommends that you set the value of shmmax to 2.0 GB 
for optimum performance of the system.

本英语渣翻译大意为:shmmax的值可以是【4GB - 1byte】和【实际内存的1/2】这两者中较小的那个,同时shmmax不能小于0.5GB。官方推荐设置为2GB以获得更好的系统性能。

更多关于内核参数的设置,可以参考这一篇文章Oracle kernel parameters tuning on Linux

3.6. 修改系统资源限制
a. 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
注意:修改此文件是即时生效的,但可能要重登录后再看

b. 修改/etc/pam.d/login(也有部分文章表示可以不修改):
vi /etc/pam.d/login
找到session required pam_namespace.so,然后在下方添加一行:
session required pam_limits.so

添加一行

3.7. 修改防火墙
a. 关闭Selinux
临时关闭Selinux:setenforce 0
永久关闭Selinux:vi /etc/sysconfig/selinux,并将文件中的SELINUX=enforcing 改为 SELINUX=disabled,永久关闭需要重启后方能生效。

b. 关闭防火墙
service iptables stop #临时关闭,重启后失效
chkconfig iptables off #永久关闭

3.8. 修改oracle的环境变量
记得切换用户到oracle
vi ~/.bash_profile编辑环境变量,添加oracle环境变量,注意路径需要和准备安装的oracle路径(即3.3中创建的目录路径)一致,ORACLE_SID需要和创建的数据库SID一致:

export ORACLE_BASE=/u01/app

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

export PATH=$PATH:$ORACLE_HOME/bin

export ORACLE_SID=orcl

然后运行source .bash_profile使配置立即生效

3.9. 安装依赖包
Oracle11的安装包自带检查,会提示系统需要安装哪些依赖包,可以按照需要一个个添加。
我这里在网上找了一个比较全的依赖包列表:
yum install -y binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat unixODBC unixODBC-devel

3.10. 安装Oracle
a. 去掉勾,直接next,弹出警告选yes

去掉勾

b. 选择想要进行的操作,个人选1

  • 创建并设置一个数据库
  • 只安装数据库软件
  • 升级一个已经存在的数据库
选择操作

c. 选择安装那种级别的数据库:桌面级,服务级。个人选择2
从帮助文档的描述看,如果想要用到RAC,ASM,Grid Control,备份和恢复配置等等更多功能,建议选择2。
另从部分网友的文章看,桌面级似乎不支持远程连接。


选择安装级别

d. 选择grid配置:单实例还是RAC


单实例还是RAC

e. 选择典型安装还是高级安装

  • 典型安装:快速安装,最少输入,多用于一般用途的数据库
  • 高级安装:复杂安装,更多设置,多用于按需设置的数据库。
典型安装还是高级安装

f. 如果选择典型安装,设置会比较简单,有选择安装路径,设置账号密码等步骤,而如果选择高级安装,还会有设置语言支持、数据库功能(需要的空间大小也不同)等步骤。
安装路径,oracle用户需要有写入权限。

g. 选择数据库类型:通用数据库,数据仓库。通常选第一个。

数据库类型

h. 确定数据库名称和SID

名称和SID

i. 选择内存管理和字符集等设置
内存管理:选中自动内存管理的勾,其他按默认设置就好,装好后还可以修改。

字符集涉及数据库支持的字符,不支持的字符会显示为乱码。

  • 选项一,使用操作系统的字符集,
  • 选项二,使用AL32UTF8字符集,该字符集支持多语言,
  • 选项三,从支持的列表中自己选择字符集,
内存管理
内存和字符集等设置

j. grid和邮件提醒,测试用库邮件提醒就比较无所谓了。

更多设置

k. 选择存储管理方式:操作系统管理或ASM,后期可以改,先选操作系统管理

操作系统管理或ASM

l. 自动备份选项

自动备份选项

m. 设置关键账号的密码

设置密码

n. 为操作系统用户组指定数据库权限,可见最好再加一个operator组,因为是测试库我就不再加了

指定权限

o. 下一步Oracle安装程序会自检,检测环境是否符合要求。

  • 如果是安装程序可以修复的问题,那么会被标记为fixable,可以通过运行安装程序提供的脚本来处理。脚本的路径和名称安装程序会提示,用root运行一遍即可。
  • 如果是内存问题,就要停掉虚拟机来添加,如果是swap空间不够问题,那么就需要扩大swap空间,具体方法可以百度/谷歌之。
  • 如果是报Packages问题,可以通过rpm -q命令来查看是否有安装。由于CentOS中部分i386包会被改名为i686,所以肯定会有几个包报错,这类错误可以直接忽略。

其实原本每种问题和解决都有记录并且截图,但不知道为什么这些内容都被吞了,而虚拟机里这一步已经过去,所以这一步就简略写写并且不配图了。

p. 接下来就是安装,安装完成后会提示需要运行2个脚本:

运行脚本

q. 安装成功,通过浏览器访问https://IP:1158/em来确认

em访问成功

安装过程中遇到的问题

  1. 问题一,无法将DISPLAY显示到主显示器上,系统提示如下:
    Checking monitor: must be configured to display at least 256 colors >>> Could not execute auto check for display colors using command /usr/openwin/bin/xdpyinfo. Check if the DISPLAY variable is set. Failed <<<<
    因为Oracle的安装需要Java和图形界面,查了一些网络资料,大约有几种解决方式:

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

推荐阅读更多精彩内容