Oracle在Linux下静默安装

操作系统版本:centos7.3-1611_x86-64
Oracle数据库软件版本:oracle 11g_r2 11.2.0.4.0
在这里插入图片描述

关闭防火墙,修改selinux

 firewall-cmd --permanent --add-port=1521/tcp
success

 firewall-cmd --reload
success

 vim /etc/sysconfig/selinux


创建用户、组及相关文件夹

groupadd oinstall
groupadd dba
useradd -m -g oinstall -G dba oracle
echo "oracle"|passwd --stdin oracle
更改用户 oracle 的密码 。
passwd:所有的身份验证令牌已经成功更新。

mkdir -p /oracle/11g
chown -R oracle:oinstall /oracle/11g
chmod -R 775 /oracle/11g
mkdir -p /opt/11g/oraInventory
chown -R oracle:oinstall /opt/11g/oraInventory
chmod -R 775 /opt/11g/oraInventory


设置环境变量

切换到Oracle用户下

vim /home/oracle/.bash_profile

TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/oracle/11g; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=SJZXBJT export ORACLE_SID          ##注意这里的SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
export CLASSPATH
umask 022
source ~/.bash_profile

注意:此处的ORACLE_SID最好与你后面建库的ORACLE_SID保持一致


安装依赖关系

yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc gcc-c++ libaio-devel libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh numactl-devel glibc-headers

rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm



yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc gcc-c++ libaio-devel libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh numactl-devel glibc-headers
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.ustc.edu.cn
 * extras: mirrors.ustc.edu.cn
 * updates: mirrors.huaweicloud.com
软件包 binutils-2.27-44.base.el7.x86_64 已安装并且是最新版本
软件包 compat-libstdc++-33-3.2.3-72.el7.x86_64 已安装并且是最新版本
软件包 elfutils-libelf-0.176-5.el7.x86_64 已安装并且是最新版本
软件包 elfutils-libelf-devel-0.176-5.el7.x86_64 已安装并且是最新版本
软件包 glibc-2.17-317.el7.x86_64 已安装并且是最新版本
软件包 glibc-common-2.17-317.el7.x86_64 已安装并且是最新版本
软件包 glibc-devel-2.17-317.el7.x86_64 已安装并且是最新版本
软件包 gcc-4.8.5-44.el7.x86_64 已安装并且是最新版本
软件包 gcc-c++-4.8.5-44.el7.x86_64 已安装并且是最新版本
软件包 libaio-devel-0.3.109-13.el7.x86_64 已安装并且是最新版本
软件包 libaio-0.3.109-13.el7.x86_64 已安装并且是最新版本
软件包 libgcc-4.8.5-44.el7.x86_64 已安装并且是最新版本
软件包 libstdc++-4.8.5-44.el7.x86_64 已安装并且是最新版本
软件包 libstdc++-devel-4.8.5-44.el7.x86_64 已安装并且是最新版本
软件包 1:make-3.82-24.el7.x86_64 已安装并且是最新版本
软件包 sysstat-10.1.5-19.el7.x86_64 已安装并且是最新版本
软件包 unixODBC-2.3.1-14.el7.x86_64 已安装并且是最新版本
软件包 unixODBC-devel-2.3.1-14.el7.x86_64 已安装并且是最新版本
软件包 numactl-devel-2.0.12-5.el7.x86_64 已安装并且是最新版本
软件包 glibc-headers-2.17-317.el7.x86_64 已安装并且是最新版本
无须任何处理


配置kernel内核参数

vim /etc/security/limits.conf

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
vim /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1987330048
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

[root@test home]# sysctl -p


安装数据库软件

解压数据库安装包

unzip linux.x64_11gR2_database_1of2.zip.zip 
unzip linux.x64_11gR2_database_2of2.zip.zip 
chown -R oracle:oinstall /home/database

注意:此处的/home/database路径为你解压Oracle数据库的路径


创建静默安装数据库响应文件

