Oracle 11g下载地址:

http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

image001

选择需要的oracle安装文件下载

Oracle 11g 联机文档:

http://www.oracle.com/pls/db112/homepage

image002

可以下载其PDF文档参考(其中的有关Linux安装向导是最权威的安装手册)

Oracle 11g R2数据库安装硬件配置要求:

最小内存 1 GB of RAM

虚拟内存容量

Available RAM

Swap Space Required

Between 1 GB and 2 GB

1.5 times the size of RAM

Between 2 GB and 16 GB

Equal to the size of RAM

More than 16 GB

16 GB


硬盘空间要求

数据库软件硬盘空间需求:

Installation Type

Requirement for Software Files (GB)

Enterprise Edition

3.95

Standard Edition

3.88

数据文件硬盘空间需求:

Installation Type

Requirement for Data Files (GB)

Enterprise Edition

1.7

Standard Edition

1.5

检查的命令

内存

# grep MemTotal /proc/meminfo

交换空间

# grep SwapTotal /proc/meminfo

磁盘空间

# df -ah

Linux平台

查看联机文档,可以看出Oracle 11g支持Linux操作系统

http://docs.oracle.com/cd/E11882_01/install.112/e24321/pre_install.htm%23CHDFFBIF

下面是 X86(32)Linux

image003

其中Red Hat 4Oracle Linux 4对应,以及与Cent OS 4对应(版本要对应)

需要的软件包支持:

通过查看Oracle安装文档中列出的Package Requirements可以查看在不同平台上需要的软件包,下面列出Asianux 3, Oracle Enterprise Linux 5.0, and Red Hat Enterprise Linux 5.0的要求,检查

下系统是否安装过这些包,如果没在对应的系统光盘查找对应的rpm包并安装。

检查工作:依次执行:rpm -qa | grep 下面软件包

binutils-2.17.50.0.6
compat-libstdc++-33-3.2.3
elfutils-libelf-0.125
elfutils-libelf-devel-0.125
elfutils-libelf-devel-static-0.125
gcc-4.1.2
gcc-c++-4.1.2
glibc-2.5-24
glibc-common-2.5
glibc-devel-2.5
glibc-headers-2.5
kernel-headers-2.6.18
ksh-20060214
libaio-0.3.106
libaio-devel-0.3.106
libgcc-4.1.2
libgomp-4.1.2
libstdc++-4.1.2
libstdc++-devel-4.1.2
make-3.81
sysstat-7.0.2
unixODBC-2.2.11
unixODBC-devel-2.2.11

binutils-2.17.50.0.6

compat-libstdc++-33-3.2.3

elfutils-libelf-0.125

elfutils-libelf-devel-0.125

elfutils-libelf-devel-static-0.125

gcc-4.1.2

gcc-c++-4.1.2

glibc-2.5-24

glibc-common-2.5

glibc-devel-2.5

glibc-headers-2.5

kernel-headers-2.6.18

ksh-20060214

libaio-0.3.106

libaio-devel-0.3.106

libgcc-4.1.2

libgomp-4.1.2

libstdc++-4.1.2

libstdc++-devel-4.1.2

make-3.81

sysstat-7.0.2

unixODBC-2.2.11

unixODBC-devel-2.2.11

创建Oracle用户

root用户:创建Oracle安装组oinstall,数据库管理员组dba,及oracle用户

# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# /usr/sbin/useradd -g oinstall -G dba oracle
(主组oinstall,其它组:dba
# passwd oracle

修改内核参数

root用户:修改 /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 = 1048586

为使上述配置生效而不重启系统,执行如下命令

# /sbin/sysctl -p

修改用户限制

root用户:修改 /etc/security/limits.conf 文件,加上下面的参数

oracle           soft    nproc   2047
oracle           hard    nproc   16384
oracle           soft    nofile  1024
oracle           hard    nofile  65536

修改用户验证选项

root用户下:修改/etc/pam.d/login文件加上如下参数

session    required     pam_limits.so

修改用户配置文件

root用户下:修改/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

安装目录配置

root用户:

# mkdir -p /u01/oraInventory
# chown -R oracle:oinstall /u01/
# chmod -R 775 /u01/

修改用户bash shell

$ vi .bash_profile

增加如下内容,主要是修改

export ORACLE_BASE=/u01
export ORACLE_HOME=$ORACLE_BASE/oracle
export ORACLE_SID=oracleSid
export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin

完成后执行:

#su –oracle

#env | grep ORA查看环境变量是否完成

Oracle 11g安装

安装软件

使用oracle用户登录,然后解压缩Oracle安装文件:

$ unzip linux_11gR1_database.zip

然后进入解压后的目录,执行

      $ ./runInstaller

然后进入解压后的目录,执行

image004

选择高级安装,高级也挺简单

image005

默认oraInventory认为是根目录下,oracle用户没有写权限,所以warning,不用管执行下一步

image006

修改inventory directory目录为/u01/oralInventory,此时oracle用户就有写权限,下一步:

image007

      oracle会进行安装前检查工作,如果没有错误,则直接下一步。

可能出现的错误是:

1)修改的系统配置文件没有生效,最绝的办法,重启系统

