首页 > 代码库 > Oracle数据库11g基于rehl6.5的配置与安装

Oracle数据库11g基于rehl6.5的配置与安装

REDHAT6.5安装oracle11.2.4

ORACLE11G R2官档网址:

http://docs.oracle.com/cd/E11882_01/install.112/e24326/toc.htm#BHCGGJAB

一、操作系统

[root@xuegod63 ~]# cat /etc/redhat-release

Red Hat Enterprise Linux Server release 6.5 (Santiago)

[root@xuegod63 ~]# uname -m

x86_64

二、检测硬件环境

1、内存

ORACLE官方建议swap设置标准:

对于运行ORACLE数据库的操作系统,ORACLE官方是有设置大小建议的,在此以从ORACLE 11g R2官方文档中提取的建议大小为例:

3.1 Memory Requirements

The following are the memory requirements for installing Oracle Database 11g Release 2 (11.2):

·         Minimum: 1 GB of RAM

Recommended: 2 GB of RAM or more

If the size of the RAM is less than the required size, then you must install more memory before continuing.

·         The following table describes the relationship between installed RAM and the configured swap space recommendation:

Note:

On Linux, the HugePages feature allocates non-swappable memory for large page tables using memory-mapped files. If you enable HugePages, then you should deduct the memory allocated to HugePages from the available RAM before calculating swap space.

Available RAM

Swap Space Required

Between 1 GB and 2 GB

1.5 times the size of the RAM

Between 2 GB and 16 GB

Equal to the size of the RAM

More than 16 GB

16 GB

 

1ORACLE官方要求最小1GBRAM,建议2GB或更大

2SWAPRAM的大小配置关系

1)、RAM1-2GB时,SWAP大小建议为RAM大小的1.5

2)、RAM2-16GB时,SWAP大小建议与RAM大小相等

3)、RAM大于16GB时,SWAP大小建议为16GB     

内存大小的查看命令:

[root@xuegod63 ~]# grep MemTotal /proc/meminfo  ---查看物理内存

MemTotal:        2046588 kB

[root@xuegod63 ~]# grep SwapTotal /proc/meminfo  --查看SWAP交换内存

SwapTotal:       2097144 kB

[root@xuegod63 ~]# free

             total       used       free     shared    buffers     cached

Mem:       2046588    1188520     858068          0      95160     107784

-/+ buffers/cache:     985576    1061012

Swap:      2097144          0    2097144

[root@xuegod63 ~]# free -m

             total       used       free     shared    buffers     cached

Mem:          1998       1160        837          0         92        105

-/+ buffers/cache:        962       1036

Swap:         2047          0       2047

swap的作用:

当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,临时转移到SWAP上,供当前运行的程序提供物理内存空间,当程序需要再访问被转移到了SWAP空间上的数据时,再从SWAP中恢复到物理内存中。从此工作原理不难看出来,SWAP要有,但是尽量不要使用,使用了就会发生内存交换,必然影响系统性能

2、硬盘大小

技术分享

查看本机硬盘大小

[root@xuegod63 media]# df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/sda2       9.9G  3.7G  5.7G  40% /

tmpfs          1000M     0 1000M   0% /dev/shm

/dev/sda1       485M   39M  421M   9% /boot

/dev/sr0        3.6G  3.6G     0 100% /mnt

/dev/sda5        87G  2.9G   79G   4% /server

本地的/tmp目录空间不能少于400M

三、检测软件环境

1、安装oracle所需的环境依赖包

配置好YUM

查看哪些安装包没有安装,然后YUM安装

rpm -q --qf ‘%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n‘ binutils \

compat-libcap1 \

compat-libstdc++-33 \

gcc \

gcc-c++ \

glibc \

glibc-devel \

ksh \

libgcc \

libstdc++ \

libstdc++-devel \

libaio \

libaio-devel \

make \

sysstat

 

 

[root@xuegod63 ~]# yum -y install compat-libcap1 compat-libstdc++-33 ksh libaio-devel

 

2、设置主机名、修改/etc/hosts,设置主机名和Ip的对应关系

[root@xuegod63 ~]# cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.1.63 xuegod63

[root@xuegod63 ~]# hostname

xuegod63

3创建oracle用户uid500dbagid501oracle用户主组为dba,然后激活这个用户

