大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
navicat15破解版,免费下载
创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、成都网站制作、孟村网络推广、微信平台小程序开发、孟村网络营销、孟村企业策划、孟村品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联建站为所有大学生创业者提供孟村建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com
链接:
提取码: xydf
Navicat premium是一款数据库管理工具,是一个可多重连线资料库的管理工具,它可以让你以单一程式同时连线到 MySQL、SQLite、Oracle、MariaDB、Mssql、及PostgreSQL 资料库,让管理不同类型的资料库更加的方便。
前几天看到姜老师的旧文 用 VSCode 编译和调试 MySQL,每个 DBA 都应 get 的小技能[1] , 文末留了一个思考题,如何修改源码,自定义版本,使得 select version() 输出自定义内容
调试过程参考 macOS VSCode 编译调试 MySQL 5.7[2]
内部 Item 对象参考 从SQL语句到MySQL内部对象[3]
源码面前没有秘密,建义对 DB 感兴趣的尝试 debug 调试。本文环境为 mac + vscode + lldb
vscode 插件:
mysql 源码:
补丁: MySQL = 8.0.21 需要对 cmake/mysql_version.cmake 文件打补丁 (没有严格测试所有版本)
创建 cmake-build-debug 目录,后续 mysql 编译结果,以及启动后生成的文件都在这里
在 mysql 工程目录下面创建 .vscode/settings.json 文件
内容没啥好说的,都是指定目录及 boost 配置,其中 WITH_DEBUG 打开 debug 模式,会在 /tmp/debug.trace 生成 debug 信息
View - Command Palette - CMake: Configure 执行后生成 cmake 配置
View - Command Palette - CMake: Build 编译生成最终 mysql 相关命令
发现老版本编译很麻烦,各种报错,mysql 5.7 代码量远超过 5.5, 只能硬着头皮看 5.7
首先初始化 my.cnf 配置,简单的就可以,共它均默认
初始化数据文件,非安全模式,调试用
由于用 vscode 接管 mysql, 所以需要配置 .vscode/launch.json
然后点击 run and debug mysqld
mysql 启动,看到输出日志无异常,此时可以用 mysql-client 连接
首先在 sql_parser.cc:5435 处打断点
mysql_parse 是 sql 处理的入口,至于 tcp connection 连接先可以忽略
执行上述 sql 自动跳转到断点处, Step Into , Step Over , Step Out 这些调试熟悉下即可
接下来分别调用主要函数: mysql_execute_command , execute_sqlcom_select , handle_query , select-join-exec() , Query_result_send::send_data , Item::send , Item_string:val_str , Protocol_text::store , net_send_ok
启动 mysql 时 init_common_variables 会初始化一堆变量,其中会调用 set_server_version 生成版本信息,修改这个就可以
看好条件编译的是哪块,修改即可, 重新 CMake: Build 编译再运行
这里不做过深分析,简单讲
sql_yacc.cc 函数 PTI_function_call_generic_ident_sys 解析 sql, 识别出 version() 是一个函数调用
find_native_function_builder 查找 hash 表,找到对应 version 函数注册的单例工厂函数
mysql 启动时调用 item_create_init 将这些函数 builder 注册到 hash 表 native_functions_hash
MySQL 代码太庞大,5.1 大约 100w 行,5.5 130w 行,5.7 以后 330w 行,只能挑重点读源码。最近很多群里的人在背八股,没必要,有那时间学着调试下源码,读读多好
原文出处:
上帝_无言
关注
Oracle数据库打补丁方法 原创
2022-04-29 17:54:42
 1点赞

上帝_无言 
码龄5年
关注
本篇仅针对DB 12.1.0.2.0 版本12C 的Opatch工具打补丁来讲解
Oracle 补丁过程
一,全库备份 oracle
用户:
abcdef
密码:
123
数据库:
ruru
全库导出命令
exp abcdef/123@ruru file=E:\bak.dmp full=y
二,关闭实例,关闭进程,关闭监听器。
1.开始菜单搜索,打开Sqlplus, 输入 /as sysdba 登录
2.执行 shutdown immediate 关闭数据库实例,
3.停止相关服务,打开任务管理器,服务列,找到oracle相关服务右键停止

4.停止相关进程,打开任务管理器,进程列,找到相关进程 结束进程。

