Centos 部署Oracle 11g

news2024/11/19 17:23:21

Centos 部署Oracle 11g

  • 部署Oracle 11g
    • 准备工作
      • 服务器信息
      • oracle安装包
      • 服务器准备oracle环境
    • 安装Oracle
    • 静默方式配置监听
    • 以静默方式建立新库及实例

部署Oracle 11g

在SpringMVC模式下开发web项目,必然会使用到关系型数据库来存储数据,目前使用比较多的关系型数据库有Oracle,Mysql,PostgreSQL,SQlServer等,使用的远程服务器系统一般都是centos,接下来就说一下如果在centos服务器上安装部署Oracle数据库

准备工作

服务器信息

目前我准备的服务器信息如下:
4核CPU
16G内存

oracle安装包

打开Oracle中文官网下载Oracle11g:www.oracle.cn
在这里插入图片描述

linux_11gR2_database_1of2.zip、linux_11gR2_database_2of2.zip。这个可以去网上找安装包,其他版本安装方式应该也是一样的

服务器准备oracle环境

1、修改hostname

hostnamectl set-name oracle206

修改之后,验证修改结果

hostanme

在这里插入图片描述

2、修改host文件

vim /etc/hosts

在文件后面加
IP 对应的hostname

修改之后的效果
在这里插入图片描述
3、关闭防火墙或开发防火墙端口

systemctl stop firewalld
systemctl disable firewalld

上面的是关闭防火墙,去掉开机启动防火墙
4、安装oracle所需软件包
查看Oracle安装文档中列出的Package Requirements可以查看在不同平台上需要的软件包。

binutils-2.23.52.0.1-12.el7.x86_64 
compat-libcap1-1.10-3.el7.x86_64 
gcc-4.8.2-3.el7.x86_64 
gcc-c++-4.8.2-3.el7.x86_64 
glibc-2.17-36.el7.i686 
glibc-2.17-36.el7.x86_64 
glibc-devel-2.17-36.el7.i686 
glibc-devel-2.17-36.el7.x86_64 
ksh
libaio-0.3.109-9.el7.i686 
libaio-0.3.109-9.el7.x86_64 
libaio-devel-0.3.109-9.el7.i686 
libaio-devel-0.3.109-9.el7.x86_64 
libgcc-4.8.2-3.el7.i686 
libgcc-4.8.2-3.el7.x86_64 
libstdc++-4.8.2-3.el7.i686 
libstdc++-4.8.2-3.el7.x86_64 
libstdc++-devel-4.8.2-3.el7.i686 
libstdc++-devel-4.8.2-3.el7.x86_64 
libXi-1.7.2-1.el7.i686 
libXi-1.7.2-1.el7.x86_64 
libXtst-1.2.2-1.el7.i686 
libXtst-1.2.2-1.el7.x86_64 
make-3.82-19.el7.x86_64 
sysstat-10.1.5-1.el7.x86_64

Oracle ODBC Drivers

unixODBC-2.3.1-6.el7.x86_64 or later
unixODBC-2.3.1-6.el7.i686 or later
unixODBC-devel-2.3.1-6.el7.x86_64 or later
unixODBC-devel-2.3.1-6.el7.i686 or later

安装上面的软件安装包

yum install ...

5、创建用户及用户组

groupadd orainstall
groupadd ora
useradd -g orainstall,ora oracle
passwd oracle

完成oracle用户的创建

6、修改kernel内核

vim /etc/sysctl.conf

修改内容如下:

#配置文件内加入 修改以下参数。如果没有可以自己添加,如果默认值比参考值大,则不需要修改。
#这个内核参数用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096 。通常不需要更改。
kernel.shmmni = 8192
#该参数定义了共享内存段的最大尺寸(以字节为单位)。缺省为32M,对于oracle来说,该缺省值太低了,通常将其设置为2G。可根据实际情况来
kernel.shmmax = 4294967296
#该参数表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152,通常不需要修改。
kernel.shmall = 2097152 
kernel.sem = 250 32000 100 128
fs.aio-max-nr = 1048576
 #设置最大打开文件数
