技术交流QQ群:①185473046   ②190706903   ③203744115   网站地图
登录

下次自动登录
现在的位置: 首页Oracle>正文
CentOS 安装Oracle 11g R2
2012年10月28日 Oracle 评论数 7 ⁄ 被围观 61,006次+

本文档最后更新于2019年7月18日,同样适用于CentOS 6.x 64操作系统及Oracle11gR2 64位版本。

说明:

Linux服务器操作系统:CentOS 5.8 32位(注意:系统安装时请单独分区/data用来安装oracle数据库)

Linux服务器IP地址:192.168.21.150

Oracle数据库版本:linux_11gR2_database

Windows客户端系统:Windows Xp

具体操作:

系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容 版权所有,转载请注明出处及原文链接

一、在Linux服务器操上安装图形界面X Window

1、在Linux上安装图形界面服务端程序X Window

yum groupinstall "X Window System" #安装X Window

yum groupinstall "X Window System" --setopt=group_package_types=mandatory,default,optional

yum -y groupinstall Desktop

yum install xdm

yum install -y xterm

2、vi /etc/gdm/custom.conf #配置,修改添加以下代码

[security]

AllowRemoteRoot=true

[xdmcp]

Port=177

Enable=1

:wq! #保存退出

3、vi /etc/inittab #编辑

id:5:initdefault: #修改3为5

:wq! #保存退出

4、vi /etc/sysconfig/iptables  # 编辑,添加以下代码,开启防火墙UDP 177端口

-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 177 -j ACCEPT

:wq! #保存退出

service iptables restart #重启

gdm-restart #重启

shutdown -r now #重启系统

二、在Windows客户端系统上安装Xmanager

1、下载安装Xmanager Enterprise 3

软件下载地址请自行搜索。

2、下载安装软件之后,打开Xmanager Enterprise

3,再打开Xbrowser,如下图所示:

在地址栏输入192.168.21.150 点转到,出现下面界面

输入用户名root,再输入密码,点Ok,会出现下面界面

登录成功!

如果上面的方法无法连接服务器桌面,可以使用xstart进行连接

打开Xmanager Enterprise,双击xstart

主机:服务器ip

协议:ssh,如果修改过默认端口,请打开设置,修改端口号为自定义端口号

用户名:root

身份验证:Password

命令:/usr/bin/gnome-session  --display $DISPLAY

保存,运行,即可连接到桌面。

三、在Linux服务器操作系统上准备Oracle数据库安装前的工作

1、下载Oracle 11g R2 Linux版本

http://download.oracle.com/otn/linux/oracle11g/R2/linux_11gR2_database_1of2.zip #下载地址

http://download.oracle.com/otn/linux/oracle11g/R2/linux_11gR2_database_2of2.zip

注意:Oracle 11g R2 Linux版本有两个压缩文件包,都需要下载(下载时需要先注册登录)

下载完成之后,通过WinSCP等工具把两个压缩文件包上传到Linux服务器的/usr/local/src目录中,如下图所示:

2、在Linux服务器上创建oracle数据库安装目录

mkdir -p /data/oracle #oracle数据库安装目录

mkdir -p /data/oraInventory #oracle数据库配置文件目录

mkdir -p /data/database #oracle数据库软件包解压目录

3、创建运行oracle数据库的系统用户和用户组

groupadd oinstall #创建用户组oinstall

groupadd dba #创建用户组dba

useradd -g oinstall -g dba -m oracle #创建用户oracle,并加入oinstall和dba用户组

passwd oracle #设置用户oracle的登录密码,根据提示输入两次密码

chown -R oracle:oinstall /data/oracle #设置目录所有者为oinstall用户组的oracle用户

chown -R oracle:oinstall /data/oraInventory

chown -R oracle:oinstall /data/database

4、修改操作系统标识(oracle默认不支持CentOS系统安装)

vi /etc/redhat-release #编辑

把:CentOS release 5.8 (Final)

修改为:redhat-4

:wq! #保存退出

5、设置系统内核参数

vi /etc/sysctl.conf #编辑,在最后添加以下代码

net.ipv4.icmp_echo_ignore_broadcasts = 1

net.ipv4.conf.all.rp_filter = 1

fs.file-max = 6815744 #设置最大打开文件数

fs.aio-max-nr = 1048576

kernel.shmall = 2097152 #共享内存的总量,8G内存设置:2097152*4k/1024/1024

