章工运维 章工运维
首页
  • linux
  • windows
  • 中间件
  • 监控
  • 网络
  • 存储
  • 安全
  • 防火墙
  • 数据库
  • 系统
  • docker
  • 运维工具
  • other
  • elk
  • K8S
  • ansible
  • Jenkins
  • GitLabCI_CD
  • 随笔
  • 面试
  • 工具
  • 收藏夹
  • Shell
  • python
  • golang
友链
  • 索引

    • 分类
    • 标签
    • 归档
    • 首页 (opens new window)
    • 关于我 (opens new window)
    • 图床 (opens new window)
    • 评论 (opens new window)
    • 导航栏 (opens new window)
周刊
GitHub (opens new window)

章工运维

业精于勤,荒于嬉
首页
  • linux
  • windows
  • 中间件
  • 监控
  • 网络
  • 存储
  • 安全
  • 防火墙
  • 数据库
  • 系统
  • docker
  • 运维工具
  • other
  • elk
  • K8S
  • ansible
  • Jenkins
  • GitLabCI_CD
  • 随笔
  • 面试
  • 工具
  • 收藏夹
  • Shell
  • python
  • golang
友链
  • 索引

    • 分类
    • 标签
    • 归档
    • 首页 (opens new window)
    • 关于我 (opens new window)
    • 图床 (opens new window)
    • 评论 (opens new window)
    • 导航栏 (opens new window)