fs.file-max = 65536
#可使用的IPv4端口范围
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

保存后,执行下面命令,使其生效

sysctl -p

修改资源限制

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
vim /etc/pam.d/login

修改内容如下:

#加入以下语句: 
#注意:根据最后一条session规则的注释,应该加在最后一条规则之前
session required  /lib64/security/pam_limits.so
session required   pam_limits.so

效果图
7、创建目录并赋予目录用户权限
#创建安装目录,并赋予用户与用户组
#oracle目录 安装目录
#oradata 数据存储目录
#inventory 清单目录
#fast_recovery_area 恢复目录
注意:目录最好不要健在oracle用户目录下,会被警告,因为要用oracle用户安装

建目录:

mkdir -p /data/oracle/product/11.2.0 /data/oracle/oradata  /data/oracle/inventory /data/oracle/fast_recovery_area

赋oracle用户权限

chown -R oracle:orainstall /data/oracle
chmod -R 775 /data/oracle

8、配置oracle环境变量

vim /etc/profile

在文件末尾处添加以下内容:

#在末尾增加以下内容
if [ $USER = "oracle" ]; then      
    if [ $SHELL = "/bin/sh" ]; then          
        ulimit -p 16384           
        ulimit -n 65536      
    else           
         ulimit -u 16384 -n 65536      
    fi
fi

使其生效

source /etc/profile

安装Oracle

上传文件oracle安装包文件至/home/oracle 目录,解压目标文件

unzip linux_11gR2_database_1of2.zip
unzip linux_11gR2_database_2of2.zip

1、设置Oracle用户环境变量

su - oracle
vim .bash_profile

修改成以下内容:

export ORACLE_BASE=/data/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export ORACLE_OWNER=oracle206
export NLS_LANG=american_america.AL32UTF8

PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/lib:$ORACLE_HOME/bin

export PATH

使其生效

source .bash_profile 

2、准备oracle安装应答模板文件db_install.rsp文件

