Centos7之Oracle12c安装与远程连接配置
Centos7之Oracle12c安装与远程连接配置
文章目录
- Centos7之Oracle12c安装与远程连接配置
- 1.Oracle官网
- 2. Centos7中安装Oracle12c(12.2.0.1.0)
- 2.1 Introduction (介绍)
- 2.2 Prerequisites(先决条件)
- 2.3 Installation Steps(安装步骤)
- 2.4 Oracle Installer Screens(Oracle安装程序屏幕)
- 2.5 Post Installation Tasks(安装后任务)
- 2.6 Oracle Environment(Oracle环境变量)
- 2.7 登录验证
- 2.8 PL/SQL developer连接Oracle数据库
- 2.8.1 配置Oracle监听
- 2.8.2 使用Pl/SQL developer连接数据库服务器
1.Oracle官网
- 官网地址
- 官网文档地址:https://docs.oracle.com/en/database/oracle/oracle-database
- Oracle12c文档地址:https://docs.oracle.com/en/database/oracle/oracle-database/12.2/index.html
2. Centos7中安装Oracle12c(12.2.0.1.0)
2.1 Introduction (介绍)
本安装指南说明如何在Centos7中安装Oracle12c
Reference System:
[root@yuan ~]# hostnamectlStatic hostname: yuanIcon name: computer-laptopChassis: laptopMachine ID: 28ea7433e24341a892abab3fd175abc8Boot ID: 7f9eb0c180e14bd99d6db7b5ae6d1416Operating System: CentOS Linux 7 (Core)CPE OS Name: cpe:/o:centos:centos:7Kernel: Linux 3.10.0-957.10.1.el7.x86_64Architecture: x86-64
2.2 Prerequisites(先决条件)
- After a successful OS installation, verify the hostname and register it in your DNS. Alternatively add your hostname/IP to the /etc/hosts.
成功安装操作系统后,请验证主机名并将其注册到DNS中。或者将主机名/IP添加到/etc/hosts。
[root@yuan ~]# cat /etc/hostname
yuan
- Leave the SELinux in enforcing mode as well as the firewall enabled
使SELinux处于强制模式,并启用防火墙
[root@yuan ~]# sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 31
[root@yuan ~]# firewall-cmd --state
running
-
Update the CentOS system with the latest packages
使用最新的软件包更新CentOS系统
[root@yuan ~]# yum update -y
- 下载Oracle安装包
官网下载地址:https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
2.3 Installation Steps(安装步骤)
-
Create required OS users and groups for Oracle Database.
为Oracle数据库创建所需的操作系统用户和组
[root@yuan ~]# groupadd oinstall
[root@yuan ~]# groupadd dba
[root@yuan ~]# useradd -g oinstall -G dba oracle
[root@yuan ~]# passd oracle #回车后输入Oracle用户的密码,如myoracle
-
Add the following kernel parameters to the */etc/sysctl.conf
将以下内核参数添加到/etc/sysctl.conf文件中
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1987162112
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
- Check and apply the new values.(检查并应用新值)
[root@yuan ~]# sysctl -p
-
Specify limits for oracle user in the /etc/security/limits.conf
在/etc/security/limits.conf中指定Oracle用户的限制
[root@yuan ~]# vim /etc/security/limits.conf 然后在文件末尾添加如下代码oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
- 解压下载好的文件到/stage/目录下
[root@yuan ~]# yum install -y zip unzip # 最新版本已经内置安装了zip与unzip,这句可以不执行
# 解压
[root@yuan ~]# unzip linuxx64_12201_database.zip -d /stage/
- Modify permissions on /stage(修改stage的权限)
[root@yuan ~]# chown -R oracle:oinstall /stage/
-
Create /u01 directory for Oracle software and /u02 for database files.
为Oracle软件创建/u01目录,为数据库文件创建/u02目录。
[root@yuan ~]# mkdir /u01
[root@yuan ~]# mkdir /u02
[root@yuan ~]# chown -R oracle:oinstall /u01
[root@yuan ~]# chown -R oracle:oinstall /u02
[root@yuan ~]# chmod -R 775 /u01
[root@yuan ~]# chmod -R 775 /u02
[root@yuan ~]# chmod g+s /u01
[root@yuan ~]# chmod g+s /u02
- Install required packages(安装所需的包)
[root@yuan ~]# yum install -y binutils.x86_64 compat-libcap1.x86_64 gcc.x86_64 gcc-c++.x86_64 glibc.i686 glibc.x86_64 \
glibc-devel.i686 glibc-devel.x86_64 ksh compat-libstdc++-33 libaio.i686 libaio.x86_64 libaio-devel.i686 libaio-devel.x86_64 \
libgcc.i686 libgcc.x86_64 libstdc++.i686 libstdc++.x86_64 libstdc++-devel.i686 libstdc++-devel.x86_64 libXi.i686 libXi.x86_64 \
libXtst.i686 libXtst.x86_64 make.x86_64 sysstat.x86_64
2.4 Oracle Installer Screens(Oracle安装程序屏幕)
- 以“Oracle”用户身份登录并运行Oracle安装程序:
[oracle@yuan ~]$ /stage/database/runInstaller
Starting Oracle Universal Installer...
- Security Updates(配置安全更新)
让你填写邮件信息的,直接点击下一步
-
Installation Option(安装选项)
创建和配置数据库©(默认选中的是此项)
-
System Class(系统类)
桌面类(D),默认此项即可
-
Typical Installation(典型安装)
On the Typical Install Configuration screen, specify the key features.
Oracle base /u01/app/oracle Software location /u01/app/oracle/product/12.2.0/dbhome_1 Database file location /u02 Global database name orcl -
Create Inventory(创建产品清单)
Accept the default /u01/app/oraInventory and click Next.
-
Prerequisite Checks(先决条件检查)
The Installer automatically verifies all required OS packages and OS kernel settings.
-
Summary(概要)
Final chance to edit any installation features. Click Install.
-
Execute Configuration Scripts(执行配置脚本)
-
When a request window appears, login as root and execute two scripts:
[root@yuan ~]# /u01/app/oraInventory/orainstRoot.sh Changing permissions of /u01/app/oraInventory. Adding read,write permissions for group. Removing read,write,execute permissions for world. Changing groupname of /u01/app/oraInventory to oinstall. The execution of the script is complete.[root@yuan ~]# /u01/app/oracle/product/12.2.0/dbhome_1/root.sh # 中途敲了两次回车 Performing root user operation. The following environment variables are set as:ORACLE_OWNER= oracleORACLE_HOME= /u01/app/oracle/product/12.1.0/dbhome_1 Enter the full pathname of the local bin directory: [/usr/local/bin]: <PRESS ENTER>Copying dbhome to /usr/local/bin ...Copying oraenv to /usr/local/bin ...Copying coraenv to /usr/local/bin ... Creating /etc/oratab file... Entries will be added to the /etc/oratab file as needed by Database Configuration Assistant when a database is created Finished running generic part of root script. Now product-specific root actions will be performed. You can follow the installation in a separated window. -
Installation progress(安装进度)
Another window opens to show you the installation progress. Do not close this window.
-
Installation completed successfully
The last screen inform that the installation is done and displays the Oracle Enterprise Manager URL.
https://localhost:5500/em
Click OK to close the Installer.
2.5 Post Installation Tasks(安装后任务)
-
Login as root and verify the active zones
以root用户登录并验证活动区域
[root@yuan ~]# firewall-cmd --get-active-zones publicinterfaces: wlp2s0Open the related ports(打开相关端口)
[root@yuan ~]# firewall-cmd --zone=public --add-port=1521/tcp --add-port=5500/tcp --add-port=5520/tcp --add-port=3938/tcp --permanent success[root@yuan ~]# firewall-cmd --reload success[root@yuan ~]# firewall-cmd --list-ports 1521/tcp 5500/tcp 5520/tcp 3938/tcp [root@yuan ~]#
2.6 Oracle Environment(Oracle环境变量)
Login as oracle user and add the following values to the /home/oracle/.bash_profile
#切换至Oracle用户
[root@yuan product]# su oracle
#编辑/home/oracle/.bash_profile文件
[oracle@yuan product]$ vim /home/oracle/.bash_profile
#在文件末尾添加下面信息
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/lib64; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
Reload the bash_profile to apply the new settings:
[oracle@yuan ~]$ cd /home/oracle
[oracle@yuan ~]$ . .bash_profile
2.7 登录验证
[oracle@yuan ~]$ sqlplus / as sysdbaSQL*Plus: Release 12.2.0.1.0 Production on Fri Apr 26 23:09:29 2019Copyright (c) 1982, 2016, Oracle. All rights reserved.???:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL>
查看实例状态
SQL> select status from v$instance;
STATUS
------------
OPEN
关闭数据库
SQL> shutdown immediate;
2.8 PL/SQL developer连接Oracle数据库
2.8.1 配置Oracle监听
如果不配监听:连接时会报:ora-12541:tns:无监听程序
- 查看监听状态
oracle@yuan ~]$ lsnrctl status#如果输出的倒数第二行有“The listener supports no service”则表示无监听,
#原因是:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)中的
#HSOT=localhost,将其改为Oracle宿主机自身的IP地址即可,如下:
#(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.31.126)
- 修改监听信息
- 使用
netmgr命令启动Net Manager图形管理界面,在listener中将localhost改为对应的IP地址即可。 - 如果是远程该的话,则使用vim编辑器修改,如下:
[oracle@yuan ~]$ vim /u01/app/oracle/product/12.2.0/dbhome_1/network/admin/listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/12.2.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)))(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.31.126)(PORT = 1521))#这里改为IP即可))ADR_BASE_LISTENER = /u01/app/oracle
- 重启监听
[oracle@yuan ~]$ lsnrctl stop
[oracle@yuan ~]$ lsnrctl start
2.8.2 使用Pl/SQL developer连接数据库服务器
这里采用的是不安装Oracle客户端的情况下连接Oracle数据库服务器
- 下载
instantclient-basic-windows.x64-12.2.0.1.0.zip文件解压到指定位置,如D盘 - 解压后,在instantclient_12_2 文件夹下新建 NETWORK\ADMIN 两个文件夹
- 在ADMIN文件夹下新建
tnsnames.ora文件,内容如下:
ORCL =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.31.126)(PORT = 1521))#数据库服务器IP配置)(CONNECT_DATA =(SERVICE_NAME = orcl)#sid))
- 配置环境变量
- TNS_ADMIN配置,目的是打开pl/sql时自动识别要连接的DATABASE
在系统变量中新建TNS_ADMIN=D:\instantclient_12_2\NETWORK\ADMIN 环境变量
- NLS_LANG配置,目的是解决pl/sql连接后数据显示乱码问题,即查询某个字段后中文显示成???的问题
在系统变量中新建NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK 环境变量
- pl/sql developer配置
- 打开pl/sql developer找到preferences–>Oracle–>Connecttion
- 将Oracle Home的内容添加为
D:\instantclient_12_2 - 将OCI Library 内容改为
D:\instantclient_12_2\oci.dll
- 重启Pl/SQL developer,然后连接Oracle数据库即可
相关文章:
Centos7之Oracle12c安装与远程连接配置
Centos7之Oracle12c安装与远程连接配置 文章目录 Centos7之Oracle12c安装与远程连接配置1.Oracle官网2. Centos7中安装Oracle12c(12.2.0.1.0)2.1 Introduction (介绍)2.2 Prerequisites(先决条件)2.3 Installation Steps(安装步骤)2.4 Oracle Installer Screens(Oracle安装程序…...
CVE-2022-25578 漏洞复现
CVE-2022-25578 路由/admin/admin.php是后台,登录账号和密码默认是admin、tao,选择文件管理。 是否还记得文件上传中的.htaccess配置文件绕过发,在这个文件中加入一句AddType application/x-httpd-php .jpg,将所有jpg文件当作php…...
Ubuntu22.04安装黑屏(进入U盘安装引导时 和 安装完成后)
一:进入U盘安转引导时黑屏 问题描述:选择’try or install ubuntu’,开始安装,出现黑屏。 解决方法:(可行) 安装时,先选择" try or install ubuntu", 此时不要按enter&a…...
一、DataX简介
DataX简介 一、什么是DataX二、DataX设计三、支持的数据源四、框架设计五、运行原理六、DataX和Sqoop对比 一、什么是DataX DataX是阿里巴巴开源的一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、OD…...
直播app开发,技术驱动的实时互动新纪元
随着互联网技术的快速发展,直播已成为我们日常生活的重要组成部分。从娱乐、教育到商业活动,直播的广泛应用正在改变着我们的生活和工作方式。在这一变革中,直播开发扮演着至关重要的角色。本文将探讨直播开发的核心理念、技术挑战以及未来的…...
Apache POI的介绍以及使用示例
Apache POI 是一套开源的 Java 库,用于读取和写入 Microsoft Office 文档格式,如 Excel、Word 和 PowerPoint。Spring Boot 是一个流行的 Java 应用程序框架,用于简化 Spring 应用的开发和部署。将 Apache POI 与 Spring Boot 结合使用&#…...
npm config set registry https://registry.npm.taobao.org 这个设置了默认的镜像源之后如何恢复默认的镜像源
要恢复npm默认的镜像源,你可以使用以下命令将registry设置回npm的官方源: npm config set registry https://registry.npmjs.org/这个命令会修改你的全局npm配置,将包的下载源改回npm官方的源。这样做之后,任何后续的npm install…...
算法沉淀——位运算(leetcode真题剖析)
算法沉淀——位运算 常用位运算总结1.基础位运算2.确定一个数中第x位是0还是13.将一个数的第x位改成14.将一个数的第x位改成05.位图6.提取一个数最右边的17.删掉一个数最右边的18.异或运算9.基础例题 力扣题目讲解01.面试题 01.01. 判定字符是否唯一02.丢失的数字03.两整数之和…...
React18原理: 再聊Fiber架构下的时间分片
时间分片 react的任务可以被打断,其实就是基于时间分片的人眼最高能识别的帧数不超过30帧,电影的帧数差不多是在24浏览器的帧率一般来说是60帧,也就是每秒60个画面, 平均一个画面大概是16.5毫秒左右浏览器正常的工作流程是运算渲染ÿ…...
【玩转408数据结构】线性表——线性表的顺序表示(顺序表)
知识回顾 通过前文,我们了解到线性表是具有相同数据类型的有限个数据元素序列;并且,线性表只是一种逻辑结构,其不同存储形式所展现出的也略有不同,那么今天我们来了解一下线性表的顺序存储——顺序表。 顺序表的定义 …...
图像处理之《黑盒扰动的可逆噪声流鲁棒水印》论文阅读
一、文章摘要 近年来,基于深度学习的数字水印框架得到了广泛的研究。现有的方法大多采用基于“编码器-噪声层-解码器”的架构,其中嵌入和提取过程分别由编码器和解码器完成。然而,这种框架的一个潜在缺点是编码器和解码器可能不能很好地耦合…...
一个Vivado仿真问题的debug
我最近在看Synopsys的MPHY仿真代码,想以此为参考写个能实现PWM-G1功能的MPHY,并应用于ProFPGA原型验证平台。我从中抽取了一部分代码,用Vivado自带的仿真器进行仿真,然后就遇到了一个莫名其妙的问题,谨以此文作为debug…...
C#阿里云消息列队推送消息
推送消息到队列 IMNS nativeclient new Aliyun.MNS.MNSClient(accessKeyId, accessKeySecret, endpoint, _stsToken);var nativeSend nativeclient.GetNativeTopic("SMQ");nativeSend.PublishMessage("推送消息内容"); 需要引用Aliyun.MNS.dll 下载地址…...
Stable Diffusion 模型下载:majicMIX sombre 麦橘唯美
本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八案例九案例十...
WindowsLinuxmeterepreter渗透命令回顾
最近小编发现在学红队的时候总会忘记一些命令(基础的),导致整天红温,于是今天就来偷个懒记一下(一起回顾一下) 1.Linux 1.查看当前按目录 pwd2.查看文件内容 cat filename.txt3.cd 家族 cd ..|| cd ../…...
KingSCADA实现按钮点击效果
哈喽,你好啊,我是雷工! 在做SCADA项目的时候,按钮是不可缺少的功能,但软件自带的按钮太丑,已经无法满足现如今客户对界面美观度的要求。 这时候就需要UI小姐姐设计美观大气的SCADA界面,但UI设计…...
Python编程-二万字浅谈装饰器原理与装饰器设计模式和函数式编程案例讲解
Python编程-浅析装饰器原理与装饰器设计模式和函数式编程案例讲解 本文制作时基于Python3.11.8与Python3.12.1,存在谬误,请联系修改,希望对你有所帮助 什么是函数式编程 函数式编程(Functional Programming)是一种编程…...
基于Zigbee的智能温室大棚系统(附详细使用教程+完整代码+原理图+完整课设报告)
🎊项目专栏:【Zigbee课程设计系列文章】(附详细使用教程+完整代码+原理图+完整课设报告) 前言 👑由于无线传感器网络(也即是Zigbee)作为🌐物联网工程的一门必修专业课,具有很强的实用性,因此很多院校都开设了zigbee的实训课程;👑同时最近很多使用了我的单片机课…...
【Web】Redis未授权访问漏洞学习笔记
目录 简介 靶机配置 Redis持久化 Redis动态修改配置 webshell 反弹shell Redis写入反弹shell任务 加固方案 简介 Redis(Remote Dictionary Server 远程字典服务器)是一个开源的内存数据库,也被称为数据结构服务器,它支持…...
【JAVA WEB】 css背景属性 圆角矩形的绘制
目录 背景属性设置 圆角矩形 背景属性设置 背景颜色,在style中 background-color:颜色; 背景图片 background-image:url(……) 背景图片的平铺方式 background-repeat: 平铺方式 repeat 平铺(默认)no-repeat 不平铺repeat-x 水平平铺repea…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...
优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...
零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...
React---day11
14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...
HashMap中的put方法执行流程(流程图)
1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中,其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下: 初始判断与哈希计算: 首先,putVal 方法会检查当前的 table(也就…...
LLMs 系列实操科普(1)
写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...