OINSTALL用户组(oinstall)

oinstall 组是Oracle推荐创建的OS用户组之一,建议在系统第一次安装oracle软件产品之前创建该oinstall组,理论上该oinstall组应当拥有oracle软件产品目录(例如$CRS_HOME$ORACLE_HOME)oracle Inventory信息目录仓库,oracle Inventory信息目录记录了系统上安装过的oracle产品的记录

OSDBA用户组(dba)

osdba是我们必须要创建的一种系统dba用户组(dba),若没有该用户组我们将无法安装数据库软件及执行管理数据库的任务。

OSOPER用户组(oper)

osoper是一种额外的用户组(oper),我们可以选择要不要创建该用户组,创建该用户组可以满足让os用户行使某些数据库管理权限(包括SYSOPER角色权限)的目的。注意SYSOPER的权限包括startupshutdown,所以要小心为该用户组添加成员

[root@xuegod63 ~]# groupadd -g 500 oinstall

[root@xuegod63 ~]# groupadd -g 501 dba

[root@xuegod63 ~]# groupadd -g 502 oper

[root@xuegod63 ~]# useradd -u 500 -g oinstall –G dba,oper oracle

[root@xuegod63 ~]# id oracle

[root@xuegod63 ~]# passwd oracle

更改用户 oracle 的密码

新的密码:

无效的密码:它基于字典单词

无效的密码:过于简单

重新输入新的密码:

passwd所有的身份验证令牌已经成功更新。

ORACLE用户登录一下,激活这个用户

技术分享

技术分享

技术分享

4、创建ORACLE用户的安装目录与数据存放目录,并设置目录的所有者,组和权限

[root@xuegod63 ~]# mkdir -p /server/oracle

[root@xuegod63 ~]# mkdir -p /server/oradata

[root@xuegod63 ~]#mkdir -p /server/oracle/oraInventory

[root@xuegod63 ~]# chown –R oracle:dba /server/ora*

[root@xuegod63 ~]# chmod -R 775 /server/ora*

[root@xuegod63 ~]# ll /server/

drwx------ 2 root   root 16384 8   7 11:59 lost+found

drwxrwxr-x 2 oracle dba   4096 8   7 12:32 oracle

drwxrwxr-x 2 oracle dba   4096 8   7 12:32 oradata

5、修改内核参数(服务器内存为2G的情况下)

[root@xuegod63 ~]# vi /etc/sysctl.conf

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmmax = 1073741824

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

kernel.shmall = 2097152

参数说明:

fs.aio-max-nr = 1048576

//表示同时可以拥有的异步IO请求数目,推荐值是1024K,也就是1024*1024=1048576字节

fs.file-max = 6815744

//系统中可以同时打开的文件数目,计算公式:512 乘以 processes (128process则为 65536),官方建议最少6815744

kernel.shmall = 2097152

//该参数控制可以使用的共享内存的总页数,(页面大小查看:getconf PAGE_SIZE,如内存超过16Gshmmax/4(kb),官方建议最少值为2097152

kernel.shmmax = 1073741824

//计算公式:1G*1024*1024*1024=1073741824 (字节)  

//是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值。设置应该足够大,能在一个共享内存段下容纳下整个的SGA ,设置的过低可能会导致需要创建多个共享内存段,这样可能导致系统性能的下降。至于导致系统下降的主要原因为在实例启动以及ServerProcess创建的时候,多个小的共享内存段可能会导致当时轻微的系统性能的降低(在启动的时候需要去创建多个虚拟地址段,在进程创建的时候要让进程对多个段进行“识别”,会有一些影响),但是其他时候都不会有影响。

  官方建议值:

  32linux系统:可取最大值为4GB4294967296bytes-1byte,即4294967295。建议值为多于内存的一半,所以如果是32位系统,一般可取值为429496729532位系统对SGA大小有限制,所以SGA肯定可以包含在单个共享内存段中。

  64linux系统:可取的最大值为物理内存值-1byte,建议值为多于物理内存的一半,一般取值大于SGA_MAX_SIZE即可,可以取物理内存-1byte。例如,如果为12GB物理内存,可取12*1024*1024*1024-1=12884901887SGA肯定会包含在单个共享内存段中