kernel.shmmax = 2147483648 #最大共享内存的段大小

kernel.shmmni = 4096 #整个系统共享内存端的最大数

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500 #可使用的IPv4端口范围

net.core.rmem_default = 262144

net.core.rmem_max= 4194304

net.core.wmem_default= 262144

net.core.wmem_max= 1048576

:wq! #保存退出

sysctl -p #使配置立即生效

6、设置oracle用户限制,提高软件运行性能

vi /etc/security/limits.conf #在末尾添加以下代码

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

:wq! #保存退出

7、配置用户环境

vi /home/oracle/.bash_profile #在最后添加以下代码

export ORACLE_BASE=/data/oracle #oracle数据库安装目录

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 #oracle数据库路径

export ORACLE_SID=orcl #oracle启动数据库实例名

export ORACLE_TERM=xterm #xterm窗口模式安装

export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #添加系统环境变量

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #添加系统环境变量

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

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK  #设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持一致,如:ZHS16GBK,否则出现数据导入导出中文乱码问题

:wq! #保存退出

source .bash_profile #使设置立刻生效

8、关闭SELINX

vi /etc/selinux/config #编辑配置文件

#SELINUX=enforcing #注释掉

#SELINUXTYPE=targeted #注释掉

SELINUX=disabled #增加

:wq! #保存退出

9、配置防火墙开启1521端口

vi /etc/sysconfig/iptables #编辑防火墙配置文件,添加以下内容

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT

/etc/init.d/iptables restart #重启防火墙使配置生效

10、解压oracle压缩文件到解压目录

cd /usr/local/src #进入目录

unzip linux_11gR2_database_1of2.zip -d /data/database #解压

unzip linux_11gR2_database_2of2.zip -d /data/database #解压

chown -R oracle:oinstall /data/database/database

11、安装oracle数据库所需要的软件包

yum install gcc* gcc-* gcc-c++-* glibc-devel-* glibc-headers-* compat-libstdc* libstdc* elfutils-libelf-devel* libaio-devel* sysstat* unixODBC-* pdksh-*

四、安装oracle

1、在Windows客户端运行Xmanager,登录到Linux服务器的 X window界面,如下图所示:

2、切换到oracle用户

xhost +

su – oracle

export DISPLAY=:0.0  #用w命令查看,根据自己系统显示的结果填写

cd /data/database/database #进入安装包目录

./runInstaller #安装,出现下面界面

耐心等待一会,出现下面的界面

Emial:默认不用填写

取消:“我希望通过My Oracle Support接收安全更新”前面的勾,不接收更新,点Next

提示是否不接收安全更新通知,选择Yes

Next

选择第二项,仅安装数据库软件

Next

选择第一项,单实例数据库安装

Next

语言选项,默认英语即可

Next

选择第一项:企业版

Next

Oracle数据库基目录:/data/oracle

Oracle软件安装位置:/data/oracle/product/11.2.0/db_1

Next

Oracle配置文件目录:/data/oraInventory

Nex

Oracle数据库运行组,默认即可

Next

进行安装前系统环境监测

注意:如果有某一项未监测通过,请根据提示做相应修改,直到监测全部通过为止,否则不能进行下一步安装

CentOS 6.x 64位系统需要进行以下操作,手动解决软包依赖关系。

Oracle依赖包检查,基本上需要的安装包都在CentOS 4.9系统中。

rpm -qa | grep libaio

rpm -qa | grep compat-libstdc++-33

rpm -qa | grep libgcc

rpm -qa | grep compat-libstdc++-

rpm -qa | grep unixODBC

rpm -e libaio-0.3.107-10.el6.i686 --nodeps

rpm -e compat-libstdc++-33-3.2.3-69.el6.x86_64 --nodeps

rpm -e libstdc++-4.4.7-23.el6.x86_64 --nodeps

rpm -e unixODBC-devel-2.2.14-14.el6.x86_64 --nodeps

注意:libgcc软件包严禁卸载,否则系统损坏,yum rpm命令等无法使用。

如果不小心删掉了libgcc,解决办法是在相同的版本系统下面拷贝一个相同的文件,

ll -ls /lib64/libgcc*

32位系统是/lib目录,64位系统是/lib64目录。

拷贝libgcc*到当前系统。

ln -s /lib64/libgcc_s.so.1 -> libgcc_s-4.4.7-20120601.so.1 #添加软连接

#######################################################################

cd /usr/local/src

