生产环境linux centos 安装oracle 11g

Linux 下安装Oracle
前言:公司需求,需要在Linux下安装Oracle,由于是第一次安装,期间也出现了不少问题。也查了不少资料,也反反复复在测试机上装了几次才成功。所以记录下来,希望可以网上的朋友提供一些思路和解决方法。
安装环境:
Linux服务器:Centos6.8 64位
Oracle安装包:Oracle11gR2 64位
系统要求:
(1)、Oracle安装条件,所需最小 RAM 为 512MB,而所需最小交换空间为 1GB。对于 RAM 小于或等于 2GB 的系统,交换空间应为 RAM 数量的两倍;对于 RAM 大于
2GB 的系统,交换空间应为 RAM 数量的一到两倍。
(2)、确保有足够的磁盘空间。Oracle 11g软件大约需要 2.5GB 的可用磁盘空间,数据库则另需至少1.2G的磁盘空间
(3)、/tmp 目录至少需要 400MB 的可用空间。

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

yum groupinstall "X Window System" #安装X Window
生产环境linux centos 安装oracle 11g




出现"完毕"就算安装成功了

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

生产环境linux centos 安装oracle 11g


生产环境linux centos 安装oracle 11g

2.修改主机名

修改主机名是为了防止在安装最后报错。以防万一

以根用户登录,或者登录后切换到根用户,然后在提示符下输入hostname命令,可以看出当前系统的主机名为localhost.localdomain。
生产环境linux centos 安装oracle 11g
更改/etc/sysconfig下的network文件,在提示符下输入vi /etc/sysconfig/network,然后将HOSTNAME后面的值改为想要设置的主机名。
生产环境linux centos 安装oracle 11g
更改/etc下的hosts文件,在提示符下输入vi /etc/hosts,然后将localhost.localdomain改为想要设置的主机名。
生产环境linux centos 安装oracle 11g
在提示符下输入reboot命令,重新启动服务器。

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

mkdir -p /data/oracle #oracle数据库安装目录
mkdir -p /data/oraInventory #oracle数据库配置文件目录
mkdir -p /data/database #oracle数据库软件包解压目录

生产环境linux centos 安装oracle 11g

4.创建运行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