kernel.shmmni = 4096

//表示最小共享内存固定4096KB(最小值)

kernel.sem = 250 32000 100 128

//表示设置的信号量,它有4个参数依次是【SEMMSL:每个用户拥有信号量最大数;SEMMNS:系统信号量最大数;SEMOPM:每次semopm系统调用操作数;SEMMNI:系统辛苦量集数最大数。这4个参数为固定内容大小】

net.ipv4.ip_local_port_range = 9000 65500

//专用服务器模式下与用户进程通信时分配给用户的端口区间

net.core.rmem_default = 262144

net.core.wmem_default = 262144

//上面两个参数表示内核套接字接收缓存区默认的大小

net.core.rmem_max = 4194304

net.core.wmem_max = 1048576

//上面两个参数表示内核套接字接收缓存区默认的最大大小

设置完成后让它生效

[root@xuegod63 ~]# sysctl -p

6、检查软件安装用户的资源限制

root@xuegod63 ~]# vi /etc/security/limits.conf

[root@xuegod63 ~]# tail -20 /etc/security/limits.conf

#        - msgqueue - max memory used by POSIX message queues (bytes)

#        - nice - max nice priority allowed to raise to values: [-20, 19]

#        - rtprio - max realtime priority

#

#<domain>      <type>  <item>         <value>

#

 

#*               soft    core            0

#*               hard    rss             10000

#@student        hard    nproc           20

#@faculty        soft    nproc           20

#@faculty        hard    nproc           50

#ftp             hard    nproc           0

#@student        -       maxlogins       4

 

# End of file

oracle           soft    nproc   2047

oracle           hard    nproc   16384

oracle           soft    nofile  1024

oracle           hard    nofile  65536

oracle           soft    stack   10240

 

让配置的limit参数生效,所以要配置/etc/pam.d/login

vi /etc/pam.d/login  (在文件最后增加或修改以下参数)

session    required     pam_limits.so

设置系统变量,在后面添加针对ORACLE用户的资源限制

vi /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

 

7、配置ORACLE用户的环境变量

[root@xuegod63 ~]# vim /home/oracle/.bash_profile

 

# .bash_profile

 

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

        . ~/.bashrc

fi

 

# User specific environment and startup programs

 

PATH=$PATH:$HOME/bin

 

export PATH

export ORACLE_BASE=/server/oracle          

export ORACLE_HOME=$ORACLE_BASE/product/11.2/db_1     

export PATH=$ORACLE_HOME/bin:$PATH

export ORACLE_SID=test

export LANG=american_america.ZHS16GBK

export LD_LIBRARY_PATH=$ORACLE_HONE/lib

alias oratrace="cd $ORACLE_BASE/diag/rdbms/$ORACLE_SID/$ORACLE_SID/trace && ls|grep alert"

alias oradata="http://www.mamicode.com/cd /server/oradata/test"

alias topc="ps -e -o pcpu,pid,user,tty,args | sort -k 1 -r | head"

alias topm="ps -e -o pmem,pid,user,tty,args | sort -k 1 -r | head"

(LD_LIBRARY_PATH环境变量用于在程序加载运行期间查找动态链接库时指定除了系统默认路径之外的其他路径,注意,LD_LIBRARY_PATH中指定的路径会在系统默认路径之前进行查找)

8、上传软件包

[root@xuegod63 mnt]# ls

p13390677_112040_Linux-x86-64_1of7.zip p13390677_112040_Linux-x86-64_2of7.zip

[root@xuegod63 mnt]#unzip p13390677_112040_Linux-x86-64_1of7.zip

[root@xuegod63 mnt]#unzip p13390677_112040_Linux-x86-64_2of7.zip

[root@xuegod63 mnt]# chown -R oracle.dba database/

[root@xuegod63 mnt]# ll

drwxr-xr-x 7 oracle dba 4096 8  27 2013 database

四、安装软件

切换到ORACLE用户

1、安装数据库软件

[oracle@xuegod63 ~]$ cd /mnt

[oracle@xuegod63 mnt]$ cd database/

[oracle@xuegod63 database]$ ls

install  readme.html  response  rpm  runInstaller  sshsetup  stage  welcome.html

[oracle@xuegod63 database]$ ./runInstaller

正在启动 Oracle Universal Installer...

 