wget http://vault.centos.org/4.9/os/x86_64/CentOS/RPMS/libaio-0.3.105-2.i386.rpm

wget http://vault.centos.org/4.9/os/x86_64/CentOS/RPMS/libaio-0.3.105-2.x86_64.rpm

wget http://vault.centos.org/4.9/os/x86_64/CentOS/RPMS/libaio-devel-0.3.105-2.i386.rpm

wget http://vault.centos.org/4.9/os/x86_64/CentOS/RPMS/libaio-devel-0.3.105-2.x86_64.rpm

wget http://vault.centos.org/4.9/os/x86_64/CentOS/RPMS/compat-libstdc++-33-3.2.3-47.3.i386.rpm

wget http://vault.centos.org/4.9/os/x86_64/CentOS/RPMS/compat-libstdc++-33-3.2.3-47.3.x86_64.rpm

wget http://vault.centos.org/4.9/os/x86_64/CentOS/RPMS/libgcc-3.4.6-11.i386.rpm

wget http://vault.centos.org/4.9/os/x86_64/CentOS/RPMS/libgcc-3.4.6-11.x86_64.rpm

wget http://vault.centos.org/4.9/os/x86_64/CentOS/RPMS/libstdc++-3.4.6-11.i386.rpm

wget http://vault.centos.org/4.9/os/x86_64/CentOS/RPMS/libstdc++-3.4.6-11.x86_64.rpm

wget http://vault.centos.org/4.9/os/x86_64/CentOS/RPMS/unixODBC-2.2.11-1.RHEL4.1.i386.rpm

wget http://vault.centos.org/4.9/os/x86_64/CentOS/RPMS/unixODBC-2.2.11-1.RHEL4.1.x86_64.rpm

wget http://vault.centos.org/4.9/os/x86_64/CentOS/RPMS/unixODBC-devel-2.2.11-1.RHEL4.1.i386.rpm

wget http://vault.centos.org/4.9/os/x86_64/CentOS/RPMS/unixODBC-devel-2.2.11-1.RHEL4.1.x86_64.rpm

rpm -ivh libaio-0.3.105-2.i386.rpm

rpm -ivh libaio-0.3.105-2.x86_64.rpm

rpm -ivh libaio-devel-0.3.105-2.i386.rpm

rpm -ivh libaio-devel-0.3.105-2.x86_64.rpm

rpm -ivh compat-libstdc++-33-3.2.3-47.3.i386.rpm

rpm -ivh compat-libstdc++-33-3.2.3-47.3.x86_64.rpm

rpm -ivh libgcc-3.4.6-11.i386.rpm

rpm -ivh libgcc-3.4.6-11.x86_64.rpm

rpm -ivh libstdc++-3.4.6-11.i386.rpm

rpm -ivh libstdc++-3.4.6-11.x86_64.rpm

rpm -ivh unixODBC-2.2.11-1.RHEL4.1.i386.rpm --nodeps

rpm -ivh unixODBC-2.2.11-1.RHEL4.1.x86_64.rpm --nodeps

rpm -ivh unixODBC-devel-2.2.11-1.RHEL4.1.i386.rpm

rpm -ivh unixODBC-devel-2.2.11-1.RHEL4.1.x86_64.rpm

全部监测通过之后,点Finish进行安装

正在安装,请耐心等待

点OK

直到安装完成,点Close

五、配置监听程序(创建数据库之前必须要先配置)

继续在Windows客户端运行Xmanager,登录到Linux服务器的 X window界面

su - oracle #切换到oracle用户

cd  /data/oracle/product/11.2.0/db_1/bin

./netca #配置监听程序命令,出现下面界面

选择第一项:监听程序配置

Next

选择第一项:添加

Next

监听程序名,默认即可

Next

协议配置,默认TCP即可

Next

选择第一项:使用标准端口号1521

Next

询问:是否配置另一个监听程序

选择:否

Next

监听程序配置完成,Next

Finish完成

六、创建Oracle数据库实例orcl

继续在Windows客户端运行Xmanager,登录到Linux服务器的 X window界面

su - oracle #切换到oracle用户

cd  /data/oracle/product/11.2.0/db_1/bin

./dbca #启动oracle实例安装界面,如下图所示

Next

选择第一项:创建数据库

Next

默认选择第一项:一般用途或事务处理

Next

系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容 版权所有,转载请注明出处及原文链接

全局数据库名:orcl

SID:orcl

Next

默认即可,Next

