linux系统安装oracle11g数据库

redhat系统安装Oracle
首先安装yum
     https://blog.csdn.net/qq_28657369/article/details/84543715
下载oracle数据库
     https://www.oracle.com/technetwork/cn/database/enterprise-edition/downloads/index.html
准备Oracle的安装环境(root用户)
     检查和和更新所需要的软件包
     执行命令
         rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel  
         rpm -q gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers  
         rpm -q ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make numactl-devel sysstat
对于未安装的这些包执行yum install [包名],命令如下
    yum install compat-libstdc++-33
    yum install elfutils-libelf-devel
    在Oracle数据库软件安装时,ksh实际是用的pdksh,但ksh也是可以使用的,只是安装时会有警告,pdksh是一个早期的软件包,可以在http://rpm.pbone.net/ 中找到。
验证系统要求
    查看内存大小 grep MemTotal /proc/meminfo
    查看交换空间 grep SwapTotal /proc/meminfo
    查看磁盘空间 df -h Oracle 11g R2 x64企业版的磁盘空间要求4.35GB以上。
创建Oracle用户组和用户账号(root用户)
        # groupadd oinstall
        # groupadd dba
        # useradd -g oinstall -G dba oracle
        # passwd oracle
配置内核参数(root用户)
1.修改文件/etc/sysctl.conf vim /etc/sysctl.conf 
文件内容如下:
        #/etc/sysctl.conf
       # for oracle
           fs.aio-max-nr = 1048576
            fs.file-max = 6815744
            kernel.shmall = 2097152
            # 官方文档kernel.shmmax = 536870912,实际软件中需要kernel.shmmax = 980742144
            kernel.shmmax = 980742144
            kernel.shmmni = 4096
            kernel.sem = 250 32000 100 128
           net.ipv4.ip_local_port_range = 9000 65500
            net.core.rmem_default = 262144
           net.core.rmem_max = 4194304
            net.core.wmem_default = 262144
            net.core.wmem_max = 1048586
执行命令: /sbin/sysctl -p 使参数生效。 
2. 修改文件/etc/security/limits.conf vim /etc/security/limits.conf 
文件内容如下:
       # /etc/security/limits.conf 
        # for oracle
        oracle              soft    nproc   2047
        oracle              hard    nproc   16384
        oracle              soft    nofile  1024
        oracle              hard    nofile  65536
        oracle              soft    stack   10240
:wq保存文件并退出
创建Oracle的安装目录(root用户)
        # mkdir -p /u01/app/
        # chown -R oracle:oinstall /u01/app/
        # chmod -R 775 /u01/app/