检查临时空间: 必须大于 120 MB   实际为 3314 MB    通过

检查交换空间: 必须大于 150 MB   实际为 2047 MB    通过

检查监视器: 监视器配置至少必须显示 256 种颜色。    实际为 16777216    通过

准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2016-08-07_08-15-57PM. 请稍候...

如下图如果出现乱码,设置一下环境变量

技术分享

[oracle@xuegod63 database]$ export LANG=en.US

技术分享

技术分享

选择YES

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

如下图:安装环境检测后有几个警告,一个是包的版本没有安装,一个是内核参数设置过小,一个是swap空间设置过小,内核参数可以点击fix&check again

技术分享

如下图,复制那个sh脚本在root用户状态下执行,此时不要点那个OK

技术分享

执行完成后,再点OK

交换分区值过小,可以有两种方法来增加swap分区,一种是将新的分区来作为swap,另一种是在磁盘中创建一个大的文件来作swap.

我们以文件扩展swap

[root@xuegod63 ~]# cd /var

[root@xuegod63 var]# dd if=/dev/zero of=file bs=1M count=1024

[root@xuegod63 var]# mkswap -f file

[root@xuegod63 var]# swapon file

[root@xuegod63 var]# free -m

             total       used       free     shared    buffers     cached

Mem:          1998       1921         77          0         50       1385

-/+ buffers/cache:        485       1513

Swap:         3071          0       3071

[root@xuegod63 var]# echo "/var/file   swap   swap   defaults  0   0" >> /etc/fstab

技术分享

安装pdksh包,如果安装不上,可以先把KSH这个包卸载

[root@xuegod63 mnt]# wget http://mirror.centos.org/centos/5/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm

[root@xuegod63 Packages]# rpm -qa|grep ksh

ksh-20120801-10.el6.x86_64

[root@xuegod63 Packages]# rpm -e ksh-20120801-10.el6.x86_64

[root@xuegod63 mnt]# rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm

warning: pdksh-5.2.14-37.el5_8.1.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID e8562897: NOKEY

Preparing...                ########################################### [100%]

   1:pdksh                  ########################################### [100%]

然后我们再次点安装检测

技术分享

技术分享

技术分享

技术分享

root用户身份执行上面两条脚本,然后点ok

[root@xuegod63 oraInventory]# /server/oracle/oraInventory/orainstRoot.sh

Changing permissions of /server/oracle/oraInventory.

Adding read,write permissions for group.

Removing read,write,execute permissions for world.

 

Changing groupname of /server/oracle/oraInventory to dba.

The execution of the script is complete.

[root@xuegod63 oraInventory]# /server/oracle/product/11.2/db_1/root.sh

Performing root user operation for Oracle 11g

 

The following environment variables are set as:

    ORACLE_OWNER= oracle

    ORACLE_HOME=  /server/oracle/product/11.2/db_1

 

Enter the full pathname of the local bin directory: [/usr/local/bin]:  à直接回车

   Copying dbhome to /usr/local/bin ...

   Copying oraenv to /usr/local/bin ...

   Copying coraenv to /usr/local/bin ...

 

 

Creating /etc/oratab file...

Entries will be added to the /etc/oratab file as needed by

Database Configuration Assistant when a database is created

Finished running generic part of root script.

Now product-specific root actions will be performed.

Finished product-specific root actions.

技术分享

2、配置监听

[oracle@xuegod63 database]$ netca

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

 

技术分享

 

技术分享

3、安装oracle数据库

[oracle@xuegod63 database]$ dbca

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

安装完成

查看监听状态正常

技术分享

查看数据库版本及状态正常

技术分享

 

根据时间关系,把另外几种安装方式说一下,软件安装的三种方式:图形、静默、克隆

