1.安装前准备工作
1.1.修改主机名
(1)vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=qms 不能是localhost。
(2)vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 qms
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
1.2.关闭防火墙
service iptables status
service iptables stop //临时关闭防火墙
chkconfig iptables off //永久关闭防火墙
1.3.关闭SELiunx
vi /etc/selinux/config (没有修改)
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security
protection. SELINUXTYPE=targeted
1.4.修改内核参数
vi /etc/sysctl.conf
文件行末添加以下内容,如某项默认值大于配置值,可不修改(注意内存大小 ,调整数值。其他的不用修改)
kernel.shmall = 2097152 //设置共享内存总页数。这个值太小有可能导致数据库启动报错。计算公式为:内存(G)* 1024* 1024* 1024/4096,4096为getconf PAGE_SIZE得到分页大小。
kernel.shmmax = 4294967295 //Linux进程可以分配的单独共享内存段的最大值,一般设置为内存总大小的一半。 这个值的设置应该大于SGA_MAX_TARGET或MEMORY_MAX_TARGET的值,因此对于安装Oracle数据库的系统,shmmax的值应该比内存的二分之一大一些。
kernel.shmmni = 4096 //设置系统级最大共享内存段数量。推荐最小值为4096。
kernel.sem = 250 32000 100 128 //
fs.file-max = 6815744 //系统允许打开的文件数。
net.ipv4.ip_local_port_range = 9000 65000 //表示端口的范围,为指定的内容
net.core.rmem_default = 262144 //表示接收套接字缓冲区大小的缺省值(以字节为单位)。
net.core.rmem_max = 4194304 //表示接收套接字缓冲区大小的最大值(以字节为单位)。
net.core.wmem_default = 262144 //表示发送套接字缓冲区大小的缺省值(以字节为单位)。
net.core.wmem_max = 1048576 //表示发送套接字缓冲区大小的最大值(以字节为单位)。
fs.aio-max-nr = 1048576 //同时可以拥有的的异步IO请求数目。1048576 即 1024 * 1024 也就是 1024K 个。
最后输入下面的命令,让内核参数生效:
sysctl -p
1.5.修改用户限制
vi /etc/security/limits.conf (末尾添加)
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
1.6.修改用户验证选项 设置关联信息
vi /etc/pam.d/login
在文件尾部添加如下信息:
session required /lib64/security/pam_limits.so
session required pam_limits.so
************备注:64位系统时,千万别写成/lib/security/pam_limits.so,否则导致无法登录*********
1.7.修改系统启动环境参数
vi /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
source /etc/profile 使其生效
1.8.创建Oracle用户
groupadd oinstall //创建oinstall组
groupadd dba //创建dba组
useradd -g oinstall -G dba oracle //将oracle用户加入组
passwd oracle //修改并设定oracle用户密码 (密码为123456)
1.9.创建目录及修改权限
# the oracle base directory
mkdir -p /home/app/oracle
chown -R oracle:oinstall /home/app/oracle
chmod -R 775 /home/app/oracle
1.10.配置oracle用户环境变量
su – oracle
vi /home/oracle/.bash_profile
添加以下内容,请使其生效 source ~/.bash_profile (注意实例名,oralce基础路径 与前面或者后面设置的一致)
export ORACLE_BASE=/home/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db1
export ORACLE_SID=orcl
export ORACLE_OWNER=oracle
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export CLASSPATH
PATH=$PATH:/usr/sbin; export PATH
PATH=$PATH:/usr/bin; export PATH
让配置生效 source ~/.bash_profile
1.11 增加Swap分区
1.创建交换分区的文件:增加1G大小的交换分区,则命令写法如下,其中的 count 等于想要的块大小。
# dd if=/dev/zero of=/home/swapfile bs=1M count=1024
2.设置交换分区文件:
# mkswap /home/swapfile #建立swap的文件系统
3.立即启用交换分区文件:
# swapon /home/swapfile #启用swap文件
4.使系统开机时自启用,在文件/etc/fstab中添加一行: ()
/home/swapfile swap swap defaults 0 0
1.12.安装oracle必须的包
1.13.安装oracle必须的包
yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat unixODBC unixODBC-devel
2.安装
2.1.解压安装包 (需要使用 su - oracle 用户 )
将oracle软件上传至/home/oracle目录下
cd /home/oracle
ls *.zip |xargs -n1 unzip
或者
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
待解压完毕后会生成文件夹/home/database
2.2.复制一份静默模板
cp -R /home/oracle/database/response /home/oracle/
response
三个文件作用分别是:
- db_install.rsp:安装Oracle
- dbca.rsp:创建数据库
- netca.rsp:建立监听、本地服务名等网络设置
2.3.安装Oracle
vi db_install.rsp,修改安装应答文件,修改内容如下:
vi db_install.rsp,修改安装应答文件,修改内容如下:
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=qms (修改为1.1 设置的qms)
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/oracle/app/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/oracle/app/oracle/product/11.2.0/db1
ORACLE_BASE=/oracle/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=false
oracle.install.db.customComponents=oracle.server:11.2.0.1.0,oracle.sysman.ccr:10.2.7.0.0,oracle.xdk:11.2.0.1.0,oracle.rdbms.oci:11.2.0.1.0,oracle.network:11.2.0.1.0,oracle.network.listener:11.2.0.1.0,oracle.rdbms:11.2.0.1.0,oracle.options:11.2.0.1.0,oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv:11.2.0.1.0,orcle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.rat:11.2.0.1.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
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
# 物理内存的60%左右
oracle.install.db.config.starterdb.memoryLimit=124494
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
# 注意修改密码
oracle.install.db.config.starterdb.password.ALL=highcom87961677
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.automatedBackup.enable=false
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
#oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/u01/oradata (不填默认创建到跟oracle基本目录)
#oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/u01/fast_recovery_area (不填默认创建到跟oracle基本目录)
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
# 一定要是true
DECLINE_SECURITY_UPDATES=true
在oracle用户下安装 su - oracle (中间有空格)
$cd /home/oracle/database
执行命令:
$./runInstaller -silent -force -ignorePrereq -responseFile /home/oracle/
response/db_install.rsp
参数说明:
runInstaller 是主要安装脚本
-silent 静默模式
-force 强制安装
-ignorePrereq忽略warning直接安装。
-responseFile读取安装应答文件。
安装过程中,如果提示[WARNING]不必理会,此时安装程序仍在进行,如果出现[FATAL],则安装程序已经停止了。打开另一个终端,执行tail -f 提示的log名
********************(安装时间有些长,ctrl+c不能停止安装,需要等到安装结束 ,不要ctrl+c 然后再进行安装 )***************
当安装界面出现如下信息的时候,说明正在安装,通过日志文件
$tail -f /u01/app/oracle/inventory/logs/installActions2020-02-27_04-14-39PM.log
安装完成后会出现如下图:
按照提示执行下面以上两个脚本:
2.4.配置oracle监听
netca.rsp文件无需修改,直接使用
$ netca /silent /responsefile /home/oracle/response/netca.rsp
执行结果如下:
通过 netstat -tlnp命令检查:
2.5.创建oracle数据库
vi dbca.rsp 修改配置文件,修改内容如下:
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
GDBNAME = "orcl"
SID = "orcl"
TEMPLATENAME = "General_Purpose.dbc"
# 修改密码
SYSPASSWORD = "highcom87961677"
SYSTEMPASSWORD = "highcom87961677"
CHARACTERSET = "AL32UTF8"
# 物理内存的60%左右
TOTALMEMORY = "800" //默认800 单位M
执行命令
$dbca -silent -responseFile /home/oracle/response/dbca_orcl.rsp
执行结果如下:
建库后实例检查:
ps -ef | grep ora_ | grep -v grep
如果建库异常可以删库,重做:
dbca -silent -deleteDatabase -sourcedb orcle -sid orcle
至此,Oracle安装完成。
查看监听状态
lsnrctl status
正常可以使用plsql连接数据库了
如果出现以下错误: (没有出现,没有验证)
lsnrctl: error while loading sharedlibraries: /u01/app/oracle/product/11.2.0/db_1/lib/libclntsh.so.11.1: cannotrestore segment prot after reloc: Permission denied
解决办法:在root用户下执行以下命令
su - root
setenforce 0
3、开启和关闭数据库
su - oracle
$ dbstart $ORACLE_HOME (启动数据库和监听)
$ dbshut $ORACLE_HOME (关闭数据库和监听)
4、开机自动启动
$vi/etc/oratab
orcl:/usr/oracle/product/11.2.0/db_1:Y //把“N”改成“Y”
(1) 配置rc.local (root用户执行)
vi /etc/rc.d/rc.local
su - oracle -lc "/home/oracle/oracle10g/bin/dbstart /home/oracle/oracle10g"
(开机自启动没有测试,可以上网查询)