编辑Oracle用户环境(Oracle用户)
    在root用户下输入 su oracle 进入oracle用户环境
    编辑.bash_profile文件 vim /home/oracle/.bash_profile 
    .bash_profile文件内容如下:
        #For Oracle
            export DISPLAY=:0.0
            export TMP=/tmp;
            export TMPDIR=$TMP;
            export ORACLE_BASE=/u01/app/oracle;
            export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1;
            export ORACLE_SID=oracle11g;
            export ORACLE_TERM=xterm;
            export PATH=/usr/sbin:$PATH;
            export PATH=$ORACLE_HOME/bin:$PATH;
            export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
            export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
    :wq保存退出。 

    重新启动Linux,选择oracle用户环境的时候,系统会根据环境变量进行配置,后边的oracle命令才能正常执行。 
    输入 echo $ORACLE_HOME 查看环境变量是否配置成功,如果正常输出了配置的路径,则成功,如果输出为空白,可以在本次手动执行 source /home/oracle/.bash_profile 执行环境变量的加载。但是仅在当前终端窗口有效。

    安装ORACLE数据库(oracle用户)
        进入oracle解压缩后的安装目录,我的目录是 /mnt/usb/database cd /mnt/usb/database
        键入vncserver 如果提示command not found,则在root用户下使用 yum install tigervnc-server -y进行安装
        执行 ./runInstaller 进入安装界面,我之前遇到过无法启动用户界面的情况,报的错误忘记了,反正能正常进入安装界面就行了。
        进入安装界面后,安装过程和Windows下大致相同。
        如果出现了缺失依赖包可以点击右上角的ignore all忽略所有
        其中如果报错误:Error in invoking target ‘agent nmhs’ of makefile ‘/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk’ 解决方案是: 保留安装过程,另外开启一个终端窗口,将ins_emagent.mk文件中的(MK_EMAGENT_NMECTL)更改为(MK_EMAGENT_NMECTL) -lnnz11,然后在安装过程中点击Retry即可。
        在安装到68%时提示错误Error in invoking target 'install' of makefile '/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk'. See '/u01/app/oraInventory/logs/installActions2015-01-22_09-39-03AM.log' for details.
            下载glibc-static-2.17-55.el7.x86_64.rpm安装,下载地址:
            ------------------------------------------分割线------------------------------------------
            免费下载地址在 http://linux.linuxidc.com/
            用户名与密码都是www.linuxidc.com
            具体下载目录在 /2015年资料/1月/22日/RHEL7.0 VNC远程安装Oracle 11gR2报错解决
            该软件包包含一个静态链接库:/usr/lib64/libc.a
            修改/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk,将
            ctxhx: $(CTXHXOBJ)
                  $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)
            修改为:
            ctxhx: $(CTXHXOBJ)
                  -static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/stdc.a
            点击Retry继续安装。
        安装最后步骤按提示在root用户下执行脚本.
               # cd /u01/app/oraInventory/
                # sh orainstRoot.sh
                # cd /u01/app/oracle/product/11.2.0/dbhome_1/
                # sh root.sh
                在Enter the full pathname of the local bin directory:[/usr/local/bin]:直接回车即可
配置监听器
    oracle安装成功后需要配置监听器,直接键入 netca命令,如果提示bash:netca:command not found ,手工执行source /home/oracle/.bash_profile,就可以进入配置监听器的用户界面了,根据需要配置监听器。 
    1. 配置Listener configuration 
    2. 配置Local Net Service Name configuration

新建数据库实例
    键入 dbca 命令,进行数据库实例配置
    linux系统安装oracle11g数据库_第1张图片
    linux系统安装oracle11g数据库_第2张图片

     linux系统安装oracle11g数据库_第3张图片

     linux系统安装oracle11g数据库_第4张图片

     linux系统安装oracle11g数据库_第5张图片

     linux系统安装oracle11g数据库_第6张图片

     linux系统安装oracle11g数据库_第7张图片

     linux系统安装oracle11g数据库_第8张图片

     测试数据库
     测试监听命令
            $ lsnrctl stop
            $ lsnrctl start
    如果在start这个过程中 报The listener supports no services 
    解决办法:打开listener.ora 文件 vim $ORACLE_HOME/network/admin/listener.ora 
    添加内容:
        SID_LIST_LISTENER =  
        (SID_LIST =  
              (SID_DESC =  
              (GLOBAL_DBNAME = oracle11g)
              (SID_NAME = oracle11g)
              )
        )
    其中oracle11g是自己配置的服务器名称.
    操作sqlplus
    命令 sqlplus /nolog 进入SQL控制台
    命令 connect /as sysdba sysdba连接数据库。如果此时显示Connected to an idle instance,不用着急,进入第3个步骤
    命令 shutdown immediate ,如果此时报service handle not initialized。在sysdba连接上之后键入shutdown abort
    命令 startup.如果此时报错,请检查一下.bash_profile下边的$ORACLE_SID是否和建的数据库的SID一直,然后保存为一致之后重新启动。 
    其他测试命令,比如select userenv(‘language’) from dual,查看数据库的dataset编码,为后续oracle数据库的导入做准备。
至此,oracle数据库已经完全安装在Linux服务器上了!

 

原文博客:https://blog.csdn.net/u012272908/article/details/77411149

你可能感兴趣的:(数据库)