二、克隆安装($ORACLE_HOME

1、首先建立Oracle的相关OS用户、组还有调整好内核参数,设置Oracle用户的环境变量

 2、如果源机和目标机的Oracle Home目录一样,用户、组也一样,那直接复制过去后重新用root用户运行一下root.sh就可以了,非常简单。

 3、如果源机和目标机的Oracle Home目录一样,用户、组不一样(主要是用户ID不一样),复制过去后要重新设定一下文件所属 chown -R 用户: $ORACLE_HOME,然后 relink all;再运行一下root.sh就可以了

 4、如果用户、组和Oracle Home目录都不一样

先介绍一下环境

源机:

 [oracle@test01 oracle]$ echo $ORACLE_BASE

/u01/app/oracle

[oracle@test01 oracle]$ echo $ORACLE_HOME

/u01/app/oracle/11.2.0.2

[oracle@test01 oracle]$ id

uid=1003(oracle) gid=501(oracle) groups=501(oracle)

目标机:

[ora11g@test06 ora11g]$ echo $ORACLE_BASE

/u01/app/ora11g

[ora11g@test06 ora11g]$ echo $ORACLE_BASE

/u01/app/ora11g/product/11.2.0.2/db_1

[ora11g@test06 ora11g]$ id

uid=731(ora11g) gid=700(oradba) groups=700(oradba)

首先在源机上对Oracle Home打包,要用root用户执行,并且保留相关的权限,复制到目标机器上:

[oracle@test01 oracle]$ echo $ORACLE_HOME

/u01/app/oracle/11.2.0.2

[oracle@test01 oracle]$ exit

[oracle@test01 ~]$ cd /u01/app/oracle/

[root@test01 oracle]# tar zcvfp 11.2.0.2.tar.gz ./11.2.0.2/

[root@test01 oracle]# scp ./11.2.0.2.tar.gz 10.168.0.206:/u01/app/ora11g/product/11.2.0.2/

下面在目标机上操作:

[root@test06 ~]# cd /u01/app/ora11g/product/11.2.0.2/

[root@test06 11.2.0.2]# tar zxvf 11.2.0.2.tar.gz

[root@test06 11.2.0.2]# ll

total 2129880

drwxr-xr-x 75   1003 oradba       4096 Nov 20 22:19 11.2.0.2

-rw-r--r--  1 root   root   2178854174 Jan 21 09:35 11.2.0.2.tar.gz

drwxr-xr-x  2 ora11g oradba       4096 Jan 21 09:47 db_1

[root@test06 11.2.0.2]# rm -rf db_1/

[root@test06 11.2.0.2]# mv 11.2.0.2 db_1

[root@test06 11.2.0.2]# chown -R ora11g:oradba ./db_1/

      修改 $ORACLE_HOME/rdbms/lib/config.c Oracle用户的组名改过来,relink all一下就可以了:

[root@test06 ~]# su - ora11g

[ora11g@test06 ~]$ cat $ORACLE_HOME/rdbms/lib/config.c

 

/*  SS_DBA_GRP defines the UNIX group ID for sqldba adminstrative access.  */

/*  Refer to the Installation and User‘s Guide for further information.  */

 

/* IMPORTANT: this file needs to be in sync with

              rdbms/src/server/osds/config.c, specifically regarding the

              number of elements in the ss_dba_grp array.

 */

 

#define SS_DBA_GRP "oradba"

#define SS_OPER_GRP "oradba"

#define SS_ASM_GRP "oradba"

 

char *ss_dba_grp[] = {SS_DBA_GRP, SS_OPER_GRP, SS_ASM_GRP};  

[ora11g@test06 ~]$ relink all

    

  修改 $ORACLE_HOME 中的 oraInst.loc 文件,其实就是填入正确 oraInventory 目录,这个oraInventory 可以不建,但是父目录必须存在,并且Oracle用户可以写入(建目录):

[ora11g@test06 ~]$ cd $ORACLE_HOME

[ora11g@test06 db_1]$ cp oraInst.loc{,.bak}

[ora11g@test06 db_1]$ vim oraInst.loc

[ora11g@test06 db_1]$ more oraInst.loc*  

::::::::::::::

oraInst.loc

::::::::::::::

inventory_loc=/u01/app/ora11g/oraInventory

inst_group=oradba

::::::::::::::

oraInst.loc.bak

::::::::::::::

inventory_loc=/u01/app/oracle/oraInventory

inst_group=oradba

      修改 $ORACLE_HOME/clone/config/cs.properties  在最后加上参数-invPtrLoc 指明 oraInst.loc 所在的路径:

[ora11g@test06 db_1]$ cd $ORACLE_HOME/clone/config

[ora11g@test06 config]$ cat cs.properties

# Copyright (c) 2005, Oracle. All rights reserved. 

 

# clone command line

clone_command_line= -silent -noConfig -nowait -invPtrLoc "/u01/app/ora11g/product/11.2.0.2/db_1/oraInst.loc"

 

再去到 $ORACLE_HOME/clone/bin 目录执行一下一个perl脚本:

./clone.pl \

ORACLE_HOME="/u01/app/ora11g/product/11.2.0.2/db_1" \

ORACLE_BASE="/u01/app/ora11g" \

OSDBA_GROUP="oradba" \

OSOPER_GROUP="oradba" \

OSASM_GROUP="oradba" \

ORACLE_HOME_NAME="OracleHome1"

[ora11g@test06 config]$ cd $ORACLE_HOME/clone/bin

[ora11g@test06 bin]$ ls

clone.pl  prepare_clone.pl

[ora11g@test06 bin]$ ./clone.pl \

[ora11g@test06 bin]> ORACLE_HOME="/u01/app/ora11g/product/11.2.0.2/db_1" \

[ora11g@test06 bin]> ORACLE_BASE="/u01/app/ora11g" \

[ora11g@test06 bin]> OSDBA_GROUP="oradba" \

[ora11g@test06 bin]> OSOPER_GROUP="oradba" \

[ora11g@test06 bin]> OSASM_GROUP="oradba" \

[ora11g@test06 bin]> ORACLE_HOME_NAME="OracleHome1"

最后按照提示用root用户执行那个 $ORACLE_HOME root.sh OK了。

5.到了这一步,如果你要是复制数据库数据oradata的文件,那么只需要需要相应的文件路径

6.也可以自己建,先删除$ORACLE_HOME/dbs/spfiletest.ora文件,还有$ORACLE_HOME/network/admin/*.ora都删除,然后dbca ,netca

三、根据响应文件安装(针对个别单位不能使用图形界面,只能使用静默安装)

解压完数据库软件包以后,在它的目录下面有相应的响应文件

[root@xuegod63 mnt]# ls

database  pdksh-5.2.14-37.el5_8.1.x86_64.rpm

[root@xuegod63 mnt]# cd database/

[root@xuegod63 database]# ls

install  readme.html  response  rpm  runInstaller  sshsetup  stage  welcome.html

[root@xuegod63 database]# cd response/

[root@xuegod63 response]# ls

dbca.rsp  db_install.rsp  netca.rsp

 

1、生成响应文件模板

 $ vi db_install.rsp

#--------------------------------------------------------------------

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0

oracle.install.option=INSTALL_DB_SWONLY

ORACLE_HOSTNAME=xuegod64

UNIX_GROUP_NAME=oinstall

INVENTORY_LOCATION=/server/oracle/oraInventory

SELECTED_LANGUAGES=en

ORACLE_HOME=/server/oracle/product/11.2/db_1

ORACLE_BASE=/server/oracle

oracle.install.db.InstallEdition=EE

oracle.install.db.EEOptionsSelection=true

oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:11.2.0.4.0,oracle.rdbms.dv:11.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0

oracle.install.db.DBA_GROUP=oinstall

oracle.install.db.OPER_GROUP=dba

SECURITY_UPDATES_VIA_MYORACLESUPPORT=false

DECLINE_SECURITY_UPDATES=true

oracle.installer.autoupdates.option=SKIP_UPDATES

 

#--------------------------------------------------------------------

 

 

各参数含义如下:

-silent 表示以静默方式安装,不会有任何提示

-force 允许安装到一个非空目录

-noconfig 表示不运行配置助手netca

-responseFile 表示使用哪个响应文件,必需使用绝对路径

oracle.install.responseFileVersion 响应文件模板的版本,该参数不要更改

oracle.install.option 安装选项,本例只安装oracle软件,该参数不要更改

DECLINE_SECURITY_UPDATES 是否需要在线安全更新,设置为true

ORACLE_HOSTNAME 安装主机名

UNIX_GROUP_NAME oracle用户用于安装软件的组名

INVENTORY_LOCATION oracle产品清单目录

SELECTED_LANGUAGES oracle运行语言环境,一般包括英文和简繁体中文

ORACLE_HOME Oracle安装目录

ORACLE_BASE oracle基础目录

oracle.install.db.InstallEdition 安装版本类型,一般是企业版

oracle.install.db.optionalComponents 定制安装组件列表

oracle.install.db.DBA_GROUP oracle用户用于授予OSDBA权限的组名

oracle.install.db.OPER_GROUP oracle用户用于授予OSOPER权限的组名

2 开始安装oracle软件

1) 通过response文件静默安装大概10-15分钟:

 $ ./runInstaller -silent  -responseFile /mnt/database/response/db_install.rsp

用法:

runInstaller  [-options] [(<CommandLineVariable=Value>)*]

 

其中选项包括:

  -clusterware oracle.crs,<crs version> 

         已安装的集群就绪服务的版本。

 

  -crsLocation <Path> 

         仅用于安装集群, 可指定 CRS 主目录位置的路径。指定此路径将覆盖从主产品清单中获取的 CRS 信息。

 

  -invPtrLoc <full path of oraInst.loc> 

         仅适用于 Unix。指向其他产品清单位置。orainst.loc 文件中包含:

inventory_loc=<location of central inventory>

inst_group=<>

 

  -jreLoc <location> 

         Java 运行时环境的安装路径。没有该路径, OUI 就无法运行。

 

  -logLevel <level> 

         过滤优先级别低于 <level> 的日志消息。有效的选项包括: severe, warning, info, config, fine, finer, finest, basic, general, detailed trace。建议不要使用 basic, general, detailed trace

 

  -paramFile <location of file> 

         指定 OUI 要使用的 oraparam.ini 文件的位置。

 

  -responseFile <Path> 

         指定要使用的响应文件和路径。

 

  -attachHome 

         将主目录附加到 OUI 产品清单。

 

  -cfs 

         表明指定的 Oracle 主目录位于集群文件系统 (已共享) 中。如果指定 ‘-local‘, 则必须同时指定此选项, 这样 Oracle Universal Installer 才能相应地在产品清单中注册该主目录。

 

  -clone 

         使 Oracle 主目录副本与当前环境匹配。

 

  -debug 

         OUI 获取调试信息。

 

  -detachHome 

         用于将主目录与 OUI 产品清单分离, 而不删除 Oracle 主目录内的产品清单目录。

 

  -enableRollingUpgrade 

         在集群环境中使用, 用于允许在 (安装了该产品的) 节点子集上对产品进行升级。

 

  -executeSysPrereqs 

         执行系统先决条件检查并退出。

 

  -force 

         允许在非空目录中进行无提示模式的安装。

 

  -help 

         显示上述用法。

 

  -ignoreSysPrereqs 

         忽略系统先决条件检查的结果。

 

  -local 

         无论是否指定集群节点, 均在本地节点上执行操作。

 

  -printdiskusage 

         记录有关磁盘使用情况的调试信息。

 

  -printmemory 

         记录有关内存使用情况的调试信息。

 

  -printtime 

         记录有关时间使用情况的调试信息。

 

  -relink 

         Oracle 主目录执行重新链接操作

          用法: -relink -maketargetsxml <location of maketargetsxml> [-makedepsxml <location of makedepsxml>] [name=value]

 

  -silent 

         对于无提示模式下的操作, 输入内容可以是一个响应文件, 也可以是命令行变量值对的列表。

 

  -waitforcompletion 

         安装程序将等待完成, 而不是衍生 Java 引擎并退出。

 

  -suppressPreCopyScript 

         禁止执行预复制脚本。

 

  -acceptUntrustedCertificates 

         接受来自安全站点的不受信任的证书。

 

  -suppressPostCopyScript 

         禁止执行复制后脚本。

 

  -noconfig 

         不执行配置工具。

 

  -noconsole 

         禁止在控制台中显示消息。不分配控制台。

 

  -formCluster 

         安装 Oracle Clusterware 以构成集群。

 

  -remotecp <Path> 

         Unix 特定选项。仅用于安装集群, 可指定本地集群节点上远程复制程序的路径。

 

  -remoteshell <Path> 

         Unix 特定选项。仅用于安装集群, 可指定本地集群节点上远程 shell 程序的路径。

 

  -executePrereqs

         仅执行先决条件检查。

 

  -ignorePrereq

         忽略运行先决条件检查。

 

  -ignoreInternalDriverError

         忽略任何内部驱动程序错误。

 

  -downloadUpdates

         只下载更新。

 

  -showProgress

         用于在控制台上显示安装进度。仅在无提示安装下才支持此选项。

 

控制台直到出现以下提示则表示安装完成:

#-------------------------------------------------------------------

...

/server/oracle/oraInventory/orainstRoot.sh

/server/oracle/product/11.2/db_1/root.sh

To execute the configuration scripts:

         1. Open a terminal window 

         2. Log in as "root" 

         3. Run the scripts 

         4. Return to this window and hit "Enter" key to continue 

 

Successfully Setup Software.

#-------------------------------------------------------------------

 

 2) 安装期间查看安装日志信息了解安装进度:

 

$ cd $ORACLE_BASE/oraInventory/logs

$ tail -100f installActions*.log

 

3) 安装的软件信息会写入inventory.xml文件

如果需重运行则把该文件的对应安装条目信息删除即可:

 $ vi $ORACLE_BASE/oraInventory/ContentsXML/inventory.xml

 

4)  运行orainstRoot.shroot.sh

 若本机第一次安装oracle软件则执行orainstRoot.sh来建立oraInst.loc文件和修改权限:

$ su - root

/server/oracle/oraInventory/orainstRoot.sh

# more /etc/oraInst.loc

  执行$ORACLE_HOME下的root.sh来建立oratab,dbhome,oraenv,coraenv文件如果提示则一直回车:

/server/oracle/product/11.2/db_1/root.sh

# more /etc/oratab

3 静默配置监听

 通过response文件运行netca, 生成sqlnet.oralistener.ora文件位于$ORACLE_HOME/network/admin目录下:

# su - oracle

$ORACLE_HOME/bin/netca -silent -responseFile /mnt/database/response/netca.rsp

$ ll $ORACLE_HOME/network/admin/*.ora

$ lsnrctl status

执行完后监听就已经启动了默认端口是1521, 默认是动态监听只要实例启动了就会监听到

4 静默建库

1) 生成响应文件模板:

$ vi /mnt/database/db_create.rsp

#--------------------------------------------------------------------

#以下参数不要更改

[GENERAL]

RESPONSEFILE_VERSION = "11.2.0"

OPERATION_TYPE = "createDatabase"

#以下参数必须设置

[CREATEDATABASE]

GDBNAME = "ORCL.LK"

TEMPLATENAME = "General_Purpose.dbc"

#以下参数不设置则使用默认值,建议设置

CHARACTERSET = "ZHS16GBK"

TOTALMEMORY = "1024"

#--------------------------------------------------------------------

 

 2) dbca静默建库大概3-5分钟:

种子数据库和控制文件位于$ORACLE_HOME/assistants/dbca/templates/Seed_Database.dfbSeed_Database.ctl文件实际上建库就是基于通过rman恢复种子数据库和控制文件来实现的.

 

$ORACLE_HOME/bin/dbca -silent -responseFile /mnt/database/response/db_create.rsp

Enter SYS user password: 

<输入sys用户密码

Enter SYSTEM user password: 

<输入system用户密码

Copying database files

...

37% complete

Creating and starting Oracle instance

...

62% complete

Completing Database Creation

...

100% complete

Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/ORCL/ORCL.log" for further details.

 

 各参数含义如下:

-silent 表示以静默方式安装

-responseFile 表示使用哪个响应文件,必需使用绝对路径

RESPONSEFILE_VERSION 响应文件模板的版本,该参数不要更改

OPERATION_TYPE 安装类型,该参数不要更改

GDBNAME 全局数据库名,点号前面默认是db_name,点号后面默认就是db_domain

TEMPLATENAME 建库模板名,参考各模板定义:$ORACLE_HOME/assistants/dbca/templates/*.dbc

CHARACTERSET 字符集,默认是WE8MSWIN1252

TOTALMEMORY 实例内存,默认是服务器物理内存的40%

 

3) 安装期间查看日志信息了解进度:

 $ tail -100f $ORACLE_BASE/cfgtoollogs/dbca/$ORACLE_SID/$ORACLE_SID.log 

 

 

 

 

 



来自为知笔记(Wiz)



附件列表

 

Oracle数据库11g基于rehl6.5的配置与安装