如何在CentOS 6.2系统上安装Oracle 10g

一.VMware Workstation 12 Pro for Windows(64 bit) 安装

VMware Workstation 12 Pro for Windows(64 bit) 的下载地址如下:
①官方试用版地址:http://www.vmware.com/cn/products/workstation/workstation-evaluation.html
②百度网盘地址:https://pan.baidu.com/s/18ZvVy3f4_ROQ6Sbgu6CUgw提取码:5prh
许可证**:5A02H-AU243-TZJ49-GTC7K-3C61N

上面的任何一个下载地址都可以使用。
下载完VMware Workstation 12的安装包后,直接安装即可。虽然下载的是试用版,但是我这里提供了**,用****后就可以永久免费试用。
安装方法很简单,直接双击安装程序,默认安装即可。安装完成后,点击桌面的快捷启动图标,会提示你输入许可证**,把上面的**输入就可以**了。

使用VMware创建一台虚拟机的步骤可以参见另一篇博客:VMware Workstation 的安装和使用
下面在提供一个从CentOS 官网上下载的ISO镜像文件:
https://pan.baidu.com/s/191ZbM_us5zWt26FLbMGvNQ提取码:5xxx

二.虚拟机的快照功能

这一部分,主要想给新入手虚拟机并且希望添加或者修改某些配置或者功能的小伙伴们提供一个固定思维:存档。就像游戏中的存档一样,都不希望自己在某次误操作后被迫花更多的时间来填坑,甚至到了无法挽回的地步,“存档”尤为重要。
对于初学者来说,最好在安装完系统之后,就做一次快照或者克隆。

1.打开快照管理器

2.1.1
如何在CentOS 6.2系统上安装Oracle 10g

图2.1.1中显示VMware 中的快照工具栏

2.1.2
如何在CentOS 6.2系统上安装Oracle 10g

图2.2.2显示的是快照管理器界面,点击“拍摄快照“后弹出图2.2.1所示界面。

2.开始:拍摄快照

2.2.1
如何在CentOS 6.2系统上安装Oracle 10g

图2.2.1中名称中将负责显示在每个快照选项的下方,描述通常可以帮助使用者了解每个快照代表的进度流程。

3.快照的恢复:选择转到某个快照即可

2.3.1
如何在CentOS 6.2系统上安装Oracle 10g

快照的功能使用很简单,适合初学者。

三.在CentOS 6.2 64位系统上安装Oracle 10g

A.配置网络及初始化

1.设置网络参数

首先通过虚拟机的“编辑”菜单,进入“虚拟网络编辑器”,如图3.1.1.1(虚拟机的适配器默认为Vmnet8)

3.1.1.1

如何在CentOS 6.2系统上安装Oracle 10g
点击NET设置,查看子网IP,子网网关,DNS服务器IP和子网网关相同,如图3.1.1.2

3.1.1.2

如何在CentOS 6.2系统上安装Oracle 10g
在虚拟机中设置网络参数,编辑/etc/sysconfig/network-scripts/ifcfg-eth0,初始化网络参数(根据实际情况编辑),如图3.1.1.3。

3.1.1.3

如何在CentOS 6.2系统上安装Oracle 10g
编辑/etc/hosts,更改主机名和IP(主机名在终端Terminal用命令hostname或者uname -a查看,IP将127.0.0.1改为设置的IP地址)

2.设置系统服务(此步骤可以跳过)

chkconfig iptables off
chkconfig ip6tables off
chkconfig cups off
chkconfig firstboot off
chkconfig wpa_supplicant off
chkconfig postfix off

禁用一些不必要的系统服务,其实我们只要保证防火墙处于关闭状态即可(chkconfig iptables off)

3.安装常用软件及必备软件(如果安装过程中报错,一般是相应的软件包缺失,尽量复制粘贴到命令行,如果仍出错,请参照网上的安装包列表安装)

安装kernel-devel和kernel-headers,并且在更新系统时,禁止更新kernel:

yum -y install kernel-devel kernel-headers && echo exclude=kernel* >> /etc/yum.conf

更新系统:

yum -y update

安装常用软件:

yum -y install autoconf automake binutils-devel bison cpp dos2unix ftp gcc gcc-c++ lrzsz python-devel

安装Oracle 必需软件:(该步如果报错,就先执行该语句:yum -y install libXtst-1.2.1-2.el6.i686 libXt
-1.1.3-1.el6.i686 --setopt=protected_multilib=false,再执行下面的这个命令)

