安装过程中如遇到各种问题可以加本人qq:1215864353一起讨论解决
安装环境(可以查看附件的环境安装过程来安装和我这个一模一样的环境):
oracle linux 5 64位 ,oracle11.2.0.4 64位
ip 192.168.0.5 hostname jtxy
安装目录: /u01
系统要求:
以下是安装Oracle数据库的内存要求11所示g版本2(11.2):
最低:1 GB的RAM
推荐:2 GB的RAM或更多
确定内存大小,输入以下命令:
# grep MemTotal /proc/meminfo如果内存的大小小于所需的大小,然后在继续之前必须安装更多的内存。
下表描述了安装内存和交换空间配置关系的建议:
| 可用内存 | 交换空间要求 |
|---|---|
| 1 GB和2 GB之间 | RAM的大小的1.5倍 |
| 2 GB和16 GB之间 | RAM的大小 |
| 超过16 GB | 16 GB |
确定系统架构可以运行软件,输入以下命令:
# uname - m
注意:
这个命令可以显示处理器的类型。 验证处理器体系结构匹配安装Oracle软件发布。 如果您没有看到预期的输出,那么你不能在这个系统上安装软件。确定可用的内存和交换空间,输入以下命令:
#free
至少1 GB的磁盘空间
/tmp目录确定可用的磁盘空间
/tmp目录中,输入以下命令:# df - h / tmp
查看内核版本:
cat /proc/version
下面的表描述软件文件的磁盘空间需求,为每个安装类型和数据文件在Linux x86 - 64:
| 安装类型 | 要求软件文件(GB) |
|---|---|
| 企业版 | 4.7 |
| 标准版 | 4.6 |
| 安装类型 | 要求数据文件(GB) |
|---|---|
| 企业版 | 1.7 |
| 标准版 | 1.5 |
包需求
采用yum批量安装
首先配置yum(以root身份执行):
[root@jtxy ~]# vim /etc/yum.repos.d/public-yum-el5.repo写入如下内容[public_el5_latest]name=OracleLinux $releasever Latest($basearch)baseurl=file:///mnt/Servergpgcheck=0enabled=1保存退出[root@jtxy~]# mount /dev/cdrom /mnt/mount: block device /dev/cdrom is write-protected, mounting read-only[root@jtxy~]# yum clean allLoaded plugins: rhnplugin, securityCleaning up Everything
编写脚本(以root身份执行):
[root@jtxy~]# vim pack.sh写入如下内容:#!bin/bash#start install required packagesecho "start installing required packages"yum -y install binutils-*yum -y install compat-libstdc++-*yum -y install compat-libstdc++-*yum -y install elfutils-libelf-*yum -y install elfutils-libelf-devel-*yum -y install gcc-*yum -y install gcc-c++-*yum -y install glibc-*yum -y install glibc-*yum -y install glibc-common-*yum -y install glibc-devel-*yum -y install glibc-devel-*yum -y install glibc-headers-*yum -y install ksh-*yum -y install libaio-*yum -y install libaio-*yum -y install libaio-devel-*yum -y install libaio-devel-*yum -y install libgcc-*yum -y install libgcc-*yum -y install libstdc++-*yum -y install libstdc++-*yum -y install libstdc++-devel*yum -y install make-*yum -y install sysstat-*yum -y install unixODBC-*[root@jtxy ~]# chmod +x pack.sh执行脚本[root@jtxy ~]# sh pack.sh
创建所需的操作系统组和用户
创建之前先来确定一下oracle产品清单组(oinstall)是否存在来确定此系统是否有已经安装的oracle软件
(以root身份执行):
more /etc/oraInst.loc
如果存在此文件的话,看看里面的内容(一般没装过oracle软件的系统是查找不到这个文件)
(以root身份执行):
[root@jtxy~]# cat /etc/oraInst.locinventory_loc=/u01/app/oraInventoryinst_group=oinstall--这就是oinstall组,说明本系统已经存在oracle软件。
接下来看看是否存在dba组
(以root身份执行):
grep dba /etc/group
如果这个命令的输出显示了
dba
组名称,那么这个组已经存在。
再检查oracle用户是否已经存在(如果出现下面类似字样,那说明已经存在了oracle用户)
(以root身份执行)
:
[root@jtxy~]# id oracleuid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba),502(oper)
如果上面两个命令都没有显示结果,那恭喜系统是干净的,可以直接用来配置安装oracle.接下来开始创建上面查询而未检查到的的oinstall,dba用户组以及可选的oper组和oracle用户
(以root身份执行)
groupadd oinstallgroupadd dbagroupadd oper- useradd -g oinstall -G dba,oper oracle
- passwd oracle
- --oinstall oracle产品清单组,代表oracle软件的拥有者,主要用来管理一台机器中多个oracle产品
- --dba 与oracle操作系统身份验证相关,属于这个组的用户可以在完成操作系统身份验证后直接sql plus / as sysdba登陆
- --oper 可选组,与上面组差不多,允许这个组的用户在进行操作系统验证后以sysoper身份登陆
配置内核参数和资源限制
(以root身份执行)
vim /etc/sysctl.conf写入fs.aio-max-nr =1048576fs.file-max =6815744kernel.shmall =2097152kernel.shmmax =1073741824kernel.shmmni =4096kernel.sem =25032000100128net.ipv4.ip_local_port_range =900065500net.core.rmem_default =262144net.core.rmem_max =4194304net.core.wmem_default =262144net.core.wmem_max =1048586注意:kernel.shmmax修改为内存的一半(单位byte)shmall在一般情况下是正常使用的,如果内存过大(超过64G)的时候他也要调大,我在装rac时,服务器是500g内存,当时用官方文档的大小时,报了内存耗尽错误。修改后使上面参数生效执行:sysctl -p
资源限制:
这是oracle官方推荐设置大小:
(以root身份执行)
vim /etc/security/limits.conf写入一下内容oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536oracle soft stack 10240
配置oracle用户的环境变量(以root身份执行)
su - oracle --现在切换到oracle用户,切记是 su - oracle,两边都有空格,下面内容是以oracle身份执行vim .bash_profile 写入如下内容:export ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1export ORACLE_SID=orclexport PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/OPatchexport NLS_LANG=AMERICAN_AMERICA.AL32UTF8执行如下命令,让环境变量生效:source .bash_profile
创建所需的目录
su - --现在又切换到root身份mkdir -p /u01/app/oraclechown -R oracle:oinstall /u01/chmod -R 775/u01/
关闭相关服务
(以root身份执行):
(本操做在安装系统时候已经执行)chkconfig sendmail offchkconfig iptables offchkconfig sm-client offsetup选firewall configuration 选disabled关闭SELINUXsed -i 's/SELINUX=enforcing/SELINUX=disabled/g'/etc/selinux/configcat /etc/selinux/config
修改/etc/hosts文件
(以root身份执行):
vim /etc/hosts将ip及主机名对应起来,改成下面这样[root@jtxy u01]# cat /etc/hosts# Do not remove the following line, or various programs# that require network functionality will fail.127.0.0.1 localhost.localdomain localhost192.168.0.99 jtxy
安装oracle
上传11.2.0.4 oracle软件到操作系统;
解压安装包
(以root身份执行):
[root@jtxy ~]# cd /u01/[root@jtxy u01]# unzip p13390677_112040_Linux-x86-64_1of7.zip。。。。。。。。。。。。。。。。。。。。。。。[root@jtxy u01]# unzip p13390677_112040_Linux-x86-64_2of7.zip
开始进行安装:
[root@jtxy u01]# lsapp database lost+found p13390677_112040_Linux-x86-64_1of7.zip p13390677_112040_Linux-x86-64_2of7.zip[root@jtxy u01]# rm -rf p13390677_112040_Linux-x86-64_*[root@jtxy u01]# lsapp database lost+found[root@jtxy u01]# xhost +access control disabled, clients can connect from any host[root@jtxy u01]# su - oracle[oracle@jtxy ~]$ cd /u01/database/[oracle@jtxy database]$ ./runInstaller
去掉勾选,下一步,点yes
跳过软件更新:
仅安装软件:
安装单实例oracle
语言选择
安装企业版:
这是在oracle用户.base_profile中定义的环境变量:
oracle产品目录清单:
默认组就可以
进行安装软件:
另开一个窗口,以root身份运行上面脚本:
看到完成提示后,回到这个界面点ok:
点击close,这就完成了软件的安装
接下来配置监听:
[oracle@jtxy database]$ cd[oracle@jtxy ~]$ netca
配置监听,下一步
添加按钮。下一步
监听名字(保持默认),下一步
协议,下一步
监听端口(也可以选择下面的按钮,自己决定监听端口):
不配置其他监听
点击完成
好了。现在配置好监听了,可以通过下面的命令来查看一下监听状态:
[oracle@jtxy ~]$ lsnrctl statusLSNRCTL forLinux:Version11.2.0.4.0-Production on 17-MAR-201712:44:17Copyright(c)1991,2013,Oracle.All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=jtxy)(PORT=1521)))STATUS of the LISTENER------------------------Alias LISTENERVersion TNSLSNR forLinux:Version11.2.0.4.0-ProductionStartDate17-MAR-201712:43:04Uptime0 days 0 hr.1 min.14 secTraceLevel offSecurity ON:Local OS AuthenticationSNMP OFFListenerParameterFile/u01/app/oracle/product/11.2.0/db_1/network/admin/listener.oraListenerLogFile/u01/app/oracle/diag/tnslsnr/jtxy/listener/alert/log.xmlListeningEndpointsSummary...(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=jtxy)(PORT=1521)))(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))The listener supports no services--还未有任何服务名被监听The command completed successfully
接下来建库;
[oracle@jtxy ~]$ dbca
创建一个模板数据库:
数据库名
启用em工具
选择设置一个统一的密码
选择yes就可以
接下来会提示创建脚本成功,点击确定然后继续等待安装完成就行。
点击exit,现在就吧oracle安装完了。接下来执行:
[oracle@jtxy ~]$ sqlplus /as sysdbaSQL*Plus:Release11.2.0.4.0Production on FriMar1713:08:182017Copyright(c)1982,2013,Oracle.All rights reserved.Connected to:OracleDatabase11gEnterpriseEditionRelease11.2.0.4.0-64bitProductionWith the Partitioning, OLAP,DataMiningandRealApplicationTesting optionsSQL> alter user scott account unlock identified by tiger; --这是解锁scott用户,并且设置密码为tigerUser altered.
其他用户可以用这种方法解锁,解锁后就可以登陆了。
这是简单的模板数据库安装过程,想要定制方式安装数据库以及安装过程中遇到的各种问题,可以详细讨论:
本人qq:1215864353
常见错误以及解决办法:
这是因为/etc/hosts文件没有配置或则配置有问题,检查配置文件,将本地ip以及主机名对应起来.
这种问题是因为指定的目录权限不对,检查指定路径权限,是否下面这样:
[root@jtxy u01]# ll
total 24
drwxrwxr-x 4 oracle oinstall 4096 Mar 17 10:40 app
drwxrwxr-x 7 oracle oinstall 4096 Aug 27 2013 database
drwxrwxr-x 2 oracle oinstall 16384 Nov 22 18:19 lost+found
出现这个错误就是因为上面检查系统环境时,tmp可用空间不足导致的。
解决该问题1.建立新tmp目录[root@pxboracle ora11g]# mkdir /u01/tmp[root@pxboracle ora11g]# chown root:root /u01/tmp[root@pxboracle ora11g]# chmod 1777/u01/tmp2.设置数据库用户变量vi /home/oracle/.bash_profile 加入以下变量export TEMP=/u01/tmpexport TMPDIR=/u01/tmp- 然后 source .bash_profile生效
[ora11g@pxboracle ~]$ env|grep TMPTMPDIR=/u01/tmp[ora11g@pxboracle~]$ env|grep TEMPTEMP=/u01/tmp3.重新运行runInstaller4.安装完成清理相关/u01/tmp 和相关环境变了,让数据库使用系统默认(根据实际情况处理),最好的解决办法是给系统增加tmp空间,然后重新运行安装,出现这种错误就是本身检查环境不仔细导致的。