2)静态IP问题,如果你使用了静态IP,则应该打开/etc/hosts添加静态IP指定:如192.168.188.10       localhost.localdomain(路由域名)

3)内存问题,如果内在设置1G左右,或稍微较少时,可忽略

一直下一步,安装完成!但此时没有创建数据库

创建数据库

首先配置Listener

$ netca       (net configuration)

注意:此时可能报如下错误

是由于默认的主机名导致的,修改2处

[oracle@jc11g ~]$ cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=test11g
GATEWAY=192.168.1.254

[oracle@jc11g ~]$ cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost test11g

hostname test11g

让oracle用户退出重新登录就可以正常启动netca了 (参考:http://blog.sina.com.cn/s/blog_470504830100s2fz.html

端口使用1521(在没有启用防火墙情况下,所有端口号都可以使用),直接下一步至完成,完成后查看是否启动:

$ ps –ef | grep LISTENER

创建数据库

$dbca      (database configuration)

下一步

image008

选择默认,下一步

输入数据库名和SID(如示例中:oracleSid,一定要匹配)下一步

image009

下一步

image010

使用共同口令,如:oracle,下一步,直到如下图所示:

image011

此时需要注意字符集的选择,对于含有中文数据的数据库来说,可以选择Unicode编码(如果字符集选择不对,后面再修改时非常麻烦)

image012

下一步,选择安装一些示例数据库,一路下一步,将会开始创建数据库

创建完数据库后,将会在/u01/oradata目录下创建相应的数据,并且可以使用命令

ps –ef | grep oracle

查看已经启动的oracle进程

到此,oracle数据库软件及数据库安装完成。

Oracle测试

接上一节,可以使用sqlplus测试是否已经成功安装oracle,如下:

$sqlplus /nolog

SQL>conn / as sysdba

SQL>create table mytable(name varchar(10), age int);

SQL>insert into mytable values(‘user1’,12);

SQL>select * from mytable;

关闭数据库:

查看oracle进程:

SQL> !ps –ef | grep oracle

关闭oracle

SQL>shutdown immediate

总结

下面将上面介绍的安装过程进行总结,来源:Linux开源公社

1、检查硬件

内存

# grep MemTotal /proc/meminfo

交换空间

# grep SwapTotal /proc/meminfo

磁盘空间

# df -ah

2、下载软件

Oracle Database 10g Release 2 (10.2.0.1) Software下载位置:

http://otn.oracle.com/software/products/database/oracle10g/index.html

3、修改host文件

查看/etc/hosts文件中必须包含a fully qualified name for the server

4、安装软件包检查

1、检查下列包是否安装,若未安装则要先安装:

binutils-2.17.50.0.6-2.el5

compat-libstdc++-33-3.2.3-61

elfutils-libelf-0.125-3.el5

elfutils-libelf-devel-0.125

glibc-2.5-12

glibc-common-2.5-12

glibc-devel-2.5-12

gcc-4.1.1-52

gcc-c++-4.1.1-52

libaio-0.3.106

libaio-devel-0.3.106

libgcc-4.1.1-52

libstdc++-4.1.1

libstdc++-devel-4.1.1-52.e15

make-3.81-1.1

sysstat-7.0.0

unixODBC-2.2.11

unixODBC-devel-2.2.11

# rpm -qa | grep make gcc glibc compat openmotif21 setarch 等等

5libstdc包的链接

(老版本需求,新版本oracle11不要设置):

ln -s /usr/lib/libstdc++.so.6.0.3 /usr/lib/libstdc++.so.5          

#检测存在如果不做此链接,在安装过程中建好数据库,将会出现不能链接不上数据库问题。

.参数设置

1、设置核心参数

/etc/sysctl.conf文件中加入下列行:

#kernel.core_uses_pid = 1

kernel.shmall = 2097152

kernel.shmmax = 2147483648 -- (以字节为单位,物理内存数量*1024*1024*2,为内存的2)

kernel.shmmni = 4096

# semaphores: semmsl, semmns, semopm, semmni

kernel.sem = 250 32000 100 128

fs.file-max = 65536

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default=8388608

net.core.rmem_max=8388608