vim /home/database/response/db.rsp

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=localhost.localdomain
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/opt/11g/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/oracle/11g/product/11.2.0/dbhome_1
ORACLE_BASE=/oracle/11g
oracle.install.db.InstallEdition=EE
oracle.install.db.EEOptionsSelection=false
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=
oracle.install.db.config.starterdb.SID=
oracle.install.db.config.starterdb.characterSet=ZHS16GBK
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=512        
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=123456
oracle.install.db.config.starterdb.password.SYS=
oracle.install.db.config.starterdb.password.SYSTEM=
oracle.install.db.config.starterdb.password.SYSMAN=
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/11g/oradata
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/oracle/11g/dbrecovery
oracle.install.db.config.asm.diskGroup=
oracle.install.db.config.asm.ASMSNMPPassword=
MYORACLESUPPORT_USERNAME=
MYORACLESUPPORT_PASSWORD=
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=
PROXY_REALM=
COLLECTOR_SUPPORTHUB_URL=
oracle.installer.autoupdates.option=
oracle.installer.autoupdates.downloadUpdatesLoc=
AUTOUPDATES_MYORACLESUPPORT_USERNAME=
AUTOUPDATES_MYORACLESUPPORT_PASSWORD=

说明:ORACLE_HOSTNAME=hssjzx中的hssjzx为你本机的主机名,可以通过命令行:cat /etc/hostname获得;
oracle.install.db.config.starterdb.memoryLimit=512中的512是设置的自动管理内存大小,不能超过系统内存的一半
相应文件具体详情参照:http://meiling.blog.51cto.com/6220221/1783491

chmod 777 /home/database/response/db.rsp

静默安装数据库软件

切换到Oracle用户下
su - oracle

/home/database/runInstaller -ignoreSysPrereqs -ignorePrereq -silent -nowelcome -responseFile /home/database/response/db.rsp
正在启动 Oracle Universal Installer...

检查临时空间: 必须大于 120 MB。   实际为 9479 MB    通过
检查交换空间: 必须大于 150 MB。   实际为 2047 MB    通过
准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2020-11-24_01-59-12PM. 请稍候...
可以在以下位置找到本次安装会话的日志:
/opt/11g/oraInventory/logs/installActions2020-11-24_01-59-12PM.log
Oracle Database 11g 的 安装 已成功。
请查看 '/opt/11g/oraInventory/logs/silentInstall2020-11-24_01-59-12PM.log' 以获取详细资料。

以 root 用户的身份执行以下脚本:
        1. /opt/11g/oraInventory/orainstRoot.sh
        2. /oracle/11g/product/11.2.0/dbhome_1/root.sh


Successfully Setup Software.

到root用户下

/opt/11g/oraInventory/orainstRoot.sh && /oracle/11g/product/11.2.0/dbhome_1/root.sh
更改权限/opt/11g/oraInventory.
添加组的读取和写入权限。
删除全局的读取, 写入和执行权限。


更改组名/opt/11g/oraInventory 到 oinstall.
脚本的执行已完成。

说明:上面两条命令是在静默安装完成之后系统提示需要执行的

配置数据库监听

su - oracle

vim $ORACLE_HOME/network/admin/listener.ora

LISTENER=
   (DESCRIPTION_LIST=
         (DESCRIPTION=
         (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.168.107)(PORT=1521))
        )
   )
SID_LIST_LISTENER =
(SID_LIST =
  (SID_DESC =
  (SERVICE_NAME = SJZXBJT)
  (SID_NAME = SJZXBJT)
  )
)
ADR_BASE_LISTENER=/oracle/11g/product/11.2.0/dbhome_1
 vim $ORACLE_HOME/network/admin/tnsnames.ora
 
SJZXBJT=
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.168.107)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = SJZXBJT)
      (SERVICE_NAME = SJZXBJT)
    )
  )

