zoukankan      html  css  js  c++  java
  • centos7静默安装oracle11g

    #关闭防火墙

    systemctl stop firewalld
    systemctl status firewalld
    systemctl disable firewalld

    #关闭SElinux

    sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
    setenforce 0

    #配置交换分区
    #关闭交互分区

    swapoff -a

    #创建一个交换区文件

    dd if=/dev/zero of=/u01/swapfile bs=1024 count=4096000

    #将目的文件设置为swap分区文件

    mkswap swapfile

    #激活swap,立即启用交换分区文件

    swapon swapfile

    #把交换区记录到系统里边

    echo "/u01/swapfile swap swap defaults 0 0" >> /etc/fstab

    #查看交互分区大小

    swapon

    #查看uuid

    blkid

    #进行配置/etc/fstab,配置uuid

    vim /etc/fstab

    #添加挂载----

    UUID="你的uuid"              /u01                    ext4    defaults        0 0

    #设置主机名

    hostnamectl set-hostname 你的主机名

    #yum安装

    yum -y install unzip vim* bash-completion bash-completion-extras nmap tree dos2unix nc wget lsof tcpdump lrzsz telnet screen install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel expat gcc* gcc-c++* glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel pdksh sysstat unixODBC unixODBC-devel
    
    wget -O /tmp/pdksh-5.2.14-37.el5_8.1.x86_64.rpm http://vault.centos.org/5.11/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm
    
    rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm

    #添加oracle用户组和用户

    groupadd oinstall
    groupadd dba
    groupadd asmadmin
    groupadd asmdba
    useradd -g oinstall -G dba,asmdba oracle -d /home/oracle

    #设置密码

    passwd oracle

    #优化OS内核参数

    vim /etc/sysctl.conf
    
    fs.aio-max-nr=1048576
    fs.file-max=6815744
    kernel.shmall=2097152
    kernel.shmmni=4096
    kernel.shmmax = 536870912
    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

    #生效

    sysctl -p

    #限制oracle用户的shell权限

    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    hard    stack    10240
    oracle  soft    core    unlimited
    oracle  hard    core    unlimited

    #创建目录

    mkdir -p /u01/app/oracle/product/11.2.0
    mkdir /u01/app/oracle/oradata
    mkdir /u01/app/oracle/oraInventory
    mkdir /u01/app/oracle/fast_recovery_area
    chown -R oracle:oinstall /u01/app/oracle
    chmod -R 775 /u01/app/oracle

    #创建oraInst.loc

    vim /etc/oraInst.loc
    inventory_loc
    =/u01/app/oracle/oraInventory inst_group=oinstall

    #授权

    chown oracle:oinstall /etc/oraInst.loc
    chmod 664 /etc/oraInst.loc

    #设置环境变量 切换到oracle用户下面,修改 .bash_profile

    su - oracle
    vim .bash_profile
    
    unset TNS_ADMIN
    
    export ORACLE_HOSTNAME=oracle
    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_SID=ORCL
    export LC_ALL="en_US"
    export LANG="en_US"
    export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
    export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
    
    source /home/oracle/.bash_profile
    env

    #解压软件

    su - oracle
    cd /home/oracle/
    unzip linux.x64_11gR2_database_1of2.zip
    unzip linux.x64_11gR2_database_2of2.zip

    #设置所属主和组

    su - root
    cd /home/oracle/
    chown -R oracle:oinstall database
    chmod -R +x database
    
    su - root
    mkdir /home/oracle/etc/
    cp /home/oracle/database/response/* /home/oracle/etc/
    chmod 777 /home/oracle/etc/*.rsp
    
    su – oracle
    vim /home/oracle/etc/db_install.rsp

    #这里是选择安装类型:1.只装数据库软件INSTALL_DB_SWONLY  2.安装数据库软件并建库INSTALL_DB_AND_CONFIG  3.升级数据库UPGRADE_DB

    oracle.install.option=INSTALL_DB_SWONLY

    #这里是指定主机的HOSTNAME

    ORACLE_HOSTNAME=你的主机名

    #指定oracle inventory目录的所有者,通常会是oinstall或者dba

    UNIX_GROUP_NAME=oinstall

    #指定oracle inventory目录的路径,如果是Win平台下可以省略

    INVENTORY_LOCATION=/u01/app/oracle/oraInventory

    #指定添加的语言,可以选择多个,用逗号隔开。大多数库会选择,en, zh_CN即英文和简体中文。

    SELECTED_LANGUAGES=en,zh_CN

    #设置ORALCE_HOME的路径

    ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1

    #设置ORACLE_BASE的路径

    ORACLE_BASE=/u01/app/oracle

    #选择Oracle数据库软件的版本,正如Win 7有标准版,高级版、专业版、旗舰版之分,不同的版本功能上会有不同。Oralce数据库软件在这里也可以指定安装的版本,通常来说,实验环境我们都选择Enterprise Edition即企业版

    oracle.install.db.InstallEdition=EE

    #这里是是否自定义Oracle的组件,如果选择false,则会使用默认的组件,否则需要自己在下面一条参数将要安装的组件一一列出。通常来说只要客户购买了相应版权,我们会安装所有的组件,因为后期如果缺乏某个组件,要再次安装会非常的麻烦。

    oracle.install.db.isCustomInstall=true

    #指定DBA组,通常是dba

    oracle.install.db.DBA_GROUP=dba

    #指定OPER组,通常是oinstall

    oracle.install.db.OPER_GROUP=oinstall

    #这里选择数据库的用途,一般用途/事物处理(GENERAL_PURPOSE/TRANSACTION_PROCESSING),数据仓库(DATA_WAREHOUSE)

    oracle.install.db.config.starterdb.type=GENERAL_PURPOSE

    #指定Global Name

    oracle.install.db.config.starterdb.globalDBName=orcl

    #指定SID

    oracle.install.db.config.starterdb.SID=orcl

    #非常关键的一步,选择字符集。错误的字符集会给后期带来无尽的麻烦,所以一定要确认好字符集。通常我们选择的是ZHS16GBK, 所谓的国标16位简体中文库

    oracle.install.db.config.starterdb.characterSet=AL32UTF8

    #指定Oracle自动管理内存的大小,最小是256MB

    oracle.install.db.config.starterdb.memoryLimit=512

    #所有schemas使用同一个密码

    oracle.install.db.config.starterdb.password.ALL=oracle

    #是否设置安全更新

    DECLINE_SECURITY_UPDATES=true

    #开始安装

    su - oracle
    cd /home/oracle/database
    ./runInstaller -silent -force -responseFile /home/oracle/etc/db_install.rsp -ignorePrereq
    #Successfully Setup Software出现这个表示安装成功

    #查看日志 需要耐性等待时间 有的时候回很慢

    tail -f /u01/app/oracle/oraInventory/logs/xxx.log

    #使用root用户执行脚本

    /u01/app/oracle/product/11.2.0/db_1/root.sh

    #修改oracle的环境变量

    su - oracle
    vim ~/.bash_profile
    
    export ORACLE_SID=你的主机名或者应用名
    export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
    export TNS_ADMIN=$ORACLE_HOME/network/admin
    export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin
    export PATH=${PATH}:/usr/bin:/bin:/usr/local/bin
    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib
    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
    export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
    export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
    export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
    export LIBPATH=${CLASSPATH}:$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib
    export ORACLE_OWNER=oracle
    export SPFILE_PATH=$ORACLE_HOME/dbs
    export ORA_NLS10=$ORACLE_HOME/nls/data
    
    source /home/oracle/.bash_profile

    #配置监听程序

    vim /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
    (ADDRESS = (PROTOCOL = TCP)(HOST = 你的主机名或者IP)(PORT = 你启动的端口))
    
    vim /home/oracle/etc/netca.rsp
    修改LISTENER_PROTOCOLS={"TCP;你启动的端口"}

    #安装监听

    /u01/app/oracle/product/11.2.0/db_1/bin/netca /silent /responseFile /home/oracle/etc/netca.rsp
    #Listener Control complete &Listener started successfully 出现这个表示成功

    #查看日志

    tail -f /u01/app/oracle/cfgtoollogs/netca/xxx.log

    #启动监控程序

    su - oracle
    /u01/app/oracle/product/11.2.0/db_1/bin/lsnrctl start

    #查看监听程序

    /u01/app/oracle/product/11.2.0/db_1/bin/lsnrctl status

    #静默dbca建库 在root下编辑

    su - root

    #编辑应答文件

    vim /home/oracle/etc/dbca.rsp
    
    SID="你的主机名或者应用名"
    SYSPASSWORD = "你的密码" 
    SYSTEMPASSWORD = "你的密码" 
    CHARACTERSET="AL32UTF8" 
    NATIONALCHARACTERSET="UTF8"

    #建库 在orcale用户下执行

    su - oracle

    #需要查看下dbca.rsp里面的sid要和环境变量里面的保持一致

    /u01/app/oracle/product/11.2.0/db_1/bin/dbca -silent -responseFile /home/oracle/etc/dbca.rsp

    #查看日志

    tail -f /u01/app/oracle/cfgtoollogs/dbca/orcl11g/orcl11g.log
    
    cp /u01/app/oracle/admin/orcl11g/pfile/init.ora.724202053030 /u01/app/oracle/product/11.2.0/db_1/dbs/initora11g.ora
    chown -R oracle:oinstall /u01/app/oracle/product/11.2.0/db_1/dbs/initorcl11g.ora

    #设置Oracle开机启动

    vim /etc/oratab
    mydb:/u01/app/oracle/product/11.2.0:Y  # //把“N”改成“Y”

    # 通过dbstart 启动此实例,监听器

    su - oracle
    /u01/app/oracle/product/11.2.0/db_1/bin/dbstart $ORACLE_HOME;

    # oracle的进程关闭,监听器也停止;

    /u01/app/oracle/product/11.2.0/db_1/bin/dbshut $ORACLE_HOME;

    # 启动监听

    /u01/app/oracle/product/11.2.0/db_1/bin/lsnrctl start;

    #查看监听

    /u01/app/oracle/product/11.2.0/db_1/bin/lsnrctl status;

    #登录Oracle

    /u01/app/oracle/product/11.2.0/db_1/bin/sqlplus /nolog

    # 进入系统管理用户

    SQL> conn / as sysdba
    Connected to an idle instance.

    # 启动oracle实例

    SQL> startup;

    #查看数据库版本

    SQL> SELECT * FROM V$VERSION;

    #查看实例状态

    SQL> select status from v$instance;

    #查看数据库编码

    SQL> select userenv('language') from dual;

    #创建用户

    SQL> create user 你的用户名 identified by 密码;

    #授权dba

    SQL> grant dba to 你的用户名;

    #授权用户

    alter user 你的用户名 default tablespace users;
    
    SQL> disc

    #查看用户

    SQL> col username for a20
    SQL> select username from dba_users;

    #修改默认密码

    alter user system identified by 密码;
    alter user sys identified by 密码;

    #查看oracle实例进程

    ps -ef | grep ora_ | grep -v grep

    #配置启动脚本

    vim /etc/init.d/oracle
    
    #!/bin/bash
    # oracle: Start/Stop Oracle Database 11g R2
    # chkconfig: 345 90 10
    # description: The Oracle Database is an Object-Relational Database Management System.
    #
    . /etc/rc.d/init.d/functions
    LOCKFILE=/var/lock/subsys/oracle
    #下面的路径写成你自己的 ORACLE_HOME
    =/u01/app/oracle/product/11.2.0/db_1 ORACLE_USER=oracle case "$1" in 'start') if [ -f $LOCKFILE ]; then echo $0 already running. exit 1 fi echo -n $"Starting Oracle Database:" su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start" su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME" touch $LOCKFILE ;; 'stop') if [ ! -f $LOCKFILE ]; then echo $0 already stopping. exit 1 fi echo -n $"Stopping Oracle Database:" su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop" su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut" rm -f $LOCKFILE ;; 'restart') $0 stop $0 start ;; 'status') if [ -f $LOCKFILE ]; then echo $0 started. else echo $0 stopped. fi ;; *) echo "Usage: $0 [start|stop|status]" exit 1 esac exit 0

    #配置开机启动

    1.
    chmod 755 /etc/init.d/oracle chkconfig oracle on service oracle (start stop status)

    或者

    2.
    vim /etc/rc.d/rc.local su oracle -lc "/u01/app/oracle/product/11.2.0/bin/lsnrctl start" su oracle -lc /u01/app/oracle/product/11.2.0/bin/dbstart

    vim /etc/oratabmydb:/u01/app/oracle/product/11.2.0:Y  # //把“N”改成“Y”

    swapon swapfile

  • 相关阅读:
    php开发中处理emoji表情和颜文字的兼容问题
    red入门学习笔记
    面向对象的三个基本特征(讲解)
    详解Ajax请求(四)——多个异步请求的执行顺序
    ASP.NET MVC模型绑定的6个建议,徐汇区网站设计 狼人:
    2010年度报告:是谁在编写Linux内核? 狼人:
    Kataspace:用HTML5和WebGL创建基于浏览器的虚拟世界 狼人:
    .NET Micro Framework 4.2 RC2发布!,徐汇区网站设计 狼人:
    SilveOS:基于Silverlight的Web操作系统,徐汇区网站设计 狼人:
    年轻人,你着什么急? 狼人:
  • 原文地址:https://www.cnblogs.com/love19791125/p/13646423.html
Copyright © 2011-2022 走看看