美文网首页运维安装我爱编程
【Oracle】手把手教你做之Linux上安装Oracle11g

【Oracle】手把手教你做之Linux上安装Oracle11g

作者: 萝卜的琪迹 | 来源:发表于2016-12-06 18:03 被阅读0次

    手把手教你做之Linux上安装Oracle11g


    这是我第一次安装时的过程,及遇到问题的解决办法,在此记录,有不妥之处,多多交流。

    因为高稳定性及高定制低系统消耗等原因,我们希望在Linux上安装Oracle数据库,本文旨在能让任何人看完之后都能在linux上安装Oracle。

    安装前准备

    Oracle下载地址

    oracle下载地址

    oracle安装文件下载

    根据需求下载对应的安装包版本。X86是32位操作系统用的安装包,x86-64是64位操作系统用的安装包。

    在系统上检查软件依赖的安装

    rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel

    软件依赖检查
    提示 is not installed 的用yum安装
    例如:
    yum -y install compat-libstdc++-33 yum -y install elfutils-libelf-devel
    提示:要提前配置好yum源。

    创建oracle用户

    密码为oracle,密码输入两次。
    /usr/sbin/groupadd oinstall /usr/sbin/groupadd dba /usr/sbin/useradd -g oinstall -G dba oracle passwd oracle
    系统提示:

    Changing password for user oracle.
    New password:
    BAD PASSWORD: it is based on a dictionary word
    BAD PASSWORD: is too simple
    Retype new password:
    passwd: all authentication tokens updated successfully.

    修改内核参数

    vi /etc/sysctl.conf
    文本末尾加入以下内容:

    fs.aio-max-nr = 1048576

    fs.file-max = 6815744
    kernel.shmall = 2097152
    kernel.shmmax = 536870912
    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

    修改内核参数

    vi中编辑的方法
    按i进入输入模式,esc退出 :wq退出编辑
    为使上述配置生效而不重启系统,执行如下命令
    /sbin/sysctl –p

    修改用户限制

    vi /etc/security/limits.conf
    文本末尾加入以下内容:

    oracle soft nproc 2047
    oracle hard nproc 16384
    oracle soft nofile 1024
    oracle hard nofile 65536

    修改用户验证选项

    vi /etc/pam.d/login
    文本末尾加入以下内容:

    session required pam_limits.so

    修改用户配置文件

    vi /etc/profile
    文本末尾加入以下内容:

    if [ $USER = "oracle" ]; then
    if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
    else
    ulimit -u 16384 -n 65536
    fi
    fi

    安装目录配置

    切换到root 用户,执行以下命令。
    mkdir -p oraInventory chown -R oracle:oinstall oraInventory chmod -R 775 oraInventory

    配置oracle用户的环境变量

    切换到oracle用户
    然后直接输入
    vi .bash_profile
    文本末尾加入以下内容:

    export ORACLE_BASE=/u01
    export ORACLE_HOME=$ORACLE_BASE/oracle
    export ORACLE_SID=oracleSid
    export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin

    之后执行
    source .bash_profile


    Oracle安装

    先将安装包利用ftp传到目录下,一定要用oracle用户传!

    然后进入目录解压文件
    unzip linux.x64_11gR2_database_1of2.zip unzip linux.x64_11gR2_database_2of2.zip
    因为oracle11g的安装有图形界面,而我暂时没法用远程命令显示图形。
    所以在虚拟机本机上运行如下命令
    [oracle@localhost oraclepackage]$ cd database/ [oracle@localhost database]$ ./runInstaller

    执行开始安装命令 安装桌面类数据库 忽略检查的错误

    因为之前我们检查了软件安装的依赖,这些错误都是版本的问题,不影响安装,所以我们选择忽略。

    之后的安装就跟在windows图形化界面的安装一样了。
    安装完成后,系统会提示你需要用root权限执行2个shell脚本。按照其提示的路径,找到其所在的位置, 新开启一个终端,输入命令:
    [root@localhost oraInventory]# cd /u01/oracle/ [root@localhost oracle]# sh root.sh [root@localhost ~]# cd /oraInventory/ [root@localhost oraInventory]# sh orainstRoot.sh

    root用户执行两个命令

    安装后的问题解决

    启动监听

    [oracle@localhost ~]$ lsnrctl start

    连接数据库

    [oracle@localhost ~]$ sqlplus / as sysdba

    启动数据库实例

    SQL> startup

    ORA-01078: failure in processing system parameters
    LRM-00109: could not open parameter file '/u01/oracle/dbs/initoracleSid.ora'

    提示文件未找到,解决办法如下,将/u01/admin/orcl/pfile下类似于init.ora.的文件复制到/u01/oracle/dbs路径下,并重命名为未找到的文件名。

    [oracle@localhost ~]$ cd /u01/admin/orcl/pfile [oracle@localhost pfile]$ ls

    init.ora.10302016235216

    [oracle@localhost pfile]$ cp init.ora.10302016235216 /u01/oracle/dbs [oracle@localhost pfile]$ cd /u01/oracle/dbs [oracle@localhost dbs]$ mv init.ora.10302016235216 initoracleSid.ora SQL> startup

    提示存储不足。

    ORA-00845: MEMORY_TARGET not supported on this system

    用root用户编辑/etc/fstab
    [root@localhost etc]# vi fstab
    在tmpfs 后面加入,size=3G

    编辑 fstab文件

    修改完成后重启挂载,遇到在使用的情况,故加上参数-k,之后重启挂载。
    [root@localhost ~]# umount /dev/shm

    umount: /dev/shm: device is busy.
    (In some cases useful info about processes that use
    the device is found by lsof(8) or fuser(1))

    [root@localhost ~]# fuser -mvk /dev/shm [root@localhost ~]# umount /dev/shm [root@localhost ~]# mount /dev/shm

    关闭防火墙
    sudo service iptables stop
    防火墙文件中加入下面一行,然后启动防火墙。
    sudo vi /etc/sysconfig/iptables

    -A INPUT -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT

    修改防火墙文件

    修改密码文件

    可以在本地用sysdba登陆,但plsql不能访问。

    1. 查询oracle实例名。
    查询oracle实例名

    select instance_name from v$instance;

    将dbs目录下orapw实例名的文件修改成对应的。或者使用一下命令重新生成。
    orapwd file=orapworacleSid password=123456 entries=10

    密码文件的生成

    重启数据库,plsql就可以访问了。
    SQL> shutdown immediate SQL>startup

    数据库重启

    当使用如下命令可以查出结果时,就可以远程连接数据库了。
    select * from v$pwfile_users;
    至此oracle11g在Linux上的基本安装就完成了。

    相关文章

      网友评论

        本文标题:【Oracle】手把手教你做之Linux上安装Oracle11g

        本文链接:https://www.haomeiwen.com/subject/bnsrmttx.html