参考:http://blog.csdn.net/u013894638/article/details/53420419?locationNum=2&fps=1
centos安装参考:http://blog.csdn.net/ssrmygod/article/details/70037780
本地源配置好了
[root@mygod1 ~]# mkdir -p /media/cdrom
[root@mygod1 ~]# mount /dev/cdrom /media/cdrom
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@mygod1 ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda3 37050048 5933324 29234664 17% /
tmpfs 1019324 224 1019100 1% /dev/shm
/dev/sda1 198337 34463 153634 19% /boot
/dev/sr0 4363088 4363088 0 100% /media/CentOS_6.5_Final
/dev/sr0 4363088 4363088 0 100% /media/cdrom
[root@mygod1 ~]# cd /etc/yum.repos.d/
[root@mygod1 yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
[root@mygod1 yum.repos.d]# rm -rf *
[root@mygod1 yum.repos.d]# vi mygod.repo
[root@mygod1 yum.repos.d]# cat mygod.repo
[mygod]
name=mygod
baseurl=file:///media/cdrom
gpgcheck=0
enabled=1
[root@mygod1 yum.repos.d]# yum clean all
Loaded plugins: fastestmirror, refresh-packagekit, security
Cleaning repos: mygod
Cleaning up Everything
[root@mygod1 yum.repos.d]# yum repolist
Loaded plugins: fastestmirror, refresh-packagekit, security
Determining fastest mirrors
mygod | 4.0 kB 00:00 ...
mygod/primary_db | 4.4 MB 00:00 ...
repo id repo name status
mygod mygod 6,367
repolist: 6,367
[root@mygod1 yum.repos.d]#
安装依赖包
[root@mygod1 ~]# yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++
[root@mygod1 ~]# yum -y install glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686
[root@mygod1 ~]# yum -y install libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat unixODBC unixODBC-devel
修改内核参数
[root@mygod1 ~]# tail -21 /etc/sysctl.conf
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
[root@mygod1 ~]#
[root@mygod1 ~]# sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
[root@mygod1 ~]#
修改用户资源限制
[root@mygod1 ~]# tail -6 /etc/security/limits.conf
# End of file
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
[root@mygod1 ~]#
[root@mygod1 ~]# vi /etc/pam.d/login
[root@mygod1 ~]# tail -2 /etc/pam.d/login
session required /lib/security/pam_limits.so
session required pam_limits.so
[root@mygod1 ~]#
[root@mygod1 ~]# vi /etc/profile
[root@mygod1 ~]# tail /etc/profile
if [ $USER = "oracle" ] ; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
[root@mygod1 ~]#
创建oracle用户
[root@mygod1 ~]# groupadd oinstall
[root@mygod1 ~]# groupadd dba
[root@mygod1 ~]# useradd -g oinstall -G dba oracle
[root@mygod1 ~]# echo redhat |passwd --stdin oracle
Changing password for user oracle.
passwd: all authentication tokens updated successfully.
[root@mygod1 ~]#
创建oracle安装目录
[root@mygod1 ~]# mkdir -p /opt/app/oracle
[root@mygod1 ~]# chown -R oracle:oinstall /opt/app/oracle
[root@mygod1 ~]# chmod -R 775 /opt
[root@mygod1 ~]#
配置环境变量
[oracle@mygod1 ~]$ vi .bash_profile
umask 022
export ORACLE_BASE=/opt/app/oracle ;
export ORACLE_HOME=$ORACLE_BASE/11.2.0/product/db;
export ORACLE_SID=orcl;
export TNS_ADMIN=$ORACLE_HOME/network/admin;
export ORA_NLS10=$ORACLE_HOME/nls/data;
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH;
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8;
export PS1=$LOGNAME@`hostname`:'$PWD>';
export SQLPATH=$ORACLE_HOME/sqlplus/admin:/home/oracle/admin/sql;
alias ohome="cd $ORACLE_HOME" ;
alias tf="tail -f /opt/app/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log";
alias sql='sqlplus "/"';
alias sqln="sqlplus /nolog" ;
alias rm='rm -i --';
ulimit -u 16384 -n 63536 #linux
[oracle@mygod1 ~]$ source .bash_profile
创建oraInst.loc
[root@mygod1 ~]# cat /etc/oraInst.loc
inventory_loc=/opt/app/oracle/oraInventory
inst_group=oinstall
[root@mygod1 ~]#
解压软件到安装目录
unzip linux.x64_11gR2_database_1of2.zip /opt/app/oracle
unzip linux.x64_11gR2_database_2of2.zip /opt/app/oracle
修改oracle安装应答模板文件db_install.rsp文件
vi /opt/app/oracle/database/response/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY //安装类型,只装数据库软件 ORACLE_HOSTNAME=oracle //主机名称(命令hostname查询) UNIX_GROUP_NAME=oinstall // 安装组 INVENTORY_LOCATION=/opt/app/oracle/oraInventory //INVENTORY目录(**不填就是默认值,本例此 处需修改,因个人创建安装目录而定) SELECTED_LANGUAGES=en,zh_CN // 选择语言 ORACLE_HOME=/opt/app/oracle/11.2.0/product/db // oracle_home *路径根据目录情况注意修改 本例安装路径/opt/app/oracle ORACLE_BASE=/opt/app/oracle // oracle_base *注意修改 oracle.install.db.InstallEdition=EE // oracle版本 oracle.install.db.isCustomInstall=false //自定义安装,否,使用默认组件 oracle.install.db.DBA_GROUP=dba //dba用户组 oracle.install.db.OPER_GROUP=oinstall //oper用户组 oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //数据库类型 oracle.install.db.config.starterdb.globalDBName=orcl //globalDBName oracle.install.db.config.starterdb.SID=orcl //SID(**此处注意与环境变量内配置SID一致) oracle.install.db.config.starterdb.memoryLimit=81920 //自动管理内存的内存(M) oracle.install.db.config.starterdb.password.ALL=oracle //设定所有数据库用户使用同一个密码 SECURITY_UPDATES_VIA_MYORACLESUPPORT=false //(手动写了false) DECLINE_SECURITY_UPDATES=true // **注意此参数 设定一定要为true
开始安装切换到oracle
oracle@mygod1:/opt/app/oracle/database>./runInstaller -silent -force -ignorePrereq -responseFile /opt/app/oracle/database/response/db_install.rsp
pt/app/oracle/database/response/db_install.rsp
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 120 MB. Actual 23397 MB Passed
Checking swap space: must be greater than 150 MB. Actual 3999 MB Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2017-04-11_08-32-35PM. Please wait ...oracle@mygod1:/opt/app/oracle/database>[FATAL] PRVF-0002 : Could not retrieve local nodename
出现这个问题是因为没有配置/etc/hosts
还有selinux和防火墙都需要提前设置为关闭
[root@mygod1 ~]# vi /etc/hosts
[root@mygod1 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.158.41 mygod1
[root@mygod1 ~]#
[root@mygod1 ~]# vi /etc/selinux/config
[root@mygod1 ~]# cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
[root@mygod1 ~]#
[root@mygod1 ~]# service iptables stop
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
[root@mygod1 ~]# chkconfig iptables off
[root@mygod1 ~]#
reboot才生效
完了后,继续
切换到oracle
oracle@mygod1:/opt/app/oracle/database>./runInstaller -silent -force -ignorePrereq -responseFile /opt/app/oracle/database/response/db_install.rsp
oracle@mygod1:/opt/app/oracle/database>./runInstaller -silent -force -ignorePrereq -responseFile /opt/app/oracle/database/response/db_install.rsp
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 120 MB. Actual 23262 MB Passed
Checking swap space: must be greater than 150 MB. Actual 3999 MB Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2017-04-11_09-02-24PM. Please wait ...oracle@mygod1:/opt/app/oracle/database>You can find the log of this install session at:
/opt/app/oracle/oraInventory/logs/installActions2017-04-11_09-02-24PM.log
The installation of Oracle Database 11g was successful.
Please check '/opt/app/oracle/oraInventory/logs/silentInstall2017-04-11_09-02-24PM.log' for more details.
As a root user, execute the following script(s):
1. /opt/app/oracle/11.2.0/product/db/root.sh
Successfully Setup Software.
打开一个terminal,root下执行这个脚本,完了就算结束了。
[root@mygod1 ~]# sh /opt/app/oracle/11.2.0/product/db/root.sh
Check /opt/app/oracle/11.2.0/product/db/install/root_mygod1_2017-04-11_21-11-44.log for the output of root script
[root@mygod1 ~]#