1 选择合适的操作系统版本
[root@dg01 ~]# cat /etc/issue
Red Hat Enterprise Linux Server release 6.3 (Santiago)
Kernel \r on an \m
尽量选择当前主流的操作系统,centos和redhat为主,版本可以选择5和6均可。
2 存储阵列级别建议
尽量做成raid 0+1或者raid 1+0的存储方案,这个是处于安全性和性能方面考虑,如果由于磁盘数量不足也可以做成raid 5或者raid 1,raid 5的写入由于要进行基偶校验相比其他级别的阵列较慢,如果将redo放到raid 5上面,而事务又比较频繁,经常会看见log file sync和log file parallel write两个等待事件成为性能瓶颈。
3 操作系统的分区
[root@dg01 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_dg01-lv_root
50G 2.4G 45G 6% /
tmpfs 3.9G 1.9G 2.1G 48% /dev/shm
/dev/sda1 485M 35M 425M 8% /boot
/dev/mapper/vg_dg01-lv_home
859G 12G 804G 2% /opt
/opt分区:
分区可以根据实际的磁盘容量来设置,尽量保证多余的容量分给/opt这个分区,因为如果没有外接的存储,会将数据库软件和数据库都存储在/opt这个目录下。
Swap分区和根目录:
其余的保证根分区适宜,然后在内存小于等于8gb是,swap分区分配2倍的物理内存大小,在大于等于8gb时,直接分配16gb给swap分区即可。
逻辑卷:
关于是否做逻辑卷这些,这些不做定性要求。
4 系统内核参数设置
[root@dg01 ~]# vi /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 = 1048576
可以直接添加到这个文件的默认,然后sysctl –p使改动生效
[root@dg01 ~]# sysctl –p
需要注意的是kernel.shmall = 2097152这个内核参数,oracle的内存是用page管理的,而每个page有4kb大小,保证oracle所使用的内存大小>=kernel.shmall*4kb,也就是如果kernel.shmall = 2097152下,oracle能使用的内存最多不能超过8gb,可以根据实际的物理内存来进行灵活设置,kernel.shmmax这个是最大的共享内存段,也尽量设置为oracle的sga或者memory的大小。
5 oracle用户设置限制
[root@dg01 ~]# vi /etc/security/limits.conf
。。。
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
在文件末尾直接添上述文本即可
6 系统所需的package安装校验
[root@dg01 ~]# rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc-2.5 glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel
由于每个操作系统版本和oracle版本所需的package都不相同,请根据官档所需的package进行校验安装。
7创建oracle用户组和oracle所需的目录,权限设置
[root@dg01 ~]#groupadd oinstall
[root@dg01 ~]#groupadd dba
[root@dg01 ~]#useradd -g oinstall -G dba oracle
[root@dg01 ~]#mkdir -p /opt/app/
[root@dg01 ~]#chown -R oracle:oinstall /opt/app/
[root@dg01 ~]#chmod -R 775 /opt/app/
8 编辑oralce环境变量
[root@dg01 ~]# cat /home/oracle/.bash_profile
export ORACLE_BASE=/opt/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=ora11g
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export PATH=$ORACLE_HOME/bin :$PATH:$HOME/bin
[root@dg01 ~]# source /home/oracle/.bash_profile
9 解压oracle软件
[oracle@dg01 ~]$ ls -l /opt
-rw-r–r–. 1 oracle oinstall 1285396902 Feb 10 23:16 linux_11gR2_database_1of2.zip
-rw-r–r–. 1 oracle oinstall 995359177 Feb 10 23:42 linux_11gR2_database_2of2.zip
[oracle@dg01 opt]$ unzip linux.x64_11gR2_database_1of2.zip
[oracle@dg01 opt]$ unzip linux.x64_11gR2_database_2of2.zip
10 修改静默安装的文件
静默安装oracle配置文件是/opt/database/response/db_install.rsp,其中记录的是安装所需的信息,可以根据实际需求修改,主要修改的是ORACLE_HOME、ORACLE_BASE、dba用户组、安装版本、sid等信息,可以自行查看这个文件的具体内容,下面是小鱼修改的rsp文件
[oracle@dg01 opt]$ less /opt/database/response/db_install.rsp |grep -v “#”|grep -v “^$”
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=dg01
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/opt/app/oracle/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/opt/app/oracle/product/11.2.0/db_1
ORACLE_BASE=/opt/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.EEOptionsSelection=false
oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.3.0,oracle.oraolap:11.2.0.3.0,oracle.rdbms.dm:11.2.0.3.0,oracle.rdbms.dv:11.2.0.3.0,oracle.rdbms.lbac:11.2.0.3.0,oracle.rdbms.rat:11.2.0.3.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.CLUSTER_NODES=
oracle.install.db.isRACOneInstall=
oracle.install.db.racOneServiceName=
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=ora11g
oracle.install.db.config.starterdb.SID=ora11g
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=1500
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=oracle
oracle.install.db.config.starterdb.password.SYS=
oracle.install.db.config.starterdb.password.SYSTEM=
oracle.install.db.config.starterdb.password.SYSMAN=
oracle.install.db.config.starterdb.password.DBSNMP=
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=
oracle.install.db.config.starterdb.automatedBackup.enable=false
oracle.install.db.config.starterdb.automatedBackup.osuid=
oracle.install.db.config.starterdb.automatedBackup.ospwd=
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=
oracle.install.db.config.asm.diskGroup=
oracle.install.db.config.asm.ASMSNMPPassword=
MYORACLESUPPORT_USERNAME=
MYORACLESUPPORT_PASSWORD=
SECURITY_UPDATES_VIA_MYORACLESUPPORT=
DECLINE_SECURITY_UPDATES=true –注意此参数一定设置为true,不然安装时候总是出现错误,而且日志也看不出报错,小鱼安装时候就遇见这个问题
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=
PROXY_REALM=
COLLECTOR_SUPPORTHUB_URL=
oracle.installer.autoupdates.option=
oracle.installer.autoupdates.downloadUpdatesLoc=
AUTOUPDATES_MYORACLESUPPORT_USERNAME=
AUTOUPDATES_MYORACLESUPPORT_PASSWORD=
11 开始静默安装
[oracle@dg01 opt]$ /opt/database/runInstaller -silent -force -responseFile /opt/database/response/db_install.rsp
Starting Oracle Universal Installer…
Checking Temp space: must be greater than 120 MB. Actual 2210 MB Passed
Checking swap space: must be greater than 150 MB. Actual 1027 MB Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2014-02-12_11-09-40AM. Please wait …[oracle@dg01 opt]$ [WARNING] [INS-13014] Target environment do not meet some optional requirements.
CAUSE: Some of the optional prerequisites are not met. See logs for details. /opt/logs/installActions2014-02-12_11-09-40AM.log
ACTION: Identify the list of failed prerequisite checks from the log: /opt/logs/installActions2014-02-12_11-09-40AM.log. Then either from the log file or from installation manual find the appropriate configuration to meet the prerequisites and fix it manually.
You can find the log of this install session at:
/opt/logs/installActions2014-02-12_11-09-40AM.log
这里提示有警告,可以查看日志的信息,由于是虚拟机这里是由于swap分区不足引起的。
/opt/app/oracle/oraInventory/orainstRoot.sh
/opt/app/oracle/product/11.2.0/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.
安装完毕后会提示上述的信息,按照要求执行上述脚本即可
12 配置监听程序
[oracle@dg01 logs]$ $ORACLE_HOME/bin/netca /silent /responseFile /opt/database/response/netca.rsp
Parsing command line arguments:
Parameter “silent” = true
Parameter “responsefile” = /opt/database/response/netca.rsp
Done parsing command line arguments.
Oracle Net Services Configuration:
Profile configuration complete.
Oracle Net Listener Startup:
Running Listener Control:
/opt/app/oracle/product/11.2.0/db_1/bin/lsnrctl start LISTENER
Listener Control complete.
Listener started successfully.
Listener configuration complete.
Oracle Net Services configuration successful. The exit code is 0
13 静默dbca建库
[oracle@dg01 logs]$ vi /opt/database/response/dbca.rsp
GDBNAME = “ora11g.dg01″78 行 全局数据库的名字=SID+主机域名
SID=”orcl” //149行 SID
CHARACTERSET=”AL32UTF8″ //415行 编码
NATIONALCHARACTERSET=”UTF8″ //425行 编码
[oracle@dg01 database]$ $ORACLE_HOME/bin/dbca -silent -responseFile /opt/database/response/dbca.rsp
Enter SYS user password:
Enter SYSTEM user password:
Cleaning up failed steps
5% complete
Copying database files
7% complete
9% complete
16% complete
23% complete
30% complete
41% complete
Creating and starting Oracle instance
43% complete
48% complete
53% complete
57% complete
58% complete
59% complete
62% complete
64% complete
Completing Database Creation
68% complete
71% complete
75% complete
85% complete
96% complete
100% complete
Look at the log file “/opt/app/oracle/cfgtoollogs/dbca/ora11g/ora11g0.log” for further details.