cp response/* /data/oracle/response/
cd /data/oracle/response/
chmod 755 ./*.rsp
vim db_install.rsp

修改以下的值:

oracle.install.option=INSTALL_DB_SWONLY
#填当前的设置hostname
ORACLE_HOSTNAME=oracle206
#用户分组
UNIX_GROUP_NAME=orainstall
INVENTORY_LOCATION=/data/oracle/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/data/oracle/product/11.2.0/db_1
ORACLE_BASE=/data/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=false
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
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
oracle.install.db.config.starterdb.memoryLimit=4096
DECLINE_SECURITY_UPDATES=true

3、切换至文件解压目录、执行安装,用户还是oracle

cd ~/database
 ./runInstaller -silent -ignorePrereq -responseFile /data/oracle/response/db_install.rsp

/home/database是安装包解压后的路径,此处根据安装包解压所在位置做修改,因人而异。
  runInstaller 是主要安装脚本
  -silent 静默模式
  -force 强制安装
  -ignorePrereq忽略warning直接安装。
  -responseFile读取安装应答文件。
在这里插入图片描述
根据提示内容,切换root用户执行以下语句

/data/oracle/product/11.2.0/db_1/root.sh

静默方式配置监听

netca /silent /responseFile /data/oracle/response/netca.rsp

修改内容如下:
在这里插入图片描述
成功运行后,在/data/oracle/product/11.2.0/db_1/network/admin/中生成listener.ora和sqlnet.ora
通过netstat命令可以查看1521端口正在监听

netstat -an|grep 1521

在这里插入图片描述
以上就安装完成了

以静默方式建立新库及实例

修改文件dbca.rsp

vim /data/oracle/response/dbca.rsp

内容如下:

RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME= "orcl"
SID ="orcl"
SYSPASSWORD="123456"
SYSTEMPASSWORD="123456"
SYSMANPASSWORD="123456"
DBSNMPPASSWORD="123456"
DATAFILEDESTINATION="/data/oracle/oradata"
RECOVERYAREADESTINATION="/data/oracle/fast_recovery_area"
CHARACTERSET="AL32UTF8"
TOTALMEMORY="6000"
TEMPLATENAME="/data/oracle/product/11.2.0/db_1/assistants/dbca/templates/General_Purpose.dbc"

进行静默配置

 dbca -silent -responseFile /data/oracle/response/dbca.rsp

在这里插入图片描述
查看监听状态:

lsnrctl status

在这里插入图片描述
登陆查看实例状态:

sqlplus / as sysdba
#select status from v$instance;

在这里插入图片描述接下来建表和用户就可以了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/388409.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

18、多维图形绘制

目录 一、三维图形绘制 (一)曲线图绘制plot3() (二)网格图绘制 mesh() (三)曲面图绘制 surf() (四)光照模型 surfl() (五)等值线图(等高线图)绘制 cont…

电力系统系统潮流分析【IEEE 57 节点】(Matlab代码实现)

👨‍🎓个人主页:研学社的博客💥💥💞💞欢迎来到本博客❤️❤️💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密…

C语言函数:字符串函数及模拟实现strcmp()

C语言函数&#xff1a;字符串函数及模拟实现strcmp() strcmp()函数&#xff1a; 作用&#xff1a;进行字符串的比较大小。 引入&#xff1a;如下代码&#xff0c; #define _CRT_SECURE_NO_WARNINGS#include <stdio.h>int main() {char* p "wan";char* q &qu…

Spring MVC源码解析——HandlerMapping(处理器映射器)

Sping MVC 源码解析——HandlerMapping处理器映射器1. 什么是HandlerMapping2. HandlerMapping2.1 HandlerMapping初始化2.2 getHandler解析3. getHandlerInternal()子类实现3.1 AbstractUrlHandlerMapping与AbstractHandlerMethodMapping的区别3.2 AbstractUrlHandlerMapping3…

MySQL实战解析底层---全局锁和表锁:给表加个字段怎么有这么多阻碍

目录 前言 全局锁 表级锁 前言 数据库锁设计的初衷是处理并发问题作为多用户共享的资源&#xff0c;当出现并发访问的时候&#xff0c;数据库需要合理地控制资源的访问规则而锁就是用来实现这些访问规则的重要数据结构根据加锁的范围&#xff0c;MySQL 里面的锁大致可以分成…

js正则表达式以及元字符

0、常用的正则表达式规则 手机号 const reg /^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/;密码 const reg /^[a-zA-Z0-9]{6,20}$/;验证码 const reg /^\d{6}$/;1、正则表达式的介绍与使用 正则表达式(Regular Expression)是用于匹配字符串中字符组合…

RTOS中信号量的实现与应用

RTOS中的信号量是一种用来协调多个任务间共享资源访问的同步机制。它可以保证多个任务之间访问共享资源的正确性和一致性&#xff0c;避免了因多任务并发访问造成的不可预期的问题。 信号量的实现 信号量的实现原理比较简单&#xff0c;主要包括两个部分&#xff1a;计数器和…

12 readdir 函数

前言 在之前 ls 命令 中我们可以看到, ls 命令的执行也是依赖于 opendir, readdir, stat, lstat 等相关操作系统提供的相关系统调用来处理业务 因此 我们这里来进一步看一下 更细节的这些 系统调用 我们这里关注的是 readdir 这个函数, 入口系统调用是 getdents 如下调试…

HDMI协议介绍(六)--EDID

目录 什么是EDID EDID结构 1)Header Information 头信息(厂商信息、EDID 版本等) (2)Basic Display Parameters and Features 基本显示参数(数字/模拟接口、屏幕尺寸、格式支持等) (3)色度信息 (4)Established Timings(VESA 定义的电脑使用 Timings) (5)Standard Timing…

并发编程——synchronized优化原理

如果有兴趣了解更多相关内容&#xff0c;欢迎来我的个人网站看看&#xff1a;耶瞳空间 一&#xff1a;基本概念 使用synchronized实现线程同步&#xff0c;即加锁&#xff0c;实现的是悲观锁。加锁可以使一段代码在同一时间只有一个线程可以访问&#xff0c;在增加安全性的同…

Python基础知识——字符串、字典

字符串 在Python中&#xff0c;字符和字符串没有区别。可能有些同学学过其他的语言&#xff0c;例如Java&#xff0c;在Java中&#xff0c;单引号’a’表示字符’a’&#xff0c;双引号"abc"表示字符串"abc"&#xff0c;但在Python当中&#xff0c;它们没…

【百日百题-C语言-1】KY15、45、59、72、101、132

本节目录1、KY15 abc2、KY45 skew数3、KY59 神奇的口袋4、KY72 Digital Roots5、KY115 后缀子串排序6、KY132 xxx定律 3n1思想7、KY168 字符串内排序1、KY15 abc #include<stdio.h> int main() {int a,b,c;for(a1;a<9;a)for(b1;b<9;b)for(c0;c<9;c){int xa*100 …

【macOS软件】iThoughtsX 9.3 思维导图软件

原文来源于黑果魏叔官网&#xff0c;转载需注明出处。应用介绍iThoughtsX可以帮助您直观组织想法、主意和信息。亮点使用大部分常用桌面应用程序格式来进行导入导出MindManageriMindmapFreemind/FreeplaneNovamindXMindMindviewConceptDrawOPML (OmniOutliner, Scrivener etc.)…

CornerNet介绍

CornerNet: Detecting Objects as Paired Keypoints ECCV 2018 Paper&#xff1a;https://arxiv.org/pdf/1808.01244v2.pdf Code&#xff1a;GitHub - princeton-vl/CornerNet 摘要&#xff1a; 提出了一种single-stage的目标检测算法CornerNet&#xff0c;它把每个目标检…

Vector - CAPL - 获取相对时间函数

在自动化开发中&#xff0c;无论是CAN通信测试&#xff0c;还是网络管理测试&#xff0c;亦或是休眠唤醒等等存在时间相关的&#xff0c;都可能会使用相关的时间函数&#xff1b;今天主要介绍的就是获取当前时间&#xff0c;我们知道vector工具的最大优势就是稳定和精确度高&am…

Windows使用QEMU搭建arm64 ubuntu 环境

1. 下载 QEMU&#xff1a; https://qemu.weilnetz.de/w64/ QEMU UEFI固件文件&#xff1a; https://releases.linaro.org/components/kernel/uefi-linaro/latest/release/qemu64/QEMU_EFI.fd arm64 Ubuntu镜像&#xff1a; http://cdimage.ubuntu.com/releases/20.04.3/rel…

docker-compsoe启动nginx

本次采用的是nginx:1.20版本 下载命令 docker pull nginx:1.20docker-compose.yml version: 3 services: nginx:restart: always image: nginx:1.20container_name: nginx1.20ports:- 80:80volumes: - /home/nginx-docker/nginx.conf:/etc/nginx/nginx.conf- /home/nginx-do…

【mysql是怎样运行的】-InnoDB数据页结构

文章目录1. 数据库的存储结构&#xff1a;页1.1 磁盘与内存交互基本单位&#xff1a;页1.2 页结构概述1.3 页的上层结构2. 页的内部结构2.1 第1部分&#xff1a;文件头部和文件尾部2.1.1 File Header&#xff08;文件头部&#xff09;&#xff08;38字节&#xff09;2.1.2 File…

时序预测 | MATLAB实现IWOA-BiLSTM和BiLSTM时间序列预测(改进的鲸鱼算法优化双向长短期记忆神经网络)

时序预测 | MATLAB实现IWOA-BiLSTM和BiLSTM时间序列预测(改进的鲸鱼算法优化双向长短期记忆神经网络) 目录时序预测 | MATLAB实现IWOA-BiLSTM和BiLSTM时间序列预测(改进的鲸鱼算法优化双向长短期记忆神经网络)预测效果基本介绍程序设计参考资料预测效果 基本介绍 MATLAB实现IWO…

[1.3_3]计算机系统概述——系统调用

文章目录第一章 计算机系统概述系统调用&#xff08;一&#xff09;什么是系统调用&#xff0c;有何作用&#xff08;二&#xff09;系统调用与库函数的区别&#xff08;三&#xff09;小例子&#xff1a;为什么系统调用是必须的&#xff08;四&#xff09;什么功能要用到系统调…