oracle12c数据库安装(静默安装

news2024/11/28 14:52:10

写在前面

本教程是在Linux下安装oracle12c数据库,由于在有些情况下并没有图形化安装界面,所以这里介绍在linux下通用的安装方式:静默安装,通俗的说就是在linux的命令行窗口安装。

关闭防火墙

systemctl  disable  firewalld
systemctl  stop  firewalld

在这里插入图片描述

关闭selinux

执行vim /etc/selinux/config修改编辑config文件,将SELINUX设置成disabled,如下所示

vim /etc/selinux/config

在这里插入图片描述

修改Linux内核参数

执行vim /etc/sysctl.conf,在sysctl.conf文件末尾添加如下参数,然后执行sysctl -p命令,使得配置的内核参数生效

fs.aio-max-nr=1048576
fs.file-max=6815744
kernel.sem=250 32000 100 128
kernel.shmall=2097152
kernel.shmmax=2147483648
kernel.shmmni=4096
net.core.rmem_default=1048576
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=1048576
net.ipv4.ip_local_port_range=9000 65500
sysctl -p

安装Oracle12c的依赖包

yum安装oracle数据库所需要依赖包,如果一次安装失败,可以多试几次,是可以安装成功的

yum install binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXext libXtst libX11 libXau libxcb libXi make sysstat

创建Oracle用户和用户组

依次执行下面命令创建oracle用户和用户组,然后后执行id oracle,如果显示如下图那样,说明创建成功

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
echo "oracle" | passwd oracle --stdin

在这里插入图片描述

修改oracle用户权限文件

执行vim /etc/security/limits.conf,在文件中添加以下内容

vim /etc/security/limits.conf
oracle  soft    nofile  65536
oracle  hard    nofile  65536
oracle  soft    nproc   2047
oracle  hard    nproc   16384
oracle  soft    stack   10240

执行vim /etc/pam.d/login,在文件中添加以下内容

session required        /lib64/security/pam_limits.so
session required        pam_limits.so

在这里插入图片描述

执行vim /etc/profile,在文件中添加以下内容,然后执行source /etc/profile使得修改生效

#oracle config
if [ $USER = "oracle" ]; then
  if [ $SHELL = "/bin/ksh" ]; then
      ulimit -p 16384
      ulimit -n 65536
  else
      ulimit -u 16384 -n 65536
  fi
fi

创建安装目录和文件权限

mkdir -p /data1/database/oracle/product/12.2.0
mkdir /data1/database/oracle/oradata
mkdir /data1/database/oracle/inventory
mkdir /data1/database/oracle/fast_recovery_area
chown -R oracle:oinstall /data1/database/oracle/
chmod -R 755 /data1/database/oracle/

配置Oracle环境变量

执行vim /home/oracle/.bash_profile,在文件中添加如下内容,然后执行source /home/oracle/.bash_profile,使得环境变量生效

umask 022
ORACLE_BASE=/data1/database/oracle
ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1
ORACLE_SID=orcl
PATH=$PATH:$ORACLE_HOME/bin
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/12.2.0/lib:$LD_LIBRARY_PATH
LANG=C
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH LANG

在这里插入图片描述

source /home/oracle/.bash_profile

编辑hosts和hostname文件

执行vim  /etc/hostname,添加如下内容
HOSTNAME=Oracle12C
执行vim  /etc/hosts,添加如下内容,这里192.168.227.73地址可以通过执行ifconfig查询到
192.168.227.73   ncayu      
然后执行reboot重启后,可以看到修改已经生效

1.上传oracle12c的二进制安装包并解压

unzip linuxx64_12201_grid_home.zip

unzip linuxx64_12201_database.zip

然后将reponse文件夹整个复制到/home/oracle/

cp  -R  response   /home/oracle/
chmod  -R  777  /home/oracle/response

在这里插入图片描述

执行vim db_install.rsp,在db_install.rsp脚本中设置如下内容

oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=oracle12c
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/data1/database/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/data1/database/oracle/product/12.2.0/dbhome_1
ORACLE_BASE=/data1/database/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
oracle.install.db.BACKUPDBA_GROUP=dba
oracle.install.db.DGDBA=dba
oracle.install.db.KMDBA=dba
DECLINE_SECURITY_UPDATES=true

2.安装数据库软件

先切换到oracle用户下执行安装数据库软件,如果出现如下页面表示安装成功

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

在这里插入图片描述
在这里插入图片描述

3.配置监听

修改oracle用户环境变量

#修改oracle环境变量
su  - oracle
vim ~/.bash_profile
#for oracle
export ORACLE_BASE=/data1/database/oracle
export ORACLE_SID=orcl
export ROACLE_PID=orcl
#export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export ORACLE_HOME=/ui/database/oracle/product/12.2.0/dbhome_1

export PATH=$PATH:$ORACLE_HOME/bin

export LANG="zh_CN.UTF-8"
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'

再次执行su oracle切换到oracle用户下执行下面命令,此时直接执行可能会报如下错误

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

在这里插入图片描述

那么先执行下source ~/.bash_profille,如果出现如图所示,那么就可以执行上面的命令了

[oracle@192 database]$ vim ~/.bash_profile
[oracle@192 database]$  
[oracle@192 database]$ source ~/.bash_profile

4.创建数据库

执行vim /home/oracle/response/dbca.rsp命令编辑文件,设置以下内容

responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v12.2.0
gdbName=orcl
sid=orcl
databaseConfigType=SI
createAsContainerDatabase=true
numberOfPDBs=1
pdbName=orclpdb
templateName=/data1/database/oracle/product/12.2.0/dbhome_1/assistants/dbca/templates/General_Purpose.dbc
emExpressPort=5500
omsPort=0
characterSet=AL32UTF8
listeners=LISTENER
memoryPercentage=40
automaticMemoryManagement=false
totalMemory=0

然后执行如下命令创建数据库实例,分别要给SYS,SYSTEM,PDBADMIN三个用户设置密码

dbca -silent -createDatabase  -responseFile  /home/oracle/response/dbca.rsp

如图所示,表示创建数据库实例完成
在这里插入图片描述

5.登录数据库

sqlplus / as sysdba

6.创建数据库用户

create user 用户名 identified by 口令[即密码];
例如:create user c##ncayu identified by ncayu123456;
这里一定注意:用户名前一定要加c##,否则会报错

-- 给用户授权

grant connect, resource,dba to 用户名;
例如:grant connect, resource,dba to c##ncayu;

7.链接数据库

在这里插入图片描述

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

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

相关文章

LeetCode 300. 最长递增子序列

🌈🌈😄😄 欢迎来到茶色岛独家岛屿,本期将为大家揭晓LeetCode 300. 最长递增子序列,做好准备了么,那么开始吧。 🌲🌲🐴🐴 一、题目名称 LeetCo…

Spring之AOP简单讲解

目录 一:基本概念 二:案例:模拟AOP的基础代码 三:AOP相关概念 四:AOP入门案例思路分析 五:AOP工作流程 六:AOP核心概念 七:AOP切入点表达式 八:xml方式AOP快速入门…

动态内存分配/管理

目录 1、为什么要有动态内存分配 2、动态内存函数介绍 1、malloc 2、free 3、calloc ​编辑 4、realloc 3、动态内存常见的错误 4、动态内存开辟相关好题 5、c/c程序内存开辟示意图 int a, int arr[10] 是固定地向内存申请连续的一块空间,但不能变长或变…

快速理解机器学习、深度学习与自然语言处理

这篇文章对机器学习、深度学习、自然语言处理进行了简单的介绍,适合快速学习NLP与AI、ML和DL的关系。 机器学习、深度学习、自然语言处理的关系 机器学习、深度学习、自然语言处理的关系如图所示 1 机器学习(Machine Learning) 机器学习…

python中的设计模式:单例模式、工厂模式

目录 一.设计模式 二.单例模式 二.工厂模式 优点: 总结 一.设计模式 设计模式是一种编程套路,可以极大的方便程序的开发。 最常见、最经典的设计模式,就是我们所学习的面向对象了。 除了面向对象外,在编程中也有很多既定的套路可以方便开发,我们称…

《Linux Shell脚本攻略》学习笔记-第三章

3.1 简介 Unix为所有的设备和系统功能提供了文件形式的借口。可以通过这些特殊文件直接访问设备以及系统功能。 3.2 生成任意大小的文件 创建特定大小的文件最简单的方法就是利用dd命令。dd命令会克隆给定的输出内容,然后将一模一样的一份副本写入输出。 if表示输入…

个人总结:Mysql知识图谱

使用思维导图工具对mysql使用,进行知识总结。着重说下explanid SELECT识别符。这是SELECT查询序列号。这个不重要,查询序号即为sql语句执行的顺序select_type select类型table 输出的行所用的表,这个参数显而易见,容易理解partitions type 连…

Android系统启动(四) — Launcher 启动过程

1 Launcher 概述 系统启动的最后一步是启动一个应用程序来显示系统中已经安装的应用程序,这个应用程序就叫做 Launcher。Launcher 在启动过程中会请求 PackageManagerService 返回系统中已经安装的应用程序信息,并将这些信息封装成一个快捷图标列表显示…

阿里系-淘宝接口抓取及相关问题

阿里系-淘宝接口抓取 一、安装charlse抓包工具 官方下载地址 安装证书 二、安装xposed hook框架 Xponsed简介 具体安装步骤 三、安装模块 关闭阿里系ssl验证 开启http模式 支持支付宝、淘宝、淘宝直播各个接口抓取 四、效果如下 接下去一段时间更新阿里系相关接口 文章目录 一、…

搞技术的要不要学习财务知识

越是大型的集团或者企业,公司里面设立的部门就越多,也越细化,各部门之间既相互独立管理,又是相互的辅助支持,所以在工作中经常遇到这样的一个问题,就是做技术的要不要学习财务知识。这个问题其实就是把技术…

折半查找算法[二分查找法]算法的实现和解决整数溢出问题~

算法实现的要求: 折半查找法又称为二分查找法,这种方法对待查找的列表有两个要求: 1:必须采用顺序存储结构 2:必须按关键字大小有序排列算法思想: 将表中间位置记录的关键字与查找关键字进行比较&#x…

synchronized实现原理

0. 前言 造成线程安全问题的主要诱因有两点,一是存在共享数据(也称临界资源),二是存在多个线程共同操作共享数据。因此为了解决线程安全问题,我们可能需要这样一个方案,当存在多个线程操作共享数据时,需要保证同一时刻…

ICV:2022年稀释制冷机全球市场规模达2.11亿美元,2028年有望出现突破点

全球前沿科技咨询机构ICV于2023年初发布了稀释制冷机(DR)的市场分析报告,ICV在报告中表示,2019-2015稀释制冷机的年均增长率达到8.59%以上,且增长率逐年上升。2022年全球稀释制冷机市场规模将达到2.11亿美元&#xff0…

从Deepmind最新成果DreamerV3启发的通用AI技术分析

一、背景 本文系个人观点:错漏在所难免,仅供参考 北京时间 1 月 12 日,DeepMind 官方推特发文,正式官宣 DreamerV3,这是首个能在游戏「我的世界」(Minecraft) 中不参考人类数据,就能从头开始收集钻石的通…

1.16中断实验

一.异常处理流程 1.异常处理流程 &#xff08;1&#xff09;保存现场&#xff08;CPU自动完成&#xff09; 将CPSR中状态保存到SPSR_<MODE>中 将CPSR寄存器的状态位T&#xff0c;改为ARM状态 根据需要&#xff0c;进制IRQ,FIQ中断&#xff0c;修改C…

java springboot 项目构建报错解决办法

这里总结了一些常见的springboot 项目构建报错及解决办法 错误: 无效的源发行版:17 错误原因 build.gradle 文件中可以通过下面两项来指定项目运行所需的jdk版本 sourceCompatibility:指定编译编译.java文件的jdk版本 targetCompatibility&#xff1a;确保class文件与target…

ARM 看门狗定时器

一、什么是看门狗、有什么用 (1) 看门狗定时器和普通的定时器并无本质区别。定时器可以设定一个时间&#xff0c;在这个时间完成之前定时器不断计时&#xff0c;时间到的时候&#xff0c;定时器会复位 CPU&#xff08;重启系统&#xff09;。 (2 )系统正常工作的时候当然不希望…

feign漫谈

feign的简单使用。 文章目录什么是feign准备工作三.如何使用3.1 定义pom文件3.2 定义配置文件及启动类注解3.3 定义feign接口什么是feign 远程调用框架 准备工作 需要nacos环境&#xff1a; 涉及到feign调用&#xff0c;就没法抛开注册中心&#xff0c;接下来我们使用主流的…

使用Python创建websocket服务端并给出不同客户端的请求

作者&#xff1a;虚坏叔叔 博客&#xff1a;https://xuhss.com 早餐店不会开到晚上&#xff0c;想吃的人早就来了&#xff01;&#x1f604; 使用Python创建websocket服务端&#xff0c;并给出不同客户端的请求 一、 WebSocket是啥 WebSocket 和HTTP一样&#xff0c;也是一种通…

java中的位运算符

在Java语言中&#xff0c;提供了7种位运算符&#xff0c;分别是按位与&#xff08;&&#xff09;、按位或&#xff08;|&#xff09;、按位异或&#xff08;^&#xff09;、取反(~)、左移(<<)、带符号右移(>>)和无符号右移(>>>)。位运算符是对long、i…