生产环境linux centos 安装oracle 11g
5.修改操作系统标识(oracle默认不支持CentOS系统安装

vi /etc/redhat-release #编辑
把:CentOS release 5.8 (Final)
修改为:redhat-4
:wq! #保存退出

6.设置系统内核参数

kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
net.ipv4.ip_local_port_range =9000 65500
net.core.rmem_default=8388608
net.core.rmem_max=8388608
net.core.wmem_default=1048576
net.core.wmem_max=1048576
fs.aio-max-nr = 1048576

:wq! #保存退出
sysctl -p #使配置立即生效


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

vi /etc/security/limits.conf #在末尾添加以下代
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
:wq! #保存退出
vi /etc/pam.d/login #添加下面2行
session required /lib/security/pam_limits.so
session required pam_limits.so

8.配置用户环境

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 #防止安装过程出现乱码
export NLS_LANG=AMERICAN_AMERICA.UTF8 #设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持一致,如:UTF-8,否则出现数据导入导出中文乱码问题
:wq! #保存退出
source .bash_profile #使设置立刻生效

9.关闭SELINX

vi /etc/selinux/config #编辑配置文件
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq! #保存退出

10.配置防火墙开启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 #重启防火墙使配置生效

11.解压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

12.安装oracle数据库所需要的软件包
yum install pdksh*
#其中centos6.3无法yum安装pdksh包,请通过以下链接下载安装:
wget ftp://fr2.rpmfind.net/linux/centos/5.8/os/x86_64/CentOS/pdksh-5.2.14-37.el5.x86_64.rpm
rpm -ivh pdksh-5.2.14-37.el5.x86_64.rpm#如果下载不了,下面的附件中有
yum install binutils-*
yum install compat-libstdc++*
yum install elfutils-libelf*
yum install glibc*
yum install gcc-*
yum install libaio*
yum install libgcc*
yum install libstdc++*
yum install make*
yum install sysstat*
yum install unixODBC*

三:linux下利用xmanager进行视图界面安装oracle

在使用图形界面之前 ,必须用Xhost+ 打开
会有可能报错xhost command not found

生产环境linux centos 安装oracle 11g

运行下面命令
yum whatprovides "*/xhost"
安装Xmanager后打开,打开Xshell工具
连接到linux主机,用户为oracle,因为这里安装的是oracle,需要oracle用户权限
生产环境linux centos 安装oracle 11g
属性设置
生产环境linux centos 安装oracle 11g
进入到oracle解压目录
执行之前,须加上
export LANG=en_US.UTF-8
加上这句话图形界面就不会乱码了
输入./runInstaller回车出现安装视图界面

生产环境linux centos 安装oracle 11g
生产环境linux centos 安装oracle 11g
Emial:默认不用填写
取消:“我希望通过My Oracle Support接收安全更新”前面的勾,不接收更新,点Next
生产环境linux centos 安装oracle 11g
提示是否不接收安全更新通知,选择Yes ,Next
生产环境linux centos 安装oracle 11g
选择第二项,仅安装数据库软件 Next
生产环境linux centos 安装oracle 11g
选择第一项,单实例数据库安装 Next
生产环境linux centos 安装oracle 11g
语言选项,默认英语即可Next
生产环境linux centos 安装oracle 11g
选择第一项:企业版Next
生产环境linux centos 安装oracle 11g
Oracle数据库基目录:/data/oracle
Oracle软件安装位置:/data/oracle/product/11.2.0/db_1
Next
生产环境linux centos 安装oracle 11g

Oracle配置文件目录:/data/oraInventory
Next
生产环境linux centos 安装oracle 11g
Oracle数据库运行组,默认即可
Next
生产环境linux centos 安装oracle 11g
进行安装前系统环境监测
注意:如果有某一项未监测通过,请根据提示做相应修改,知道监测全部通过为止,否则不能进行下一步安装
全部监测通过之后,点Finsh
生产环境linux centos 安装oracle 11g
点击完Finsh后会出现。如下界面
正在安装,请耐心等待
生产环境linux centos 安装oracle 11g
生产环境linux centos 安装oracle 11g
点击ok
生产环境linux centos 安装oracle 11g
直到安装完成,点Close
五、配置监听程序(创建数据库之前必须要先配置)
继续在Windows客户端运行Xmanager,登录到Linux服务器的 X window界面
su – oracle #切换到oracle用户
netca #配置监听程序命令,出现下面界面
生产环境linux centos 安装oracle 11g
选择第一项:监听程序配置
Next
生产环境linux centos 安装oracle 11g
选择第一项:添加
Next
生产环境linux centos 安装oracle 11g

监听程序名,默认即可
Next
生产环境linux centos 安装oracle 11g

协议配置,默认TCP即可
Next
生产环境linux centos 安装oracle 11g
选择第一项:使用标准端口号1521
Next
生产环境linux centos 安装oracle 11g
询问:是否配置另一个监听程序
选择:否
Next
生产环境linux centos 安装oracle 11g
监听程序配置完成,Next
生产环境linux centos 安装oracle 11g
Finish完成
六、创建Oracle数据库实例orcl
继续在Windows客户端运行Xmanager,登录到Linux服务器的 X window界面
su – oracle #切换到oracle用户
dbca #启动oracle实例安装界面,如下图所示

生产环境linux centos 安装oracle 11g

Next
生产环境linux centos 安装oracle 11g
选择第一项:创建数据库
Next
生产环境linux centos 安装oracle 11g
默认选择第一项:一般用途或事务处理
Next
生产环境linux centos 安装oracle 11g
全局数据库名:orcl
SID:orcl
Next
生产环境linux centos 安装oracle 11g
默认即可,Next
生产环境linux centos 安装oracle 11g
生产环境linux centos 安装oracle 11g
口令配置,可以为每个账户设置不同的口令,也可以为所有账户设置一个相同的口令
选择第二项:所有账户使用同一管理口令
Next
生产环境linux centos 安装oracle 11g
如果口令设置的太简单,不满足Oracle口令的复杂性要求,会弹出上面的界面,可以选择是,或者选择否,然后返
口令设置,重新设置一个复杂的口令。
生产环境linux centos 安装oracle 11g
存储类型:文件系统
存储位置:使用模版中的数据库文件位置
Next
生产环境linux centos 安装oracle 11g
默认选择:指定快速恢复区
Next
生产环境linux centos 安装oracle 11g
默认,Next
生产环境linux centos 安装oracle 11g
切换到调整大小:进程300(可以根据服务器配置设置)
生产环境linux centos 安装oracle 11g
切换到字符集设置
生产环境linux centos 安装oracle 11g
选择第三项:从字符集列表中选择
选择:ZHS16GBK- GBK 16-bit Simplified Chinese
国家字符集:AL16UTF16-Unicode UTF-16 Universal character set
默认语言:Simplified Chinese
默认地区:China
生产环境linux centos 安装oracle 11g
切换到连接模式,选择:专用服务器模式
Next
生产环境linux centos 安装oracle 11g
生产环境linux centos 安装oracle 11g
全部设置完成之后,点Finish
生产环境linux centos 安装oracle 11g
勾选:创建数据库
勾选:生成数据库创建脚本
点Finish
生产环境linux centos 安装oracle 11g
点击OK
生产环境linux centos 安装oracle 11g
生产环境linux centos 安装oracle 11g
点击OK
生产环境linux centos 安装oracle 11g
OK
生产环境linux centos 安装oracle 11g
至此配置完成
四:启动数据库
1.默认数据库建立后就启动了,如果服务器重新启动,那就要手工去启动它了,命令如下:
export ORACLE_SID=orcl(选择自己需要启动的数据库SID)
echo $ORACLE_SID (显示实例名)
sqlplus /nolog
connect sys as sysdba
(输入您的密码)
startup(数据库启动)
2.启动监听
首先退出上面启动数据库的sql执行,用quit或者exit退到普通命令行上
启动监听:lsnrctl start(如果监听名称不是默认这个,则启动您对应的监听名称)
建立表空间
1、 建立临时表空间 ,创建用户前必须要先创建临时表空间和数据库表空间两个表空间,否则用系统默认的表空间不好
create temporary tablespace ha_temp tempfile'/u01/app/oracle/oradata/orcl/ha_temp.dbf' size 1024m autoextend on next 100m maxsize 10240m extent management local;
说明:
1)zd_temp 临时表空间名字
2)/u01/app/oracle/oradata/orcl/ 存放数据库文件的地方,一般是安装数据库后有控制文件,数据文件和日志文件的文件夹,再加上要创建表空间的名字+dbf (数据文件)
3)1024m 表空间的初始大小
4)100m 表空间的自动增长大小
5)10240m 表空间最大的大小
2、 创建数据表空间
create tablespace ha logging datafile'/u01/app/oracle/oradata/orcl/ha.dbf' size 1024m autoextend on next 100m maxsize 10240m extent management local;
3、 创建用户并指定表空间
create user ha1 identified by zd315 default tablespace ha;
4、 给用户授予权限
grant dba,connect,resource,CTXAPP,create view to ha1;
linux下imp导入oracle数据库dmp文件
输入命令:
imp peal /[email protected] file=/opt/oracle/hadrp.dmp ignore=y full=y
说明:peal :用户名;
123456:密码;
orcl:数据库实例名;
file后面是dmp文件放置的路径。