口令配置,可以为每个账户设置不同的口令,也可以为所有账户设置一个相同的口令

选择第二项:所有账户使用同一管理口令

Next

如果口令设置的太简单,不满足Oracle口令的复杂性要求,会弹出上面的界面,可以选择是,或者选择否,然后返

口令设置,重新设置一个复杂的口令。

存储类型:文件系统

存储位置:使用模版中的数据库文件位置

Next

默认选择:指定快速恢复区

Next

快速恢复区大小设置,如果系统剩余空间小于设置值会出现上面的提示

Next

默认,Next

切换到调整大小:进程300(可以根据服务器配置设置)

切换到字符集设置

选择第三项:从字符集列表中选择

选择:ZHS16GBK- GBK 16-bit Simplified Chinese

国家字符集:AL16UTF16-Unicode UTF-16 Universal character set

默认语言:Simplified Chinese

默认地区:China

切换到连接模式,选择:专用服务器模式

Next

全部设置完成之后,点Finish

勾选:创建数据库

勾选:生成数据库创建脚本

点Finish

系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容 版权所有,转载请注明出处及原文链接

Ok

Ok

Ok

注意:这里如果出现上面的提示,可以等安装完成之后用root账号登录,执行下面两个命令

/data/oracle/product/11.2.0/db_1/root.sh

/data/oraInventory/orainstRoot.sh

生成/etc/oratab文件

正在创建数据库

数据库创建完成,点Exit退出

七、启动oracle数据库

su - oracle #切换到oracle用户

sqlplus /nolog #进入sqlplus

conn / as sysdba #以超级管理员权限登录

startup #启动数据库实例

quit #退出

lsnrctl start #启动监听

startup参数说明:

startup #不带任何参数,启动数据库实例并打开数据库,一般选择这种启动方式

startup nomount #只启动数据库实例,不打开数据库,一般用于创建新的数据库时使用

startup mount #启动数据库实例,并加载数据库,但不打开数据库,一般用于修改数据库名称等管理时使用

某些情况下,系统账户无法登录,提示账户被锁定,需要解锁账户

sqlplus /nolog #进入sqlplus

conn / as sysdba #以超级管理员权限登录

或者

sqlplus / as sysdba #以超级管理员权限登录

alter user scott account unlock; #解锁scott账户

alter user scott identified by 123456; #设置账户密码为123456

commit; #提交修改

八、关闭oracle数据库

su - oracle #切换到oracle用户

lsnrctl stop #关闭监听器

sqlplus /nolog #进入sqlplus

shutdown immediate #关闭数据库实例

quit #退出

shutdown参数说明:

normal #等待所有的用户断开连接,执行命令后不允许新连接

immediate #等待用户完成当前的语句后,再断开用户连接,不允许新用户连接

transactional #等待用户完成当前的事务后断开连接,不允许新用户连接

abort #强行断开连接并直接关闭数据库

前面三种方法不会导致数据库出错,最后一种方法非特殊状况不建议使用,

一般使用shutdown immediate关闭数据库

备注:如果执行shutdown immediate出现ORA-01012: not logged on错误

请先执行以下语句

ps -ef|grep ora_dbw0_$orcl

kill -9 pid #pid为进程号

其中orcl 是数据库的SID

九、设置oracle开机启动

说明:linux下默认安装完Oracle后不会实现开机自启动

1、su - root #切换到root用户操作

/data/oracle/product/11.2.0/db_1/root.sh #执行脚本,生成/etc/oratab文件

/data/oraInventory/orainstRoot.sh

 2、vi /etc/oratab  #编辑

找到:$ORACLE_SID:$ORACLE_HOME:<N|Y>:

取消前面的#注释,修改为:

orcl:/data/oracle/product/11.2.0/db_1:Y  #orcl为oracle数据库实例名称

:wq! #保存退出

3、vi /data/oracle/product/11.2.0/db_1/bin/dbstart #编辑

找到:ORACLE_HOME_LISTNER=$1

修改为:ORACLE_HOME_LISTNER=$ORACLE_HOME

4、vi /data/oracle/product/11.2.0/db_1/bin/dbshut #编辑

找到:ORACLE_HOME_LISTNER=$1

修改为:ORACLE_HOME_LISTNER=$ORACLE_HOME

5、创建oracle启动脚本

