Oracle 11.1.0.6 for linux X86 64的SILENT安装
首先是检查系统硬件情况:
代码:
[root@enterprice64 ~]# grep MemTotal /proc/meminfo
MemTotal: 8178836 kB
[root@enterprice64 ~]# grep SwapTotal /proc/meminfo
SwapTotal: 8385888 kB
[root@enterprice64 ~]# free
total used free shared buffers cached
Mem: 8178836 5297744 2881092 0 122512 4773424
-/+ buffers/cache: 401808 7777028
Swap: 8385888 0 8385888
[root@enterprice64 ~]# df -k /dev/shm
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 4089416 0 4089416 0% /dev/shm
[root@enterprice64 ~]# df -k /tmp
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda7 10153988 428132 9201740 5% /
[root@enterprice64 ~]# df -k /data
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda9 207275064 3933228 192642952 3% /data
要求内存不小于1G,在内存小于2G,SWAP应该是内存的1.5倍,内存2到8G,
SWAP和内存相同大小即可,内存超过8G,SWAP是内存的0.75倍。
由于11g对于共享内存要求变大,因此系统共享内存应该大于512*进程数,
如果共享内存不足的话,会造成ORA-845或ORA-1078错误。
要求临时表空间不少于200M,安装目录应大于4G。
下面检查系统软件情况:
代码:
[root@enterprice64 ~]# cat /proc/version
Linux version 2.6.18-8.el5 (mockbuild@ca-build14)
(gcc version 4.1.1 20070105 (Red Hat 4.1.1-52)) #1
SMP Tue Jun 5 23:25:19 EDT 2007
[root@enterprice64 ~]# uname -a
Linux enterprice64 2.6.18-8.el5 #1 SMP Tue Jun 5
23:25:19 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux
[root@enterprice64 ~]# more /etc/issue
Enterprise Linux Enterprise Linux Server release 5 (Carthage)
Kernel r on an m
.
对操作系统要求:
Asianux 2.0
Asianux 3.0
Oracle Enterprise Linux 4.0
Oracle Enterprise Linux 5.0
Red Hat Enterprise Linux 4.0
Red Hat Enterprise Linux 5.0
SUSE Enterprise Linux 10.0
系统内核为2.6.9(Asianux 2.0、Oracle Enterprise Linux
4.0、Red Hat Enterprise Linux 4.0),2.6.18
(Asianux 3.0、Oracle Enterprise Linux 5.0、
Red Hat Enterprise Linux 5.0),或2.6.16.21(SUSE Enterprise Linux 10.0)。
对于ES4,oracle需要一下包:
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.1
gcc-c++-4.1.1
glibc-2.5-12
glibc-2.5-12 (32 bit)
glibc-common-2.5
glibc-devel-2.5
glibc-devel-2.5-12 (32 bit)
libaio-0.3.106
libaio-0.3.106 (32 bit)
libaio-devel-0.3.106
libgcc-4.1.1
libgcc-4.1.1 (32 bit)
libstdc++-4.1.1
libstdc++-4.1.1 (32 bit)
libstdc++-devel 4.1.1
make-3.81
sysstat-7.0.0
通过rpm –qa查询是否所有需要的包都以及安装,如果没有安装的通过
rpm –ivh命令进行安装。
检查网络情况:
代码:
[root@enterprice64 ~]# cat /etc/nsswitch.conf|grep hosts
#hosts: db files nisplus nis dns
hosts: files dns
[root@enterprice64 ~]# hostname
enterprice64
[root@enterprice64 ~]# domainname
(none)
[root@enterprice64 ~]# more /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 enterprice64 localhost.localdomain localhost
172.25.13.195 enterprice64
建立Oracle用户和dba组:
代码:
[root@enterprice64 ~]# groupadd oinstall
[root@enterprice64 ~]# groupadd dba
[root@enterprice64 ~]# groupadd asadmin
[root@enterprice64 ~]# useradd -g oinstall -G dba,asadmin oracle
[root@enterprice64 ~]# passwd oracle
Changing password for user oracle.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@enterprice64 ~]# id nobody
uid=99(nobody) gid=99(nobody) groups=99(nobody) context=root:system_r:unconfined_t:SystemLow-SystemHigh
建立oinstall、dba和asadmin组。创建好用户后,检查nobody用户是否存在。
不存在的话,建立该用户。
检测并修改系统的核心参数,编辑/etc/sysctl.conf文件,添加下面的配置,
保存后重启系统。注意,如果系统默认的配置比这里给出的值大,不要修改原有配置。
fs.file-max = 512 * PROCESSES
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144
配置oracle用户的环境变量和shell限制,编辑/etc/security/limits.conf,添加下面的内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
编辑/etc/pam.d/login文件,添加下面的内容:
session required /lib/security/pam_limits.so
session required pam_limits.so
编辑oracle用户目录下的.bash_rc文件,添加下列环境变量:
umask 022
if [ $USER = 'oracle' ]; then
if [ $SHELL = '/bin/ksh' ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
export TMP=/tmp
export TMPDIR=/tmp
export ORACLE_BASE=/data/oracle
export ORACLE_SID=ora11g64
export ORACLE_HOME=/data/oracle/product/11.1
最后建立安装Oracle所需的目录结构。
代码:
[root@enterprice64 ~]# mkdir -p /data/oracle/product/11.1
[root@enterprice64 ~]# chown -R oracle.oinstall /data
准备工作做完了下面开始进行Silent方式的安装。
首先设置oraInst.loc文件:
代码:
[root@enterprice64 ~]# ls -l /etc/oraInst.loc
-rw-rw-r-- 1 oracle dba 61 Oct 19 17:25 /etc/oraInst.loc
[root@enterprice64 ~]# more /etc/oraInst.loc
inventory_loc=/data/oracle/oraInventory
inst_group=oinstall
确保/etc/oraInst.loc中包含上面的信息,且Oracle包含访问权限。
根据希望安装的数据库类型选择Silent的response_file文件的类似,
比如:enterprise.rsp、standard.rsp还是custom.rsp。
这里选择enterpise.rsp类型,
安装盘中的database/response目录下对应的response文件拷贝出来,
根据文件里面的提示对输入值进行修改。
比如这个例子中对如下的参数进行设置:
UNIX_GROUP_NAME='oinstall'
FROM_LOCATION='/data/database/stage/products.xml'
ORACLE_BASE='/data/oracle'
ORACLE_HOME='/data/oracle/product/11.1'
ORACLE_HOME_NAME='ORADBHOME11'
SHOW_ROOTSH_CONFIRMATION=false
RESTART_SYSTEM=false
RESTART_REMOTE_SYSTEM=false
COMPONENT_LANGUAGES={'zh_CN'}
s_nameForDBAGrp='dba'
s_nameForOPERGrp='oinstall'
s_nameForASMGrp='asadmin'
n_configurationOption=3
s_ASMSYSPassword='asm'
s_ASMSYSPasswordAgain='asm'
注意,所有的字符串需要放在双引号中,注意大小写。数字和布尔变量直接写就可以。
由于这里没有选择建立数据库而只安装软件,因此没有设置数据库相关的配置参数。
代码:
[oracle@enterprice64 data]$ chmod 700 enterprise.rsp
下面可以开始SILENT安装了:
注意,响应文件需要使用绝对路径。
代码:
[oracle@enterprice64 database]$ ./runInstaller -silent -noconfig -responseFile /data/database/enterprise.rsp
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 120 MB.
Actual 8886 MB Passed
Checking swap space: must be greater than 150 MB.
Actual 8189 MB Passed
Preparing to launch Oracle Universal
Installer from /tmp/OraInstall2007-10-19_06-40-04PM.
Please wait ...[oracle@enterprice64 database]$
Oracle Universal Installer, Version 11.1.0.6.0 Production
Copyright (C) 1999, 2007, Oracle. All rights reserved.
You can find the log of this install session at:
/data/oracle/oraInventory/logs/installActions2007-10-19_06-40-04PM.log
............................................................ 100% Done.
Loading Product Information
..........................................................100% Done.
Starting execution of Prerequisites...
Total No of checks: 14
Performing check for CertifiedVersions
Checking operating system requirements ...
Expected result: One of enterprise-4,enterprise-5,redhat-4,
redhat-5,SuSE-10,asianux-2,asianux-3
Actual Result: enterprise-5
Check complete. The overall result of this check is: Passed
Check complete: Passed
========================================================
Performing check for Packages
Checking operating system package requirements ...
Checking for make-3.81; found make-1:3.81-1.1-x86_64. Passed
Checking for binutils-2.17.50.0.6;
found binutils-2.17.50.0.6-2.el5-x86_64. Passed
Checking for gcc-4.1.1; found gcc-4.1.1-52.el5-x86_64. Passed
.
.
.
Check complete. The overall result of this check is: Passed
Check complete: Passed
========================================================
Performing check for Kernel
Checking kernel parameters
Checking for semmsl=250; found semmsl=250. Passed
.
.
.
Checking for wmem_max=262144; found wmem_max=262144. Passed
Check complete. The overall result of this check is: Passed
Check complete: Passed
========================================================
Performing check for GLIBC
Checking Recommended glibc version
Expected result: ATLEAST=2.5-12
Actual Result: 2.5-12
Check complete. The overall result of this check is: Passed
Check complete: Passed
========================================================
Performing check for TotalMemory
Checking physical memory requirements ...
Expected result: 922MB
Actual Result: 7984MB
Check complete. The overall result of this check is: Passed
Check complete: Passed
========================================================
Performing check for SwapSpace
Checking available swap space requirements ...
Expected result: 7984MB
Actual Result: 8189MB
Check complete. The overall result of this check is: Passed
Check complete: Passed
========================================================
Performing check for DetectIfDHCPAssignedIP
Checking Network Configuration requirements ...
Check complete. The overall result of this check is: Not executed <<<<
Check complete: Not executed <<<<
Recommendation: Oracle supports installations on systems with
DHCP-assigned public IP addresses. However, the primary
network interface on the system should be configured with
a static IP address in order for the Oracle Software to
function properly. See the Installation Guide for more
details on installing the software on systems configured with DHCP.
========================================================
Performing check for CheckPathForOtherOracleHomes
Checking PATH environment variable...
Check complete. The overall result of this check is: Passed
Check complete: Passed
========================================================
Performing check for CheckTempDiskSpace
Checking for sufficient diskspace in TEMP location...
Check complete. The overall result of this check is: Passed
Check complete: Passed
========================================================
Performing check for CheckLdLibraryPath
Checking LD_LIBRARY_PATH environment variable...
Check complete. The overall result of this check is: Passed
Check complete: Passed
========================================================
Performing check for OracleBase
Validating ORACLE_BASE location (if set) ...
Check complete. The overall result of this check is: Passed
Check complete: Passed
========================================================
Performing check for OracleHomeSpace
Checking Oracle Home path for spaces...
Check complete. The overall result of this check is: Passed
Check complete: Passed
========================================================
Performing check for DetectAnyInvalidASMHome
Checking for proper system clean-up....
Check complete. The overall result of this check is: Passed
Check complete: Passed
========================================================
Performing check for CompatibilityChecks_DB
Checking for Oracle Home incompatibilities ....
Actual Result: NEW_HOME
Check complete. The overall result of this check is: Passed
Check complete: Passed
========================================================
PrereqChecks complete
Analyzing dependencies
.....................................................100% Done.
--------------------------------------------------------------
Summary
Global Settings
Source: /data/database/stage/products.xml
Oracle Base: /data/oracle
Oracle Home: /data/oracle/product/11.1 (ORADBHOME11)
Installation Type: Enterprise Edition
Product Languages
Simplified Chinese
English
Space Requirements
/ Required 226MB (only as temporary space) : Available 8.56GB
/data/ Required 3.63GB : Available 181.86GB
New Installations (126 products)
Oracle Database 11g 11.1.0.6.0
Enterprise Edition Options 11.1.0.6.0
Oracle Partitioning 11.1.0.6.0
.
.
.
Oracle Universal Installer 11.1.0.6.0
Oracle One-Off Patch Installer 11.1.0.6.0
Installer SDK Component 11.1.0.6.0
Sun JDK 1.5.0.11.0
----------------------------------------------------------
Installation in progress (Fri Oct 19 18:40:20 CST 2007)
............................................................... 6% Done.
............................................................... 12% Done.
............................................................... 19% Done.
............................................................... 25% Done.
............................................................... 31% Done.
............................................................... 38% Done.
............................................................... 44% Done.
............................................................... 50% Done.
............................................................... 57% Done.
............................................................... 63% Done.
............................................................... 69% Done.
............................................................... 76% Done.
................................................. 81% Done.
Install successful
Linking in progress (Fri Oct 19 18:42:27 CST 2007)
.. 81% Done.
Link successful
Setup in progress (Fri Oct 19 18:43:33 CST 2007)
................................... 100% Done.
Setup successful
End of install phases.(Fri Oct 19 18:43:36 CST 2007)
WARNING:
The following configuration scripts need to be executed as the 'root' user.
#!/bin/sh
#Root script to run
/data/oracle/product/11.1/root.sh
To execute the configuration scripts:
1. Open a terminal window
2. Log in as 'root'
3. Run the scripts
The installation of Oracle Database 11g was successful.
Please check '/data/oracle/oraInventory/logs/
silentInstall2007-10-19_06-40-04PM.log' for more details.
最后使用root执行一下$ORACLE_HOME/root.sh脚本就可以了。
不过这里Oracle存在一个bug,在root.sh脚本中,自动将OUI_SILENT参数设置为TRUE,
而后的检查中,如果发现这个值为TRUE,那么这个脚本运行会自动退出了。
这里需要手工将其修改为FALSE,然后使用root执行:
代码:
[root@enterprice64 11.1]# ./root.sh
Running Oracle 11g root.sh script...
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /data/oracle/product/11.1
Enter the full pathname of the local bin directory: [/usr/local/bin]:
The file 'dbhome' already exists in /usr/local/bin. Overwrite it? (y/n)
[n]: y
Copying dbhome to /usr/local/bin ...
The file 'oraenv' already exists in /usr/local/bin. Overwrite it? (y/n)
[n]: y
Copying oraenv to /usr/local/bin ...
The file 'coraenv' already exists in /usr/local/bin. Overwrite it? (y/n)
[n]: y
Copying coraenv to /usr/local/bin ...
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.sh script.
Now product-specific root actions will be performed.
Finished product-specific root actions.
对于root.sh的执行不要使用. root.sh的方式,这种方式可能造成脚本陷入死循环。
至此,数据库软件的安装已经完成,如果系统启动了SELINUX,那么这里还需要处理一个bug:
利用root改变SELINUX的设置:
代码:
[root@enterprice64 ~]# setenforce 0
至此,Oracle软件已经安装完毕:
代码:
[oracle@enterprice64 ~]$ sqlplus '/ as sysdba'
SQL*Plus: Release 11.1.0.6.0 - Production on Mon Oct 22 14:07:28 2007
Copyright (c) 1982, 2007, Oracle. All rights reserved.
Connected to an idle instance.
SQL>
上面介绍了如何在SILENT方式下安装11.1.0.6:http://yangtingkun.itpub.net/post/468/407375
这篇继续介绍SILENT模式下的数据库建立过程。
通过SILENT模式安装数据库之后,下面继续使用SILENT模式进行数据库的建立,仍然是拷贝安装目录下的/database/reponse/dbca.rsp到安装目录,并进行编译,根据数据库建立方式的不同编辑不同的数据库库选项。
比如在本次安装过程中设置了下列参数:
RESPONSEFILE_VERSION = '11.1.0'
OPERATION_TYPE = 'createDatabase'
GDBNAME = 'ora11g64.us.oracle.com'
SID = 'ora11g64'
TEMPLATENAME = 'New_Database.dbt'
SYSPASSWORD = 'test'
SYSTEMPASSWORD = 'test'
SYSMANPASSWORD = 'test'
DBSNMPPASSWORD = 'test'
DATAFILEDESTINATION ='/data/oracle/oradata/ora11g64'
RECOVERYAREADESTINATION='/data/oracle/flash_recovery_area'
CHARACTERSET = 'ZHS16GBK'
TOTALMEMORY = '6000'
TEMPLATENAME = 'ora11g64'
GDBNAME = 'ora11g64.us.oracle.com'
SCRIPTDESTINATION ='/data/oracle/admin/ora11g64/scripts'
其中最后三项不是必须的,这个的目的是在建立数据库的同时生成脚本。
下面就可以开始SILENT模式的数据库创建了:
代码:
[oracle@enterprice64 database]$ dbca -silent -responseFile /data/database/dbca.rsp
Creating and starting Oracle instance
1% complete
3% complete
Creating database files
6% complete
Creating data dictionary views
7% complete
8% complete
9% complete
10% complete
11% complete
12% complete
14% complete
16% complete
17% complete
18% complete
Adding Oracle JVM
23% complete
28% complete
33% complete
35% complete
Adding Oracle Text
36% complete
37% complete
38% complete
Adding Oracle XML DB
40% complete
41% complete
42% complete
45% complete
Adding Oracle Multimedia
46% complete
47% complete
56% complete
Adding Oracle OLAP
57% complete
58% complete
59% complete
Adding Oracle Spatial
60% complete
61% complete
62% complete
63% complete
66% complete
Adding Oracle Ultra Search
67% complete
73% complete
Adding Enterprise Manager Repository
75% complete
76% complete
Adding Oracle Application Express
80% complete
83% complete
Adding Oracle Warehouse Builder
87% complete
90% complete
Completing Database Creation
91% complete
92% complete
93% complete
94% complete
97% complete
100% complete
Look at the log file '/data/oracle/cfgtoollogs/dbca/ora11g64/ora11g64.log' for further details.
数据库建立完成:
代码:
[oracle@enterprice64 database]$ sqlplus '/ as sysdba'
SQL*Plus: Release 11.1.0.6.0 - Production on Mon Oct 22 17:28:02 2007
Copyright (c) 1982, 2007, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select * from v$version;
BANNER
----------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
PL/SQL Release 11.1.0.6.0 - Production
CORE 11.1.0.6.0 Production
TNS for Linux: Version 11.1.0.6.0 - Production
NLSRTL Version 11.1.0.6.0 - Production
最后可以利用netca来SILENT方式设置网络部分,同样的方法设置netca.rsp:
RESPONSEFILE_VERSION='11.1'
CREATE_TYPE= 'CUSTOM'
SHOW_GUI=false
LOG_FILE=''/data/oracle/product/11.1/network/tools/log/netca.log''
INSTALLED_COMPONENTS={'server','net8','javavm'}
INSTALL_TYPE=''typical''
LISTENER_NUMBER=1
LISTENER_NAMES={'LISTENER'}
LISTENER_PROTOCOLS={'TCP;1521'}
LISTENER_START=''LISTENER''
NAMING_METHODS={'TNSNAMES','ONAMES','HOSTNAME'}
设置的参数包括上面的部分,然后就可以使用netca启动silent配置:
代码:
[oracle@enterprice64 database]$ netca /silent /responseFile /data/database/netca.rsp
Mon Oct 22 18:26:40 CST 2007 Oracle Net Configuration Assistant
Parsing command line arguments:
Parameter 'silent' = true
Parameter 'responsefile' = /data/database/netca.rsp
Parameter 'log' = /data/oracle/product/11.1/network/tools/log/netca.log
Done parsing command line arguments.
Oracle Net Services Configuration:
Profile configuration complete.
Listener started at port:1521
Oracle Net Listener Startup:
Running Listener Control:
/data/oracle/product/11.1/bin/lsnrctl start LISTENER
Listener Control complete.
Listener started successfully.
Listener configuration complete.
Oracle Net Services configuration successful. The exit code is 0
[oracle@enterprice64 database]$ lsnrctl status
LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 22-OCT-2007 18:31:20
Copyright (c) 1991, 2007, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.1.0.6.0 - Production
Start Date 22-OCT-2007 18:26:40
Uptime 0 days 0 hr. 4 min. 39 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /data/oracle/product/11.1/network/admin/listener.ora
Listener Log File /data/oracle/diag/tnslsnr/enterprice64/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=enterprice64)(PORT=1521)))
Services Summary...
Service 'ora11g64.us.oracle.com' has 1 instance(s).
Instance 'ora11g64', status READY, has 1 handler(s) for this service...
Service 'ora11g64XDB.us.oracle.com' has 1 instance(s).
Instance 'ora11g64', status READY, has 1 handler(s) for this service...
Service 'ora11g64_XPT.us.oracle.com' has 1 instance(s).
Instance 'ora11g64', status READY, has 1 handler(s) for this service...
The command completed successfully
至此,SILENT安装方式完成。