Linux静默安装oracle11g redhat

oralce11g rehl6.5静默安装步骤(64位)html

注:本版本仅适用于64位rehl6.5上oracle11g的安装,其余版本安装前需参照oracle官方安装文档(建议即便本版本也参照官方文档作安装前条件检查Complete preinstallation tasks,如Checking the Network Setup)。
1、硬件检查
一、内存要求
(1)物理内存很多于1G,查看指令 grep MemTotal /proc/meminfo
(2)Swap要求:物理内存在1G到2G时,Swap=1.5*物理内存;物理内存在2G到16G时,Swap=物理内存;物理内存大于16G时,Swap=16G
grep SwapTotal /proc/meminfo
(3)自动内存管理,Automatic Memory Management ,shared memory (/dev/shm)须要大于MEMORY_MAX_TARGET and MEMORY_TARGET for each Oracle instance on the computer.
若是须要永久修改/dev/shm的值,须要修改/etc/fstab
tmpfs /dev/shm tmpfs defaults,size=1.5G 0 0
mount -o remount /dev/shm
二、系统框架
64位linux

三、硬盘空间要求
(1)/tmp 剩余空间很多于1G
(2)安装空间(EE 4.35G); 数据文件空间(EE,1.68G)c++

四、显示要求
静默安装-无;其余安装-分辨率不小于1024*768web

五、Run level
3或5sql

六、其余硬件要求
(1)CPU: Pentium IV 2 GHz or faster
(2)JDK: JDK 5.0 Update 6 or later for Linux
2、软件要求
一、系统版本数据库

二、检查安装时须要的包bash

命令: rpm -q binutils compat-libstdc+±33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc+±devel make sysstat unixODBC unixODBC-devel服务器

安装unixODBC、unixODBC-devel安装时会提示缺乏libreadline.so.六、libltdl.so.7等包,可在http://rpm.pbone.net/搜素这些包对应的RPM(如)session

安装命令:rpm –ivh package_name
三、 关闭selinux:vi /etc/selinux/config,oracle

4.防火墙配置放开Oracle的端口
firewall-cmd --zone=public --add-port=1521/tcp --permanent firewall-cmd --reload
3、创建oracle用户及用户组,oracle产品规定,必须以oracle用户的身份进行安装。
建立用户,输入命令:
groupadd oinstall
groupadd dba
建立Oracle用户和密码,输入命令:
useradd -g oinstall -g dba -m oracle
passwd oracle
而后会让你输入密码,密码任意输入2次,但必须保持一致,回车确认
4、正式安装
1)修改用户的SHELL的限制,修改/etc/security/limits.conf文件,将如下内容加入追加到文件末尾。
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
2)修改/etc/pam.d/login 文件,将如下内容加入该文件。
注意,若是是linux64位,应该将lib改为lib64,不然重启linux系统的时候会报module is unknown错误,致使系统都登陆不了
session required /lib/security/pam_limits.so
session required pam_limits.so
3)修改/etc/hosts 和/etc/sysconfig/network (防止INS-06101错误)
vi etc/hosts

vi /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=shark

3)修改linux内核/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
要使该文件修改当即生效,要执行sysctl -p命令
4)修改/etc/profile文件,设置oracle用户的的最大进程数
if [ $USER = “oracle” ]; then
if [ S H E L L = " / b i n / k s h " ] ; t h e n u l i m i t p 16384 u l i m i t n 65536 e l s e u l i m i t u 16384 n 65536 f i u m a s k 022 f i 5 ( r o o t ) o r a c l e / u 01 / a p p / o r a c l e m k d i r p / u 01 / a p p / o r a c l e m k d i r p / u 01 / a p p / o r a I n v e n t o r y 6 o r a c l e c h o w n R o r a c l e : o i n s t a l l / u 01 / a p p / o r a c l e c h o w n R o r a c l e : o i n s t a l l / u 01 / a p p / o r a I n v e n t o r y 8 o r a c l e o r a c l e s u o r a c l e v i . b a s h p r o f i l e O R A C L E H O M E = / u 01 / a p p / o r a c l e / p r o d u c t / 11.2.0 / d b h o m e 1 O R A C L E B A S E = / u 01 / a p p / o r a c l e O R A C L E S I D = y d s m i s P A T H = SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi umask 022 fi 5)(仍是root用户下操做)建立oracle安装目录,及数据文件存放目录位置,这里可自定义。在这里举例安装放在/u01/app/oracle目录 mkdir -p /u01/app/oracle mkdir -p /u01/app/oraInventory 6)设置目录所属主为oracle全部。 chown -R oracle:oinstall /u01/app/oracle chown -R oracle:oinstall /u01/app/oraInventory 8)配置oracle的环境变量,先切换oracle用户 输入:su - oracle 而后输入vi .bash_profile追加如下内容 ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 ORACLE_BASE=/u01/app/oracle ORACLE_SID=ydsmis PATH= PATH: H O M E / . l o c a l / b i n : HOME/.local/bin: ORACLE_HOME/bin
export PATH
export ORACLE_HOME
export ORACLE_BASE
export ORACLE_SID

