所需软件:oracle11。2。0。4安装包、Xshell6、Xmanager6 环境说明:宿主机ip:192。168。88。2 虚机ip:192。168。88。200 虚机内存:2G 虚机主机名:vmdemo oracle数据库名:orcl oracle实例名:orcl 命令说明:rootlsl表示在root用户下执行 oraclelsl表示在oracle用户下执行 用root用户修改内核配置文件etcsysctl。conf。同时可以拥有的的异步IO请求数目。推荐值:1048576 fs。aiomaxnr1048576系统允许的文件句柄最大数目,代表linux系统可以打开的文件数量 fs。filemax6815744物理内存K数4K(根据虚机的实际内存设置,以下是2G内存的设置) kernel。shmall524288可取的最大值为物理内存值1byte,建议值为多于物理内存的一半(根据虚机的实际内存设置,以下是2G内存的设置) kernel。shmmax2147483647共享内存段的最大数量,取缺省值4096 kernel。shmmni4096250是参数semmsl的值,表示一个信号量集合中能够包含的信号量最大数目。 32000是参数semmns的值,表示系统内可允许的信号量最大数目。 100是参数semopm的值,表示单个semopm()调用在一个信号量集合上可以执行的操作数量。 128是参数semmni的值,表示系统信号量集合总数。 kernel。sem25032000100128应用程序可使用的IPv4端口范围。 net。ipv4。iplocalportrange900065535套接字接收缓冲区大小的缺省值。 net。core。rmemdefault262144套接字接收缓冲区大小的最大值。 net。core。rmemmax4194304套接字发送缓冲区大小的缺省值。 net。core。wmemdefault262144套接字发送缓冲区大小的最大值。 net。core。wmemmax1048586 以上参数除了有说明需要根据实际情况设置,其它参数照抄即可。执行sysctlp生效; 用root用户增加组和用户。rootgroupaddg500oinstallrootgroupaddg501dbarootuseraddgoinstallGdba,oinstalloraclerootpasswdoracle 用root用户创建swap分区。通过命令swapons来检查当前是否有swap分区。swap分区有2种:分区或文件;可以任意选一种创建(创建swap文件较为方便),大小为4G(内存大小的1。52倍)。创建swap分区fdiskl查看磁盘是否还有剩余未分配的扇区:若有,使用fdisk来格式化成swap分区(分区类型为82);若无,在虚机新添加一块硬盘,然后按下面步骤操作:rootfdiskldevsdbrootmkswapdevsdb1rootswaponsrootswapondevsdb1rootswaponsrootechodevsdb1noneswapsw00etcfstab创建swap文件rootddifdevzeroofmntoracle。swapbs1024count5242888rootchownoracle:oinstallmntoracle。swaprootchmod600mntoracle。swaprootmkswapmntoracle。swaprootswaponmntoracle。swaprootswaponsrootechomntoracle。swapnoneswapsw00etcfstab 用root用户修改etcsecuritylimits。conf限制。添加以下行: oraclesoftnproc65535 oraclehardnproc65535 oraclesoftnofile65535 oraclehardnofile65535 用root用户修改etcpam。dlogin。添加以下一行: sessionrequiredlib64securitypamlimits。so 修改profile文件。用root用户修改etcprofile文件,增加以下内容: if〔USERoracle〕;then if〔SHELLbinksh〕;then ulimitp65535 ulimitn65535 else ulimitu65535n65535 fi fi 用oracle用户修改其。bashprofile文件 exportORACLESIDorcl exportORACLEBASEoptapporacle exportORACLEHOMEORACLEBASEproduct11。2。0db1 exportINVENTORYLOCATIONoptapporaInventory exportLDLIBRARYPATHORACLEHOMElib exportLANGC exportNLSLANGAmericanamerica。zhs16gbk exportPATHORACLEHOMEbin:PATH umask022 生效配置,并echo检查是否生效: oraclesource。bashprofile 用root用户在opt下建目录,并修改归属。 rootmkdirpoptappdatabase rootmkdirpoptapporaInventory rootmkdirpoptapporacle rootchownRoracle:oinstalloptappdatabase rootchownRoracle:oinstalloptapporaInventory rootchownRoracle:oinstalloptapporacle 用root用户关闭selinux、关闭firewalld服务修改etcselinuxconfig里的SELINUXdisabled 关闭firewalld服务 rootsystemctlstopfirewalld rootsystemctldisablefirewalld用root用户配置etchosts修改etchosts增加一行:主机名 检查oracle软件包依赖rootrpmqbinutilscompatlibcap1compatlibstdc33gccgccc glibcglibcdevelkshlibaiolibaiodevel libgcclibstdclibstdcdevellibXilibXtst makesysstatunixODBCunixODBCdevelelfutilslibelfelfutilslibelfdevel 安装上图提示未安装的软件包 rootyumyinstallcompatlibcap1compatlibstdc33kshlibaiodevelunixODBCunixODBCdevelelfutilslibelfelfutilslibelfdevel 解压安装包,放到optappdatabase下包里有database目录,因此只需解压到optapp rootunzipp13390677112040Linuxx86641of7。zipdoptapp rootunzipp13390677112040Linuxx86642of7。zipdoptapp rootchownRoracle:oinstalloptappoptappdatabase只是安装程序目录。安装全部完成后,如果空间紧张,可以删除。如果选择静默安装,请跳至静默安装部分;否则,进行图形界面配置。用root用户修改etcsshsshdconfig,重启sshd服务。 X11Forwardingyes AllowTcpForwardingyes rootsystemctlrestartsshd在Windows机器安装XManager,运行XmanagerPassive,默认是:0。0(即6000端口)。 打开Xshell6,隧道选项里要选中x11转移;telnet宿主机ip(192。168。88。2)的6000端口(:0。0)要通。 设置X服务器的访问权限。 rootsuoracle oracleexportDISPLAY192。168。88。2:0:0。0 oraclexhost cdoptappdatabase运行。runInstaller,看图形界面是否能启动。 看到如下界面,成功启动图形界面。以下均是图形界面,不再详细描述。 OSOPER组不用选。 pdksh包在linux下叫ksh,之前yum时已经检查安装。此处若只有这一项,可忽略。 在快安装完的时候,会报错:Errorininvokingtargetagentnmhsofmakefile 解决方案: 修改ORACLEHOMEsysmanlibinsemagent。mk,将(MKEMAGENTNMECTL)修改为:(MKEMAGENTNMECTL)lnnz11,然后Retry。 按提示运行orainstRoot。sh和root。sh脚本 至此,oracle软件安装完成。用netca配置监听。 dbca建库 在输入GlobalDatabaseName和SID时,若出现下图的情况(输一个字符,显示有2个),请切换一下输入法(按ctrl空格)。 配置企业管理器可选,也可不选。 存储位置可以选择系统默认的使用模板数据库文件位置,也可以自定义一个文件位置。 指定闪回区和开启归档模式可以先不选,等后续安装完后再配置。 字符集选择:ZHS16GBK;其他默认 控制文件数量:最少有2个。最好放在不同位置(截图上是演示环境,就放在一个目录里 ) 重做日志组数量默认3个,后续可以增加;成员大小默认是50M,对于正式环境,建议改成500M。 至此,建库完成。lsnrctlstatus检查监听状态查看监听状态: oraclelsnrctlstatus oraclelsnrctlreload重启监听文件说明: 按上述方法建立的监听是动态监听,静态文件(ORACLEHOMEnetworkadminlistener。ora)内容如下: 可以将配置文件改成如下方式,则为静态监听。 静态监听启动后,此处为而动态静态为ready。 Oracle的静默安装。在optappdatabaseresponse下有3个rsp文件: a、dbinstall。rsp:安装oracle软件的响应文件 b、dbca。rsp:建库用的响应文件 c、netca。rsp:建监听用的响应文件 根据实际情况修改下面列出的参数,没有列出的参数就取默认值。dbinstall。rsp: ORACLEHOSTNAMEvmdemo INVENTORYLOCATIONoptapporaInventory ORACLEHOMEoptapporacleproduct11。2。0db1 ORACLEBASEoptapporacle oracle。install。db。config。starterdb。globalDBNameorcl oracle。install。db。config。starterdb。SIDorcl oracle。install。db。config。starterdb。characterSetZHS16GBK oracle。install。db。config。starterdb。memoryLimit1024M oracle。install。db。config。starterdb。password。ALLchangeoninstall oracle。install。db。config。starterdb。fileSystemStorage。dataLocationdataoradata oracle。install。db。config。starterdb。fileSystemStorage。recoveryLocationoptapporaclefastrecoveryarea 修改完后,执行下面这条命令: oracle。runInstallersilentresponseFileoptappdatabaseresponsedbinstall。rspdbca。rsp OPERATIONTYPEcreateDatabase GDBNAMEorcl SIDorcl SYSPASSWORDchangeoninstall SYSTEMPASSWORDchangeoninstall DATAFILEDESTINATIONdataoradata RECOVERYAREADESTINATIONoptapporaclefastrecoveryarea CHARACTERSETZHS16GBK TOTALMEMORY1024 修改完后,执行下面这条命令: oracledbcasilentresponseFileoptappdatabaseresponsedbca。rspnetca。rsp(无特殊情况,不用修改,直接执行下面这条命令) oraclenetcasilentresponsefileoptappdatabaseresponsenetca。rsp总结:本文只是简单的安装数据库软件和建库,基本参数的调整将会放到下一篇文章。