Oracle 数据库安装向导

如何配置可以支持oracle数据库的系统

如何使用Typical Installation选项在本地安装oracle 数据库

如何为数据文件存储配置一个可以使用本地系统的通用目的oracle数据库


以下是在已经 是x系统的机器或已有x终端的机器上的操作,如果是其他没有x功能的请先安装x软件包

开启一个x终端


如果你不是在本机上安装oracle的话,你需要输入以下命令使远程机器开启x功能

# xhost  [远程机器名]


以root身份登录操作

如果你不是以root用户登录的话,请打入以下命令来切换到root下

$ sudo sh

password:

#


最小硬件需求

内存 至少1GB 

(查看内存大小命令 # grep MemTotal /proc/meminfo )

内存 1-2G       设置swap为内存的1.5倍

2-16G                 设置swap大小跟内存大小一样

大于16G的         设置swap大小为16G

# grep SwapTotal /proc/meminfo   //查看swap大小

# grep "model name" /proc/cpuinfo   //查看cpu类型


oracle 11g的内存共享管理特性要求更多的共享内存(/dev/shm )和 文件描述符

共享内存至少取MEMORY_MAX_TARGET和 MEMORY_TARGET中的最大值

决定可用共享内存的命令为

# df -k /dev/shm/

系统架构 

# uname -m  


磁盘空间

/tmp 目录至少1GB空闲

安装类型                                     软件文件需要占用的磁盘空间(GB)           数据文件需要占用的磁盘空间(GB)

企业版本                                     4.35                                                                     1.68

标准版本                                     3.73                                                                      1.48


磁盘剩余空间查询命令

# df -h


软件需求

操作系统需求

oracle 11gr2需要的操作系统为

■ Asianux 2.0
■ Asianux 3.0
■ Oracle Enterprise Linux 4.0 Update 7 or later
■ Oracle Enterprise Linux 5.0
■ Red Hat Enterprise Linux 4.0 Update 7 or later
■ Red Hat Enterprise Linux 5.0
■ SUSE Linux Enterprise Server 10.0
■ SUSE Linux Enterprise Server 11.0

SELinux 也需要


内核需求


对于 Asianux 2, Oracle Enterprise Linux 4.0, Red Hat Enterprise Linux 4.0:
2.6.9 或以上

对于 Asianux 3, Oracle Enterprise Linux 5.0,  Red Hat Enterprise Linux 5.0:
2.6.18 或以上

对于 SUSE 10:
2.6.16.21 或以上

在 SUSE Linux Enterprise Server 11 上:
2.6.27.19 或以上

内核版本查询命令 # uname -r


包需求

如果你使用LDAP管理配置管理机器的话,你想使用odisrvreg, oidca, or schemasync 脚本,

那么请安装Korn shell RPM包


Asianux 2, Oracle Enterprise Linux 4.0, 和 Red Hat Enterprise Linux 4.0需要安装以下列出的版本包(或以上版本)

binutils-2.15.92.0.2
compat-libstdc++-33-3.2.3
compat-libstdc++-33-3.2.3 (32 bit)
elfutils-libelf-0.97
elfutils-libelf-devel-0.97
expat-1.95.7
gcc-3.4.6
gcc-c++-3.4.6
glibc-2.3.4-2.41
glibc-2.3.4-2.41 (32 bit)
glibc-common-2.3.4
glibc-devel-2.3.4
glibc-headers-2.3.4
libaio-0.3.105
libaio-0.3.105 (32 bit)
libaio-devel-0.3.105
libaio-devel-0.3.105 (32 bit)
libgcc-3.4.6
libgcc-3.4.6 (32-bit)
libstdc++-3.4.6
libstdc++-3.4.6 (32 bit)
libstdc++-devel 3.4.6
make-3.80
pdksh-5.2.14
sysstat-5.0.5
unixODBC-2.2.11
unixODBC-2.2.11 (32 bit)
unixODBC-devel-2.2.11
unixODBC-devel-2.2.11 (32 bit)

Asianux 3, Oracle Enterprise Linux 5.0, 和 Red Hat Enterprise Linux 5.0 需要安装下面的包(版本可以是更新的)
binutils-2.17.50.0.6
compat-libstdc++-33-3.2.3
compat-libstdc++-33-3.2.3 (32 bit)
elfutils-libelf-0.125
elfutils-libelf-devel-0.125
gcc-4.1.2
gcc-c++-4.1.2
glibc-2.5-24
glibc-2.5-24 (32 bit)
glibc-common-2.5
glibc-devel-2.5
glibc-devel-2.5 (32 bit)
glibc-headers-2.5
ksh-20060214
libaio-0.3.106
libaio-0.3.106 (32 bit)
libaio-devel-0.3.106
libaio-devel-0.3.106 (32 bit)
libgcc-4.1.2
libgcc-4.1.2 (32 bit)
libstdc++-4.1.2
libstdc++-4.1.2 (32 bit)
libstdc++-devel 4.1.2
make-3.81
sysstat-7.0.2
unixODBC-2.2.11
unixODBC-2.2.11 (32 bit)
unixODBC-devel-2.2.11
unixODBC-devel-2.2.11 (32 bit)


SUSE Linux Enterprise Server 10需要安装的包

binutils-2.16.91.0.5
compat-libstdc++-5.0.7
gcc-4.1.0
gcc-c++-4.1.2
glibc-2.5-24
glibc-devel-2.4
glibc-devel-32bit-2.4
ksh-93r-12.9
libaio-0.3.104
libaio-32bit-0.3.104
libaio-devel-0.3.104
libaio-devel-32bit-0.3.104
libelf-0.8.5
libgcc-4.1.2
libstdc++-4.1.2
libstdc++-devel-4.1.2
make-3.80
sysstat-8.0.4

SUSE Linux Enterprise Server 11需要安装的包

binutils-2.19
gcc-4.3
gcc-32bit-4.3
gcc-c++-4.3
glibc-2.9
glibc-32bit-2.9
glibc-devel-2.9
glibc-devel-32bit-2.9
ksh-93t
libaio-0.3.104
libaio-32bit-0.3.104
libaio-devel-0.3.104
libaio-devel-32bit-0.3.104
libstdc++33-3.3.3
libstdc++33-32bit-3.3.3
libstdc++43-4.3.3_20081022
libstdc++43-32bit-4.3.3_20081022
libstdc++43-devel-4.3.3_20081022
libstdc++43-devel-32bit-4.3.3_20081022
libgcc43-4.3.3_20081022
libstdc++-devel-4.3
make-3.81
sysstat-8.1.5

可以通过该命令查询是否安装了某包

# rpm -q [包名]

编译需求

编译需要的包已在上述包需求中指定了,这里不赘述


其他软件需求

取决于你自己想要添加哪些组件了

■ Oracle ODBC Drivers
■ Oracle JDBC/OCI Drivers
■ Oracle Messaging Gateway
■ Browser Requirements

这个请参考oracle 官方安装文档


创建组和用户

■ The Oracle Inventory group (一般创建为oinstall组)
■ The OSDBA group (一般创建为dba)
■ The Oracle software owner (一般创建为oracle)
■ The OSOPER group (可选的.一般创建为 oper)

1.查看oinstall 组存在否,

# more /etc/oraInst.loc

如果显示了oinstall 组名,则该组已存在;

如果有oraInst.loc文件,输出显示如下

inventory_loc=/u01/app/oraInventory
inst_group=oinstall

inst_group参数显示有oinstall,则该组已存在

2.查看dba

# grep dba /etc/group  

有dba组名则存在

3.如果上述2不存在,可通过下命令添加

# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba

4. oracle 用户是否存在,并且要属于正确的组

# id oracle
应该大概显示如下(gid要是oinstall自己,dba为第二属组)
uid=440(oracle) gid=200(oinstall) groups=201(dba),202(oper)

5.如果上述oracle用户建立不正确,输入以下命令来修改

# /usr/sbin/usermod -g oinstall -G dba oracle

 如果oracle用户不存在的话,则输入以下命令来创建

# /usr/sbin/useradd -g oinstall -G dba oracle

6.为oracle用户设置密码

# passwd oracle

配置内核参数

1.检查和修改内核参数值

检查下表显示的内核参数值,有没有被设成大于等于显示的最小值呢

下面就来介绍如何检查和设置这些值

(需要注意,这里只是限定了最小值,真实的生产环境中,请根据生产环境需要自行调节参数值来优化系统性能)

_______________________________________________________

  参数                        最小值                                    文件

semmsl                     250                                       /proc/sys/kernel/sem
semmns                    32000
semopm                   100
semmni                    128
————————————————————————————————

shmall                      2097152                             /proc/sys/kernel/shmall

————————————————————————————————

shmmax                4GB-1byte,                       /proc/sys/kernel/shmmax

                               物理内存大小 / 2,

                               二者中选最小的

—————————————————————————————————

shmmni                4096                                     /proc/sys/kernel/shmmni

—————————————————————————————————

 file-max               512 * PROCESSES          /proc/sys/fs/file-max

—————————————————————————————————

ip_local_              Minimum: 9000                 /proc/sys/net/ipv4/ip_
port_range           Maximum: 65500               local_port_range

——————————————————————————————————

rmem_                 262144                              /proc/sys/net/core/rmem_default
default
——————————————————————————————————

wmem_max      1048576                             /proc/sys/net/core/wmem_max
——————————————————————————————————

aio-max-nr          Maximum: 1048576          /proc/sys/fs/aio-max-nr

——————————————————————————————————


检查

semmsl, semmns,                            # /sbin/sysctl -a | grep sem
semopm, and
semmni 


shmall, shmmax,                             # /sbin/sysctl -a | grep shm
and shmmni 


file-max                                             # /sbin/sysctl -a | grep file-max


ip_local_port_                                 # /sbin/sysctl -a | grep ip_local_port_
range range


rmem_default                                   # /sbin/sysctl -a | grep rmem_default
rmem_max                                       # /sbin/sysctl -a | grep rmem_max
wmem_default                                # /sbin/sysctl -a | grep wmem_default
wmem_max                                     # /sbin/sysctl -a | grep wmem_max


如何查到的内核参数值有跟推荐的值不一样的,则编辑/etc/sysctl.conf 

像下面这样添加修改(kernel.sem中的当前四个值如果大于最小值,则不用改)

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

shmmax推荐最小值为0.5G,oracle建议你设为2G以达到最佳效果

一般系统重启后,这些参数值都会保存下来,但是 SUSE Linux Enterprise Server

系统上,输入以下命令已确保参数值保存下来

# /sbin/chkconfig boot.sysctl on 

2. 上述值修改完后

# /sbin/sysctl -p

输入该命令进行更新并检查修改的值是否都改正确了

3. 输入 /sbin/sysctl -a 命令检查是否所有值都正确

4.SUSE 系统上还需要

# echo 501 > /proc/sys/vm/hugetlb_shm_group
(假设501为oinstall 组id)

跑完这条命令后再修改/etc/sysctl.conf 并且 执行# /sbin/chkconfig boot.sysctl on

保证开机时boot.sysctl自动执行

5.修改完/etc/sysctl.conf 后要么重启系统,要么sysctl -p 使得变量值在kernel内存中可用


为oracle用户设置shell限制

为了改善软件性能,你必须添加以下shell限制

——————————————————————


要添加这些shell限制条件:

1.将下列行添加到 /etc/security/limits.conf 文件

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536 

2.在/etc/pam.d/login 文件中添加

session required pam_limits.so    

3.根据oracle用户默认shell,在默认shell启动文件中做如下修改

对于boure,bash,korn shell, 添加如下行到/etc/profile (在suse系统中为/etc/profile.local)

  1. if [ $USER = "oracle" ]; then
            if [ $SHELL = "/bin/ksh" ]; then

                   ulimit -p 16384

                   ulimit -n 65536

            else

                   ulimit -u 16384 -n 65536

            fi

    fi 


    对于c shell,在/etc/csh.login (suse系统中为/etc/csh.login.local):

    1. if ( $USER == "oracle" ) then

                 limit maxproc 16384

                 limit descriptors 65536

      endif



创建需要的目录

创建更下面相似的目录,并指定正确的用户,组及权限

   oracle基本目录

   可选的oracle数据文件目录

oracle基本目录需要3GB空闲空间,如果你不打算将oracle数据文件目录独立出来的话,

oracle基本目录就需要4GB空闲空间(这样就将数据目录也放到这个的下面了,真是生产环境中不推荐这么做)。


先df -h 查看系统剩余空间够不够,大体创建如下

# mkdir -p /mount_point/app/
# chown -R oracle:oinstall /mount_point/app/

# chmod -R 775 /mount_point/app/

举例:

# mkdir -p /u01/app/
# chown -R oracle:oinstall /u01/app/

# chmod -R 775 /u01/app/ 


配置oracle用户环境

你要从oracle帐户来运行oracle universal Installer。在开始运行前,你必须为oracle用户配置环境。

你需要做:

  在启动文件中设置默认文件mode umask 为022

  设置DISPLAY环境变量

设置oracle用户环境:

1.开启一个新的终端,比如 x终端

2. 输入以下命令保证x window 应用可用在该系统上显示

   $ xhost [需要安装oracle软件的主机名]

   举例:

   $ xhost somehost.us.example.com

   本机:(xhost 后可更+符号 再加用户名或主机名)

   # xhost +

  $ su - oracle

 $

 //这样oracle下才可支持图形化界面的工具。

3.完成以下步骤之一:

   如果终端会话没有连接到你想要安装oracle软件的系统上,那么请用oracle用户登陆到那个系统上

   如果终端会话连接上了,则将用户切换到oracle

    $ su - oracle

4.使用如下命令来查看oracle用户终端所使用的默认shell是什么

   $ echo $SHELL

5.编辑shell启动文件

  suse系统上的bash shell :

  $ vi .profile

  bourne shell(sh),bash shell on red hat(bash),korn shell(ksh):

  $ vi .bash_profile

  c shell (csh or tcsh):

  vi .login

6. 在启动文件中添加

   umask 022

7. 如果ORACLE_SID, ORACLE_HOME,ORACLE_BASE 这几个环境变量已有,则在文件中去掉它们

8. 保存文件退出

9. 运行该启动文件脚本

   bash shell on redhat:

   $ . ./.bash_profile

   bourne shell , bash shell on suse, or korn shell:

   $ . ./.profile

   C shell:

   % source ./.login

10. 如果你不是在本机安装软件的,那么请输入类似以下命令来指定x 应用显示到本地系统:

   bourne,bash , korn shell:

   $ DISPLAY=local_host:0.0 ; export DISPLAY    

    C SHELL:

    % setenv DISPLAYlocal_host:0.0    

    这里local_host 为你要使用oracle Universal Installer的主机名或ip地址

11.如果发现/tmp空间不满足硬件需求中所要求的大小,那么你可用通过设置TMP 和 TMPDIR 环境变量来指定一个

满足空间大小的文件系统

 a. df -k 

 b. sudo mkdir /mount_point/tmp

    sudo chmod a+wr /mount_point/tmp

    exit

c.bourne,bash,or korn shell:

  $ TMP=/mount_point/tmp

  $ TMPDIR=/mount_point/tmp

  $ export TMP TMPDIR

  C SHELL:

  % setnv TMP /mount_point/tmp

  % setnv TMPDIR /mount_point/tmp

12. 设置oracle_base , oracle_sid 环境变量

  bourne,bash, korn shell:

   $ ORACLE_BASE=/u01/app/oracle

   $ ORACLE_SID=sales

   $ export ORACLE_BASE ORACLE_SID

 这些可以写到oracle账户下的.bash_profile中去,保存完后记得运行该启动文件脚本

   $ unset ORACLE_HOME

   $ unset TNS_ADMIN

  C shell:

   % setenv ORACLE_BASE /u01/app/oracle

   % setenv ORACLE_SID sales

   % unsetenv ORACLE_HOME

   % unsetenv TNS_ADMIN

13. $ umask        

    显示22,022,或0022

    $ env | more


安装oracle数据库

1. $ /mount_point/db/runInstaller  (此为你下载的oracle软件包解压出来的东西,可以找到runInstaller)

安装过程中 (这里介绍基本的安装)

configure Security Updates 界面中可将打勾的去掉,然后不作其他任何修改点击Next跳过;

select Installation Option 界面中选择Create and Configure a Database , 再点击Next;

System Class -> Server Class -> Next ;

Grid Installation Options -> Single instance database installation -> Next;

Select Install Type -> Typical Installation -> Next;

Typical Install Configuration ->  其中的都默认就好,最后的Administative password, confirm password 请自行输入下 -> Next.

碰到密码警告不予理财继续;

Create Inventory -> Next;

Perform Prerequisite Checks -> 这里会做一些kernel参数,shell limits ,安装包的检查,如果你觉得有些包没有影响,不需要理睬,点击右上角的

ignore all -> 确认没有错误-> Next;

Summary -> Finish; 其中的save response file,可以保存下来,为一个应答文件,方便以后自动安装

Install production -> 正确安装后,点击ok, 如果报错,请检查问题。 最后再根据提示执行2个.sh脚本,再点击OK;

Finish -> Close.


=======================================================================================

本人用的是在rhel6.4上安装的oracle11.2

按照rhel5上所需包安装(32位的包本人都没安装),缺少一个compat-libstdc++-33-3.2.3,就从rhel5.5中取了一个过来安装

之后在安装过程中Perform Prerequisite Checks时,检查包有失败,一个是pdksh,还有其他都是要求i386的包的,觉得无关,这些都被我点击右上角的

ignore all跳过。

还有一个问题是 

  >>> Could not execute auto checkfor display colors using command /usr/bin/xdpyinfo. Check if the DISPLAYvariable is set.    Failed<<<<

则可退出当前用户登录系统,切换到oracle登录进去。

如果你是ssh到远程ip上安装软件,请直接ssh到oracle下,不然会出现认证失败导致DISPLAY的问题。


最后安装无问题后,再修改oracle用户 shell启动文件 ~/.bash_profile ,添加library和执行文件的搜索路径,

ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1;export ORACLE_HOME
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH

修改完后 ,

$ . ~/.bash_profile


现在可以在终端下输入

$ sqlplus / as sysdba


问题三

当重启系统后,请先敲入lsnrctl stauts 检查你的listener是否开启

如没有开启 请先lsnrctl start 

再sqlplus / as sysdba

进入之后

SQL> startup

给一个数据库实例


listener要自己手动启动的问题可能是解决以下2个小问题的方法(在确定自己包都已安装好,所要监听的host名也正确的话)

1. TNS-12541:TNS:no listener

2.   ORA-12547: TNS:lost contact

listener问题请学习oracle net章节的知识

欢迎qq:729047237@qq.com
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值