背景:远程在CentOS 6.3系统里面安装Oracle和部署项目。
难点: 1、用ssh远程登陆成都的app服务器,再从app服务器内部命令ssh远程内网数据库服务器,并且安装ORACLE。
2、字符界面安装oracle,即静默安装。
3、手工创建oracle数据库。
使用外挂:网管(成都服务器管理员)
总结:坑爹。
好吧,在队友极其给力的情况下,我侥幸以抢人头的方式拿到了linux超神之旅的第一滴血,并且还很恬不知耻的盗用了别人的攻略。对于此,像哥这样的有为青年怎么能甘心呢,我可是一直都是支持原创!这要我如何面对我那正直的灵魂~。。。so,哥哥我必须来写一篇攻略来教导一下和我遇到同样问题的小白们。
正文开始。
获取服务器的信息资源,从网上down一个ssh软件,我这里用的是SSH Secure Shell Client。
ok,下载好了以后输入服务器ip,用户名密码,登陆服务器。
神马,为什么不先用虚拟机试水先?魂淡,像哥如此拉风的人还需要试水吗??
登陆服务器了,首先我们应该先安装oracle,而oracle数据库是安装在数据库服务器里面的,上面说过,我需要从app服务器跳转到数据库的服务器,因为app服务器连接了外网,数据库服务器没有。
(#表示root用户命令 $表示oracle用户命令)
在app服务器里面输入命令:#service sshd start //开启linux自带的远程ssh服务
再输入使用ssh服务命令:#ssh xx.xx.xx.xx // xx .xx .xx .xx 是数据库服务器的内网ip
这个时候需要你输入数据库服务器root用户的密码
输入成功以后就进入到了数据库服务器。
好嘛,进来是如此easy,然后呢?我的数据库咋装?安装文件咧?
小case, 拿起你的电话,赶快拨打以下号码,你将会有意想不到的惊喜。
“嘿,网管不?帮我把oracle的安装文件挂到服务器上去呗。”
事情就是这么简单。
来,先给服务器妹纸做个体检。当然我这配置是绝对不需要检查什么玩意了。网上的标准是
体检完了,手感不错,继续往下走。(哥哥光顾着手感了,埋下了一个天大的坑,尼玛,后面会花大力气填坑的,也就是开头说的难点2,因为oracle安装的时候是需要图形化安装的,而ssh是不支持的,需要配置vnc和可视化桌面。如果配置vnc顺利的话,这个时候赶紧配置,然后使用图形化界面远程。否则就跟着哥哥走静默安装吧。)
先干掉碍事的防火墙 # setup 在界面上把防火墙改为enabled。或者直接用#service iptables stop及时生效,重启后会打开。使用#chkconfig iptables off 永久关闭,但是需要重启才能生效。建议用第一个。
另外请勿开启SELinux,oracle官方不建议使用SELinux 。 # vi /etc/selinux/config 修改SELINUX=disabled,然后重启。 如果不想重启系统,使用命令#setenforce 0
环境准备好了,要准备oracle了,安装linux版的oracle软件需要添加很多依赖包
直接全部安装
# yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat
直接复制这一串命令,然后安装吧,骚年!
嘎?报错了??
这是我遇到的拦路虎1号!百度之。。。
原来是没有配置dns。不就是dns么,使用google的公用dns,8.8.8.8
配置过程:命令# vi /etc/resolv.conf (vi不会用的骚年自行百度……)
然后重启网卡:使用命令: #service network restart
你以为磨难就如此结束了么?骚年,你想的太简单了,哥哥的这台数据库服务器是没有连外网的啊啊啊啊啊啊!(如果你的连上了外网,那就ok了)
怎么办,连不上外网,装不了包……
easy,老办法,拿起你的电话……
"网管,帮我外挂一个ios到我的虚拟光驱里面去……"
网管果然是个外挂啊。咦?我为毛不直接让他帮我装oracle得了呢?
好,接下来是属于我一个人的战斗了。使用挂载了ios的虚拟光驱,绑定yum连接。使用yum命令安装依赖包
(同样需要这个步骤的童鞋自行百度去吧,懒得找资料了。这个时候使用yum安装命令的要加上 yum --disablerepo=\* --enablerepo=c6-media install XXXXX )
接下来安装依赖包没有什么错误,事后写的攻略,也就没有截图了,网上的攻略大同小异,我只是针对我遇到的问题做一丢丢的补充。
最后还需要安装libXp这个Library,这个一定要安装,否则安装Oracle时会出现java Exception。
# yum install libXp
创建Oracle用户与组
在这里只讨论单主机环境,不考虑RAC环境的配置。
执行以下指令以新增oracle安装时所需要的使用者与群组。
(1) 建立群组oinstall
# groupadd oinstall
(2) 建立群组dba
# groupadd dba
(3) 新增使用者oracle并将其加入oinstall和dba群组
# useradd -m -g oinstall -G dba oracle
(4) 测试oracle账号是否建立完成
# id oracle
(5) 建立oracle的新密码
复制黏贴,这些都太easy了。
将oracle使用者加入到sudo群组中
# vi /etc/sudoers
找到
root ALL=(ALL) ALL
这行,并且在底下再加入
oracle ALL=(ALL) ALL
文档很长,耐心找找。
因为这是只读属性的文件,使用vi编辑完以后退出保存的时候要用 wq!
配置系统内核参数
# vi /etc/sysctl.conf
修改和添加以下内容:
kernel.shmall = 4294967296 //表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152,通常不需要修改
kernel.shmmax = 68719476736 //定义了共享内存段的最大尺寸(以字节为单位)。缺省为32M,对于oracle来说,该缺省值太低了,通常将其设置为2G
kernel.shmmni = 4096 //用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096 。通常不需要更改
kernel.sem = 250 32000 100 128 //表示设置的信号量
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=4194304 //默认的接收窗口大小
net.core.rmem_max=4194304 //接收窗口的最大大小
net.core.wmem_default=262144 //默认的发送窗口大小
net.core.wmem_max=262144 //发送窗口的最大大小
会有一些与目前的参数重复的,就修改成文件上提供的。
这些都没啥问题要说,复制黏贴,看仔细就成。
编辑完之后,储存,然后执行:
# sysctl -p
启用刚刚所做的变更。
编辑/etc/security/limits.conf
# vi /etc/security/limits.conf
添加以下四行
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
编辑/etc/pam.d/login
# vi /etc/pam.d/login
添加以下两行
session required /lib64/security/pam_limits.so
session required pam_limits.so
修改/etc/profile
# vi /etc/profile
将以下代码新增到profile档案中。
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
修改Linux发行版本信息
创建Oracle安装文件夹以及数据存放文件夹
#mkdir /opt/oracle
#mkdir /opt/oracle/102
#chown -R oracle:dba /opt/oracle
第一阶段到此完毕,接下来,完成这些设定之后,请先注销root账号,并且以oracle账号再次登入系统。
艾玛,复制黏贴的事情,当时做的时候眼睛都花了。
配置oracle用户环境变量
$ cd /home/oracle
$ vi .bash_profile
修改并加入以下內容
ORACLE_BASE=/opt/oracle //上面创建的Oracle安装文件夹
ORACLE_HOME=$ORACLE_BASE/102
ORACLE_SID=orcl
LD_LIBRARY_PATH=$ORACLE_HOME/lib
PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
尼玛,这里又是一个大大大大大坑
因为我是需要字符界面安装oracle的,还需要手工创建数据库,所以这些属性完全不够!!必须得自己添加
# .bash_profile
ORACLE_BASE=/opt/oracle
ORACLE_SID=mini
我这里的SID是mini
继续
保存后使用如下命令,使设置生效:
$ source /home/oracle/.bash_profile安装Oracle,并进行相关设置
1、解压缩安装文件
将下载的10201_database_linux_x86_64.cpio放至即将安装oracle的文件夹/opt/oracle
回到终端模式并且进入到oracle文件夹:
$ cd /opt/oracle
解压缩10201_database_linux_x86_64.cpio
$ cpio -idmv < 10201_database_linux_x86_64.cpio
接着会看到一连串的解压缩动作。这个文件就是我让网管放在硬盘上的安装文件。
解压缩完成会在同一个文件夹中看到database的文件夹,请进入到database文件夹中:
$ cd database
准备执行数据库安装,如果你的centos是中文环境,安装时会出现中文乱码,请下以下指令
$ export LANG=en_US
接着执行
$ ./runInstaller
# xhost +
接下来就是图形界面的安装了,和在windows上面安装的差不多。如果前期的依赖包都装好了,那么基本上是不会有什么问题了。
到这里就是分歧了,网上攻略说的很好。。。但是不适用于偶。。。偶必须去找怎么用字符界面安装oracle了
在这里的时候,还花了我半天的时间去研究vnc,但是数据库服务器无法连接外网,所以无法直接远程桌面到数据库服务器,中间要经过一次跳转。那样就还得在app服务器上面配置vnc,实在是太麻烦,研究了半天,只好放弃。
vnc不行,所以只能采取字符界面安装,也就是接下来可以把死人折磨活的静默安装了。
…………………………………………休息下,先把这个发布,另外的静默安装和手工创建数据库再分出来写。