最近因为工作原因需要使用到Oracle数据库,所以必须要使用Oracle的数据库,刚好需要安装Oracle数据库在此就简单的做一下整理。Oracle的安装无论是在Windows下还是在Unix系统下都建议使用图形界面安装,这样可以具体的看到报错信息,在Windows上安装没有什么难度,安装的资料也有很多,此处就以Linux环境来说说Oracle的安装。当然在Linux上安装Oracle建议使用VNC安装以免带来不必要的问题。Oracle的安装部署配置比较复杂,大致可以分为三个部分:一、软件安装;二、数据库的建立;三、配置监听文件和本地服务;

   一、软件安装

   1、在开始安装前先要检查下相应的依赖包,这里要注意的是如果是在X64的系统上安装记得需要安装i686即X64系统上的X86的包,这点很重要,如果漏了Oracle是无法正常的安装的,这里pdksh没有安装没有关系,在这里已经安装了ksh就可以了

[root@localhost ~]# yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc gcc-c++ libaio-devel libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh ksh libaio.i686 glibc.i686 compat-libstdc++-33.i686 libaio-devel.i686 libgcc.i686 libstdc++.i686 unixODBC.i686 unixODBC-devel.i686 xorg-x11-server-utils

   2、在解决依赖包后要先开始创建Oracle的用户、用户组以保障Oracle的正常安装

[root@localhost ~]# groupadd oinstall
[root@localhost ~]# groupadd dba
[root@localhost ~]# useradd -g oinstall -G dba oracle
[root@localhost ~]# passwd oracle

   3、在Oracle的用户和用户组都配置好了后,现在就可以配置系统的limits的配置文件

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

   4、修改内核变量配置文件,以下是Oracle中最小的分配内核变量参数

[root@localhost ~]# vim /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
#kernel.shmmax = XXXXXXXXXX #共享内存字节数(一般75%物理内存,此变量要根据实际情款修改)
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 = 1048586
[root@localhost ~]# sysctl -p

   5、配置Oracle用户的环境变量配置文件

[root@localhost ~]# su - oracle
[oracle@localhost ~]$ vim .bash_profile
…略…
export ORACLE_BASE=/usr/local/u01/oracle
export ORACLE_HOME=/usr/local/u01/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=u01
export NLS_LANG="american_america.ZHS16GBK"
#指定客户端使用的字符集,要和服务端中的设置一样
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:Mi:SS"
#指定客户端中时间格式
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH

PATH=$PATH:$HOME/bin

export PATH
[root@localhost ~]# mkdir -p /usr/local/u01/oracle && chown -R oracle:oinstall /usr/local/u01/oracle
[root@localhost ~]# mkdir -p /usr/local/u01/oraInventory && chown -R oracle:oinstall /usr/local/u01/oraInventory
[oracle@localhost ~]$ env | grep ORA
ORACLE_SID=u01
ORACLE_BASE=/usr/local/u01/oracle
ORACLE_HOME=/usr/local/u01/oracle/product/11.2.0/dbhome_1

这样就配置好了Oracle的环境变量及目录文件,在配置好以上的环境后Oracle的前期准备工作就做好了,此时Oracle的安装建议使用VNC远程,使用图形界面安装,至于远程的部分可以参看http://jim123.blog.51cto.com/4763600/1911577,此处就不做过多的赘述了。

   6、安装Oracle

[root@localhost 桌面 ]# xhost +#这里要注意使用xhost不然会出现no protocol specified oracle问题
[root@localhost 桌面 ]# su - oracle
[oracle@localhost ~]$ LANG=en_US.UTF-8#改成英文,不然可能安装包内会缺少中文字体
[oracle@localhost ~]$ cd /usr/local/src/oracle/database
[oracle@localhost database]$ ./runInstaller

Oracle 11G单实例安装_Oracle

这里把钩去掉,不需要填写邮件

Oracle 11G单实例安装_Oracle_02

这里要选择第二个选项

Oracle 11G单实例安装_Oracle_03

Oracle 11G单实例安装_Oracle_04

Oracle 11G单实例安装_Oracle_05

Oracle 11G单实例安装_Oracle_06

Oracle 11G单实例安装_Oracle_07

