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: wlp2s0
Open 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…...

地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...

MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...

04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

Linux 内存管理实战精讲:核心原理与面试常考点全解析
Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...

RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill
视觉语言模型(Vision-Language Models, VLMs),为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展,机器人仍难以胜任复杂的长时程任务(如家具装配),主要受限于人…...

宇树科技,改名了!
提到国内具身智能和机器人领域的代表企业,那宇树科技(Unitree)必须名列其榜。 最近,宇树科技的一项新变动消息在业界引发了不少关注和讨论,即: 宇树向其合作伙伴发布了一封公司名称变更函称,因…...

uniapp 开发ios, xcode 提交app store connect 和 testflight内测
uniapp 中配置 配置manifest 文档:manifest.json 应用配置 | uni-app官网 hbuilderx中本地打包 下载IOS最新SDK 开发环境 | uni小程序SDK hbulderx 版本号:4.66 对应的sdk版本 4.66 两者必须一致 本地打包的资源导入到SDK 导入资源 | uni小程序SDK …...