闲来无事学习oracle静默安装。以前一直都是头条文章的消费者,今天写个文章当一回创作者。
安装环境:redhat 6.8 oracle12c
redhat6.8(自己装个虚拟机玩玩,咱也没有服务器。redhat6.8已经很老版本了呵呵)。oracle的版本选择12c(呵呵版本也有些老)。
1、查看操作系统防火墙(iptables)的状态,我这里直接把iptables给关闭了。
查看iptables状态命令:service iptable status
[root@localhost ~]# service iptables status
iptables:未运行防火墙。
[root@localhost ~]#
如果防火墙开启了可以关闭了。
临时关闭iptables命令:service iptables stop
永久关闭iptables命令:chkconfig iptables off
2、关闭selinux。
selinux可能会引起一些非常奇怪的错误,这里把selinux给关闭了。
打开selinux的配置文件并编辑它。vim /etc/selinux/config,把SELINUX改成disabled,默认是enforcing,如红色文字所示。下面蓝色部分是注释。
# 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
3、安装oracle12c所需要的依赖包。
这里使用yum安装,由于我的虚拟机没有注册,就使用本地yum了。
yum -y install binutils compat-libcap1 compat-libstdc++-33
compat-libstdc++-33.i686 gcc gcc-c++ glibc glibc.i686
glibc-devel glibc-devel.i686 ksh libgcc libgcc.i686
libstdc++ libstdc++.i686 libstdc++-devel libstdc++-devel.i686
libaio libaio.i686 libaio-devel libaio-devel.i686 libXext
libXext.i686 libX11 libX11.i686 libxcb libxcb.i686 libXi libXi.i686 make sysstat
有的依赖包可能已经安装好了就不需要安装了。需要啥安装啥把,后续过程发现缺少也可以后补。
4、创建运行oracle数据库的用户组和系统用户。
创建oinstall组:groupadd oinstall
创建dba组:groupadd dba
创建oracle用户:useradd -g oinstall -G dba -m oracle
给oracle用户设置密码:passwd oracle
输入两次密码,设置生效。
5、修改内核参数,vi /etc/sysctl.conf,添加如下参数(参数设置参考大神写的博客,具体我也不太懂哈哈哈)。
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4098955264
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
使参数生效:sysctl -p
6、修改用户限制 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
vim /etc/pam.d/login
session required /lib64/security/pam_limits.so
session required pam_limits.so
7、修改环境变量 vim /etc/profile 。
if [ "$USER" = "oracle" ]; then
if [ "$SHELL" = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536a
else
ulimit -u 16384 -n 65536
fi
fi
使环境变量生效:source /etc/profile
8、创建安装及数据目录
#####目录根据情况自己定,我比较习惯安装在下面目录。#########
mkdir -p /usr/local/oraInventory
mkdir -p /usr/local/oracle/product/12.1.0/db_1
chown -R oracle:oinstall /usr/local/oracle
chown -R oracle:oinstall /usr/local/oraInventory
chmod -R 775 /usr/local/oracle
9、前面操作都是在root用户下操作的,切换oracle用户,修改配置文件,配置oracle环境变量。
su - oracle
vim ~/.bash_profle
配置环境变量如下:
export ORACLE_BASE=/usr/local/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
使配置生效:source ~/.bash_profle
10、把下载好的oracle12安装包解压(现在官网主流19c甚至更高了),并修改参数配置 #目录是根据你上面的目录定。
unzip linuxx64_12201_database.zip
unzip linuxx64_12202_database.zip
两个压缩包解压完成一个文件。
/usr/local/oracle/database/目录下的response 拷贝到/usr/local/oracle/目录下
cp -R /usr/local/oracle/database/response /usr/local/oracle/
进入到 cd /usr/local/oracle/response/
配置参数时密码等参数根据你的实际情况,我这里是QWEasd#123。注意这个不是直接把下面的复制里面,是在db_install.rsp文件里面找,参数填上去。
打开db_install.rsp文件,配置参数vim db_install.rsp
下面是我配置的参数:
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/usr/local/oraInventory
ORACLE_HOME=/usr/local/oracle/product/12.1.0/db_1
ORACLE_BASE=/usr/local/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=oinstall
oracle.install.db.OSBACKUPDBA_GROUP=oinstall
oracle.install.db.OSDGDBA_GROUP=oinstall
oracle.install.db.OSKMDBA_GROUP=oinstall
oracle.install.db.OSRACDBA_GROUP=oinstall
oracle.install.db.config.starterdb.password.SYS=QWEasd#123
oracle.install.db.config.starterdb.password.SYSTEM=QWEasd#123
DECLINE_SECURITY_UPDATES=true
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=orcl
oracle.install.db.config.starterdb.SID=orcl
11、安装数据库
进入安装目录cd /usr/local/oracle/database
执行下面的命令
./runInstaller -silent -responseFile /usr/local/oracle/response/db_install.rsp
12、上面步骤成功后,切换root用户执行以下脚本,这里的目录也是根据你上面定义的来
/usr/local/oraInventory/orainstRoot.sh
/usr/local/oracle/product/11.2.0/db_1/root.sh
13、启动监听
上面执行成功后启动监听
切换回 oracle用户 su - oracle 执行以下命令。
netca /silent /responsefile /usr/local/oracle/response/netca.rsp
ll $ORACLE_HOME/network/admin/*.ora
lsnrctl start
14、创建静默库
vim /usr/local/oracle/dbca.rsp
gdbName=orcl
sid=orcl
templateName=/usr/local/oracle/product/11.2.0/db_1/assistants/dbca/templates/General_Purpose.dbc #目录也是根据前面定义的
characterSet=AL32UTF8
sysPassword=QWEasd#123
pdbAdminPassword=QWEasd#123
systemPassword=QWEasd#123
createAsContainerDatabase=true
automaticMemoryManagement=false
#执行创建数据库命令
这里你可能遇到执行完命令光标闪烁的情况,不用管他,直接输入SYS和SYSTEM的密码
dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname orcl -sid orcl -responseFile /usr/local/oracle/dbca.rsp -ignorePreReqs
15、查看进程端口
ps -ef | grep oracle | grep -v grep |wc -l
lsnrctl status
16、oracle启动
sqlplus / as sysdba
startup;
17、oracle12_C重启服务
su - oracle
sqlplus / as sysdba
startup;
exit;
lsnrctl start 如果无法成功启动监听,则强制注册服务:
sqlplus / as sysdba
alter system register;
exit;
lsnrctl status 成功则服务已启动。
到这里就装好了。
第一次写头条文章,水平有点差,望包涵。