• Linux下安装oracle11.2.0.4


    注意:#代表root用户下的操作; $代表oracle用户

    Oracle安装包及rpm离线依赖包

    rpm离线依赖包

    1.关闭、防火墙 #vi /etc/selinux/config 设置SELINUX=disabled

    2.创建Oracle安装路径

    mkdir -p /data/oracle/product/11.2.0

    mkdir -p /data/oracle/inventory

    mkdir -p /data/oracle/oradata

    chown -R oracle:oinstall /data

    3.创建运行oracle数据库的系统用户和用户组:

    #groupadd oinstall

    #groupadd dba

    #useradd -g oinstall -g dba -m oracle

    #passwd oracle

    4.视情况决定是暂时关闭还是永久关闭防火墙:

    systemctl status firewalld.service     //查看防火墙状态

    systemctl stop firewalld.service        //关闭防火墙

    systemctl disable firewalld.service //禁止使用防火墙(重启也是禁止的)

    5.设置系统内核参数

    vi /etc/sysctl.conf #编辑,在最后添加以下代码

    net.ipv4.icmp_echo_ignore_broadcasts = 1

    net.ipv4.conf.all.rp_filter = 1

    fs.file-max = 6815744 #设置最大打开文件数

    fs.aio-max-nr = 1048576

    kernel.shmall = 2097152 #共享内存的总量,8G内存设置:2097152*4k/1024/1024

    kernel.shmmax = 2147483648 #最大共享内存的段大小

    kernel.shmmni = 4096 #整个系统共享内存端的最大数

    kernel.sem = 250 32000 100 128

    net.ipv4.ip_local_port_range = 9000 65500 #可使用的IPv4端口范围

    net.core.rmem_default = 262144

    net.core.rmem_max= 4194304

    net.core.wmem_default= 262144

    net.core.wmem_max= 1048576

    :wq! #保存退出

    6.进入到etc目录下,输入以下命令使配置立即生效:sysctl -p

    7.配置用户环境:

    #vim /home/oracle/.bash_profile

    export ORACLE_BASE=/data/oracle

    export ORACLE_HOME=/data/oracle/product/11.2.0/db_1

    export ORACLE_SID=orcl

    export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

    export ORACLE_HOME_LISTNER=$ORACLE_HOME

    if [ $USER = "oracle" ]; then

    if [ $SHELL = "/bin/ksh" ]; then

    ulimit -p 16384

    ulimit -n 65536

    else

    ulimit -u 16384 -n 65536

    fi

    umask 022

    Fi

    使环境变量生效:#source /home/oracle/.bash_profile

    8.为避免每次都要source才生效,需要在oracle用户下进行如下配置;

    $cd ~

    $vi .bashrc 下添加第7步的配置

    9.#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

    export DISPLAY=localhost:1

    使环境变量生效:#source /etc/profile

    11.安装oracle数据库所需要的软件包:yum install gcc* gcc-* gcc-c++-* glibc-devel-* glibc-headers-* compat-libstdc* libstdc* elfutils-libelf-devel* libaio-devel* sysstat* unixODBC-* pdksh-*

    12.单独安装未成功的包(因为有依赖关系,所以如果没有出现进度条,并且提示错误信息,那就直接在命令最后,忽略依赖关系,直接安装!),

    安装命令:#rpm -ivh * --force --nodeps;

    13.安装依赖过程如下(执行顺序参考,可以忽略):

    rpm -ivh compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm --force --nodeps

    14.安装Oracle软件包,解压oracle安装文件到/data/oracle,解压完成后/data/oracle下会生成database目录

    $unzip linux.x64_11gR2_database_1of2.zip    $unzip linux.x64_11gR2_database_2of2.zip

    解压后如图:

    1. 编辑oracle数据库安装应答文件,db_install.rspdbca.rspnetca.rsp三个应答文件,分别数据库安装文件、建立数据库实例和监听配置安装文件:

    #vim  /data/oracle/database/response/db_install.rsp

    oracle.install.option=INSTALL_DB_SWONLY   //29 行 安装类型

    ORACLE_HOSTNAME=chances //37 行 主机名称

    UNIX_GROUP_NAME=oinstall //42 行 安装组

    INVENTORY_LOCATION=/opt/oracle/inventory //47 行 INVENTORY目录

    SELECTED_LANGUAGES=zh_CN //78 行 选择语言

    ORACLE_HOME=/data/oracle/product/11.2.0/db_1 //83 行 oracle_home

    ORACLE_BASE=/data/oracle //88 行 oracle_base

    oracle.install.db.InstallEdition=EE //99 行 oracle版本

    oracle.install.db.DBA_GROUP=dba //142行dba用户组

    oracle.install.db.OPER_GROUP=oinstall //147行oper用户组

    oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //160行 数据库类型

    oracle.install.db.config.starterdb.globalDBName=orcl //165行globalDBName

    oracle.install.db.config.starterdb.SID=orcl //170行SID

    oracle.install.db.config.starterdb.memoryLimit=800  //192行 自动管理内存的最小内存(M)

    oracle.install.db.config.starterdb.password.ALL=oracle //233行 设定所有数据库用户使用同一个密码

    DECLINE_SECURITY_UPDATES=true //385行 设置安全更新

    16.使用oracle用户安装,大约10分钟,可以根据提示查看安装日志,

    #su oracle

    $cd /data/oracle/database

    $./runInstaller -silent -responseFile /data/oracle/database/response/db_install.rsp -ignorePrereq

    17.安装后以root身份执行脚本:#cd /data/oracle/product/112010/db_1 ;    ./root.sh;  安装完成;

    18.#vim /data/oracle/database/response/netca.rsp

    INSTALL_TYPE=""custom""安装的类型

    LISTENER_NUMBER=1监听器数量

    LISTENER_NAMES={"LISTENER"}监听器的名称列表

    LISTENER_PROTOCOLS={"TCP;1521"}监听器使用的通讯协议列表

    LISTENER_START=""LISTENER""监听器启动的名称

    进入/data/oracle/product/11.2.0/db_1/bin目录,执行$netca /silent /responseFile /data/oracle/database/response/netca.rsp,成功运行后,在/data/oracle/product/11.2.0/network/admin/中生成listener.ora和sqlnet.ora文件;

    1. #netstat -tnulp | grep 1521  //查看1521端口正在监听

    1. $vim /data/oracle/database/response/dbca.rsp

    RESPONSEFILE_VERSION ="11.2.0"//不能更改

    OPERATION_TYPE ="createDatabase"

    GDBNAME ="orcl"//数据库的名字

    SID ="ORCL"//对应的实例名字

    TEMPLATENAME ="General_Purpose.dbc"//建库用的模板文件

    SYSPASSWORD ="oracle"//SYS管理员密码

    SYSTEMPASSWORD ="oracle"//SYSTEM管理员密码

    SYSMANPASSWORD= "oracle"

    DBSNMPPASSWORD= "oracle"

    DATAFILEDESTINATION =/data/oracle/oradata //数据文件存放目录

    RECOVERYAREADESTINATION=/data/oracle/flash_recovery_area //恢复数据存放目录

    CHARACTERSET ="ZHS16GBK"//字符集,重要!!!建库后一般不能更改,所以建库前要确定清楚。

    TOTALMEMORY ="1638"//1638MB,物理内存2G*80%。

    21.进入bin目录,执行$dbca -silent -responseFile /data/oracle/database/response/dbca.rsp

    22.查看监听状态 $ lsnrctl status

    23.oracle用户下,修改dbstart和dbshut文件

    vim /data/oracle/product/11.2.0/db_1/bin/dbstart

    ORACLE_HOME_LISTNER=$1修改为ORACLE_HOME_LISTNER=$ORACLE_HOME

    vim /data/oracle/product/11.2.0/db_1/bin/dbshut

    ORACLE_HOME_LISTNER=$1修改为ORACLE_HOME_LISTNER=$ORACLE_HOME

    vim /etc/oratab

    将orcl:/data/oracle/product/11.2.0:N中最后的N改为Y,成为

    orcl:/data/oracle/product/11.2.0:Y

    24.进入bin目录,执行$ dbshut Oracle监听停止,进程消失;$ dbstart Oracle 监听启动,进程启动;如果log文件报Permission denied,给以下文件赋777权限:

    25.vim /data/oracle/product/11.2.0/db_1/network/admin/listener.ora

    SID_LIST_LSNR =

      (SID_LIST =

        (SID_DESC =

         (GLOBAL_DBNAME = orcl)

         (SID_NAME = orcl)

        )

      )

    26.环境配置是否生效:

    27.$sqlplus / as sysdba;

    SQL>select status from v$instance;

    SQL>quit;

    28.完成之后,我们需要将selinux打开

    #vi /etc/selinux/config;将之前的disabled 改成targeted

    29.常见错误:

    1.该问题一般是认为sid设置混乱造成,oracle安装过程中有几个地方都设置sid和数据库名称之类的,注意dbca.rsp中的SID要大写ORCL

    2.ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener 或TNS-01106: Message 1106 not found或netca: command not found,配置的oracle环境没生效导致,可以通过先关闭窗口再连接linux服务器,再进入oracle用户执行echo $ORACLE_HOME校验,有输出说明生效,一定要在oracle用户下生效才可以;

    3.Checking swap space: 0 MB available, 150 MB required. Failed <<<<:

    swapon -s;  df -hal;  dd if=/dev/zero of=/swapfile bs=1024 count=512k;   mkswap /swapfile;  swapon -s;

    vim 打开 /etc/fstab,在其最后添加如下一行:/swapfile          swap            swap    defaults        0 0

    chown root:root /swapfile

    chmod 0600 /swapfile

    4.The listener supports no services:

    (1)方法一:在listener.ora里面添加了一行:

    SID_LIST_LSNR =

      (SID_LIST =

        (SID_DESC =

         (GLOBAL_DBNAME = orcl)

         (SID_NAME = orcl)

        )

      )

    (2)方法二:SQL>show parameter service_names;SQL>alter system register;  

    再重启监听,$dbshut;  $dbstart;  $lsnrctl status;

  • 相关阅读:
    【数据分析】Python:处理缺失值的常见方法
    五、 计算机网络(考点篇)
    Java OutputStreamWriter类的简介说明
    30 数据分析(上)(业务略写可跳)|jupyter|matplotlib
    心法利器[77] | 文本分类日常提点技巧
    程序员必备的IP查询工具
    springboot+python+php教学课后在线作业批改系统 uniapp小程序
    边缘人工智能——nanodet模型实践指引,从标注数据集到实现部署文件
    产品安全—CC标准 ISO/IEC 15408:2022
    Ceph入门到精通-生产日志级别设置
  • 原文地址:https://blog.csdn.net/lihong22/article/details/128117150