一、创建用户、组
[root@localhost~]# groupadd oinstall
[root@localhost~]# groupadd dba
[root@localhost~]# useradd -g oinstall oracle
[root@localhost~]# usermod -G dba oracle
[root@localhost~]# id oracle
[root@localhost~]# passwd oracle
二、配置内核参数
1、[root@localhost~]#vi /etc/sysctl.conf
kernel.sem = 25032000 100128 ##修改,增加本行
kernel.shmall =2097152 ##满足,无需增加或修改
kernel.shmmax =536870912 ##满足,无需增加或修改
kernel.shmmni =4096 ##满足,无需增加或修改
fs.file-max =6815744 ##修改,增加本行
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 ##修改,增加本行
fs.aio-max-nr =1048576 ##修改,增加本行
2、修改后,使设置生效:
[root@localhost~]#/sbin/sysctl -p
3、执行生效命令后,再次检查确认参数设置:
[root@localhost~]#/sbin/sysctl -a
三、用户限制设置
1、在文件/etc/security/limits.conf中加入以下内容:
[root@localhost~]# vi /etc/security/limits.conf
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
2、在/etc/pam.d/login中增加以下内容:
[root@localhost~]# vi /etc/pam.d/login
session required /lib/security/pam_limits.so //注意linux系统位数 64位时改为/lib64/security/pam_limits.so
session required pam_limits.so
3、在/etc/profile中加入以下内容:
[root@localhost~]#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
四、关闭SELINUX
[root@localhost~]#vi /etc/sysconfig/selinux
#SELINUX=enforcing
SELINUX=disabled
五、创建安装目录
[root@localhost~]# mkdir -p /u01/app/
[root@localhost~]# chown -R oracle:oinstall /u01/app/
[root@localhost~]# chmod -R 775 /u01/app/
六、设置环境变量
1、[root@localhost~]# su oracle
2、[oracle@localhost~]$ vi ~/.bash_profile
umask 022
exportORACLE_BASE=/u01/app/oracle
exportORACLE_SID=uprr
3、[oracle@localhost~]$ source/home/oracle/.bash_profile //使修改生效
4、[oracle@localhost~]$ unsetORACLE_HOME
5、[oracle@localhost~]$ unset TNS_ADMIN
6、注意,除了ORACLE_BASE和ORACLE_SID,( /etc/profile和.bash_profile中)不设置任何oracle相关环境变量(ORACLE_HOME,PATH, LD_LIBRARY_PATH等)。
7、验证:
检查环境变量:
[oracle@localhost~]$ env | more
检查用户文件权限掩码:
[oracle@localhost~]$ umask
七、静默安装软件
1、解压oracle11g包 (linux.x64_11g…1of2..zip,linux.x64_11g…2of2..zip)
[oracle@localhost~]$ unzip –o linux.x64_11g…1of2..zip
[oracle@localhost~]$ unzip –o linux.x64_11g…2of2..zip
操作完成后,生成database目录
2、创建oraInst.loc
[oracle@localhost~]$ su - root
[root@localhost~]# vi /etc/oraInst.loc
inventory_loc=/u01/app/oracle/oraInventory
inst_group=oinstall
3.创建后一定要改权限
[root@localhost~]# chown oracle:oinstall /etc/oraInst.loc
[root@localhost~]# chmod 777 /etc/oraInst.loc
4、创建响应文件
[root@localhost~]# su oracle
[oracle@localhost~]$ mkdir etc
4.1、将响应文件复制出来进行更改,防止出问题,/home/oracle/database/response/是在解压oracle11g包时生成的
[oracle@localhost~]$ cp /home/oracle/database/response/* etc/
4.2、更改安装oracle用到的响应文件
[oracle@localhost~]$ vi /home/oracle/etc/db_install.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=localhost.localdomain
//根据实际情况[oracle@localhost~]$ hostname 查看
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oracle/oraInventory
SELECTED_LANGUAGES=en,zh_CN,zh_TW
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=false
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true
4.3、创建数据库实例的响应文件
[oracle@localhost~]$ vi UPRR_DBCA.rsp
[GENERAL]
RESPONSEFILE_VERSION= "11.2.0"
OPERATION_TYPE ="createDatabase"
[CREATEDATABASE]
GDBNAME ="uprr"
SID ="uprr"
TEMPLATENAME ="General_Purpose.dbc"
DATAFILEDESTINATION= "/u01/app/oracle/oradata"
RECOVERYAREADESTINATION="/u01/app/oracle/flash_recovery_area"
CHARACTERSET ="AL32UTF8"
NATIONALCHARACTERSET="UTF8"
5、安装Oracle
5.1、[oracle@localhost~]$ cd database
5.2、[oracle@localhost~]$ ./runInstaller -silent -debug -force-responseFile /home/oracle/etc/ db_install.rsp
备注:(可选参数-noconfig -IgnoreSysPreReqs)
开始Oracle在后台静默安装。安装过程中,如果提示[WARNING]不必理会,此时安装程序仍在后台进行,如果出现[FATAL],则安装程序已经停止了。
出现类似如下提示表示安装完成:
#-------------------------------------------------------------------
...
/u01/app/oracle/oraInventory/orainstRoot.sh
/u01/app/oracle/product/11.2.0/dbhome_1/root.sh
To execute theconfiguration 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 SetupSoftware.
5.3、设置环境变量
[oracle@localhost~]$ vi /home/oracle/.bash_profile
exportORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
exportTNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=.:PATH:PATH:HOME/bin:$ORACLE_HOME/bin
exportPATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
exportLD_LIBRARY_PATH=LD_LIBRARY_PATH:LD_LIBRARY_PATH:ORACLE_HOME/lib
exportLD_LIBRARY_PATH=LD_LIBRARY_PATH:LD_LIBRARY_PATH:ORACLE_HOME/oracm/lib
exportLD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=CLASSPATH:CLASSPATH:ORACLE_HOME/JRE
export CLASSPATH=CLASSPATH:CLASSPATH:ORACLE_HOME/JRE/lib
export CLASSPATH=CLASSPATH:CLASSPATH:ORACLE_HOME/jlib
export CLASSPATH=CLASSPATH:CLASSPATH:ORACLE_HOME/rdbms/jlib
export CLASSPATH=CLASSPATH:CLASSPATH:ORACLE_HOME/network/jlib
export LIBPATH=CLASSPATH:CLASSPATH:ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib
exportORACLE_OWNER=oracle
exportSPFILE_PATH=$ORACLE_HOME/dbs
exportORA_NLS10=$ORACLE_HOME/nls/data
5.4、立即生效
[oracle@localhost~]$ source /home/oracle/.bash_profile
八、静默配置网络
1、[oracle@localhost~]$ $ORACLE_HOME/bin/netca -silent -responseFile /home/oracle/etc/netca.rsp
2、可能出现的问题
出现下图情况时,则需要配置DISPLAY变量,配完之后重新netca:
[oracle@ localhost~]$ export DISPLAY=localhost:0.0
[oracle@ localhost~]$$ORACLE_HOME/bin/netca -silent -responseFile /home/oracle/etc/netca.rsp
成功运行后,会在/u01/app/oracle/product/11.2.0/network/admin/中生成listener.ora和sqlnet.ora两个文件。
查看监听端口:
[root@localhost]#netstat -tnulp | grep 1521
九、静默安装数据库,创建实例
[root@localhost ~]# su oracle
[oracle@localhost~]$
$ORACLE_HOME/bin/dbca -silent -responseFile /home/oracle/UPRR_DBCA.rsp
建库后实例检查
[oracle@localhost ~]$ ps -ef | grep ora_ | grep -v grep |wc -l
[oracle@localhost ~]$ps -ef | grep ora_ | grep -v grep
建库后监听检查
[oracle@localhost ~]$ lsnrctl status
表示成功
登录查看实例状态
[oracle@localhost ~]$sqlplus / as sysdba
十、安装数据库用到的包,在七步之前完成
说明:执行1步会装大部分的包,因为yum 安装会将依赖的包都给安装,但是生产上不能连外网(这个我没操作过,不能用这种方法),因为我用的是64位操作系统,所以默认下载的都是64位的rpm,但是oracle安装还需要很多32位的rpm,这就需要单独下载。
1、[root@localhost ~]#yum -y install gcc gcc-c++ make binutilscompat-libstdc++-33 elfutils-libelf \
elfutils-libelf-devel glibc glibc-commonglibc-devel \
libaio libaio-devel libgcc libstdc++ libstdc++-devel\
unixODBC unixODBC-devel
2、需要的32位rpm包
compat-libstdc++-33-3.2.3(32 bit)
glibc-2.5-24 (32 bit)
glibc-devel-2.5 (32 bit)
libaio-0.3.106 (32 bit)
libaio-devel-0.3.106 (32 bit)
libgcc-4.1.2 (32 bit)
libstdc++-4.1.2 (32 bit)
unixODBC-2.2.11 (32 bit)
注意:例如下载compat-libstdc++-33-3.2.3(32位)
[root@localhost ~]#yum install compat-libstdc++-33 (不要加后面的版本号,直接这么下,系统是64位,所以默认下载的也是64位)
[root@localhost ~]#yum install compat-libstdc++-33.i686(下载32位)
十一、oracle安装后,pl-sql连接
1、 数据库的ip地址
2、 端口号默认1521
3、 实例名 (UPRR_DBCA.rsp里的SID值uprr)
十二、其它问题
1、“libXext.so.6:cannot open shared object file:”
[root@localhost ~]#yum install libXext.i686(下载32位)
2、重启linux,module is unknown
a、进入单用户模式
b、在/etc/pam.d/login路径下,将/lib/security/pam_limits.so(适用32位)改为/lib64/security/pam_limits.so(适用64位)