手把手教你在命令行(静默)部署oracle 11gR2
文章目录
环境介绍
| version | CPU/内存 | 系统架构 |
|---|---|---|
| CentOS Linux release 7.7.1908 | X86_64 |
注意检查磁盘空间,安装目录可用空间不要低于20G [
df -h命令可以查看目录空间使用情况]注意检查系统架构,下载安装包的时候要对应自己的系统架构
注意检查/tmp目录大小,oracle要求/tmp目录不小于1G,如果没有单独挂载/tmp目录,注意查看根目录可用空间
注意检查内存大小,不要低于2G
oracle安装包
链接:https://pan.baidu.com/s/1vUQ9Slp5VVXyj9414kZ0UA
提取码:imkb
linux发行版
使用下面的命令,可以看到自己的发行版以及子版本号
cat /etc/centos-release
cpu、内存以及磁盘空间
cpu物理个数
grep 'physical id' /proc/cpuinfo | uniq | wc -l
cpu核心数量
grep 'core id' /proc/cpuinfo | uniq | wc -l
内存大小
free -h
系统架构
uname -a
敲黑板
关闭防火墙以及selinux
查看selinux状态,最好是disabled
sestatus
如果不是disabled,执行下面的命令,重启系统后才会生效
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
查看firewalld状态,确认已经关闭,并且开机不会自启
systemctl status firewalld.service | egrep -i 'active|load'
如果没有关闭,执行下面的命令
systemctl disable firewalld.service --now
操作系统配置
使用阿里的yum源提速
centos安装完成后,默认是官方的yum源,速度会比较慢,切换到国内yum源解决依赖更快[毕竟oracle的依赖很多]
cd /etc/yum.repos.d/
mkdir bak
mv *.repo bak/
vim Centos-7.repo
最小化安装的centos是没有wget命令的,可以直接复制下面的内容
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
http://mirrors.aliyuncs.com/centos/$releasever/extras/$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
http://mirrors.aliyuncs.com/centos/$releasever/centosplus/$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/contrib/$basearch/
http://mirrors.aliyuncs.com/centos/$releasever/contrib/$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
清空yum缓存,生成元数据
yum clean all && yum makecache
安装依赖软件
yum -y install gcc gcc-c++ elfutils-libelf libaio libaio-devel ksh
设置用户最大进程数以及最大文件打开数
cat << EOF >> /etc/security/limits.conf
####### start for oracle #######
oracle soft nproc 2048
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 10240
####### end for oracle #######
EOF
soft xxx代表警告的设定,可以超过这个设定值,但是超过后会有警告。
hard xxx代表严格的设定,不允许超过这个设定的值。
soft nproc单个用户可用的最大进程数量(超过会警告)hard nproc单个用户可用的最大进程数量(超过会报错)soft nofile可打开的文件描述符的最大数(超过会警告)hard nofile可打开的文件描述符的最大数(超过会报错)
内核参数优化
cat << EOF >> /etc/sysctl.conf
####### start for oracle #######
fs.aio-max-nr=1048576
fs.file-max=6815744
kernel.shmall=2097152
kernel.shmmax=536870912
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
####### end for oracle #######
EOF
fs.aio-max-nr同时可以拥有的的异步IO请求数量
fs.file-max最大句柄数
kernel.shmall可以使用的共享内存的总量
kernel.shmmax最大共享内存段大小
kernel.shmmni整个系统共享内存段的最大数目
kernel.sem每个信号对象集的最大信号对象数;系统范围内最大信号对象数;每个信号对象支持的最大操作数;系统范围内最大信号对象集数
net.ipv4.ip_local_port_range应用程序可使用的IPv4端口范围
net.core.rmem_default套接字接收缓冲区大小的缺省值(以字节为单位)
net.core.rmem_max套接字接收缓冲区大小的最大值(以字节为单位)
net.core.wmem_default套接字发送缓冲区大小的缺省值(以字节为单位)
net.core.wmem_max套接字发送缓冲区大小的最大值(以字节为单位)
执行下面的命令,使配置立即生效
sysctl -p
开启swap分区
oracle是需要开启swap分区的,可以通过
free -h命令查看swap分区的大小,如果没有开启swap分区,会有如下的报错:
Checking swap space: 0 MB available, 150 MB required. Failed <<<<
dd if=/dev/zero of=/swapfile bs=1024 count=512k
mkswap /swapfile
swapon /swapfile
echo '/swapfile swap swap defaults 0 0' >> /etc/fstab
创建用户及用户组
创建用户组
for i in oinstall dba oper;do groupadd $i;done
验证一下,是否创建成功
egrep 'oinstall|dba|oper' /etc/group
创建用户
-G参数:给用户指定附加组
-g参数:给用户指定基本组
useradd -g oinstall -G dba,oper oracle
echo 'oracle' | passwd --stdin oracle
验证一下,是否创建成功
id oracle
预期会有如下输出:
uid=1001(oracle) gid=1001(oinstall) groups=1001(oinstall),1002(dba),1003(oper)
赋权及目录创建
chown oracle.oinstall linux.x64_11gR2_database_*
注意自的目录,不要直接复制黏贴,我的app目录是单独挂载的一个分区,有80G的空间
mkdir -p /app/oracle/{11gR2,backup,oraInventory} -m 775
chown oracle.oinstall /app/oracle -R
设置环境变量
切换到oracle用户
su - oracle
编辑用户的环境变量配置文件,当前所在目录:
/home/oracle
vim .bash_profile
注意修改ORACLE_BASE的路径,和自己创建的路径要一样
DISPLAY这里的ip为本机ip,注意修改
export ORACLE_BASE=/app/oracle
export DISPLAY=192.168.70.48:1.0
export ORACLE_HOME=${ORACLE_BASE}/11gR2
export ORACLE_SID=oracle11g
export PATH=$PATH:$HOME/.local/bin:$HOME/bin:${ORACLE_HOME}/bin
export LD_LIBRARY_PATH=/usr/lib:${ORACLE_HOME}/lib
source .bash_profile
安装oracle
注意使用的用户是oracle用户
解压安装包
unzip linux.x64_11gR2_database_1of2.zip -d /app/oracle/
unzip linux.x64_11gR2_database_2of2.zip -d /app/oracle/
备份配置文件
cd /app/oracle
cp -r database/response{,.template}
cat <<EOF > database/response/db_install.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=bigdata06
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/app/oracle/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/app/oracle/11gR2
ORACLE_BASE=/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=oinstall
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=oracle11g
oracle.install.db.config.starterdb.SID=oracle11g
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=oracle
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=
oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false
oracle.install.db.config.starterdb.automatedBackup.enable=false
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
DECLINE_SECURITY_UPDATES=true
EOF
开始安装
cd database/
./runInstaller -silent -responseFile /app/oracle/database/response/db_install.rsp -ignorePrereq
执行成功后,会有下面的输出(这里给一个免费的建议,新开一个终端去查看日志情况)
You can find the log of this install session at:
/app/oracle/oraInventory/logs/installActions2021-09-26_02-23-09PM.log
出现如下的回显,表示安装已经完成了
这里需要新开一个终端,以root用户执行下面给出的两个脚本
两个脚本执行完成后,回到oracle用户安装的这个终端敲回车就可以了
The following configuration scripts need to be executed as the "root" user.
#!/bin/sh
#Root scripts to run
/app/oracle/oraInventory/orainstRoot.sh
/app/oracle/11gR2/root.sh
To execute the configuration scripts:
1. Open a terminal window
2. Log in as "root"
3. Run the scripts
4. Return to this window and hit "Enter" key to continue
Successfully Setup Software.
配置oracle监听文件
注意:后面的操作,都是使用
oracle用户
cd /app/oracle/database/response
netca /silent /responsefile /app/oracle/database/response/netca.rsp
执行完成后,在
/app/oracle/11gR2/network/admin目录下会生成两个文件
listener.ora
sqlnet.ora
ss -nltp | grep 1521
能过滤得到信息,说明监听器已经正常工作了
LISTEN 0 128 [::]:1521 [::]:* users:(("tnslsnr",pid=10836,fd=11))
如果监听器没有启动,则需要手动启动,启动方式如下
/app/oracle/11gR2/bin/lsnrctl start LISTENER
配置oracle数据库
修改建库配置文件
vim /app/oracle/database/response/dbca.rsp
78行(SID+主机域名):
GDBNAME = "oracle11g.myoracle"
149行(SID):# 与环境变量里面的设置的SID要一致
SID = "oracle11g"
190行:
SYSPASSWORD = "oracle"
200行:
SYSTEMPASSWORD = "oracle"
415行:
CHARACTERSET = "AL32UTF8"
425行:
NATIONALCHARACTERSET= "UTF8"
创建dbca数据库
$ORACLE_HOME/bin/dbca -silent -responseFile /app/oracle/database/response/dbca.rsp
启动oracle数据库
进入oracle
sqlplus / as sysdba
start
验证oracle
select * from tab;
手把手教你在命令行(静默)部署oracle 11gR2的更多相关文章
- WebLogic 12c Linux 命令行 静默安装
CentOS 6.3安装配置Weblogic 10 http://www.linuxidc.com/Linux/2014-02/96918.htm Oracle WebLogic 11g 安装部署文 ...
- 记一次使用命令行启动部署在tomcat上的应用
在Eclipes进行程序开发完成后,一般都会直接在Eclipse部署启动,其中的一些启动参数设置都会在其中进行,若用命令行启动,则需要手动配置. 程序开发完成后打成的war包,需要部署到Tomcat应 ...
- 手把手教你 在Pytorch框架上部署和测试 关键点人脸检测项目DBFace,成功实现人脸检测效果
这期教向大家介绍仅仅 1.3M 的轻量级高精度的关键点人脸检测模型DBFace,并手把手教你如何在自己的电脑端进行部署和测试运行,运行时bug解决. 01. 前言 前段时间DBFace人脸检测库横空出 ...
- 静默(命令行)安装oracle 11g
CentOS 6 静默安装oracle 11g 我参考的这个,他非常详细:https://blog.csdn.net/JIANG123456T/article/details/77745892 我只是 ...
- 教你用命令行激活win10系统
对于笔者这样爱自己动手的电脑爱好者来说,当然会选择自己组装一台性价比高的台式电脑,一切都准备就绪了,系统也装好了,就差最后一步了--激活系统. 笔者真的很幸运,在网上找到了一些可以使用的密钥,我装的是 ...
- SQL*Plus命令行工具连接Oracle数据库
1.在命令行中输入"sqlplus /nolog"即可启动该工具. 2.连接到Oracle服务器 conn 用户名/密码@服务器连接字符串 as 连接身份 客户端工具根据&quo ...
- CentOS静默安装Oracle 11gR2(x64)
环境 OS: CentOS 7.4; hosts: L134; IP: 192.168.1.134 DB: linux.x64_11gR2_database 安装依赖包 yum install -y ...
- 手把手教你用1行代码实现人脸识别 --Python Face_recognition
环境要求: Ubuntu17.10 Python 2.7.14 环境搭建: 1. 安装 Ubuntu17.10 > 安装步骤在这里 2. 安装 Python2.7.14 (Ubuntu17.10 ...
- K8S从入门到放弃系列-(4)kubernetes集群之kubectl命令行工具部署
摘要:随着版本的不断迭代,k8s为了集群安全,集群中趋向采用TLS+RBAC的安全配置方式,所以我们在部署过程中,所有组件都需要证书,并启用RBAC认证. 我们这里采用二进制安装,下载解压后,把对应组 ...
随机推荐
- c#多进程通讯,今天,它来了
引言 在c#中,可能大多数人针对于多线程之间的通讯,是熟能生巧,对于AsyncLocal 和ThreadLocal以及各个静态类中支持线程之间传递的GetData和SetData方法都是信手拈来,那多 ...
- springBoot--原理分析
起步依赖分析 分析spring-boot-starter-parent 按住Ctrl点击pom.xml中的spring-boot-starter-parent,跳转到了spring-boot-star ...
- day7 对字母数字的编排
1.函数fun()的功能:在s数组内寻找并且统计t数组在s数组中出现的次数 输入字符串:函数scanf()函数不好用,会出现很多bug,因此不使用scanf() 效果理想: 2.函数fun()功能:将 ...
- Hybrid App(混合开发) 移动端开发调试
1.下载项目,npm install安装依赖 本地运行 npm run dev(根据具体packjson配 置而定) 2.局域网访问:http://172.20.9.35:8080/ 3.手机端访问: ...
- 【记录一个问题】神坑,自定义一个golang的error类型,居然运行崩溃了
2020-05-20 18:20补充: 感谢yif同学提供指导,出现错误并且打印大量信息的原因是函数递归调用导致栈溢出. 而导致递归调用的关键代码是%v 类型实现了error的interface %v ...
- 【发布开源代码】铁威马NAS存储上实现的视频文件浏览
具体介绍请看:https://github.com/ahfuzhang/tnas_video_web x86机器的windows/linux/mac机器应该都能使用 效果如下: 按月浏览视频 视频太多 ...
- C# 在PDF文档中应用多种不同字体
在PDF文档中,可绘制不同字体样式.不同语言的文字,可通过使用Standard字体.TrueType字体.CJK字体或者自定义(私有)等字体类型.下面通过C#程序代码来展示如何实现使用以上类型的字体来 ...
- Qt之QColorDialog
widget.h: #ifndef WIDGET_H #define WIDGET_H #include <QWidget> class Widget : public QWidget { ...
- gin框架中的数据解析与绑定
Json数据解析与绑定 客户端传参,后端接收并解析到结构体 func Login(context *gin.Context) { // 声明接收的变量 var login LoginJson // 将 ...
- 机器学习-softmax回归 python实现
---恢复内容开始--- Softmax Regression 可以看做是 LR 算法在多分类上的推广,即类标签 y 的取值大于或者等于 2. 假设数据样本集为:$\left \{ \left ( X ...