yum -y install  compat-dbcompat-gcc-34  compat-gcc-34-c++  compat-libstdc++-33  glibc-*  glibc-*.i686 libXpm-*.i686  libXp.so.6  libXt.so.6  libXtst.so.6  libgcc_s.so.1  ksh  libXp  libaio-devel  numactl numactl-devel unixODBC unixODBC-devel

注:安装完成以上软件后,建议重启系统
在安装Oracle常用软件时,命令输入后会报错:protected multilib versions;意思是多个库共存冲突
解决方法:在执行命令后面加上:–setopt=protected_multilib=false

4.创建Oracle相关用户和目录

以下命令按照顺序执行:此文档中的ORACLE_BASE为/usr/local/oracle

groupadd oinstall 
groupadd dba
useradd dba -g oinstall -G dba oracle
passwd oracle		(默认将oracle账号的密码设为oracle,可自行决定修改)

usermod -g oinstall -G dba oracle
mkdir -p /usr/local/oracle			//-p 参数的含义是后面带目录的名称,如果又不存在的则创建
chown -R oracle:oinstall /usr/local/oracle
chmod -R 755 /usr/local/oracle

创建oinstall和dba两个用户组,其中账户oracle的主组为oinstall,附加组为dba(其中passwd oracle表示对帐户oracle设置密码)
chown –R oracle:oinstall /usr/local/oracle 命令表示给目录/usr/local/oracle设置权限,其中root为oracle,users为oinstall

5.修改内核参数

编辑/etc/sysctl.conf:

cat>>/etc/sysctl.conf<<EOF
kernel.shmmni=4096
kernel.sem=250 32000 100 128
fs.file-max=65536
net.ipv4.ip_local_port_range=1024 65500
net.core.rmem_default=4194304
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmwm_max=262144
EOF

修改完成后,运行sysctl -p 使设置生效
如果产生报错:
Error:”net.bridge.bridge-nf-call-ip6tables”is an unknown key
Error:”net.bridge.bridge-nf-call-iptables”is an unknown key
Error:”net.bridge.bridge-nf-call-arptables”is an unknown key

原因:上述三个参数依赖于bridge模块,该模块如果没有加载就会产生上述错误
解决方法:输入命令(sudo) modprobe bridge

分析:以上3个选项组织桥接流量获得通过主机iptables规则,Netfilter是默认情况下启用了桥梁,即所有通过桥接的IP数据包都通过iptables规则来过滤,默认情况是三个选项的值置0

6.为Oracle 用户设置Shell 限制

编辑/etc/security/limits.conf

cat >> /etc/security/limits.conf <<EOF
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
EOF

编辑/etc/pam.d/login

cat >> /etc/pam.d/login <<EOF
session required pam_limits.so
EOF

编辑系统环境配置文件/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 使设置生效
编辑/etc/csh.login,在最后添加如下内容:

if ( $USER == "oracle") then
  limit maxproc 16384
  limit descriptors 65536
endif

编辑/home/oracle/.bash_profile(建议在oracle账户下修改并执行source 命令),在最后添加如下内容:

export ORACLE_BASE=/usr/local/oracle
export ORACLE_HOME=/usr/local/oracle/product/10201
export ORACLE_SID=alphatst(注:这里的ORACLE_SID的值,是后面安装数据库时候用到的SID。)
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

修改完成后,建议执行exit命令退出root账户,运行source /etc/oracle/.bash_profile使设置生效

7.重启服务器,并且使用oracle用户登陆

将10201_database_linux_x86_64.cpio.gz上传至服务器,保存在/home/oracle/Downloads 目录下面,并使用root账户赋权:

chown -R oracle:oinstall /home/oracle/Downloads/10201_database_linux_x86_64.cpio.gz

这里再提供一个10201_database_linux_x86_64.cpio.gz文件的百度云盘:https://pan.baidu.com/s/1xUZOLmhtpX6vVqDbeuVl2g提取码:zn7o

B.安装Oracle 10g

1.进入/home/oracle/Downloads 目录,解压安装文件:

cd /home/oracle/Downloads
zcat 10201_database_linux_x86_64.cpio.gz| cpio -idmv > /dev/null 2>&1

