zoukankan      html  css  js  c++  java
  • Oracle数据库部署

    理论讲解

    一:安装Oracle12c

    1.1centos7操作系统注意事项

    内存2G以上

    swap 4G以上

    1.2:前置条件准备

    1:系统及配置要求

    [root@localhost ~]# systemctl stop firewalld

    [root@localhost ~]# systemctl disable firewalld

    [root@localhost ~]# setenforce 0

    [root@oracle ~]# vi /etc/sysconfig/selinux

    SELINUX=disabled

    [root@localhost ~]# hostname oracle

    [root@localhost ~]# vi /etc/sysconfig/network

    hostname oracle

    [root@localhost ~]# vi /etc/hosts

    添加

    192.168.10.106 oracle    ##自己的IP地址

    [root@localhost ~]#bash

    2:软件环境要求

    [root@oracle ~]#mkdir /media/cdrom

    [root@oracle ~]#mount /dev/cdrom /media/cdrom

    [root@oracle ~]#vi /etc/yum.repos.d/rhel.repo

    [base]

    name = aaa

    baseurl = file:///media/cdrom

    enabled = 1

    gpgcheck =0

    yum的方式安装软件包

    [root@localhost ~]# yum -y install binutils compat-libcap1 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel

    [root@oracle ~]# cd /opt

    [root@oracle ~]#rpm -ivh compat-libstdc++-33-3.2.3-47.3.x86_64.rpm

    3:内核参数调整

    [root@oracle ~]# vi /etc/sysctl.conf

    fs.aio-max-nr = 1048576

    fs.file-max = 6815744

    kernel.shmall = 2097152

    kernel.shmmax = 4294967295

    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

    注释:

    在安装Oracle的时候需要调整linux的内核参数,但是各参数代表什么,下面做详细解析。

    Linux安装文档中给出的最小值:

    fs.aio-max-nr = 1048576

    fs.file-max = 6815744

    kernel.shmall = 2097152

    kernel.shmmax = 4294967295

    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

    各参数详解:

    1kernel.shmmax

    是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值。设置应该足够大,能在一个共享内存段下容纳下整个的SGA ,设置的过低可能会导致需要创建多个共享内存段,这样可能导致系统性能的下降。至于导致系统下降的主要原因为在实例启动以及ServerProcess创建的时候,多个小的共享内存段可能会导致当时轻微的系统性能的降低(在启动的时候需要去创建多个虚拟地址段,在进程创建的时候要让进程对多个段进行“识别”,会有一些影响),但是其他时候都不会有影响。

    官方建议值:

    32linux系统:可取最大值为4GB4294967296bytes-1byte,即4294967295。建议值为多于内存的一半,所以如果是32为系统,一般可取值为429496729532位系统对SGA大小有限制,所以SGA肯定可以包含在单个共享内存段中。

    64linux系统:可取的最大值为物理内存值-1byte,建议值为多于物理内存的一半,一般取值大于SGA_MAX_SIZE即可,可以取物理内存-1byte。例如,如果为12GB物理内存,可取12*1024*1024*1024-1=12884901887SGA肯定会包含在单个共享内存段中。 

    2kernel.shmall

        该参数控制可以使用的共享内存的总页数。Linux共享内存页大小为4KB,共享内存段的大小都是共享内存页大小的整数倍。一个共享内存段的最大大小是16G,那么需要共享内存页数是16GB/4KB=16777216KB /4KB=4194304(页),也就是64Bit系统下16GB物理内存,设置kernel.shmall = 4194304才符合要求(几乎是原来设置2097152的两倍)。这时可以将shmmax参数调整到16G了,同时可以修改SGA_MAX_SIZESGA_TARGET12G(您想设置的SGA最大大小,当然也可以是2G~14G等,还要协调PGA参数及OS等其他内存使用,不能设置太满,比如16G

    3kernel.shmmni

    该参数是共享内存段的最大数量。shmmni缺省值4096,一般肯定是够用了。

    4fs.file-max

    该参数决定了系统中所允许的文件句柄最大数目,文件句柄设置代表linux系统中可以打开的文件的数量。

    5fs.aio-max-nr

          此参数限制并发未完成的请求,应该设置避免I/O子系统故障。

    6kernel.sem

    kernel.sem = 250 32000 100 128为例:

           250是参数semmsl的值,表示一个信号量集合中能够包含的信号量最大数目。

           32000是参数semmns的值,表示系统内可允许的信号量最大数目。

           100是参数semopm的值,表示单个semopm()调用在一个信号量集合上可以执行的操作数量。

           128是参数semmni的值,表示系统信号量集合总数。

    7net.ipv4.ip_local_port_range

    表示应用程序可使用的IPv4端口范围。

    8net.core.rmem_default

    表示套接字接收缓冲区大小的缺省值。

    9net.core.rmem_max

    表示套接字接收缓冲区大小的最大值。

    10net.core.wmem_default

    表示套接字发送缓冲区大小的缺省值。

    11net.core.wmem_max

    表示套接字发送缓冲区大小的最大值。

    [root@oracle ~]# sysctl -p                 \重新加载内核

    4:用户环境设置

    [root@oracle ~]# groupadd -g 500 oinstall

    [root@oracle ~]# groupadd -g 501 dba

    [root@oracle ~]# useradd -g oinstall -G dba oracle

    [root@oracle ~]# passwd oracle           \设置密码(aptech

    [root@oracle ~]# mkdir -p /u01/app/oracle

    [root@oracle ~]# chown -R oracle:oinstall /u01/app/

    [root@oracle ~]# chmod -R 775 /u01/app/

    [root@oracle ~]#vi ~oracle/.bash_profile

    添加以下内容:

    umask=022

    export ORACLE_BASE=/u01/app/oracle

    export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1

    export ORACLE_SID=orcl

    export NLS_LANG="SIMPLIFIED CHINESE_CHINA".UTF8

    export PATH=$ORACLE_HOME/bin:$PATH

    export LANG=zh_CN.UTF-8

    export DISPLAY=:0.0

    注释:en_US.UTF-8(英文)

    [root@oracle ~]# source ~oracle/.bash_profile

    [root@oracle ~]#vi ~oracle/.bashrc               \设置重启后或重启终端要加载的变量

    在末尾添加

    umask=022

    export ORACLE_BASE=/u01/app/oracle

    export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1

    export ORACLE_SID=orcl

    export NLS_LANG="SIMPLIFIED CHINESE_CHINA".UTF8

    export PATH=$ORACLE_HOME/bin:$PATH

    export LANG=zh_CN.UTF-8

    export DISPLAY=:0.0

    [root@oracle ~]#source ~oracle/.bashrc

    5oracle用户资源限制调整

    [root@oracle ~]# vi /etc/pam.d/login

    在末尾添加以下两行:

    session    required     /lib/security/pam_limits.so

    session    required     pam_limits.so

    [root@oracle ~]# vi /etc/security/limits.conf

    在末尾添加:

    oracle soft nproc 2047

    oracle hard nproc 16384

    oracle soft nofile 1024

    oracle hard nofile 65536

    oracle soft stack 10240

    6配置全局环境变量

    [root@oracle ~]# vi /etc/profile

    在末尾添加:

    if [ $USER = "oracle" ]; then

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

          ulimit -p 16384

          ulimit -n 65535

       else

          ulimit -n 16384 -n 65536

       fi

    fi

    注释:

    ulimit –p :设置管道缓冲区,K字节

    ulimit –n :最大可打开文件数

    [root@oracle ~]# source /etc/profile

    重启系统

    1.3:安装过程

    将所需的所有软件包拷贝到linux/opt目录下

    1:解压文件(解压后会有database文件夹)

    [root@oracle ~]# cd /opt

    [root@oracle opt]# unzip linuxx64_12201_database.zip

    [root@oracle opt]# ls database/

    2:取消所有限制,并以oracle用户登录

    linux图形桌面打开终端

    [root@oracle ~]# xhost +

    [root@oracle ~]#su oracle

    [oracle@oracle ~]$

    [oracle@oracle ~]$ cd /opt/database/

    [oracle@oracle database]$ ./runInstaller

    注释:

    xhost +允许其他用户启动的图形程序将图形显示在当前屏幕上

    3:按照安装向导进行安装,直到安装结束

     当安装过程中弹出如下界面时,打开一个终端,输入提示的两个脚本并执行,执行后点确定

    4flash插件的安装

    [root@oracle database]# rpm –ivh flash-player-npapi-29.0.0.113-release.x86_64.rpm

    5:安装完后重启系统,然后启动监听,启动oracle数据库(方法见后文)

    6:用命令登陆以验证安装结果

    [oracle@oracle root]$ sqlplus sys/aptech AS SYSDBA

    SQL>

    7:用浏览器登陆EM平台

    https://127.0.0.1:5500/em

    8:解决命令行中上下键不能翻历史命令的问题

    安装过程:

    将软件拷贝到/root

    挂载光盘到/media/cdrom

    [root@oracle ~]## yum -y install readline*

    [root@oracle ~]# cd /opt

    [root@oracle opt]# tar zxvf rlwrap-0.42.tar.gz

    [root@oracle opt]# cd rlwrap-0.42/

    [root@oracle rlwrap-0.42]# ./configure && make && make install

    这样就可以使用 rlwarp

    [root@oracle rlwrap-0.42]# su oracle

    [oracle@oracle rlwrap-0.42]$ vi ~oracle/.bash_profile

    [oracle@oracle rlwrap-0.42]$ vi ~/.bashrc

    在末尾添加

    alias sqlplus='rlwrap sqlplus'

    alias rman='rlwrap rman'

    alias lsnrctl='rlwrap lsnrctl'

    保存退出

    使文件立即生效

    [oracle@oracle opt]$ source ~oracle/.bash_profile

    [oracle@oracle rlwrap-0.42]$ source ~oracle/.bashrc

    安装完rlwrap后,有些可能使用SecureCRT会再次出现乱码,这是修改一下SecureCRT的字符编码:

    【选项】->【会话选项】->【终端】->【外观】+

    9:数据库的启动

    启动过程分为:启动实例、由实例装载数据库、打开数据库

    SQL> startup nomount

    只启动实例

    SQL> startup mount

    启动实例,并加载数据库,但不打开数据库

    SQL> startup

    启动实例、由实例装载数据库、打开数据库

    SQL> alter database mount;

    如果使用startup nomount启动实例,可以用此命令加载数据库,但不会启动数据库

    SQL> alter database open;

    如果当前处于数据库已加载状态,可以使用此命令打开数据库

    10:关闭数据库

    SQL> shutdown normal

    等同于直接使用shutdown命令,

    SQL> shutdown immediate

    SQL> shutdown transactional

    SQL> shutdown abort

    10:启动与关闭监听

    [oracle@oracle ~]$ lsnrctl start

    [oracle@oracle ~]$ lsnrctl stop

    [oracle@oracle ~]$ lsnrctl

    LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 03-8-2018 05:08:52

    Copyright (c) 1991, 2016, Oracle.  All rights reserved.

    欢迎来到LSNRCTL, 请键入"help"以获得信息。

    LSNRCTL>

  • 相关阅读:
    C#多线程之Parallel中 类似于for的continue,break的方法
    C#中静态类、静态方法和静态变量的简单说明
    C# 类属性封装、字段的详解
    BackgroundWorker 后台进程控制窗体label、richtextbook内容刷新
    asp.net 实现 tts
    System.Speech.Synthesis 添加暂停、继续功能
    微软TTS,Neospeech TTS 简单使用
    VS2015如何批量统改相同变量名
    VS2015时显示无法启动此程序 因为计算机中丢失ucrtbased.dll
    Windows环境下MinGW/gcc安装和环境配置
  • 原文地址:https://www.cnblogs.com/ccshi/p/13141473.html
Copyright © 2011-2022 走看看