linux 安装数据库 oracle 11g

   centos6.3下安装oracle 11g

1.将oracle 11g下载到电脑  自己百度

2.在linux下创建oracle用户,以及管理组
以root用户登录linux,执行以下命令
    #/usr/sbin/groupadd dba
    #/usr/sbin/groupadd oper
    #/usr/sbin/groupadd oinstall
    #useradd oracle
    #/usr/sbin/usermod -g oinstall -G dba oracle         (dba为管理组)
    #/usr/sbin/useradd -g oinstall -G dba oracle
    #passwd oracle
    预先创建安装目录
    #mkdir -p /opt/oracle/product
    #mkdir -p /opt/oracle/product/OraHome
    #mkdir -p /opt/oraInventory
    #mkdir -p /opt/oracle/oradata
    #mkdir -p /var/opt/oracle
    设置目录的所有者所属组和权限
    #chown -R oracle.oinstall /opt/oracle
    #chown -R oracle.oinstall /opt/oracle/oradata
    #chown -R oracle.oinstall /opt/oracle/product/OraHome
    #chown -R oracle.dba /opt/oraInventory
    #chown oracle.dba /var/opt/oracle
    #chmod -R 777 /opt/oracle  //777为最大权限  这么做为了免得以后麻烦  还得返工
    #chmod -R 777 /var/opt/oracle
    #chmod -R 777 /etc/hosts   //开hosts文件的权限,配置监听器时用,也可以将etc文件的权限全部开开
    设置用户oracle的环境变量
    #su - oracle
    $vim /home/oracle/.bash_profile
    在文件中添加如下:
    
    export ORACLE_BASE=/opt/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/OraHome
    export ORACLE_SID=orcl
    export ORACLE_OWNER=oracle
    export ORACLE_TERM=vt100
    export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
    export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
    LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
    export LD_LIBRARY_PATH
    CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
    CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
    export CLASSPATH
    PATH=$PATH:/usr/sbin; export PATH
    PATH=$PATH:/usr/bin; export PATH
    ORA_NLS33=$ORACLE_HOME/nls/admin/data
    保存退出
    --执行以下命令让配置马上生效或以oracle用户登录使设置生效
    $ source $HOME/.bash_profile

3.解压oracle包
    我下载的是.zip的包,执行以下命令
    #unzip linux_11gR2_database_1of2.zip
    #unzip linux_11gR2_database_2of2.zip
    注意解压好的目录用户oracle必须具有读写和执行的权限,可以将目录的用户和组改为oracle:
    #chown -R oracle database
    #chgrp -R oinstall database

4.依赖包
    很关键的一步,必须走好,可以上网查一下,我提供的可能不全
gcc-3.4.6
gcc-c++-3.4.6
libaio-0.3.105
libaio-devel-0.3.105
libaio-devel-0.3.105
compat-libstdc++-33-3.2.3
compat-libstdc++-33-3.2.3
elfutils-libelf-devel-0.97
glibc-devel-2.3.4
glibc-headers-2.3.4
glibc-2.3.4-2.41
libgcc-3.4.6
libstdc++-3.4.6
libstdc++-devel-3.4.6
unixODBC-2.2.11
unixODBC-devel-2.2.11
pdksh-5.2.14
libaio-0.3.105
libgcc-3.4.6
pdksh-5.2.14
以上,大概这些。

5.依赖库检查失败处理
在依赖库检查时,多个依赖库检查失败,提示未安装,如libaio,unixODBC等。
经检查确认这些库都以安装,版本高于或等于所需版本。
翻阅Oracle 文档,对于64位Oracle 11.2.0.2之间的版本,部分依赖库需要同时
安装32位版和64位版。
而报依赖性错误的库就是这些库的32位版。那么可以确定是oracle的依赖校验
机制存在缺陷。
在Oracle安装包中, 在目录stage/cvu下,存在一个文件cvu_prereq.xml,其中
包含了有关认证的操作
系统的库依赖关系。在这些依赖库的32位版本,文件中对于ARCHITECTURE的标注
是"i386",64位版本则是x86_64。
打开CentOS的光盘查看相关的rpm,其构架标注均为i686,于是猜想问题就在此处。
由于CentOS不在认证系统之列,因此不知道oracle安装程序究竟用了那个系统作为校验,
于是便将cvu_prereq.xml文件中所有ARCHITECTURE="i386"的条目,全部改成"i686"后保存。
重新执行./runInstaller,包依赖检查顺利通过。

6.安装oracle
reboot并以oracle登录,进入图形界面
#cd database  进入解压后的文件,一般叫database
#./runInstaller  运行图形化安装界面

不出意外,安装界面显示很多 " 口口 " 样子的乱码
解决办法:查看locale输出
“locale”命令必须在终端中进入database文件夹运行才会生效
# locale
LANG=en_US.UTF-8
LC_CTYPE=zh_CN.GB18030
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
执行#export LC_CTYPE=en_US.UTF-8 然后重新调用安装程序.

export LC_CTYPE=en_US