Oracle 11G单实例安装_Oracle_08

Oracle 11G单实例安装_Oracle_09

这里需要勾起忽略错误,因为这里是找不到i386的包,X64的包实际是使用的是i686

Oracle 11G单实例安装_Oracle_10

Oracle 11G单实例安装_Oracle_11

这里要注意的是系统中的/tmp目录一定要有1GB以上,这样才能正常的安装,不然很多Oracle的临时文件都无法存放

Oracle 11G单实例安装_Oracle_12

到此,就根据提示操作就可以完成Oracle的软件安装的部分就完成了,这里提示说要用root用户执行2个shell脚本,那就根据实际情况执行一下

Oracle 11G单实例安装_Oracle_13

   二、数据库的建立

   1、在oracle的软件安装好后关闭相应的窗口后,现在就需要开始建立数据库,还是在图形界面中使用Oracle用户使用dbca开始创建数据库

[oracle@localhost database]$ dbca

Oracle 11G单实例安装_Oracle_14

Oracle 11G单实例安装_Oracle_15

Oracle 11G单实例安装_Oracle_16

这里有3个模板,在这里就使用第一个,一般用途或事务处理

Oracle 11G单实例安装_Oracle_17

在这里需要填上之前在环境变量文件中写的sid

Oracle 11G单实例安装_Oracle_18

Oracle的EM资料档案库,可以做到很多的功能实现,可以做到很多的功能,但是如果是不需要的话就把钩去掉

Oracle 11G单实例安装_Oracle_19

在这里设置用户密码,可以让用户的密码单独不一样,在这里就设置成一样的

Oracle 11G单实例安装_Oracle_20

这里使用文件系统

Oracle 11G单实例安装_Oracle_21

在这里设置闪回区大小,建议20~30GB,这个要根据磁盘的时间情况设置,闪回区如果满了Oracle数据库会停止,所以这个需要注意

Oracle 11G单实例安装_Oracle_22

说明示例,这里不需要

Oracle 11G单实例安装_Oracle_23

配置Oracle的默认的一些系统配置,这里需要注意的是字符集,这个需要根据需求修改

Oracle 11G单实例安装_Oracle_24

Oracle 11G单实例安装_Oracle_25

开始创建Oracle数据库,直接finish开始创建

Oracle 11G单实例安装_Oracle_26

这样数据库的创建dbca的部分就安装完成了

   三、配置监听文件和本地服务

   1、安装监听服务配置,同dbca一样也是在图形界面下的Oracle用户下配置,使用netca开始配置

Oracle 11G单实例安装_Oracle_27

创建监听服务,作为Oracle的服务端

Oracle 11G单实例安装_Oracle_28

Oracle 11G单实例安装_Oracle_29

Oracle 11G单实例安装_Oracle_30

使用tcp协议

Oracle 11G单实例安装_Oracle_31

Oracle的默认的端口是1521

Oracle 11G单实例安装_Oracle_32

是否要创建另外一个监听文件,这里就选NO

Oracle 11G单实例安装_Oracle_33

Oracle 11G单实例安装_Oracle_34

配置本地网络服务名,作为Oracle的客户端

Oracle 11G单实例安装_Oracle_35

Oracle 11G单实例安装_Oracle_36

Oracle 11G单实例安装_Oracle_37

这里填服务器的ip,在之后可以通过lsnrctl start查询到监听文件listener.ora修改配置使得可以通过网络监听让本机之外的远程连接,如下:

[oracle@localhost oracle]$ vim /usr/local/u01/oracle/product/11.2.0.4/dbhome_1/network/admin/listener.ora

# listener.ora Network Configuration File: /usr/local/u01/oracle/product/11.2.0.4/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

ADR_BASE_LISTENER = /usr/local/u01/oracle

Oracle 11G单实例安装_Oracle_38

这里选yes测试一下,之后就和之前一样结束即可,到此Oracle的安装部署就已经完成了

[oracle@localhost ~]$ lsnrctl start#启动监听
[oracle@localhost  ~]$  sqlplus / as sysdba
SQL>startup

在Oracle用户下启动测试下

Oracle 11G单实例安装_Oracle_39