• Oracle静默安装搭建


    oracle数据库静默安装

    环境配置

    系统:CentOS7.6

    cpu:2*4=8核

    硬盘:120G

    内存:8G

    一,配置

    1,关闭防火墙及selinux

     [root@localhost ~]# iptables -F
     [root@localhost ~]# systemctl stop firewalld
     [root@localhost ~]# systemctl disable firewalld
     [root@localhost ~]# systemctl status firewalld
     [root@localhost ~]# setenforce 0
     [root@localhost ~]# sed -i "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config

    2,配置yum源

    在下载163源的时候如果有报错可能是因为没有配置dns按照下面方法配置一下即可

    [root@localhost yum.repos.d]# vi /etc/resolv.conf
    [root@localhost yum.repos.d]# cat /etc/resolv.conf
    nameserver 8.8.8.8

    配置yum源

     
     [root@localhost ~]# cp /etc/yum.conf /etc/yum.confbak`date +%F_%T`
     [root@localhost ~]# echo 'exclude=kernel*
     exclude=centos-release*' >> /etc/yum.conf && grep exclude /etc/yum.conf  && mkdir -p /tmp/repobak && rm -rf /tmp/repobak/* && cd /etc/yum.repos.d/ && mv -f * /tmp/repobak/ > /dev/null 2>&1
     [root@localhost ~]# curl -o /etc/yum.repos.d/CentOS6-Base-163.repo http://mirrors.163.com/.help/CentOS6-Base-163.repo
     [root@localhost ~]# mv -f /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup > /dev/null 2>&1
     [root@localhost ~]# mv -f /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup > /dev/null 2>&1
     [root@localhost ~]#  curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
     [root@localhost ~]# rpm --import /etc/pki/rpm-gpg/RPM* &&  yum clean all &&  yum makecache &&  yum groupinfo 'Development tools' &&  yum groupinstall -y 'Development tools' &&  yum install wget vim man rsync openssh-clients openssl -y && ls -l && cd ~

    3,配置主机名

    [root@localhost ~]# vim /etc/hosts
    [root@localhost ~]# cat /etc/hosts
     127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
     ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
     192.168.66.61 db
    [root@localhost ~]# reboot

    4,安装依赖包

    [root@db ~]# yum install binutils  compat-libstdc* elfutils-libelf elfutils-libelf-devel  gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel  libgcc  libstdc++ libstdc++-devel  libgomp make numactl numactl-devel sysstat -y
    [root@db ~]# yum install unixODBC unixODBC-devel -y

    pdksh需要使用rpm安装,先把包放到/tmp目录下

    [root@db tmp]# ll
     total 172
     -rw-r--r--  1 root root 173189 Jun 24  2013 pdksh-5.2.14-1.i386.rpm
     [root@db tmp]#  rpm -ivh pdksh-5.2.14-1.i386.rpm --nodeps
     Preparing...                          ################################# [100%]
         file /usr/bin/ksh conflicts between attempted installs of pdksh-5.2.14-1.i386 and pdksh-5.2.14-1.i386

    5,配置内核参数

    [root@db ~]# cp /etc/sysctl.conf /etc/sysctl.conf.bak
    [root@db ~]# echo 'net.ipv4.ip_forward = 0
    net.ipv4.conf.default.rp_filter = 1
    net.ipv4.conf.default.accept_source_route = 0
    kernel.sysrq = 0
    kernel.core_uses_pid = 1
    net.ipv4.tcp_syncookies = 1
    net.bridge.bridge-nf-call-ip6tables = 0
    net.bridge.bridge-nf-call-iptables = 0
    net.bridge.bridge-nf-call-arptables = 0
    kernel.msgmnb = 65536
    kernel.msgmax = 65536
    kernel.shmmax = 8589934591
    kernel.shmall = 2097152
    fs.aio-max-nr = 1048576
    fs.file-max = 6815744
    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 = 1048576' > /etc/sysctl.conf
     ​
     执行/sbin/sysctl -p使之生效
     如果有下面的报错
     sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-ip6tables: No such file or directory
     sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-iptables: No such file or directory
     sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-arptables: No such file or directory
     执行下面命令,没有报错忽略
     [root@db ~]# modprobe br_netfilter
     然后执行
     [root@db ~]# /sbin/sysctl -p
     net.ipv4.ip_forward = 0
     net.ipv4.conf.default.rp_filter = 1
     net.ipv4.conf.default.accept_source_route = 0
     kernel.sysrq = 0
     kernel.core_uses_pid = 1
     net.ipv4.tcp_syncookies = 1
     net.bridge.bridge-nf-call-ip6tables = 0
     net.bridge.bridge-nf-call-iptables = 0
     net.bridge.bridge-nf-call-arptables = 0
     kernel.msgmnb = 65536
     kernel.msgmax = 65536
     kernel.shmmax = 8589934591
     kernel.shmall = 2097152
     fs.aio-max-nr = 1048576
     fs.file-max = 6815744
     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 = 1048576

    参数说明:

     
     1 kernel.shmmax:
     2  64位linux系统:可取的最大值为物理内存值-1byte,建议值为多于物理内存的一半,一般取值大于SGA_MAX_SIZE即可,可以取物理内存-1byte。例如,如果为12GB物理内存,可取128*1024*1024*1024-1=12884901887,SGA肯定会包含在单个共享内存段中。128GB对应的是137438953471。
     3  kernel.shmall:
     4  该参数控制可以使用的共享内存的总页数。Linux共享内存页大小为4KB,共享内存段的大小都是共享内存页大小的整数倍。一个共享内存段的最大大小是16G,那么需要共享内存页数是16GB/4KB=16777216KB /4KB=4194304(页)。
     5  即16GB对应4194304,8GB对应2097152,128GB对应33554432
     6  net.ipv4.ip_forward = 0 #不变 
     7  net.ipv4.conf.default.rp_filter = 1 #不变
     8  net.ipv4.conf.default.accept_source_route = 0   #不变
     9  kernel.sysrq = 0    #不变
    10  kernel.core_uses_pid = 1    #不变
    11  net.ipv4.tcp_syncookies = 1 #不变
    12  net.bridge.bridge-nf-call-ip6tables = 0  #不变
    13  net.bridge.bridge-nf-call-iptables = 0   #不变
    14  net.bridge.bridge-nf-call-arptables = 0  #不变
    15  kernel.msgmnb = 65536   #不变
    16  kernel.msgmax = 65536   #不变
    17  kernel.shmmax = 4294967295  #变 note:4*1024*1024*1024-1=4294967295 共享内存段的最大尺寸,需要小于SGA MAX SIZE,大小为shmall*页大小(4K);
    18  kernel.shmall = 2097152     #变note:4*1024*1024/4K*2=2097152,两倍, 1倍实际不够,控制共享内存页数
    19  fs.aio-max-nr = 1048576 #新增 异步I/O请求数目
    20  fs.file-max = 6815744   #新增 一个进程可以打开的文件句柄的最大数量
    21  kernel.shmmni = 4096    #新增 共享内存段的最大数量,ipcs -sa
    22  kernel.sem = 250 32000 100 128  #新增 设置的信号量
    23  net.ipv4.ip_local_port_range = 9000 65500   #新增 专用服务器模式下与用户进程通信时分配给用户的端口区间
    24  net.core.rmem_default = 262144  #新增 默认接收缓冲区大小
    25  net.core.rmem_max = 4194304 #新增 接收缓冲区最大值
    26  net.core.wmem_default = 262144  #新增 默认发送缓冲区大小
    27  net.core.wmem_max = 1048586 #新增 默认发送缓冲区大小

    6,配置资源限制

     [root@db ~]# cp /etc/security/limits.conf /etc/security/limits.conf.bak
     [root@db ~]# sed -i.bak 's/1024/102400/' /etc/security/limits.d/20-nproc.conf 
     [root@db ~]# ulimit -u 102400
     [root@db ~]# echo 'session    required     pam_limits.so' >> /etc/pam.d/login
     [root@db ~]# echo '
     oracle  soft    nproc   16000
     oracle  hard    nproc   16384
     oracle  soft    nofile  60000
     oracle  hard    nofile  65536
     oracle  soft    stack   20480
     oracle  hard    stack   20480
     anaconda-ks.cfg soft    memlock unlimited
     anaconda-ks.cfg hard    memlock unlimited' >> /etc/security/limits.conf

    参数说明:

    1  oracle              soft    nproc   16000   #oracle要求最小为2047
    2  oracle              hard    nproc   16384       #--进程的最大数目,对oracle用户生效
    3  oracle              soft    nofile  60000       #oracle要求最小为1024
    4  oracle              hard    nofile  65536       #--打开文件的最大数目,对oracle用户生效
    5  oracle              soft    stack   10240
    6  oracle              hard    stack   10240
    7  * soft  memlock     unlimited
    8  * hard  memlock     unlimited               #--最大锁定内存地址空间,对所有用户生效

    7,创建oracle用户和组,并赋予密码

     [root@db ~]# groupadd oinstall
     [root@db ~]# groupadd dba
     [root@db ~]# useradd -g oinstall -G dba oracle
     [root@db ~]# id oracle
     uid=1000(oracle) gid=1000(oinstall) groups=1000(oinstall),1001(dba)
     [root@db ~]# echo "oracle" | passwd --stdin oracle
     Changing password for user oracle.
     passwd: all authentication tokens updated successfully.

    8,创建安装oracle数据库所需要的目录并赋予权限

     [root@db ~]# mkdir -p /data/app/oracle
     [root@db ~]# mkdir -p /data/app/oraInventory
     [root@db ~]# chown -R oracle:oinstall /data/
     [root@db ~]# chmod -R 775 /data/

    9,配置root和oracle用户的环境变量

    root用户:

    [root@db ~]# cat >> /root/.bash_profile  << EOF
    export ORACLE_BASE=/data/app/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/db_1
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:$GGS_HOME
    export TNS_ADMIN=$ORACLE_HOME/network/admin/
    EOF
    [root@db ~]# source /root/.bash_profile && 
    echo $ORACLE_HOME
    /data/app/oracle/product/11.2.0.4/db_1
     ​

    oracle用户:

    [root@db ~]# su - oracle
    [oracle@db ~]$ cat >> /home/oracle/.bash_profile << EOF
    export ORACLE_BASE=/data/app/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/db_1
    export ORACLE_SID=orcl
    export ORALCE_OWNER=oracle
    PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/jdk/bin:/usr/bin:/usr/sbin:/sbin:/bin:/usr/local/bin:/usr/local/sbin
    export PATH
    export LANG="en_US.UTF-8"
    export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
    export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:$GGS_HOME
    alias sqlplus='rlwrap sqlplus'
    alias rman='rlwrap rman'
    alias scp='scp -o StrictHostKeyChecking=no'
    alias ssh='ssh -o StrictHostKeyChecking=no'
    EOF
    [oracle@db ~]$ source /home/oracle/.bash_profile &&
    echo $ORACLE_HOME &&
    echo $ORACLE_BASE &&
    env | grep ORA
    /data/app/oracle/product/11.2.0.4/db_1 /data/app/oracle ORALCE_OWNER=oracle ORACLE_SID=orcl ORACLE_BASE=/data/app/oracle ORACLE_HOME=/data/app/oracle/product/11.2.0.4/db_1

    10,上传oracle数据库安装包和rlwrap软件包并解压

    oracle用户上传,上传到/tmp下

    [oracle@db tmp]$ unzip p13390677_112040_Linux-x86-64_1of7.zip && 
    unzip p13390677_112040_Linux-x86-64_2of7.zip && 
    chown -R oracle:oinstall /tmp/database/ && 
    chmod -R 775 /tmp/database/ && 
    cd /tmp/database && 
    ll
     。。。。。。。。。。。。。。。。。。。。。
     。。。。。。。。。。。。。。。。。。。。。
     。。。。。。。。。。。。。。。。。。。。。
     total 44
     drwxrwxr-x  4 oracle oinstall   248 Aug 27  2013 install
     -rwxrwxr-x  1 oracle oinstall 30016 Aug 27  2013 readme.html
     drwxrwxr-x  2 oracle oinstall    61 Aug 27  2013 response
     drwxrwxr-x  2 oracle oinstall    34 Aug 27  2013 rpm
     -rwxrwxr-x  1 oracle oinstall  3267 Aug 27  2013 runInstaller
     drwxrwxr-x  2 oracle oinstall    29 Aug 27  2013 sshsetup
     drwxrwxr-x 14 oracle oinstall  4096 Aug 27  2013 stage
     -rwxrwxr-x  1 oracle oinstall   500 Aug 27  2013 welcome.html

    root用户安装rlwrap

    [root@db tmp]# yum -y install readline* && 
    tar -zxvf rlwrap-0.42.tar.gz && 
    cd rlwrap-0.42 && 
    ./configure && 
    make && make install

    11,配置配置db_install.rsp文件

    安装包解压后在/database/response目录下有三个rsp文件,用来作为静默安装时的应答文件

     [root@db ~]# su - oracle
     Last login: Mon Jun 15 03:06:50 EDT 2020 on pts/0
     [oracle@db ~]$ cd /tmp/database/response/
     [oracle@db response]$ ls
     dbca.rsp  db_install.rsp  netca.rsp
     [oracle@db response]$ cp db_install.rsp db_install.rsp.bak
     [oracle@db response]$ ls
     dbca.rsp  db_install.rsp  db_install.rsp.bak  netca.rsp

    SID为orcl,ORACLE_HOSTNAME=db(主机名)

    [oracle@db response]$ cat > /tmp/database/response/db_install.rsp << EOF
    oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
    oracle.install.option=INSTALL_DB_SWONLY
    ORACLE_HOSTNAME=db
    UNIX_GROUP_NAME=oinstall
    INVENTORY_LOCATION=/data/app/oraInventory
    SELECTED_LANGUAGES=en,zh_CN,th,zh_TW
    ORACLE_HOME=/data/app/oracle/product/11.2.0.4/db_1
    ORACLE_BASE=/data/app/oracle
    oracle.install.db.InstallEdition=EE
    oracle.install.db.EEOptionsSelection=true
    oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:11.2.0.4.0,oracle.rdbms.dv:11.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0
    oracle.install.db.DBA_GROUP=dba
    oracle.install.db.OPER_GROUP=oinstall
    oracle.install.db.CLUSTER_NODES=
    oracle.install.db.isRACOneInstall=
    oracle.install.db.racOneServiceName=
    oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
    oracle.install.db.config.starterdb.globalDBName=orcl
    oracle.install.db.config.starterdb.SID=orcl
    oracle.install.db.config.starterdb.characterSet=AL32UTF8
    oracle.install.db.config.starterdb.memoryOption=true
    oracle.install.db.config.starterdb.memoryLimit=
    oracle.install.db.config.starterdb.installExampleSchemas=false
    oracle.install.db.config.starterdb.enableSecuritySettings=true
    oracle.install.db.config.starterdb.password.ALL=oracle
    oracle.install.db.config.starterdb.password.SYS=oracle
    oracle.install.db.config.starterdb.password.SYSTEM=oracle
    oracle.install.db.config.starterdb.password.SYSMAN=oracle
    oracle.install.db.config.starterdb.password.DBSNMP=
    oracle.install.db.config.starterdb.control=DB_CONTROL
    oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=
    oracle.install.db.config.starterdb.automatedBackup.enable=false
    oracle.install.db.config.starterdb.automatedBackup.osuid=
    oracle.install.db.config.starterdb.automatedBackup.ospwd=
    oracle.install.db.config.starterdb.storageType=
    oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=
    oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=
    oracle.install.db.config.asm.diskGroup=
    oracle.install.db.config.asm.ASMSNMPPassword=
    MYORACLESUPPORT_USERNAME=
    MYORACLESUPPORT_PASSWORD=
    SECURITY_UPDATES_VIA_MYORACLESUPPORT=
    DECLINE_SECURITY_UPDATES=true
    PROXY_HOST=
    PROXY_PORT=
    PROXY_USER=
    PROXY_PWD=
    PROXY_REALM=
    COLLECTOR_SUPPORTHUB_URL=
    oracle.installer.autoupdates.option=SKIP_UPDATES
    oracle.installer.autoupdates.downloadUpdatesLoc=
    AUTOUPDATES_MYORACLESUPPORT_USERNAME=
    AUTOUPDATES_MYORACLESUPPORT_PASSWORD=
    EOF
     ​

    参数说明:

     
     1 oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0//标注响应文件版本
     2  oracle.install.option=INSTALL_DB_SWONLY//.只装数据库软件
     3  ORACLE_HOSTNAME=主机名
     4  UNIX_GROUP_NAME=oinstall//指定oracle inventory目录的所有者
     5  INVENTORY_LOCATION=/u01/app/oraInventory指定产品清单oracle inventory目录的路径
     6  SELECTED_LANGUAGES=en,zh_CN//指定语言
     7  ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_home1//设置ORALCE_HOME的路径
     8  ORACLE_BASE=/u01/app/oracle//指定ORALCE_BASE的路径
     9  oracle.install.db.InstallEdition=EE//安装数据库软件的版本,企业版
    10  oracle.install.db.EEOptionsSelection=true//手动指定企业安装组件 选true对安装大小影响不大所以选true
    11  oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:11.2.0.4.0,oracle.rdbms.dv:11.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0//如果上面选true,这些就是手动指定的组件
    12  oracle.install.db.DBA_GROUP=dba//指定拥有DBA用户组,通常会是dba组
    13  oracle.install.db.OPER_GROUP=oper//指定oper用户组
    14  oracle.install.db.CLUSTER_NODES=//指定所有的节点
    15  oracle.install.db.isRACOneInstall=false//是否是RACO方式安装
    16  oracle.install.db.racOneServiceName=
    17  oracle.install.db.config.starterdb.type=//选择数据库的用途,一般用途/事物处理,数据仓库
    18  oracle.install.db.config.starterdb.globalDBName=指定GlobalName
    19  oracle.install.db.config.starterdb.SID=//你指定的SID
    20  oracle.install.db.config.starterdb.characterSet=AL32UTF8//设置数据库编码
    21  oracle.install.db.config.starterdb.memoryOption=true//11g的新特性自动内存管理,也就是SGA_TARGET和PAG_AGGREGATE_TARGET都,不用设置了,Oracle会自动调配两部分大小,这个要选true
    22  oracle.install.db.config.starterdb.memoryLimit=上面是true的情况下,指定Oracle自动管理内存的大小,这里不用填或者填写物理内存的40%左右等等自定义;
    23  oracle.install.db.config.starterdb.installExampleSchemas=false是否载入模板示例
    24  oracle.install.db.config.starterdb.enableSecuritySettings=true  是否启用安全设置
    25  oracle.install.db.config.starterdb.password.ALL=123456所有用户名的密码
    26  oracle.install.db.config.starterdb.password.SYS=
    27  oracle.install.db.config.starterdb.password.SYSTEM=
    28  oracle.install.db.config.starterdb.password.SYSMAN=
    29  oracle.install.db.config.starterdb.password.DBSNMP=
    30  oracle.install.db.config.starterdb.control=DB_CONTROL数据库本地管理工具DB_CONTROL,远程集中管理工具GRID_CONTROL
    31  oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=GRID_CONTROL需要设定grid control的远程路径URL
    32  oracle.install.db.config.starterdb.automatedBackup.enable=false设置自动备份
    33  oracle.install.db.config.starterdb.automatedBackup.osuid=.自动备份会启动一个job,指定启动JOB的系统用户ID
    34  oracle.install.db.config.starterdb.automatedBackup.ospwd=自动备份会开启一个job,需要指定OSUser的密码
    35  oracle.install.db.config.starterdb.storageType=要求指定使用的文件系统存放数据库文件还是ASM
    36  oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=使用文件系统存放数据库文件才需要指定数据文件、控制文件、Redo log的存放目录
    37  oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=使用文件系统存放数据库文件才需要指定备份恢复目录
    38  oracle.install.db.config.asm.diskGroup=使用ASM存放数据库文件才需要指定存放的磁盘组
    39  oracle.install.db.config.asm.ASMSNMPPassword=使用ASM存放数据库文件才需要指定ASM实例密码
    40  MYORACLESUPPORT_USERNAME=指定metalink账户用户名
    41  MYORACLESUPPORT_PASSWORD=指定metalink账户密码
    42  SECURITY_UPDATES_VIA_MYORACLESUPPORT=用户是否可以设置metalink密码
    43  DECLINE_SECURITY_UPDATES=true是否设置安全更新,
    44  PROXY_HOST=代理服务器名
    45  PROXY_PORT=代理服务器端口
    46  PROXY_USER=代理服务器用户名
    47  PROXY_PWD=代理服务器密码
    48  PROXY_REALM=
    49  COLLECTOR_SUPPORTHUB_URL=
    50  oracle.installer.autoupdates.option=SKIP_UPDATES 自动更新
    51  oracle.installer.autoupdates.downloadUpdatesLoc=自动更新下载目录
    52  AUTOUPDATES_MYORACLESUPPORT_USERNAME=自动更新的用户名
    53  AUTOUPDATES_MYORACLESUPPORT_PASSWORD=自动更新的密码

    12,使用静默方式安装oracle,执行db_install.rsp

     [oracle@db response]$ unset LANG LANGUAGE;unset DISPLAY;
     [oracle@db response]$ /tmp/database/runInstaller -silent -force -ignoreSysPrereqs -ignorePrereq -showprogress -responseFile /tmp/database/response/db_install.rsp
     ..................................................   100% Done.
     ​
     Execute Root Scripts successful.
     Successfully Setup Software.

    13,执行脚本

    root用户:

    [oracle@db response]$ su - root
     Password: 
     Last login: Mon Jun 15 02:50:24 EDT 2020 from 192.168.45.9 on pts/0
     [root@db ~]# sh /data/app/oraInventory/orainstRoot.sh 
     Changing permissions of /data/app/oraInventory.
     Adding read,write permissions for group.
     Removing read,write,execute permissions for world.
     ​
     Changing groupname of /data/app/oraInventory to oinstall.
     The execution of the script is complete.
     [root@db ~]# 
     [root@db ~]# sh /data/app/oracle/product/11.2.0.4/db_1/root.sh 
     Check /data/app/oracle/product/11.2.0.4/db_1/install/root_db_2020-06-15_03-44-09.log for the output of root script

    14, 配置静态监听

    oracle用户:

    [root@db ~]# su - oracle
     Last login: Mon Jun 15 03:31:45 EDT 2020 on pts/0
     [oracle@db ~]$ cd $ORACLE_HOME/network/admin
     [oracle@db admin]$ ls
     samples  shrept.lst
     [oracle@db admin]$ echo '
      SID_LIST_LISTENER =
      (SID_LIST =
       (SID_DESC =
         (GLOBAL_DBNAME = orcl)
         (ORACLE_HOME = /data/app/oracle/product/11.2.0.4/db_1)
         (SID_NAME = orcl)
       )
      )
      
      LISTENER =
      (DESCRIPTION_LIST =
       (DESCRIPTION =
         (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
       )
       (DESCRIPTION =
         (ADDRESS = (PROTOCOL = TCP)(HOST = db)(PORT = 1521))
       )
      )
      ADR_BASE_LISTENER = /data/app/oracle' > listener.ora

    15,配置网络服务名文件

    [oracle@db admin]$ echo '
      ORCL =
      (DESCRIPTION =
       (ADDRESS_LIST =
         (ADDRESS = (PROTOCOL = TCP)(HOST = db)(PORT = 1521))
       )
       (CONNECT_DATA =
         (SERVICE_NAME = orcl)
         (SERVER = DEDICATED)
       )
      )
      ' > tnsnames.ora

    启动监听程序

     [oracle@db admin]$ lsnrctl start 
     [oracle@db admin]$ tnsping orcl
     。。。。。。。。。。。。。。。。。。。
     Used TNSNAMES adapter to resolve the alias
     Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = db)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl) (SERVER = DEDICATED)))
     OK (0 msec)

    查看监听程序是否启动

    [oracle@db admin]$ ps -ef | grep tnslsnr
     oracle   20763     1  0 03:49 ?        00:00:00 /data/app/oracle/product/11.2.0.4/db_1/bintnslsnr LISTENER -inherit
     oracle   20778 20739  0 03:50 pts/0    00:00:00 grep --color=auto tnslsnr

    16,创建实例,配置响应文件dbca.rsp

    [oracle@db ~]$ mkdir -p /data/app/oracle/oradata
    [oracle@db ~]$ mkdir -p /data/app/oracle/flash_recovery_area
    [oracle@db ~]$ cd /tmp/database/response/
    [oracle@db response]$ cp dbca.rsp dbca.rsp.bak
    [oracle@db response]$ cat > /tmp/database/response/dbca.rsp << EOF
    [GENERAL]
      RESPONSEFILE_VERSION = "11.2.0"
      OPERATION_TYPE = "createDatabase"
      [CREATEDATABASE]
      GDBNAME = "orcl"
      SID = "orcl"
      TEMPLATENAME = "General_Purpose.dbc"
      SYSPASSWORD = "oracle"
      SYSTEMPASSWORD = "oracle"
      DATAFILEDESTINATION = /data/app/oracle/oradata
      RECOVERYAREADESTINATION=/data/app/oracle/flash_recovery_area
      CHARACTERSET = "AL32UTF8"
      [CONFIGUREDATABASE]
      SYSDBAUSERNAME = "sys"
    EOF

    参数说明:

     1 RESPONSEFILE_VERSION = "11.2.0"      #不能更改
     2  OPERATION_TYPE = "createDatabase"    #不变 默认即可
     3  GDBNAME = "orcl"        #数据库的名字,随便怎么改,不影响,自定义 比如"oracle11g.com"
     4  SID = "orcl"            #对应的实例名字instance_name,随便怎么改,不影响,自定义 比如"oracle11g.com"
     5  TEMPLATENAME = "General_Purpose.dbc" #不变 默认即可 建库用的模板文件 
     6  SYSPASSWORD = "oracle"   #SYS管理员密码 自定义
     7  SYSTEMPASSWORD = "oracle"  #SYSTEM管理员密码 自定义
     8  DATAFILEDESTINATION = /data/app/oracle/oradata   #数据文件存放目录 可自定义如/data目录但用户和组要是oracle:oinstall即mkdir /data ; chown -R oracle:oinstall /data ; chmod -R 775 /data; 当然此项默认是$ORACLE_BASE/oradata 此项本来是注释掉的,而$ORACLE_BASE/oradata就是/data/app/oracle/oradata,故此项可不用动,即保持注释掉即也可;
     9  RECOVERYAREADESTINATION=/data/app/oracle/flash_recovery_area #恢复数据存放目录 闪回区 可自定义
    10  CHARACTERSET = "AL32UTF8"   #字符集,重要!!! 建库后一般不能更改,所以建库前要确定清楚,选AL32UTF8比较合适;
    11  NATIONALCHARACTERSET= "AL16UTF16" #最好还是保持默认的"AL16UTF16",这里我选的UTF8可能出现了后面的PLSQL中文乱码;
    12  #MEMORYPERCENTAGE = "40"       #服务器物理内存分配给oracle的内存比例,这里先不选
    13  #TOTALMEMORY = "3500"    # //物理内存的60%左右,分配给oracle的总内存3500MB,可自行设定 或者注释不选因为oracle会自行管理;
    14  #-----------------------*** End of CREATEDATABASE section ***------------------------
    15  SOURCEDB = "myhost:1521:orcl"     #End of CREATEDATABASE sectio后面的很多没有注释掉的选项不用管。

    17,执行响应文件

    oracle用户执行,使用-responseFile参数后面必须跟绝对路径

    [oracle@db response]$ dbca -silent -responseFile /tmp/database/response/dbca.rsp
     。。。。。。。。。。。。。。。。。。。
     96% complete
     100% complete
     Look at the log file "/data/app/oracle/cfgtoollogs/dbca/orcl/orcl.log" for further details. ​

    查看oracle进程

    [oracle@db response]$ ps -ef | grep ora_| grep -v grep |wc -l
     21
    [oracle@db response]$ ps -ef | grep ora_| grep -v grep 

    把oracle配置文件最后一行改为yes,/etc/oratab

    [oracle@db response]$ vim /etc/oratab 
     [oracle@db response]$ cat /etc/oratab 
     orcl:/data/app/oracle/product/11.2.0.4/db_1:Y

    =====================================

    oracle安装到此搭建完成

     

  • 相关阅读:
    git commit --amend
    Interleaving String leetcode
    Longest Common Substring
    Distinct Subsequences Leetcode
    Longest Common Subsequence
    Palindrome Partitioning II Leetcode
    百度面试时遇到这样一个问题:给定数组a[];计算除最后一个元素之外其他元素的和,下面的代码有什么问题吗
    sizeof与strlen
    网络是怎么连接的(2)?
    网络是怎么连接的(1)?
  • 原文地址:https://www.cnblogs.com/clllum/p/13132044.html
Copyright © 2020-2023  润新知