三,备份Opatch, 解压补丁,打补丁。
1.opatch 文件夹备份,防止错误,可以恢复。

2.开始菜单搜索 命令提示符, 右键 以管理员身份运行,
进入到 %ORACL_HOME%\APP\product\12.1.0\dbhome_1\OPatch

再进入相关补丁文件内 执行 …\opatch apply 命令执行打补丁过程

最后显示 Successed 即为打补丁成功。
四,启动相关进程,启动oracle, 更新sql.
1.启动之前关闭的服务器 服务列中相关服务,点击开始,

2.使用sqlplus连接数据库,启动实例
开始菜单搜索,打开Sqlplus, 输入 /as sysdba 登录
3.使用 startup 命令启动数据库实例。
4. 使用 PL/SQL 测试是否可以正常连接数据库,
如果连接失败 运行打开PDB, 如果正常连接 则不需要。
alter pluggable database all open;
5.更新注册信息 到数据表,
在sqlPlus中 执行该命令
@?/rdbms/admin/dpload.sql
最后结果出现如下图,即为打补丁成功。

文章知识点与官方知识档案匹配
MySQL入门技能树使用数据库 创建和删除数据库
29055 人正在系统学习中
打开CSDN,阅读体验更佳
Windows环境下给oracle打补丁详细教程_范微的博客
检测当前数据补丁安装情况。C:\WINDOWS\system32opatch lsinventory Invoking OPatch 11.1.0.6.6 Oracle 中间补丁程序安装程序版本 11.1.0.6.6 版权所有 (c) 2009, Oracle Corporation。保留所有权利。 Oracle 主目录 : F:\app\mr_...
oracle滚动打补丁,使用Oracle Opatch打补丁_从一小姐的博客
1: MOS上下载对应的补丁(support.oracle.com); 2: 在打补丁前,有条件的情况下对数据库进行一次全备份; 检查数据库环境: 每个补丁的应用都有一定的环境,包含数据库版本,Opatch版本,我们通过命令opatch Isinventory来进行检查,操作如下:...
Oracle数据库如何打补丁
Oracle安装好后,还需要打上补丁,才能够稳定地运行的哦。
mysql漏洞如何打补丁_【补充】Mysql数据库测试及使用环境搭建教程
一、背景介绍Metasploit就是一个漏洞框架。它的全称叫做The Metasploit Framework,简称叫做MSF。Metasploit作为全球最受欢迎的工具,不仅仅是因为它的方便性和强大性,更重要的是它的框架。它允许使用者开发自己的漏洞脚本,从而进行测试。那么如何利用Metasploit(msf)进行Mysql弱口令爆破呢?如何搭建Sql靶机呢?接下来让我们一起学习!二、资...
继续访问
Oracle 11.2.0.4打补丁的方法_蚁库的博客
Oracle 11.2.0.4打补丁的方法 一、概述 本文主要介绍了Oracle 11.2.0.3 升级到11.2.0.4的补丁的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 二、打补丁 所需补丁及高版本opatch...
oracle数据库如何打补丁_DoveFeng的博客
为解决手工方式的缺陷,从9.2版开始,Oracle公司设计实现了个别补丁安装管理工具opatch.opatch使用一个称为inventory的系统数据结构(严格说是与oui共享inventory),集中管理所有已安装的个别补丁;个别补丁的安装和卸载都使用opatch命令完成,冲突检测...
Oracle补丁就该这么打
Oracle补丁就该这么打 原创 金震宇 IT那活儿 今天 [ 补丁集下载 ] oracle打补丁最常见原因为bug修复或安全迎检漏洞修复需要打到最新的补丁版本。下文的经验之谈是基于rac环境,19c版本的最新补丁集的过程分享。 可以参考《Assistant:Download Reference for Oracle Database/GI Update, Revision, PSU,SPU(CPU), Bundle Patches, Patchsets and Base Releases (Doc I
继续访问
最新发布 Oracle rac 19C(19.16)补丁升级(OPatch 34130714)操作过程
在升级完成后本次操作有个实例未能启动,手动通过集群命令进行拉起此告警实例。6.完成数据字典更新后关闭实例进行OJVM升级,再次进行数据字典升级。6.完成数据字典更新后关闭实例进行OJVM升级,再次进行数据字典升级。2.两个节点grid、oracle替换OPatch工具。2.两个节点grid、oracle替换OPatch工具。2.两个节点备份grid、oracle家目录。2.两个节点备份grid、oracle家目录。5.节点一所有实例,进行数据字典更新。5.节点一所有实例,进行数据字典更新。
继续访问
记录Oracle rac 19C(19.15)补丁升级(OPatch 33803476)操作过程
提示以下是本篇文章正文内容,下面案例可供参考。
继续访问
Windows环境下给oracle打补丁详细教程
Windows环境下给oracle打补丁详细教程
继续访问

oracle 打补丁
oracle 11G补丁安装
继续访问
小白入门(九):Oracle数据库打补丁操作过程
文章目录前言简要介绍:一.OPatch 更新:1、检查目前补丁包版本($ORACLE_HOME下):2、创建目录备份当前Opatch工具:3、传输压缩包并解压Opatch工具至$ORACLE_HOME下:二、应用PSU补丁:1、Oraclehome下创建目录解压PSU补丁:2、执行oracle 中间补丁安装程序:3、停止监听以及数据库:4、应用补丁:三、数据库应用补丁:1、升级数据库数据字典、编译无效对象 :2、查看 PSU 更新信息3、opatch 检查:1、升级前检查是否有冲突1.1测试兼容性, 如果之
继续访问
oracle 补丁,Oracle补丁介绍一
【前言】保证数据库的稳定与安全运行是DBA的价值所在,Oracle Database本身也是一个软件,随着系统的使用场景和使用深度的增加一些原本没被发现的漏洞或BUG就会逐渐被发现。所以成熟的IT企业,往往会定期对数据库进行安全检查和补丁的更新;【一】Oracle版本命名规则在进行Oracle更新补丁之前,先对Oracle的版本命名有个认识。从9i之后,oracle版本命名规则定义如下:A.B.C...
继续访问
热门推荐 mysql[漏洞打补丁]小版本升级5.7.25到5.7.28
mysql[漏洞]小版本升级 事件背景 近日,公司进行安全扫描,发现mysql存在漏洞,高危漏洞编号为(CVE-2019-3822),此外还有多个中危,低危漏洞,目前mysql版本为5.7.25 解决方案 对mysql进行小版本升级到5.7.28,生产环境无法联网,用rpm 包离线安装,选择就地升级。 Mysql的两种升级方式 就地升级(In-place Upgrade) 关闭旧版本mys...
继续访问

Oracle打补丁步骤
1、登录MOS,在patchesupdates查找自己想要安装的补丁号或者bug code,下载补丁。同时查阅readme,这里面写的是怎么安装补丁以及安装补丁的事项。 2、将下载好的zip文件传入要打补丁的主机。解压到一个文件夹里(可以是自己临时创建的一个文件夹PATCH_TOP_DIR,但需要注意整个文件夹包括里面的文件的属主都修改为oracle) 3、关闭数据库...
继续访问
Oracle 11.2.0.4 RAC 手动打补丁
1 补丁介绍 GI补丁一般包括DB补丁,在打GI补丁过程中会自动打上DB补丁。也就是说GI版本=DB版本 比如下载GI补丁包p26635745_112040_Linux-x86-64,解压其实里面包括22502505、26392168、26609929三个目录,而DB补丁包p26392168_112040_Linux-x86-64.zip解压后就是26392168目录 1. 1 下载补丁和...
继续访问
oracle滚动打补丁,ORACLE打补丁的方法和案例
打补丁使用opatch工具,具体操作方法以补丁包中的readme.txt为准1.查看某个补丁是否安装的方法(下面命令不行就升级opatch)$ORACLE_HOME/OPatch/opatchlsinventory2.下载补丁包查看当前opatch版本。Oracle 11.2.0.1.0自带的opatch版本是11.1.0.6.6。补丁包的README.html中有描述该补丁或PSU需要的最低版本...
继续访问

oracle滚动打补丁,Oracle打补丁过程补丁7272646
redhat enterprise linux 6.1安装oracle 11.1.0.6.0,会提示错误:OUI-18001:the operating systemRedHat enterprise linux 6.1安装Oracle 11.1.0.6.0会提示错误:OUI-18001:the operating system 'Linux
mysql use my_db;
mysql select * from information_schema.tables t where t.table_schema='my_db';
--大概
Mysql create table lala (la_id int ,la_name varchar(55) primary(id)) enginee=innodb