此时在/home/oracle/Downloads目录下面会生成一个名为database的目录,进入database目录。编辑install目录下面的oraparam.ini文件,在“Certified Versions”的项目中添加“redhat-6”。

vim /home/oracle/Downloads/database/install/oraparam.in

添加星号部分的内容:

[Certified Versions]
Linux=**redhat-6**,redhat-3,SuSE-9,redhat-4,UnitedLinux-1.0,asianux-1,asianux-2

2.安装Oracle 10g,在CentOS 桌面运行"Application>System Tools >Terminal",在命令行窗口运行./runInstaller进行安装

如果发生如图3.2.2.1报错内容:

3.2.2.1

如何在CentOS 6.2系统上安装Oracle 10g
出现这种情况有可能是/home/oracle/Downloads/database/install/oraparam.ini文件中的[Certified Versions]下linux版本号没添加redhat-6
准备过程无误的情况下,安装界面如下:

3.2.2.2

如何在CentOS 6.2系统上安装Oracle 10g
选择高级安装”Advanced Installation”,然后Next

3.2.2.3

如何在CentOS 6.2系统上安装Oracle 10g
指定产品清单目录和身份证明,默认即可

3.2.2.4

如何在CentOS 6.2系统上安装Oracle 10g
选择安装类型,这里选择企业版”Enterprise Edition”,点击”Product Language”按钮可以进行产品语言的选择

3.2.2.5

如何在CentOS 6.2系统上安装Oracle 10g

3.2.2.6

如何在CentOS 6.2系统上安装Oracle 10g
指定安装主目录的详细信息,这里默认即可,点击Next
如图3.2.2.7的操作界面中若出现error提示,请仔细查看Check栏目中的出错内容,若忽略将导致安装失败(一般情况下应该不会出现任何出错提示)

3.2.2.7

如何在CentOS 6.2系统上安装Oracle 10g
选择配置选项,这里我们先只安装数据库软件,稍后使用DBCA来创建数据库,点击Next

3.2.2.8

如何在CentOS 6.2系统上安装Oracle 10g

如下图3.2.2.9界面点击”Install“,进行数据库软件的安装

3.2.2.9

如何在CentOS 6.2系统上安装Oracle 10g
安装过程中会有报错画面,直接”Continue”即可(注:有可能遇到没有”Continue”按钮的报错画面,基本安装是失败的)

3.2.2.10

如何在CentOS 6.2系统上安装Oracle 10g
当安装出现如下界面时,需要运行终端工具”Terminal“,进入root用户执行提示的两句命令

3.2.2.11

如何在CentOS 6.2系统上安装Oracle 10g
使用su root 命令进入root用户,按照顺序执行命令。(执行root.sh的时候,直接Enter继续即可,如下图3.2.2.12)

3.2.2.12

如何在CentOS 6.2系统上安装Oracle 10g
Oracle数据库软件安装完成,点击Exit退出
如何在CentOS 6.2系统上安装Oracle 10g
紧接着需要在”Terminal“命令行中执行如下命令:
/usr/local/oracle/product/10201/bin/relink all
至此,Oracle数据库软件安装全部完成,这里仅仅安装了数据库软件,下面使用DBCA来创建一个数据库
注:如果在此步骤中报错,可能是缺乏相应的软件包或者函数库文件,可根据报错提升安装!(如果报错内容和之前在安装过程中报错的内容相同的话可以选择忽略)
若在后续操作中出错,建议重新安装一次,数据库的卸载方法和数据库软件的卸载方法见文末!

C.使用DBCA创建Oracle数据库实例

在使用DBCA创建数据库之前,使用root用户执行下面的命令,将dba组添加到系统内核中
Echo 502>/proc/sys/vm/hugetlb_shm_group
(502是dba的GID,查询命令如下)
如何在CentOS 6.2系统上安装Oracle 10g
在终端输入dbca,使用DBCA创建Oracle 10g数据库实例,默认,Next
如果输入dbca命令后出现command not found的报错,如下,则很有可能是环境变量设置错误,dbca 可执行文件就在 /usr/sbin:$PATH:$ORACLE_HOME/bin下
如何在CentOS 6.2系统上安装Oracle 10g

3.3.1.1

如何在CentOS 6.2系统上安装Oracle 10g
选择配置选项,这里选择创建数据库”Create a Database”,点击Next

3.3.1.2