运行完#./runInstaller  重新运行图形化安装界面
这时候图形化界面会变成英文的  和中文时一致的按照中文的安装也是一样的
然后进入图形化安装过程,比较简单,一步一步来,注意我们先安装oracle软件,安装完软件之后再配置监听程序和数据库。下面是安装过程的步骤和选项:
    

    先安装数据库软件!
    
    
    选择单实例安装,如果你需要RAC则选择RAC安装!
    

    选择中文和英文!
    

    
    这里是oracle的安装目录,应该是你刚刚建立好的目录/opt目录下,oracle是针对用户的!
    
    
    这里是oracle的管理组,是上面已经定义好的dba,直接下一步!
    

    这里检查系统的安装条件,默认会列出失败项,会对系统的内存,swap,磁盘空间,依赖包,内核参数等等进行检查,有一些检查项目是可以修补的,有些是不可修补的,可以修补的点击上面的修补并再次检查,会弹出对话框:
    

    按上面提示:
    打开一个终端,以root登录
    #cd  /tmp/CVU_11.2.0.1.0_oracle
    #./runfixup.sh
    然后返回窗口确定
    还有一些依赖包的解决,可以使用
    #yum install 【包名称】
    来进行安装,如果提示找不到此包的yum源,试着使用通配符,例如找不到sysstat.1.5.103的包可以使用
    #yum install sysstat*
    如果还有一些条件不满足而不能安装,可以选择【全部忽略】,然后下一步安装。
    注:如果依赖包都装齐了,这步可能会直接跳过
     安装完毕, 提示执行 2个脚本:
    以root用户登录,和上面一样,进入所提示目录,并执行这2个脚本。
    (安装目录)/orainstRoot.sh
    (安装目录)/root.sh
    可以先进入安装目录再执行 ./orainstRoot.sh   ./root.sh
    直接按回车, 缺省值就可以
    完成,数据库成功安装,呵呵!
    上面只是安装了软件, 数据库没有创建, 还有配置 监听器 Listener

7.配置监听器
    最麻烦的一步,有一点不对就报错,建议:最好将要改的配置文件先备份一份,如果改错了直接将备份的copy回去就行。
    开始:
最开始建过的oracle用户,这步必须在Oracle用户中完成,进入oracle用户,su - oracle也不是
不许reboot,重新登录。
        cd / 进入 oracle的安装路径,忘了可以参考上面创建时的路径。
#netca  //此命令一定要在oracle用户中才有效,并且要在oracle安装路径的bin中
    进入图形化配置,直接默认下一步,到最后完成,其中你也可以修改监听去的名称,协议,端口。
端口最好使用默认的1521。
   安装完成后,需慢慢调试,详情问百度,最好不要乱改配置文件。可以参考(http://blog.csdn.net/zjliu1984/archive/2009/06/16/4273304.aspx)

两个常见的listener问题  参考(http://www.2cto.com/database/201110/109668.html)
1、/etc/hosts文件oracle没有权限访问
这时候oracle用户去启动监听会报如下错误
TNS-12545: Connect failed because target host or object does not exist
TNS-12560: TNS:protocol adapter error
TNS-00515: Connect failed because target host or object does not exist
Linux Error: 13: Permission denied

2、/etc/hosts文件里面的主机名对应的IP地址没有正确在本机绑定
这时候oracle用户去启动监听会报如下错误
TNS-12535: TNS:operation timed out
TNS-12560: TNS:protocol adapter error
TNS-00505: Operation timed out
Linux Error: 110: Connection timed out

启动命令 lsnrctl start
停止命令 lsnrctl stop
状态 lsnrctl status
详情参考(http://blog.csdn.net/zjliu1984/archive/2009/06/16/4273304.aspx)

8.安装oracle程序
    执行命令:
    #dbca  //此命令一定要在oracle用户中才有效,并且要在oracle安装路径的bin中。
    可能出现乱码,如出现,执行命令locale(同上面出现乱码时操作相同,效果也相同,变成英文版的)
    进入图形化配置界面,一直下一步

    提示输入全局数据库名称,我输入的是orcl.com

    下一步选择第二个选项,并分别两次输入密码!此密码就是你的数据库管理员密码!
    直接下一步,一直到第八步,勾选实例模板
    下一步,横排第三个选项下,选择字符编码AL32UTF-8
    然后一直下一步,直到进行安装数据库,并且完成。
    到此你oracle就算初步安装完成了。

9.测试连接数据库
    你可以使用下面sqlplus语句连接数据库
    用 oracle 用户 远程登录, 然后
    $ sqlplus /nolog
    SQL> conn / as sysdba
    Connected to an idle instance.
    出现错误
    SQL> startup
    [oracle@localhost ~]$ sqlplus /nolog
    SQL*Plus: Release 11.2.0.1.0 Production
    Copyright (c) 1982, 2009, Oracle.  All rights reserved.
    SQL> conn / as sysdba
    Connected.
    SQL> create table testUser( id integer,name char(10));
    Table created.
    SQL> insert into testUser values(0,'Jack');
    1 row created.
    SQL> commit;
    Commit complete.
    SQL> select * from testUser;
            ID NAME
    ---------- ----------
             0 Jack
    关闭数据库
    SQL>  shutdown immediate
    SQL>  quit
    到此你的oracle已成功安装!

猜你喜欢

转载自xxxx1243.iteye.com/blog/1750788