总结:遇到错误难点
1.在执行完 ./runInstaller确认安装后,会提示一下错误
$ Exception 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(Unknown Source)
at com.jgoodies.looks.LookUtils.<clinit>(Unknown Source)
at com.jgoodies.looks.plastic.PlasticLookAndFeel.<clinit>(PlasticLookAndFeel.java:122)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:242)
at javax.swing.SwingUtilities.loadSystemClass(SwingUtilities.java:1783)
at javax.swing.UIManager.setLookAndFeel(UIManager.java:480)
at oracle.install.commons.util.Application.startup(Application.java:758)
at oracle.install.commons.flow.FlowApplication.startup(FlowApplication.java:164)
at oracle.install.commons.flow.FlowApplication.startup(FlowApplication.java:181)
at oracle.install.commons.base.driver.common.Installer.startup(Installer.java:265)
at oracle.install.ivw.db.driver.DBInstaller.startup(DBInstaller.java:114)
at oracle.install.ivw.db.driver.DBInstaller.main(DBInstaller.java:132)
解决办法:
这样是直接在root下进行切换安装的!官网的说法应该是logout 切换到Oracle User,然后进行安装.
为了避免不必要的错误出现,建议使用logout,用Oracle用户进入进行安装.
2.安装界面乱码
在执行./runInstallar 之前
export LANG=en_US.UTF-8
加上这句话就好了
3.在出现图形界面的时候,进行安装前系统环境监测
发现有几个没有检测通过
在安装 rpm -ivh unixODBC-devel-2.2.11-7.1.x86_64.rpm 的时候,报错如下图
生产环境linux centos 安装oracle 11g
解决办法:
后面加上 --force --nodeps如
# rpm -ivh unixODBC-devel-2.2.11-7.1.x86_64.rpm --force --nodeps
生产环境linux centos 安装oracle 11g
4.检测交换区内存不足
在安装oracle时,经常因为系统设置的swap不足导致安装步骤不能进行,或者因为swap不足当机,修改linux swap虚拟内存大小
1)在linux下,首先,查看内存和swap大小:
free -m
生产环境linux centos 安装oracle 11g
2)创建swap文件:
mkdir swap
cd swap/
dd if=/dev/zero of=swapfile bs=402400 count=10000
生产环境linux centos 安装oracle 11g

3.
mkswap swapfile
4**swap文件:
swapon swapfile
最后再查看swap内存
注意 :内存一定要给够
5.添加端口重启失败
生产环境linux centos 安装oracle 11g
发现这种方法并不好使,于是尝试另外一种,通过命令去添加端口的方法。
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/init.d/iptables restart
6.Oracle报错 00119如何解决
修改主机名
以根用户登录,或者登录后切换到根用户,然后在提示符下输入hostname命令,可以看出当前系统的主机名为localhost.localdomain。
生产环境linux centos 安装oracle 11g
更改/etc/sysconfig下的network文件,在提示符下输入vi /etc/sysconfig/network,然后将HOSTNAME后面的值改为想要设置的主机名。
生产环境linux centos 安装oracle 11g
更改/etc下的hosts文件,在提示符下输入vi /etc/hosts,然后将localhost.localdomain改为想要设置的主机名。
生产环境linux centos 安装oracle 11g
在提示符下输入reboot命令,重新启动服务器。