linux超神之旅二

来源:互联网 发布:xmind7.5 mac 破解版 编辑:程序博客网 时间:2024/04/29 23:55

嗯……果真是二。
    背景:远程在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的新密码

    # passwd oracle 

    复制黏贴,这些都太easy了。

    
将oracle使用者加入到sudo群组中

    # vi /etc/sudoers

    找到
    root        ALL=(ALL)        ALL 
    这行,并且在底下再加入
    oracle        ALL=(ALL)        ALL

    输入wq!(由于这是一份只读文档所以需要再加上!)并且按下Enter 


    
    文档很长,耐心找找。
    因为这是只读属性的文件,使用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 10g发行的时候,CentOS 6没有发行,所以Oracle 10g并没有对CentOS 6确认支持,需要修改文件让Oracle 10g支持CentOS 6。
我们需要手工修改Linux的发行注记,让Oracle 10g支持CentOS 6。
编辑/etc/redhat-release文件
# vi /etc/redhat-release
将其中的内容CentOS release 6.3 (Final)修改为redhat 4

     

创建Oracle安装文件夹以及数据存放文件夹

#mkdir /opt/oracle
#mkdir /opt/oracle/102
#chown -R oracle:dba /opt/oracle

配置Linux主机
检查/etc/hosts文件中是否有localhost的记录(指向127.0.0.1即可),若没有的话,在后面配置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

export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH



尼玛,这里又是一个大大大大大 
  

 因为我是需要字符界面安装oracle的,还需要手工创建数据库,所以这些属性完全不够!!必须得自己添加
 
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs
#ORACLE_HOME=$ORACLE_BASE/102
#LD_LIBRARY_PATH=$ORACLE_HOME/lib
#PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
#PATH=$PATH:$HOME/bin
#export PATH=$ORACLE_HOME/bin:$PATH

ORACLE_BASE=/opt/oracle 
ORACLE_SID=mini
export ORACLE_BASE ORACLE_SID 
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE/lib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export LIBPATH=${CLASSPATH}:$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib
export ORACLE_OWNER=oracle
export SPFILE_PATH=$ORACLE_HOME/dbs
export ORA_NLS10=$ORACLE_HOME/nls/data
 

我这里的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

如果无法看到安装界面,请使用root帐户执行如下命令后再运行安装程序:
# export DISPLAY=:0.0 
# xhost + 
$ ./runInstaller

接下来就是图形界面的安装了,和在windows上面安装的差不多。如果前期的依赖包都装好了,那么基本上是不会有什么问题了。

到这里就是分歧了,网上攻略说的很好。。。但是不适用于偶。。。偶必须去找怎么用字符界面安装oracle了

在这里的时候,还花了我半天的时间去研究vnc,但是数据库服务器无法连接外网,所以无法直接远程桌面到数据库服务器,中间要经过一次跳转。那样就还得在app服务器上面配置vnc,实在是太麻烦,研究了半天,只好放弃。

vnc不行,所以只能采取字符界面安装,也就是接下来可以把死人折磨活的静默安装了。

…………………………………………休息下,先把这个发布,另外的静默安装和手工创建数据库再分出来写。
0 0
原创粉丝点击