如何在CentOS 6.2系统上安装Oracle 10g
选择要创建的数据库类型,这里选择”General Purpose”,点击Next

3.3.1.3

如何在CentOS 6.2系统上安装Oracle 10g
数据库命名,这里的”Global Database Name”和”SID”必须和前面设置Oracle用户的环境变量中的ORACLE_SID相同,使用Oracle用户在终端执行echo $ORACLE_SID可以查看,点击Next

3.3.1.4

如何在CentOS 6.2系统上安装Oracle 10g
选择数据管理选项,默认即可,点击Next

3.3.1.5

如何在CentOS 6.2系统上安装Oracle 10g
设置所有数据库管理员的密码相同(管理员有SYS,SYSTEM,DBSNMP,SYSMAN)点击Next

3.3.1.6

如何在CentOS 6.2系统上安装Oracle 10g
选择数据库存储选项,默认即可,点击Next

3.3.1.7

如何在CentOS 6.2系统上安装Oracle 10g
默认即可,点击Next

3.3.1.8

如何在CentOS 6.2系统上安装Oracle 10g
制定备份和恢复选项,默认即可,点击Next

3.3.1.9

如何在CentOS 6.2系统上安装Oracle 10g
默认即可,点击Next

3.3.1.10

如何在CentOS 6.2系统上安装Oracle 10g
选择数据库字符集,这里选择ZHS16GBK以支持中文

3.3.1.11

如何在CentOS 6.2系统上安装Oracle 10g
概要,默认即可,点击Next

3.3.1.12

如何在CentOS 6.2系统上安装Oracle 10g
选择数据库创建选项,默认即可,点击”Finish”

3.3.1.13

如何在CentOS 6.2系统上安装Oracle 10g
至此,所有配置工作完成,默认即可,随后将会创建数据库

3.3.1.14

如何在CentOS 6.2系统上安装Oracle 10g
安装完成,退出Exit(如果报错ora-00600错误,修改自己的hosts文件)
若出现如下所示报错,修改$ORACLE_HOME/rdbms/audit文件目录的权限为777
如何在CentOS 6.2系统上安装Oracle 10g
之后仍旧发生报错,类似"insufficient privileges"报错内容
如何在CentOS 6.2系统上安装Oracle 10g
有关insufficient privileges 的报错内容,很大程度是因为用户使用root启动的DBCA程序,导致无法访问设置权限为oracle的目录,所以需要登陆oracle账户后确认系统环境变量无误后执行source /home/oracle/.bash_profile 使设置生效

我们安装了数据库软件,创建了数据库实例,如果要访问数据库,还需要创建Listener;接下来使用netca来创建Listener,在终端输入netca命名启动Listener配置程序,因为是第一次创建,所以所有的使用默认即可。

D.使用NETCA创建Oracle 10g Listener

Listener的保存位置在ORACLEHOME/network/adminlistener.oraTerminalnetcanetcaORACLE_HOME/network/admin目录下面,实体文件是listener.ora,在Terminal终端输入”netca”命令进行创建,下面创建步骤默认即可。 **注:netca的运行程序存放在ORACLE_HOME/bin 目录下,所以如果直接输入”netca”报错没有该命令的情况,可以执行source /home/oracle/.bash_profile命令使系统环境变量生效**
如何在CentOS 6.2系统上安装Oracle 10g
如何在CentOS 6.2系统上安装Oracle 10g
如何在CentOS 6.2系统上安装Oracle 10g
如何在CentOS 6.2系统上安装Oracle 10g
如何在CentOS 6.2系统上安装Oracle 10g
如何在CentOS 6.2系统上安装Oracle 10g
如何在CentOS 6.2系统上安装Oracle 10g
如何在CentOS 6.2系统上安装Oracle 10g
注:如果遇到”ORA-27125: unable to create shared memory segment”的错误时,需要使用root用户运行” echo 502 > /proc/sys/vm/hugetlb_shm_group”(502为dba的SID)命令,该命令稍后加入到开机启动中

E.设置开机启动Oracle 10g

启动Oracle 10g的顺序为先启动监听,再启动数据库:
启动监听:

lsnrctl start

关闭监听:

lsnrctl stop

启动数据库(先进入sqlplus,再startup):

sqlplus '/as sysdba'

停止数据库:在sqlplus输入shutdown或者shutdown immediate
启动数据库:startup

若要重启服务器,务必要先关闭数据库!!!!!