Linux下静默安装Oracle数据库
Linux下静默安装Oracle数据库
- CentOS挂载镜像
- 修改主机名
- Centos挂载镜像,配置本地yum源
- 安装Oracle依赖包
- 下载依赖包
- 优化OS内核参数
- 优化OS参数
- Oracle设置shell权限
- Oracle用户设置shell权限
- 创建Oracle数据库用户与用户组
- 创建用户与用户组
- 创建数据库软件目录与数据库存放目录
- 配置Oracle环境变量
- 安装Oracle数据库
- 解压Oracle安装包
- 配置db_install.rsp文件
- 配置监听器
- 建库
- 设置监听开机自启
- 修改开机监听自启配置文件
- 设置自启
博主使用的数据是11.2.4版本的
ios镜像是CentOS-7-x86_64-DVD-1810.iso
CentOS挂载镜像
修改主机名
1.// 主要用于后期方便,操作误出错,比如设置一个简单的 如:“centos”
hostnamectl set-hostname 主机名
2.// 打开vim /etc/hosts
在最下方添加(IP 主机名)如图所示
// 设置完成后把所需要上传的文件一并上传到CentOS服务器上(数据库、镜像、依赖包等等)
// 我是把镜像放到home
下,数据库安装包依赖放到Oracle用户
下,这个随意放就行看空间,那个空间大放哪个下就行。
Centos挂载镜像,配置本地yum源
1.// 因为是离线安装,我们需要把镜像挂载到 ios 目录,在进行配置本地源;在根目录下创建 ios 目录 主要用于挂载 ios 镜像。使用挂载命令如下 :
mount -o loop /home/CentOS-7-x86_64-DVD-1810.iso /iso
2.// 创建并配置本地源,进入
cd /etc/yum.repos.d/
目录,创建并编辑newyum.repo
文件,vim进入编辑
[rhel-server] //名字是随意写的可以更改
name=Red Hat Enterprise Linux server //名字是随意写的可以更改
baseurl=file:///iso //file:后面你是挂载镜像的地址,更具自己所挂载填写
enabled=1
gpgcheck=0
// 更新yum配置文件命令为
yum clean all
与yum repolist
安装Oracle依赖包
下载依赖包
// 这里有一个问题,yum包管理器里没有pdksh依赖,但是有ksh依赖。而且oracle可以用ksh来取代pdksh,所以在后面进行依赖查询和检查的时候可以忽略这一点
1. //使用 yum -y install 下载依赖(建议两个都试一下,有可能有的可以下载下来)
① yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*i686 compat-libstdc++-33*.devel compat-libstdc++-33 compat-libstdc++-33*.devel gcc gcc-c++ glibc glibc*.i686 glibc-devel glibc-devel*.i686 ksh libaio libaio*.i686 libaio-devel libaio-devel*.devel libgcc libgcc*.i686 libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.devel libXi libXi*.i686 libXtst libXtst*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686
② yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*.i686 elfutils-libelf-devel gcc gcc-c++ glibc*.i686 glibc glibc-devel glibc-devel*.i686 ksh libgcc*.i686 libgcc libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.i686 libaio libaio*.i686 libaio-devel libaio-devel*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 libXp
温馨提示:如果.i686的依赖包未下载成功,解释如下:
①. i386 适用于intel和AMD所有32位的cpu.以及via采用X86架构的32的cpu.intel平台包括8086,80286,80386,80486,奔腾系列(1.2.3.4)、赛扬系列,Pentium D系列以及centrino P-M,core duo 等.
②. X86_64 适用于intel的Core 2 Duo, Centrino Core 2 Duo, and Xeon 和AMD Athlon64/x2, Sempron64/x2, Duron64等采用X86架构的64位cpu.
③.I686 只是i386的一个子集,支持的cpu从Pentium 2 (686)开始,之前的型号不支持.
④i686仍然属于i386体系,不过对CPU(相对于386)的特性作了指令优化。
2. //检查依赖包是否下载完成
rpm -q binutils compat-libcap1 compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel expat gcc gcc-c++ glibc glibc-common glibc-devel ksh glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi make pdksh sysstat unixODBC unixODBC-devel | grep "not installed"
执行命令后可能会检查出compat-libstdc+±33、pdksh两个依赖为下载成功,找到你之前上传到home目录下的这两个依赖,进入路径单独安装即可,命令如下:
rpm -ivh 依赖包的名字与版本号.rpm
链接: https://pkgs.org/download/compat-libstdc+±33
优化OS内核参数
优化OS参数
1.// 目前我所用的内存空间是8G,以下只适用于8G内存;16G或更高建议调整
其中kernel.shmmax参数大小根据物理内存大小进行定义,4G-1byte换算成字节和物理内存一半换算成字节-1byte比较大小,取小的值;8G换算例子:8/2x1024x1024x1024-1=4294967295
fs.aio-max-nr = 1048576
fs.file-max = 6815744 //设置最大打开文件数
kernel.shmall = 2097152 //共享内存的总量,内存设置
kernel.shmmax = 4294967295 //最大共享内存的段大小
kernel.shmmni = 4096 //整个系统共享内存的最大数
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500 //可使用的IP端口范围
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
注意:编辑完成,qw保存退出:输入该命令使修改生效:
sysctl -p
Oracle设置shell权限
Oracle用户设置shell权限
1.// 执行
vim /etc/security/limits.conf
命令,修改操作系统对Oracle用户资源的限制
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 10240
2.// 要使limits.conf文件配置生效,必须要确保pam_limits.so文件被加入到启动文件中:
vim /etc/pam.d/login
编辑完成后保存退出即可
session required /lib64/security/pam_limits.so //这里有个注意点,那个64指64位系统,不能省略
session required pam_limits.so
3.// 执行
vim /etc/profile
命令,在文件下添加如下代码:
if [ $USER = "oracle" ]; thenif [ $SHELL = "/bin/ksh" ]; thenulimit -p 16384ulimit -n 65536elseulimit -u 16384 -n 65536fi
fi
4.// 执行
vim /etc/csh.login
命令,在文件下添加如下代码:
if ( $USER == "oracle" ) thenlimit maxproc 16384limit descriptors 65536
endif
创建Oracle数据库用户与用户组
创建用户与用户组
1.// 命令如下:(该命令过于简单,则不含图片了,挨个执行即可)
groupadd oinstall //创建用户组oinstall
groupadd dba //创建用户组dba
useradd -g oinstall -G dba -m oracle //创建oracle用户,并加入到oinstall和dba用户组
passwd oracle //设置用户oracle的登陆密码,不设置密码,在CentOS的图形登陆界面没法登陆
// 如果你的用户建立错误,以
root
用户建立的,ll
查看发现用户与用户组都是root
;
使用该命令可以更改chown -R oracle:oinstall /home/oracle
看不懂就看以下图片
图①为root
用户,我们需要把root
改为oracle
用户看图②
创建数据库软件目录与数据库存放目录
2.// 命令如下:使用root用户执行(该命令过于简单,则不含图片了,挨个执行即可)
mkdir -p /home/u01/app/oracle
mkdir -p /home/u01/app/oraInventory
mkdir -p /home/u02/oradata/
chown -R oracle:oinstall /home/u01/app/ //-R处理指定目录以及其子目录下的所有文件
chown -R oracle:oinstall /home/u01/app/oraInventory
chmod -R 775 /home/u01/app/
chmod -R 775 /home/u02/oradata/ //赋予权限
配置Oracle环境变量
3.// 注意:这里需要切换到
oracle
用户,在oracle
用户下找到.bash_profile
执行命令:vim /home/oracle/.bash_profile
export ORACLE_BASE=/home/u01/app/oracle //oracle安装目录
export ORACLE_SID=orcl //oracle实例名
export ORACLE_HOME=/home/u01/app/oracle/product/11.2.0/dbhome_1 //oracle路径
export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss' //日期格式设置
export PATH=$PATH:$ORACLE_HOME/bin //添加系统环境变量
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib //添加系统环境变量
export LANG="zh_CN.UTF-8" //防止安装过程中乱码
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8" //常用unicode字符集
执行命令:
source /home/oracle/.bash_profile
,让配置立即生效;生效后重启服务器reboot
安装Oracle数据库
解压Oracle安装包
1.// 前面我已经提到,把所需要的用到的软件包提前上传到空间大的文件下
用命令解压
cd /home/oracle/ //进入文件所在目录进行解压
unzip p13390677_112040_Linux-x86-64_1of7.zip
unzip p13390677_112040_Linux-x86-64_2of7.zip
然后进行授权
chown -R oracle:oinstall /home/oracle/database
;然后进行用户切换,切换成oracle
,假如没切换安装的时候会报异常。
在oracle
目录下创建 etc 目录,拷贝dbca.rsp db_install.rsp netca.rsp
三个文件,并赋权
mkdir etc
cp /home/oracle/database/response/* /home/oracle/etc/
chmod 700 /home/oracle/etc/*.rsp
ls etc/
这时候能看到会出现
dbca.rsp db_install.rsp netca.rsp
三个文件。后续会告诉你这三个文件的作用
配置db_install.rsp文件
db_install.rsp
文件就是配置文件,一定要配置好才能进行安装。
执行命令:vim /home/oracle/etc/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY //安装类型
ORACLE_HOSTNAME=centos //主机名称(hostname查询)
UNIX_GROUP_NAME=oinstall //安装组
INVENTORY_LOCATION=/home/u01/app/oraInventory //INVENTORY目录(不填就是默认值)
SELECTED_LANGUAGES=en,zh_CN,zh_TW //选择语言
ORACLE_HOME=/home/u01/app/oracle/product/11.2.0/dbhome_1 //Oracle路径
ORACLE_BASE=/home/u01/app/oracle //oracle_base
oracle.install.db.InstallEdition=EE //oracle版本
oracle.install.db.DBA_GROUP=dba //dba用户组
oracle.install.db.OPER_GROUP=oinstall //oper用户组
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //数据库类型
oracle.install.db.config.starterdb.globalDBName=orcl //globalDBName
oracle.install.db.config.starterdb.SID=orcl //SID
oracle.install.db.config.starterdb.memoryLimit=4096 //自动管理内存的内存(M)
oracle.install.db.config.starterdb.password.ALL=oracle //设定所有数据库用户使用同一个密码
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true //是否设置安全更新
写好之后开始安装,直接去database文件夹下执行以下命令:
./runInstaller -silent -responseFile /home/oracle/etc/db_install.rsp
当出现如下提升表示安装成功,假如失败可已看看包错日志找到报错信息。
温馨提示:此过程需要稍微等待几分钟,请耐心等待!!!
然后根据以上提示,执行脚本。使用
root
用户执行
sh /home/u01/app/oraInventory/orainstRoot.sh
sh /home/u01/app/oracle/product/11.2.0/dbhome_1/root.sh
配置监听器
netca.rsp
就是监听器配置文件,我这边采用默认配置
使用Oracle
用户执行:netca /silent /responsefile /home/oracle/etc/netca.rsp
可以用lsnrctl status
来查看监听状态;启动监听命令是lsnrctl start
这个时候监听还无法启动
建库
// 建库需要编辑
dbca.rsp
文件,并对文件进行修改。看准位置修改
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "orcl"
SID = "orcl"
TEMPLATENAME = "General_Purpose.dbc"
CHARACTERSET = “ZHS16GBK”
修改完成后,输入
dbca -silent -responseFile dbca.rsp
命令,执行完后会先清屏,清屏之后没有提示,直接输入oracle用户的口令(我的口令设置的是oracle),回车,再输入一次密码(密码设置的也是oracle),再回车进行等待
使用plsql连接数据库,可以登录说明安装成功,没成功可能是你防火墙没有放开端口或者没有关闭防火墙。
设置监听开机自启
修改开机监听自启配置文件
执行命令:
vim /home/u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart
将 ORACLE_HOME_LISTNER=$1 修改为:ORACLE_HOME_LISTNER=$ORACLE_HOME
执行命令:
vim /home/u01/app/oracle/product/11.2.0/dbhome_1/bin/dbshut
将 ORACLE_HOME_LISTNER=$1 修改为:ORACLE_HOME_LISTNER=$ORACLE_HOME
这时候还需要修改
sudo vim /etc/oratab
将
orcl:/home/u01/app/oracle/product/12.1.0/dbhome_1:N 修改为:(其实就是把N该成Y)
orcl:/home/u01/app/oracle/product/11.2.0/dbhome_1:Y
设置自启
使用
root
用户在/home/oracle目录下创建脚本autoDB.sh
进行编辑,添加如下:
su oracle -lc "/home/u01/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start"
su oracle -lc "/home/u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart"
编辑完成后对
autoDB.sh
进行赋权限chmod 777 autoDB.sh
随后在使用root用户编辑:vim /etc/rc.local
输入nohup /home/oracle/autoDB.sh &
输入后wq保存
复制
nohup /home/oracle/autoDB.sh &
在/home/oracle下执行,会生成nohup.out
文件。
对生成的nohup.out文件进行赋权chmod 777 nohup.out
,重启服务器在进行查看监听,到此监听自启配置完成!!!
温馨提示:希望此文对你有所帮助,但是复制粘贴之前需要查看好自己的目录与作者的不同呦~
吾日三省吾身,新的一天祝你 开心 快乐!!!
Linux下静默安装Oracle数据库相关推荐
- oracle静默安装集群,静默安装Oracle数据库10g篇
静默安装Oracle数据库10g篇 =========================================================================== 以下是在Li ...
- linux php连接orcel,Linux下PHP连接Oracle数据库
Linux下PHP连接Oracle数据库2020-06-12 16:50:57 安装步骤: 一.安装oracle-instantclient 下载地址:http://www.oracle.com/te ...
- Linux下自动备份Oracle数据库并删除指定天数前的备份
说明: Oracle数据库服务器 操作系统:CentOS IP:192.168.0.198 端口:1521 SID:orcl Oracle数据库版本:Oracle11gR2 具体操作: 1.root用 ...
- DBCA静默安装Oracle数据库
DBCA静默安装Oracle数据库 DBCA静默安装Oracle软件 准备db_install.rsp文件 静默安装软件 DBCA静默安装数据库 准备工作 准备dbca.rsp文件 修改dbca模板文 ...
- aix oracle备份命令,Aix/Linux下自动备份oracle数据库
曾经有个同事,来回操作开发和生产的数据库,结果误删了生产的数据库,那种心情我想不是一般人能理解的,虽然说oracle可以有方法还原,但并不是彻底的. 所以,在工作中,不管是开发还是维护,备份数据库是非 ...
- CentOS 7 腾讯云服务器 Linux无图形化界面静默安装oracle数据库.
服务器基础信息 腾讯云 CentOS7.2 64位 root登录系统查看一下版本信息 CentOS Linux release 7.2.1511 (Core) 在安全组中将ORACLE默认通讯端口 T ...
- oracle数据库某一年的数据总量_Liunx静默安装Oracle数据库
作者 | kf_dbd 来源 | 咖啡逗不逗(ID: kf_dbd) 转载请联系授权 | (微信ID:xh870545795) 大家好,我是 kf_dbd,很高兴又和大家见面了,今天分享一个Linux ...
- linux 之静默安装oracle
Web服务器上面的Linux一般是不会有图形界面的,所有通过图形界面来安装Linux的方式在没有图形界面的Linux上面是行不通的,我们要使用的安装方式叫做Linux的静默安装.即在没有图形界面的Li ...
- 如何在linux操作系统中安装oracle数据库,并设置开机自启动
1. ping www.baidu.com 查看是否联网成功 2. 不能联网,就将ip修改为动态dhcp模式使之能链接成功. 3. Vi /etc/hosts 写上ip地址与主机名 4. yum in ...
最新文章
- 最新!百度首发 OCR 自训练平台 EasyDL OCR
- 都2021年了,你还在用Jenkins?赶快看看这些替代方案吧!
- 云原生安全的一种新方法!
- 五十七、Vue中的八大生命周期函数
- docker版wordpress
- explode php 报错,ecshop在php5.4下报错怎么办
- js滚动条滚动到指定元素
- oracle Merge 函数
- git commit -m 'comment' 遇到 'npm' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
- android 模拟器 3D 开发环境配置
- 关于collectionView的一些内容
- AR、VR、MR的那些事儿
- 牛客网刷题(Hw题库)
- linux 脚本加密 shc
- Beta 多样性排序分析方法与比较
- MFC对话框美化四(自绘标题栏)
- vue动态加载在线字体,及渲染
- 使用NCL绘制安徽省的轮廓图
- 《Java修炼指南:高频源码解析》阅读笔记一Java数据结构的实现集合类
- 三星手机拍照后 图片翻转