解释:ORACLE_BASE环境变量为安装根目录,安装完以后会在ORACLE_HOME目录生成好多文件,ORACLE_SID为实例sid,可自定义。
9)开始安装
官网上下载linux版本的oracle11gR2,一共两个包linux.x64_11gR2_database_1of2.zip,linux.x64_11gR2_database_2of2.zip,使用ftp等方式上传到/home/oracle目录,并使用unzip命令进行解压。
解压完以后会生成database目录。(检查下database的所属用户信息 ll /home/oracle,必定要是oracle:oinstall,不是的话,使用以下命令修改chown -R oracle:oinstall /home/oracle/database)

db_install.rsp文件内容以下:为节省篇幅,我把全部的注释删除了。
注意的地方:INVENTORY_LOCATION为你要安装的目录(前提条件要建立好,以前步骤已建立好该目录),并设置好ORACLE_HOME和ORACLE_BASE,及oracle.install.db.config.starterdb.SID,主要是这几个配置是自定义的。

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=zakc-data
UNIX_GROUP_NAME=dba
INVENTORY_LOCATION=/u01/app/oraInventory
SELECTED_LANGUAGES=en,zh_CN
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.customComponents=oracle.server:11.2.0.1.0,oracle.sysman.ccr:10.2.7.0.0,oracle.xdk:11.2.0.1.0,oracle.rdbms.oci:11.2.0.1.0,oracle.network:11.2.0.1.0,oracle.network.listener:11.2.0.1.0,oracle.rdbms:11.2.0.1.0,oracle.options:11.2.0.1.0,oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv:11.2.0.1.0,orcle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.rat:11.2.0.1.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
oracle.install.db.CLUSTER_NODES=
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=
oracle.install.db.config.starterdb.SID=ydsmis
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=
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.dbcontrol.enableEmailNotification=false
oracle.install.db.config.starterdb.dbcontrol.emailAddress=
oracle.install.db.config.starterdb.dbcontrol.SMTPServer=
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=
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
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=

9)而后执行静默安装的以下命令(在database目录下)
./runInstaller -silent -force -noconfig -ignorePrereq -responseFile /home/oracle/database/response/db_install.rsp
以上命令会自动检查系统是否知足oracle11gR2的安装要求,如交换空间是否够,硬盘,内存等等。执行的时间会比较久,如不出意外的状况下,会输出以下信息。
Execute Root Scripts in progress.
As a root user, execute the following script(s):
1./u01/app/oracle/oraInventory/orainstRoot.sh
sh orainstRoot.sh
2./u01/app/oracle/product/11.2.0.1/db_1/root.sh
sh root.sh
10)配置监听
(1)确认oracle 登陆(非su)
(2)安装 $ORACLE_HOME/bin/netca /silent /responsefile /local_dir/netca.rsp

10)配置数据库
这个文件中对应的dbname和sid都要和以前设置的对应
(1)确认oracle 登陆(非su)
(2)安装 $ORACLE_HOME/bin/dbca -silent–responseFile /local_dir/dbca.rsp
11)设置Oracle开机启动

可能用到的一些命令
#查看监听状态 lsnrctl status
#查看监听器配置文件 listener.ora cat $ORACLE_HOME/network/admin/listener.ora
#查看监听服务名配置文件 tnsnames.ora cat $ORACLE_HOME/network/admin/tnsnames.ora  
ps -ef | grep ora_ | grep -v grep
#查看 ORACLE_UNQNAME 环境变量 env|grep ORACLE_UNQNAME

以 sysdba 身份登陆 sqlplus / as sysdba

#启动 oralce 数据库 SQL> startup

一些常见错误
3.1 ORA-00845
SQL> startup
ORA-00845: MEMORY_TARGET not supported on this system
由于内存过小能够加大虚拟机的内存或者临时解决以下:
解决方法 su - root
mount -o remount,size=4G /dev/shm
su - oracle
lsnrctl stop
lsnrctl start
sqlplus / as sysdba
SQL> startup
3.2 ORA-28000
ORA-28000: the account is locked
解决方法
[oracle@oracal ~]$ sqlplus /nolog
SQL>conn /as sysdba
SQL> alter profile default limit failed_login_attempts unlimited;
sqlplus /nolog
sqlplus /nolog
3.3 ORA-12547
oracle ORA-12547: TNS:lost contact
解决方法cd /db/app/oracle/product/11.2.0/bin/
chmod 6751 oracle
3.4修改数据库编码集
修改数据库字符集为:ZHS16GBK
查看服务器端字符集
SQL > select * from V$NLS_PARAMETERS;
修改:
KaTeX parse error: Expected 'EOF', got '#' at position 537: …lect sid,serial#̲,username,machi…session;查看有哪些SESSION,而后
alter system kill session ‘sid’serial#’ immediate;而后
alter system kill session ‘158,7’ immediate;如这样

SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;
SQL>SHUTDOWN IMMEDIATE
SQL>STARTUP
终极方法 卸载-----从新安装