说明:此处监听的数据库实例名称SJZXBJT需要保持一致,HOST地址需要保持一致,HOST地址可以写主机名称,但需要在/etc/hosts文件中将主机名称与主机名绑定做解析

chown oracle:oinstall /oracle/11g/product/11.2.0/dbhome_1/network/admin/listener.ora
chown oracle:oinstall /oracle/11g/product/11.2.0/dbhome_1/network/admin/tnsnames.ora 

创建数据库

vim /home/database/response/createdatabase.rsp

[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "SJZXBJT"
SID =  "SJZXBJT"
TEMPLATENAME = "General_Purpose.dbc"
SYSPASSWORD = "123456"
SYSTEMPASSWORD = "123456"
CHARACTERSET = "ZHS16GBK"
NATIONALCHARACTERSET= "UTF8"
TOTALMEMORY = "512"
chown oracle /home/database/response/createdatabase.rsp 
chgrp dba /home/database/response/createdatabase.rsp

说明:此处的GDBNAME和SID与上面的箭筒文件中的配置要保持一致,SYSPASSWORD和SYSTEMPASSWORD是设置sys、system用户的密码,可自定义,CHARACTERSET为设置数据库的字符集,此处需要设置成ZHS16GBK,否则在数据库排序的时候会出错,TOTALMEMORY为设置数据库运行的内存,建议不要超过操作系统内存的一半


建库

su - oracle

/oracle/11g/product/11.2.0/dbhome_1/bin/dbca -silent -responseFile /home/database/response/createdatabase.rsp

注:/oracle/11g/product/11.2.0/dbhome_1/bin/dbca路径可以通过whereis dbca来查询


设置开机自启动

vim /etc/init.d/autostartup

#!/bin/bash
#chkconfig:345 61 61
export NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
export ORACLE_BASE=/oracle/11g
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_USER=oracle
export ORACLE_SID=SJZXBJT
# see how we are called:
case $1 in
    start)
    su - "$ORACLE_USER"<<EOO
    lsnrctl start
    sqlplus /nolog<<EOS
    connect / as sysdba
    startup
EOS
    emctl start dbconsole
EOO
touch /var/lock/subsys/$scriptname
    ;;
    stop)
    su - "$ORACLE_USER"<<EOO
    lsnrctl stop
    sqlplus /nolog<<EOS
    connect / as sysdba
    shutdown immediate
EOS
    emctl stop dbconsole
EOO
rm -f /var/lock/subsys/scriptname
    ;;
    *)
    echo "Usage: $0 {start|stop}"
    ;;
esac
chmod +x /etc/init.d/autostartup
chkconfig --add autostartup
chkconfig autostartup on


打补丁

root用户下

unzip p6880880_112000_Linux-x86-64_oracle11gR2.zip
unzip p30805461_112040_Linux-x86-64.zip 

chown -R oracle:oinstall OPatch
cd /oracle/11g/product/11.2.0/dbhome_1/
mv OPatch OPatch.bak
mv /home/OPatch/ .

chown -R oracle:oinstall 30805461/


切换到Oracle用户下

vim .bash_profile
PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH:$ORACLE_HOME/OPatch; export PATH

source .bash_profile


opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /home/30805461/30670774/ -oh $ORACLE_HOME

Oracle 临时补丁程序安装程序版本 11.2.0.3.21
版权所有 (c) 2020, Oracle Corporation。保留所有权利。

PREREQ session

Oracle 主目录       :/oracle/11g/product/11.2.0/dbhome_1
主产品清单:/opt/11g/oraInventory
   来自           :/oracle/11g/product/11.2.0/dbhome_1/oraInst.loc
OPatch 版本    :11.2.0.3.21
OUI 版本       :11.2.0.4.0
日志文件位置:/oracle/11g/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2020-11-24_14-36-24下午_1.log

Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" passed.

cd /home/30805461/30670774/
opatch lsinventory

Oracle 临时补丁程序安装程序版本 11.2.0.3.21
版权所有 (c) 2020, Oracle Corporation。保留所有权利。


