1、检查系统:
查看系统版本号:
[root@oracle-demo ~]# uname -m
x86_64
2、安装Oracle数据库需要的软件依赖包:
[root@oracle-demo ~]# yum -y install binutils gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel numactl-devel elfutils-libelf elfutils-libelf-devel compat-libstdc++ compat-libstdc++-33 xterm
检查是否已安装。
[root@oracle-demo ~]# rpm -q binutils gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel numactl-devel elfutils-libelf elfutils-libelf-devel compat-libstdc++ compat-libstdc++-33 xterm
package compat-libstdc++ is not installed会显示这个没安装,系统版本问题,可忽略,
3、修改内核参数:
[root@oracle-demo ~]# vim /etc/sysctl.conf
追加以下内容
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.shmall = 268435456
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
执行生效:
[root@oracle-demo ~]# sysctl -p
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.shmall = 268435456
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
[root@oracle-demo ~]#
4、对oracle用户设置限制,提高软件运行性能:
[root@oracle-demo ~]# vim /etc/security/limits.conf
追加以下内容
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft stack 10240
[root@oracle-demo ~]# vi /etc/pam.d/login
追加以下内容
session required /lib64/security/pam_limits.so
5、关闭防火墙和SELINUX,需要重启生效:
[root@oracle-demo ~]# systemctl stop firewalld.service && systemctl disable firewalld.service
[root@oracle-demo ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
[root@oracle-demo ~]# reboot
6、创建运行oracle数据库的系统用户和用户组:
用root账号登录,运行下面命令,创建所需的用户和用户组
[root@oracle-demo ~]# groupadd -g 30001 oinstall
[root@oracle-demo ~]# groupadd -g 30002 dba
[root@oracle-demo ~]# groupadd -g 30003 oper
[root@oracle-demo ~]# useradd -u 31001 -g oinstall -G dba,oper oracle
[root@oracle-demo ~]# echo "oracle" | passwd --stdin oracle
Changing password for user oracle.
passwd: all authentication tokens updated successfully.
[root@oracle-demo ~]# id oracle
uid=31001(oracle) gid=30001(oinstall) groups=30001(oinstall),30002(dba),30003(oper)
[root@oracle-demo ~]# groups oracle
oracle : oinstall dba oper
[root@oracle-demo ~]#
7、创建oracle数据库的安装目录(分配权限)
[root@oracle-demo ~]# mkdir -p /u01/app/oracle
[root@oracle-demo ~]# mkdir -p /u01/app/oracle/product/11.2.0.4/db_1
[root@oracle-demo ~]# mkdir -p /u01/app/oraInventory
[root@oracle-demo ~]# mkdir -p /u01/database
[root@oracle-demo ~]# chown -R oracle:oinstall /u01
[root@oracle-demo ~]# chmod -R 775 /u01
8、开启X server访问权限
[root@oracle-demo ~]# xhost +
9、安装pdksh-5.2.14-30.x86_64.rpm
[root@oracle-demo ~]# rz
[root@oracle-demo ~]# ls
anaconda-ks.cfg Desktop Documents Downloads initial-setup-ks.cfg Music pdksh-5.2.14-30.x86_64.rpm Pictures Public Templates Videos
[root@oracle-demo ~]# rpm -i --force --nodeps pdksh-5.2.14-30.x86_64.rpm
warning: pdksh-5.2.14-30.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 73307de6: NOKEY
[root@oracle-demo ~]# rm pdksh-5.2.14-30.x86_64.rpm
rm: remove regular file ‘pdksh-5.2.14-30.x86_64.rpm’? y
[root@oracle-demo ~]#
10、配置用户环境变量
su - oracle
[oracle@oracle-demo ~]$ vim .bash_profile
追加以下内容
export PS1="[`whoami`@`hostname`:"'$PWD]$'
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/db_1
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export ORACLE_SID=TEST
export LANG="en_US.UTF-8"
export ORACLE_TERM=xterm
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
执行马上生效:
[oracle@oracle-demo ~]$ . .bash_profile
[oracle@oracle-demo:/home/oracle]$exit
logout
10、改host
[root@oracle-demo ~]# echo "192.168.18.20 oracle-demo">> /etc/hosts
11、上传文件到/u01/database/目录中并解压,可以用SFTP上传,步骤不详细说明。
[root@oracle-demo database]# su - oracle
Last login: Tue Apr 28 15:06:17 CST 2020 on pts/0
[oracle@oracle-demo:/home/oracle]$cd /u01/database/
[oracle@oracle-demo:/u01/database]$ls
p13390677_112040_Linux-x86-64_1of7.zip p13390677_112040_Linux-x86-64_2of7.zip
[oracle@oracle-demo:/u01/database]$unzip -q p13390677_112040_Linux-x86-64_1of7.zip
[oracle@oracle-demo:/u01/database]$unzip -q p13390677_112040_Linux-x86-64_2of7.zip
[oracle@oracle-demo:/u01/database]$rm p13390677_112040_Linux-x86-64_1of7.zip p13390677_112040_Linux-x86-64_2of7.zip
rm: remove write-protected regular file ‘p13390677_112040_Linux-x86-64_1of7.zip’? y
rm: remove write-protected regular file ‘p13390677_112040_Linux-x86-64_2of7.zip’? y
12、配置oracle安装的rsp文件
编辑静默安装脚本
[oracle@oracle-demo:/u01/database]$cd /u01/database/database/response
[oracle@oracle-demo:/u01/database/database/response]$cp db_install.rsp db_install.rsp.bak
[oracle@oracle-demo:/u01/database/database/response]$vim db_install.rsp
先清空文件内容,再追加以下内容,一开始只设置了部分参数,但是好奇怪没法安装,后面才指定模板所有选项。
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=oracle-demo
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
SELECTED_LANGUAGES=en
ORACLE_HOME=/u01/app/oracle/product/11.2.0.4/db_1
ORACLE_BASE=/u01/app/oracle
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=dba
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=TEST
oracle.install.db.config.starterdb.SID=TEST
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=1500
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=Alex_1518
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=FILE_SYSTEM_STORAGE
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=false
DECLINE_SECURITY_UPDATES=true //估计是bug,不设为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@oracle-demo:/u01/database]$cd /u01/database/database
[oracle@oracle-demo:/u01/database/database/response]$./runInstaller -silent -ignorePrereq -responseFile /u01/database/database/response/db_install.rsp
正常安装,成功后显示以下信息,需要在root用户下执行
As a root user, execute the following script(s):
1. /u01/app/oraInventory/orainstRoot.sh
2. /u01/app/oracle/product/11.2.0.4/db_1/root.sh
##新开了一个窗口执行
[root@oracle-demo ~]# /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.
[root@oracle-demo ~]# /u01/app/oracle/product/11.2.0.4/db_1/root.sh
Check /u01/app/oracle/product/11.2.0.4/db_1/install/root_oracle-demo_2020-06-04_09-58-20.log for the output of root script
[root@oracle-demo ~]#
13、静默配置监听
[oracle@oracle-demo:/u01/database/database/response]$ls
dbca.rsp db_install.rsp db_install.rsp.bak netca.rsp
[oracle@oracle-demo:/u01/database/database/response]$cp netca.rsp netca.rsp.bak
[oracle@oracle-demo:/u01/database/database/response]$netca -silent -responseFile /u01/database/database/response/netca.rsp
##查看下监听端口
[oracle@oracle-demo:/u01/database/database/response]$netstat -tnulp | grep 1521
(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 :::1521 :::* LISTEN 17922/tnslsnr
[oracle@oracle-demo:/u01/database/database/response]$
14、dbca静默建库
[oracle@oracle-demo:/u01/database/database/response]$cp dbca.rsp dbca.rsp.bak
[oracle@oracle-demo:/u01/database/database/response]$ls
dbca.rsp dbca.rsp.bak db_install.rsp db_install.rsp.bak netca.rsp netca.rsp.bak
##编辑dbca静默建库文件
[oracle@oracle-demo:/u01/database/database/response]$vim dbca.rsp
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "TEST"
SID = "TEST"
TEMPLATENAME = "New_Database.dbt"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
DATAFILEDESTINATION=/u01/app/oracle/oradata
RECOVERYAREADESTINATION=/u01/app/oracle/fast_recovery_area
CHARACTERSET= "AL32UTF8"
TOTALMEMORY= "1638"
##开始安装
[oracle@oracle-demo:/u01/database/database/response]$dbca -silent -createDatabase -responseFile /u01/database/database/response/dbca.rsp