REDHAT6.5安装oracle11.2.4
ORACLE11G R2官档网址:
http://docs.oracle.com/cd/E11882_01/install.112/e24326/toc.htm#BHCGGJAB
一、操作系统
[[email protected] ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.5 (Santiago)
[[email protected] ~]# uname -m
x86_64
二、检测硬件环境
1、内存
ORACLE官方建议swap设置标准:
对于运行ORACLE数据库的操作系统,ORACLE官方是有设置大小建议的,在此以从ORACLE 11g R2官方文档中提取的建议大小为例:
3.1 Memory RequirementsThe 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.
|
(1)ORACLE官方要求最小1GB的RAM,建议2GB或更大
(2)SWAP与RAM的大小配置关系
1)、RAM为1-2GB时,SWAP大小建议为RAM大小的1.5倍
2)、RAM为2-16GB时,SWAP大小建议与RAM大小相等
3)、RAM大于16GB时,SWAP大小建议为16GB
内存大小的查看命令:
[[email protected] ~]# grep MemTotal /proc/meminfo ---查看物理内存
MemTotal: 2046588 kB
[[email protected] ~]# grep SwapTotal /proc/meminfo --查看SWAP交换内存
SwapTotal: 2097144 kB
[[email protected] ~]# free
total used free shared buffers cached
Mem: 2046588 1188520 858068 0 95160 107784
-/+ buffers/cache: 985576 1061012
Swap: 2097144 0 2097144
[[email protected] ~]# 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、硬盘大小
查看本机硬盘大小
[[email protected] 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
[[email protected] ~]# yum -y install compat-libcap1 compat-libstdc++-33 ksh libaio-devel
2、设置主机名、修改/etc/hosts,设置主机名和Ip的对应关系
[[email protected] ~]# 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
[[email protected] ~]# hostname
xuegod63
3、创建oracle用户uid为500、dba组gid为501,oracle用户主组为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的权限包括startup和shutdown,所以要小心为该用户组添加成员
[[email protected] ~]# groupadd -g 500 oinstall
[[email protected] ~]# groupadd -g 501 dba
[[email protected] ~]# groupadd -g 502 oper
[[email protected] ~]# useradd -u 500 -g oinstall –G dba,oper oracle
[[email protected] ~]# id oracle
[[email protected] ~]# passwd oracle
更改用户 oracle 的密码。
新的密码:
无效的密码:它基于字典单词
无效的密码:过于简单
重新输入新的密码:
passwd:所有的身份验证令牌已经成功更新。
用ORACLE用户登录一下,激活这个用户
4、创建ORACLE用户的安装目录与数据存放目录,并设置目录的所有者,组和权限
[[email protected] ~]# mkdir -p /server/oracle
[[email protected] ~]# mkdir -p /server/oradata
[[email protected] ~]#mkdir -p /server/oracle/oraInventory
[[email protected] ~]# chown –R oracle:dba /server/ora*
[[email protected] ~]# chmod -R 775 /server/ora*
[[email protected] ~]# 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的情况下)
[[email protected] ~]# 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请求数目,推荐值是1024个K,也就是1024*1024=1048576字节
fs.file-max = 6815744
//系统中可以同时打开的文件数目,计算公式:为512 乘以 processes (如128个process则为 65536),官方建议最少6815744
kernel.shmall = 2097152
//该参数控制可以使用的共享内存的总页数,(页面大小查看:getconf PAGE_SIZE),如内存超过16G则shmmax/4(kb),官方建议最少值为2097152
kernel.shmmax = 1073741824
//计算公式:1G*1024*1024*1024=1073741824 (字节)
//是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值。设置应该足够大,能在一个共享内存段下容纳下整个的SGA ,设置的过低可能会导致需要创建多个共享内存段,这样可能导致系统性能的下降。至于导致系统下降的主要原因为在实例启动以及ServerProcess创建的时候,多个小的共享内存段可能会导致当时轻微的系统性能的降低(在启动的时候需要去创建多个虚拟地址段,在进程创建的时候要让进程对多个段进行“识别”,会有一些影响),但是其他时候都不会有影响。
官方建议值:
32位linux系统:可取最大值为4GB(4294967296bytes)-1byte,即4294967295。建议值为多于内存的一半,所以如果是32位系统,一般可取值为4294967295。32位系统对SGA大小有限制,所以SGA肯定可以包含在单个共享内存段中。
64位linux系统:可取的最大值为物理内存值-1byte,建议值为多于物理内存的一半,一般取值大于SGA_MAX_SIZE即可,可以取物理内存-1byte。例如,如果为12GB物理内存,可取12*1024*1024*1024-1=12884901887,SGA肯定会包含在单个共享内存段中
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
//上面两个参数表示内核套接字接收缓存区默认的最大大小
设置完成后让它生效
[[email protected] ~]# sysctl -p
6、检查软件安装用户的资源限制
[email protected] ~]# vi /etc/security/limits.conf
[[email protected] ~]# 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用户的环境变量
[[email protected] ~]# 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="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、上传软件包
[[email protected] mnt]# ls
p13390677_112040_Linux-x86-64_1of7.zip p13390677_112040_Linux-x86-64_2of7.zip
[[email protected] mnt]#unzip p13390677_112040_Linux-x86-64_1of7.zip
[[email protected] mnt]#unzip p13390677_112040_Linux-x86-64_2of7.zip
[[email protected] mnt]# chown -R oracle.dba database/
[[email protected] mnt]# ll
drwxr-xr-x 7 oracle dba 4096 8月 27 2013 database
四、安装软件
切换到ORACLE用户
1、安装数据库软件
[[email protected] ~]$ cd /mnt
[[email protected] mnt]$ cd database/
[[email protected] database]$ ls
install readme.html response rpm runInstaller sshsetup stage welcome.html
[[email protected] 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. 请稍候...
如下图如果出现乱码,设置一下环境变量
[[email protected] database]$ export LANG=en.US
选择YES
如下图:安装环境检测后有几个警告,一个是包的版本没有安装,一个是内核参数设置过小,一个是swap空间设置过小,内核参数可以点击fix&check again
如下图,复制那个sh脚本在root用户状态下执行,此时不要点那个OK
执行完成后,再点OK
交换分区值过小,可以有两种方法来增加swap分区,一种是将新的分区来作为swap,另一种是在磁盘中创建一个大的文件来作swap.
我们以文件扩展swap
[[email protected] ~]# cd /var
[[email protected] var]# dd if=/dev/zero of=file bs=1M count=1024
[[email protected] var]# mkswap -f file
[[email protected] var]# swapon file
[[email protected] var]# free -m
total used free shared buffers cached
Mem: 1998 1921 77 0 50 1385
-/+ buffers/cache: 485 1513
Swap: 3071 0 3071
[[email protected] var]# echo "/var/file swap swap defaults 0 0" >> /etc/fstab
安装pdksh包,如果安装不上,可以先把KSH这个包卸载
[[email protected] mnt]# wget http://mirror.centos.org/centos/5/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm
[[email protected] Packages]# rpm -qa|grep ksh
ksh-20120801-10.el6.x86_64
[[email protected] Packages]# rpm -e ksh-20120801-10.el6.x86_64
[[email protected] 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
[[email protected] 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.
[[email protected] 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、配置监听
[[email protected] database]$ netca
3、安装oracle数据库
[[email protected] 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目录都不一样
先介绍一下环境
源机:
[[email protected] oracle]$ echo $ORACLE_BASE
/u01/app/oracle
[[email protected] oracle]$ echo $ORACLE_HOME
/u01/app/oracle/11.2.0.2
[[email protected] oracle]$ id
uid=1003(oracle) gid=501(oracle) groups=501(oracle)
目标机:
[[email protected] ora11g]$ echo $ORACLE_BASE
/u01/app/ora11g
[[email protected] ora11g]$ echo $ORACLE_BASE
/u01/app/ora11g/product/11.2.0.2/db_1
[[email protected] ora11g]$ id
uid=731(ora11g) gid=700(oradba) groups=700(oradba)
首先在源机上对Oracle Home打包,要用root用户执行,并且保留相关的权限,复制到目标机器上:
[[email protected] oracle]$ echo $ORACLE_HOME
/u01/app/oracle/11.2.0.2
[[email protected] oracle]$ exit
[[email protected] ~]$ cd /u01/app/oracle/
[[email protected] oracle]# tar zcvfp 11.2.0.2.tar.gz ./11.2.0.2/
[[email protected] oracle]# scp ./11.2.0.2.tar.gz 10.168.0.206:/u01/app/ora11g/product/11.2.0.2/
下面在目标机上操作:
[[email protected] ~]# cd /u01/app/ora11g/product/11.2.0.2/
[[email protected] 11.2.0.2]# tar zxvf 11.2.0.2.tar.gz
[[email protected] 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
[[email protected] 11.2.0.2]# rm -rf db_1/
[[email protected] 11.2.0.2]# mv 11.2.0.2 db_1
[[email protected] 11.2.0.2]# chown -R ora11g:oradba ./db_1/
修改 $ORACLE_HOME/rdbms/lib/config.c 将Oracle用户的组名改过来,relink all一下就可以了:
[[email protected] ~]# su - ora11g
[[email protected] ~]$ 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};
[[email protected] ~]$ relink all
修改 $ORACLE_HOME 中的 oraInst.loc 文件,其实就是填入正确 oraInventory 目录,这个oraInventory 可以不建,但是父目录必须存在,并且Oracle用户可以写入(建目录):
[[email protected] ~]$ cd $ORACLE_HOME
[[email protected] db_1]$ cp oraInst.loc{,.bak}
[[email protected] db_1]$ vim oraInst.loc
[[email protected] 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 所在的路径:
[[email protected] db_1]$ cd $ORACLE_HOME/clone/config
[[email protected] 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"
[[email protected] config]$ cd $ORACLE_HOME/clone/bin
[[email protected] bin]$ ls
clone.pl prepare_clone.pl
[[email protected] bin]$ ./clone.pl \
[[email protected] bin]> ORACLE_HOME="/u01/app/ora11g/product/11.2.0.2/db_1" \
[[email protected] bin]> ORACLE_BASE="/u01/app/ora11g" \
[[email protected] bin]> OSDBA_GROUP="oradba" \
[[email protected] bin]> OSOPER_GROUP="oradba" \
[[email protected] bin]> OSASM_GROUP="oradba" \
[[email protected] 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
三、根据响应文件安装(针对个别单位不能使用图形界面,只能使用静默安装)
解压完数据库软件包以后,在它的目录下面有相应的响应文件
[[email protected] mnt]# ls
database pdksh-5.2.14-37.el5_8.1.x86_64.rpm
[[email protected] mnt]# cd database/
[[email protected] database]# ls
install readme.html response rpm runInstaller sshsetup stage welcome.html
[[email protected] database]# cd response/
[[email protected] 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.sh和root.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.ora和listener.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.dfb和Seed_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