Oracle 主目录       :/oracle/11g/product/11.2.0/dbhome_1
主产品清单:/opt/11g/oraInventory
   来自           :/oracle/11g/product/11.2.0/dbhome_1/oraInst.loc
OPatch 版本    :11.2.0.3.21
OUI 版本       :11.2.0.4.0
日志文件位置:/oracle/11g/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2020-11-24_14-37-48下午_1.log

Lsinventory Output file location : /oracle/11g/product/11.2.0/dbhome_1/cfgtoollogs/opatch/lsinv/lsinventory2020-11-24_14-37-48下午.txt

--------------------------------------------------------------------------------
Local Machine Information::
Hostname: test
ARU platform id: 226
ARU platform description:: Linux x86-64

已安装的顶级产品 (1):

Oracle Database 11g                                                  11.2.0.4.0
此 Oracle 主目录中已安装 1 个产品。


此 Oracle 主目录中未安装任何临时补丁程序。


--------------------------------------------------------------------------------

OPatch succeeded.

opatch prereq CheckConflictAgainstOHWithDetail -ph ./

Oracle 临时补丁程序安装程序版本 11.2.0.3.21
版权所有 (c) 2020, Oracle Corporation。保留所有权利。

PREREQ session

Oracle 主目录       :/oracle/11g/product/11.2.0/dbhome_1
主产品清单:/opt/11g/oraInventory
   来自           :/oracle/11g/product/11.2.0/dbhome_1/oraInst.loc
OPatch 版本    :11.2.0.3.21
OUI 版本       :11.2.0.4.0
日志文件位置:/oracle/11g/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2020-11-24_14-38-29下午_1.log

Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" passed.

OPatch succeeded.

sqlplus / as sysdba

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

lsnrctl stop

root用户下

yum install -y psmisc

opatch napply -oh $ORACLE_HOME -local /home/30805461/30670774/

开启监听端口

$ su – oracle 
$ sqlplus / as sysdba 
sql> startup (一般不需要加参数,只要设置好环境变量) 
sql> quit (退出sql模式) 
$ lsnrctl start (启动监听器)关闭oracle 
$ lsnrctl stop(关闭监听器,在这之前,应该先关闭应用程序) 


导入数据库

恢复表空间

#!/bin/bash
su - oracle -c "
export ORACLE_SID=SJZXDB
sqlplus / as sysdba <<EOF
create tablespace TEST datafile '/oracle/11g/oradata/SJZXBJT/BKPLAT01.dbf' size 100M autoextend on next 50M;
create user center_user identified by whbk009 temporary tablespace temp default tablespace BKPLAT;
grant connect,resource,dba to center_user;
alter user center_user identified by "whbk009" account unlock;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
alter system set audit_trail=false scope=spfile;
shutdown immediate;
startup;
exit;
EOF
"


创建表空间

create tablespace TEST datafile '/oracle/11g/oradata/SJZXBJT/BKPLAT01.dbf'  --数据文件地址
size 100M  --存储地址 初始大小1G
autoextend on next 50M; --每次扩展50M


创建用户

create user center_user identified by whbk009  --密码
temporary tablespace temp default tablespace BKPLAT;  --那个库


授权

grant connect,resource,dba to center_user;  --授予center_user用户connect、resource、dba的权限


解锁用户,解锁用户的锁定状态

alter user center_user identified by "whbk009" account unlock;


密码时间无限制

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;


关闭oracle的审计功能

alter system set audit_trail=false scope=spfile;


重启数据库

shutdown immediate;
startup;


导入数据

mv htglsjzxdb20201109.dmp /oracle/11g/admin/SJZXBJT/dpdump/
chown -R oracle:oinstall htglsjzxdb20201109.dmp

在Oracle用户下

impdp system/123456@SJZXBJT dumpfile=data_pump_dir:htglsjzxdb20201109.dmp

猜你喜欢

转载自blog.csdn.net/zyy130988/article/details/110070271