vi /etc/init.d/oracle #编辑,添加以下代码
##########################################################
#!/bin/sh
# chkconfig: 0356 99 10
# description: Startup Script for Oracle Databases
# Script path:/etc/init.d/oracle
# Author:www.osyunwei.com by qihang01
#
ORACLE_BASE=/data/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
ORACLE_SID=orcl
PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
#
ORA_OWNR="oracle"
#
if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
echo "Oracle startup: cannot start"
exit 1
fi
#
case "$1" in
start)
su - $ORA_OWNR -lc $ORACLE_HOME/bin/dbstart
echo "Oracle Start Succesful!"
;;
stop)
#
su - $ORA_OWNR -lc $ORACLE_HOME/bin/dbshut
echo "Oracle Stop Succesful!"
;;
restart)
$0 stop
$0 start
;;
*)
echo $"Usage: `basename $0` {start|stop|restart}"
exit 1
esac
exit 0
##########################################################

:wq! #保存退出

chown oracle.oinstall /etc/init.d/oracle #更改文件所有者

chmod 755 /etc/init.d/oracle #添加执行权限

ln -s /etc/init.d/oracle /etc/rc3.d/S99oracle #添加系统启动级别3软连接

ln -s /etc/init.d/oracle /etc/rc5.d/S99oracle #添加系统启动级别5软连接

ln -s /etc/init.d/oracle /etc/rc0.d/K01oracle #添加系统关机软连接

ln -s /etc/init.d/oracle /etc/rc6.d/K01oracle #添加系统重启软连接

chkconfig --add oracle #添加系统服务

chkconfig oracle on #设置开机启动

备注:# chkconfig: 0356 99 10

0356:定义运行级别

99:开机启动优先级(数字越大启动越晚)

10:关机停止优先级(数字越小关闭越早)

系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容 版权所有,转载请注明出处及原文链接

6、恢复操作系统标识

vi /etc/redhat-release #编辑

把:redhat-4

修改为:CentOS release 5.8 (Final)

:wq! #保存退出

7、更改系统默认启动级别为3

vi /etc/inittab #编辑

id:3:initdefault: #修改5为3

:wq! #保存退出

8、测试

shutdown -r now #重启系统

service oracle start #启动oracle

service oracle stop #关闭oracle

/etc/init.d/oracle restart #重启oracle

su - oracle #切换到oracle用户

dbstart #启动oracle

dbshut #关闭oracle

ps -efw | grep ora #查看oracle进程

ps -efw | grep LISTEN | grep -v gre #查看oracle端口监听

lsnrctl status #查看oracle运行状态

至此,CentOS下安装Oracle 11g R2教程完成。

扩展阅读:

使用vnc远程连接来安装Oracle,如果出现错误,不能启动安装界面,请做以下操作!

用 root ssh登录

vncserver #启动vnc

New 'www:1 (root)' desktop is www:1   #记住www:1,后面会用到!

export DISPLAY=www:1 #输入

service vncserver start #启动vnc

使用vnc客户端 root 登录

xhost +

su - oracle  #切换到oracle用户

./runInstaller #执行安装

     
» 转载请注明来源:系统运维 » CentOS 安装Oracle 11g R2

  系统运维技术交流QQ群:①185473046 系统运维技术交流□Ⅰ ②190706903 系统运维技术交流™Ⅱ ③203744115 系统运维技术交流™Ⅲ

目前有 7 条留言 其中:访客:7 条, 博主:0 条

  1. 270629786@qq.com : 2012年11月06日14:43:48  1楼

    请教下版主啊 你这个实验是用cetos5.8 32bit,内存8G,32bit 只认到4G吧?

  2. 120225883 : 2012年11月14日21:39:53  2楼

    请问版主,你这个oracle自动启动脚本,是不是有问题 不能ckconfig

    • qihang01 : 2012年11月14日22:13:44

      开机启动脚本是在系统启动之后才加载的,等待系统完全启动之后再连接Oracle

  3. breakout945 : 2013年05月08日09:48:07  3楼

    安装oracle感觉好繁琐啊,需要好好研究下了

  4. Kanespartacus : 2013年09月05日15:04:21  4楼

    非常牛逼,感谢分享!!!

  5. 602370550@qq.com : 2013年11月04日13:26:13  5楼

    好东西,有时间安装试试,感谢楼主分享

给我留言

您必须 [ 登录 ] 才能发表留言!



Copyright© 2011-2024 系统运维 All rights reserved
版权声明:本站所有文章均为作者原创内容,如需转载,请注明出处及原文链接
陕ICP备11001040号-3