周刊
GitHub (opens new window)
  • linux

  • windows

  • 中间件

  • 网络

  • 安全

  • 存储

  • 防火墙

  • 数据库

    • mysql

    • mongodb

    • oracle

      • oracle数据库安装
        • oracle忘记sys、system密码修改方式
        • oracle数据库用户创建,删除,加锁,解锁
      • postgresql

      • redis

    • 系统

    • docker

    • other

    • 监控

    • 运维
    • 数据库
    • oracle
    章工运维
    2023-03-01
    目录

    oracle数据库安装

    # 一、安装Oracle 12c

    # 1、安装前的注意事项

    1、系统及配置要求

    安装有 GNOME 中文桌面环境 防火墙的配置选项设置为禁用 。 SELinux设置为禁用 。 默认安装设置为软件开发 。 内核选择3.10.0.54.0.1.e17.x86_64及以上版本 物理内存必须高于1GB,对于VMware 虚拟机建议不少于2GB . 交换空间物理内存为1-2GB时,交换分区为物理内存的1.5-2倍;物理内存为2-16GB时,交换分区与物理内存大小相同;物理内存超过16GB时,交换分区使用16GB就可以了。

    2、修改主机名和IP

    # vim /etc/hostname        //修改主机名
    Oracle
    # vim /etc/hosts        //添加主机IP映射
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    192.168.1.10 Oracle
    
    1
    2
    3
    4
    5
    6

    3、软件环境要求

    # yum -y install binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
    
    1

    4、内核要求

    # vim /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_max  = 4194304
    net.core.rmem_default = 262144
    net.core.wmem_default = 262144
    net.core.wmem_max = 1048576
    # sysctl -p
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14

    5、Oracle用户环境要求 创建固定的运行用户oracle,安装组oinstall,管理组dba

    # groupadd -g 54321 oinstall        //创建安装组(-g 组ID)
    # groupadd -g 54322 dba        //创建管理组
    # useradd -u 54321 -g oinstall -G dba oracle        //创建运行用户
    # passwd oracle        //设置密码
    # mkdir -p /u01/app/oracle        //建立基本目录
    # chown -R oracle:oinstall /u01/app/
    # chmod -R 755 /u01/app/oracle/
    # vim /home/oracle/.bash_profile        //调整oracle用户的环境配置
    ......
    umask 022
    ORACLE_BASE=/u01/app/oracle        //定义基本目录
    ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1/        //定义安装家目录
    ORACLE_SID=orcl        // 定义数据库实例名称
    NLS_LANG="SIMPLIFIED CHINESE_CHINA".UTF8        // 确定使用何种语言环境
    PATH=$PATH:$ORACLE_HOME/bin
    LANG=zh_CN.UTF-8
    export  DISPLAY=:0.0
    export PATH LANG NLS_LANG ORACLE_BASE ORACLE_HOME ORACLE_SID
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18

    6、oracle用户资源限制要求

    # vim /etc/pam.d/login
    ......
    session required        /lib/security/pam_limits.so
    session required        pam_limits.so
    # vim /etc/security/limits.conf
    oracle  soft    nproc   2047        //进程数软限制
    oracle  hard    nproc   16384        //进程数硬限制
    oracle  soft    nofile  1024        //文件数软限制
    oracle  hard    nofile  65536        //文件数硬限制
    oracle  soft    stack   10240        //Oracle软堆栈限制
    # vim /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
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20

    7、重新启动系统

    # 2、Oracle 12c安装过程

    Oracle的中文官方网址为Oracle CRM On Demand current release (opens new window),它支持Oracle12c安装文件的免费下载(需注册账号)。这里我们使用光盘安装。

    # mkdir /tmp/abc
    # cd /media/
    # ls
    linuxx64_12201_database.zip
    # cp linuxx64_12201_database.zip /tmp/abc/
    # cd /tmp/abc/
    # unzip linuxx64_12201_database.zip 
    # xhost +        //一 定要以root用户在图形环境中操作
    access control disabled, clients can connect from any host
    # su - oracle 
    $ cd /tmp/abc/database/
    $ export DISPLAY=:0.0        //设置DISPLAY环境变量
    $ ./runInstaller 
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13

    1、典型安装过程 如果已购买Oracle 12c数据库的授权且服务器能够连接Internet,建议正确填写电子邮件地址和Oracle Support口令以便及时接收官方的安全更新通知。 配置安全更新

    安装选项

    系统类

    数据库安装选项

    安装类型

    典型安装配置

    创建产品清单

    先决条件检查及汇总

    安装产品

    安装完成

    执行配置脚本时切换为root用户并依次执行脚本文件

    # /u01/app/oraInventory/orainstRoot.sh 
    更改权限/u01/app/oraInventory.
    添加组的读取和写入权限。
    删除全局的读取, 写入和执行权限。
    
    更改组名/u01/app/oraInventory 到 oinstall.
    脚本的执行已完成。
    # /u01/app/oracle/product/12.2.0/dbhome_1/root.sh         //按照默认值按两次Enter键
    Performing root user operation.
    
    The following environment variables are set as:
        ORACLE_OWNER= oracle
        ORACLE_HOME=  /u01/app/oracle/product/12.2.0/dbhome_1
    
    Enter the full pathname of the local bin directory: [/usr/local/bin]: 
       Copying dbhome to /usr/local/bin ...
       Copying oraenv to /usr/local/bin ...
       Copying coraenv to /usr/local/bin ...
    
    
    Creating /etc/oratab file...
    Entries will be added to the /etc/oratab file as needed by
    Database Configuration Assistant when a database is created
    Finished running generic part of root script.
    Now product-specific root actions will be performed.
    Do you want to setup Oracle Trace File Analyzer (TFA) now ? yes|[no] : 
    
    Oracle Trace File Analyzer (TFA - User Mode) is available at :
        /u01/app/oracle/product/12.2.0/dbhome_1/suptools/tfa/release/tfa_home/bin/tfactl
    
    OR
    
    Oracle Trace File Analyzer (TFA - Daemon Mode) can be installed by running this script :
        /u01/app/oracle/product/12.2.0/dbhome_1/suptools/tfa/release/tfa_home/install/roottfa.sh
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34

    2、安装flash player

    wget http://linuxdownload.adobe.com/adobe-release/adobe-release-x86_64-1.0-1.noarch.rpm
    rpm -ivh adobe-release-x86_64-1.0-1.noarch.rpm
    yum -y install flash-plugin
    
    1
    2
    3

    # 二、Oracle 12c数据库的创建

    1、以oracle用户身份运行命令DBCA

    $ dbca
    
    1

    选择数据库操作

    填写数据库信息

    # 三、Oracle 12c数据库的启动与关闭

    # 1、启动、 关闭 Oracle 数据库

    1、数据库的启动

    $ sqlplus / as sysdba         //以sysdba用户登录
    SQL> startup nomount         //仅启动一个Oracle实例
    SQL> startup mount         //启动实例并且装载数据库,但没有打开数据库
    SQL> startup         //完成启动实例、装载数据库和打开数据库
    
    1
    2
    3
    4

    必须运行下面的两条命令 , 数据库才能正确启动

    ALTER DATABASE MOUNT;         //startup nomount启动时
    ALTER DATABASE OPEN;         //startup nomount启动时/startup mount启动时
    
    1
    2

    2、数据库的关闭

    SQL> shutdown normal         //同shutdown,目前连接的所有用户都从数据库中退出后才开始关闭数据库
    SQL> shutdown immediate         //安全且相对较快
    SQL> shutdown transactional         //计划关闭数据库
    SQL> shutdown abort         //会造成数据丢失,并且恢复数据库也需要较长时间
    
    1
    2
    3
    4

    # 2、管理 Oracle 监听进程

    先启动监听, 后启动数据库 1、启动监听

    $ lsnrctl start
    
    1

    2、关闭监听

    $ lsnrctl stop
    
    1

    3、其他命令

    $ lsnrctl status         //查看监听进程状态
    $ lsnrctl reload         //重新加载监听进程
    $ lsnrctl set         //设置相应参数
    $ lsnrctl show         //查看当前参数的取值
    $ lsnrctl help         //显示帮助信息
    $ lsnrctl version         //显示当前监听进程版本
    $ lsnrctl change_password         //改变口令
    
    1
    2
    3
    4
    5
    6
    7

    4、增加新的监听进程

    $ vim $ORACLE_HOME/network/admin/listener.ora
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        )
      )
    LISTENER1 =
      (DESCRIPTION_LIST =
        (DESCRIPTION  =
          (ADDRESS = (PROTOCOL = TCP) (HOST = Oracle) (PORT = 1522))         //主机为Oracle,端口为1522
        )
      )
    #静态注册模块
    SID_LIST_LISTENER =         //SID_LIST_监听名
      (SID_LIST =         
        (SID_DESC =         
          (SID NAME = orcl)         //实例名
          (ORACLE_HOME = /uO1/app/oracle/product/12.2.0/dbhome_1)         //标识服务主目录位置
          (GLOBAL_DBNAME = orcl)         //全局数据库名称
        )
      )
    $ netstat -lnupt | grep 1522
    (Not all processes could be identified, non-owned process info
     will not be shown, you would have to be root to see it all.)
    tcp6       0      0 :::1522                 :::*                    LISTEN      3725/tnslsnr  
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27

    查询GLOBAL_DBNAME代码

    SQL> select global_name from global_name;
    
    GLOBAL_NAME
    --------------------------------------------------------------------------------
    ORCL
    
    1
    2
    3
    4
    5

    # 四、附件

    另:关于sqlplus方向键不能用的解决方法

    # yum -y install ncurses* readline*
    # wget https://fossies.org/linux/privat/rlwrap-0.45.2.tar.gz
    # tar zxf rlwrap-0.45.2.tar.gz -C /usr/src/
    # cd /usr/src/rlwrap-0.45.2/
    # ./configure && make && make install
    # vim /home/oracle/.bash_profile
    ......
    alias sqlplus='rlwrap sqlplus'
    alias rman='rlwrap rman' 
    
    1
    2
    3
    4
    5
    6
    7
    8
    9

    原文链接:数据库部署 | Gaoyufu 's blog (opens new window)

    微信 支付宝
    上次更新: 2023/03/02, 11:17:31

    ← mongodb副本集 oracle忘记sys、system密码修改方式→

    最近更新
    01
    shell脚本模块集合
    05-13
    02
    生活小技巧(认知版)
    04-29
    03
    生活小技巧(防骗版)
    04-29
    更多文章>
    Theme by Vdoing | Copyright © 2019-2025 | 点击查看十年之约 | 鄂ICP备2024072800号
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式