- 博客(70)
- 资源 (3)
- 收藏
- 关注
原创 Oracle LogMiner 解析归档
摘要:Oracle LogMiner提供了两种数据字典使用方式(在线字典和日志字典),并支持多种选项配置,如只显示已提交事务、去除ROWID等。文章详细演示了两种使用场景:1) 使用在线字典实时分析当前数据库日志;2) 通过字典文件方式分析归档日志。两种方式都需要先添加日志文件,最后通过V$LOGMNR_CONTENTS视图查询分析结果。文中还提供了归档日志筛选方法和结果查询SQL模板,帮助用户获取详细的日志挖掘信息。
2026-02-06 16:02:51
599
原创 Mysql 5.7.26 安装
摘要:本文详细介绍了MySQL5.7.26在Linux系统上的安装步骤。主要包括解压安装包到指定目录、创建mysql用户组和用户、配置数据目录权限、编辑my.cnf配置文件、初始化数据库、设置开机自启动等操作。重点说明了初始化时生成的临时密码获取方法,以及安装完成后如何修改root密码和开启远程访问权限。安装过程涵盖了从文件部署到服务启动的完整流程,并提供了关键配置参数说明。
2025-11-10 11:11:44
681
原创 崖山数据库的优缺 - 简单部署
崖山数据库兼容Oracle语法,便于Oracle DBA快速上手,写入性能良好。但存在安装门槛较高、功能有限等问题:依赖特定openssl版本,CTE支持不完善(递归CTE不支持),文档缺乏实践指导。部署流程涉及参数生成、安装包检查及集群部署,但实例启动可能因openssl初始化失败而中止。总体而言,该数据库适合Oracle迁移场景,但在易用性和功能完备性上仍需改进。
2025-10-21 10:20:19
875
原创 崖山数据库安装部署
YashanDB 23.2数据库部署指南摘要 本文详细介绍了YashanDB 23.2数据库的完整部署流程。首先创建专用用户组并配置sudo权限和资源限制(包括文件描述符、进程数等参数)。然后创建数据库目录并设置权限,通过yasboot工具生成配置文件后执行安装和部署。部署过程中需注意IP地址设置和OpenSSL版本兼容问题。最后配置环境变量,设置sys用户密码,并提供常用维护命令包括查看状态、启动/停止服务等。文中还特别说明YashanDB不提供初始密码,需通过yasboot工具设置sys用户密码。整个部
2025-10-21 10:10:48
761
原创 通过 DNS 解析SCAN IP
本文介绍了Linux系统下DNS服务器的配置过程。主要包括:1)安装bind和bind-chroot软件包;2)配置主区域文件/etc/named.rfc1912.zones,设置scan.com域的正向解析和192.168.142.0/24网段的反向解析;3)创建正向解析文件/var/named/named.scan,定义DNS记录;4)创建反向解析文件/var/named/named.192.168.142,配置IP到域名的反向映射。配置过程涉及SOA记录、NS记录、A记录和PTR记录的定义,适用于搭建
2025-09-15 10:33:47
324
原创 Oracle Active Data Guard 同步检查
注意:主库主要看 LNS 进程,此进程负责将主数据库的重做日志传输到备用数据库。备库看 MRP 进程,此进程负责把接收到的归档日志应用到备库,来维持与主库的同步。MRP进程是ADG中的关键进程,它确保备库的数据与主库保持一致。1、检查数据库角色,确认主备库分别是谁。检查备库延时(LAG)2、检查归档应用情况(
2025-07-16 13:44:22
610
原创 RAC to RAC ADG 搭建
直接 dbca 使用图形界面创建名为 orclstd 的RAC数据库,过程省略。注:启动同步后,检查备库日志,是否可以接收到主库发来的归档日志。执行上述脚本恢复备库 ./standbyrec.sh &。应用OJVM补丁 -> 两个节点都需要应用。主备库tns配置,主备库2个节点都需要添加。注意:搭建过程中的遇到的异常处理如下。
2025-06-30 11:04:17
984
原创 Oracle 启用 Sql 跟踪的方式
level 1:跟踪SQL语句,等于sql_trace=true,level 0 相当于 sql_trace=false。使用 dbms_system.set_ev 系统包根据 SID,SERIAL# 跟踪其他会话事件,如10046等。Current =在当前模式下获得的缓冲区数量(通常用于更新)Query =为一致性读取而获得的缓冲区数量。CPU = CPU时间,以秒为单位执行。Elapsed =以秒为单位的执行时间。level 4:包括变量的详细信息。1、查看跟踪文件位置(当前会话)
2025-03-18 11:35:22
1300
原创 DeepSeek - 配置可视化界面
yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。注意 overlay2 它需要内核4.0以上才支持。2、根据需要上传属于自己的知识库文件等等。1、可以建立属于自己的专属知识库;配置置 YUM 仓库为阿里源。检查 docker 版本。1、与AI对话,聊天等;启动查看 DOCKER。
2025-02-12 13:54:28
508
原创 DeepSeek - 安装
在ollama官网上,点击Models,选择deepseek-r1,不同版本对应的体积大小不同,体积越大模型越精细化,只需要复制命令执行即可,由于我只是做测试,所以我这里选择7b。验证服务是否开启,11434是核心端口,必须开启。在 ollama.service 中加入如下配置。出现Ollama is running,即正常。我选择的是deepseek R1 模型。登录验证,浏览器直接访问。
2025-02-12 13:39:07
1073
原创 Oracle 使用 sql profile 固定执行计划
Oracle 10g之前有outlines,10g之后 sql profile。如果针对非绑定变量的sql,outlines则效果不佳,不建议使用。4、创建sql profile(SQLPROFILE_01)5、查看是否使用 sql profile。2、获取新sql的sql_id。
2025-01-02 16:33:49
1346
原创 Oracle 数据库使用SPM固定执行计划
上述这里表明baseline SQL_PLAN_8y3upp4x66zn6dbf94702 被用于该语句。以下是一个手动固定执行计划的例子。注意:这里我们看 FIX 这列是 NO,说明目前该执行计划没有被固定。收集该查询语句的SQL_ID 以及 PLAN_HASH_VALUE。这个时候我们再执行同样的语句,发现执行计划被固定并被查询使用,如下。将该语句的cursor信息载入到Baseline中。先确认一下目前该语句的执行计划。以如下语句为例,先执行该语句。执行如下语句将固定执行计划。
2025-01-02 15:58:51
1538
原创 Oracle 普通表至分区表的分区交换
注意:一般情况下,我们在创建分区表的时候,都会创建一个MAX分区,用来存放不匹配分区规则的数据。这种方法只是对数据字典中分区和表的定义进行了修改,没有数据的修改或复制,效率最高。注意:如果插入的数据不满足分区规则,并且没有MAX分区则会会报 ORA-14400 错误。4、用表tb_p1 和P1 分区交换,把表tb_p1的数据放到到P1分区。5、用表tb_p2和P2 分区交换,把表tb_p2的数据存放到P2分区。在查询原来的2个基表,发现数据已经没有了,数据已经交换至分区表对应的分区。
2024-12-24 11:06:22
848
原创 RHEL 7.5 源码安装 mysql-5.7.17 数据库
DMYSQL_UNIX_ADDR=/data/mysql/mysqld.sock:连接数据库socket路径。DCMAKE_INSTALL_PREFIX=/usr/local/mysql:安装路径。DWITH_INNOBASE_STORAGE_ENGINE=1:支持InnoDB引擎。DWITH_PARTITION_STORAGE_ENGINE=1:安装支持数据库分区。DWITH_MYISAM_STORAGE_ENGINE=1:支持MyIASM引擎。DEXTRA_CHARSETS=all:安装所有的字符集。
2024-12-19 16:36:42
1107
原创 使用 catalog 恢复目录模拟恢复被truncate掉的表数据
总结: 使用恢复目录来保存RMAN信息,可以长久保存,可以保存RMAN脚本;与将备份信息保存在控制文件相比,最大的差别是使用catalog时,执行备份恢复都需要连接到两个数据库,而使用控制文件则只需连接待恢复的数据库。模拟将数据库恢复到truncate之前,这里恢复到 2024-12-17 10:59:30。将 test_tb 数据库备份到 /data/app/backup 目录下面.注意: 因为是不完全恢复,所以只能以resetlogs方式打开数据库。模拟误操作 truncate 表。
2024-12-17 11:16:19
931
原创 配置使用 catalog 恢复目录做数据库备份
2、通过RMAN连接到新创建的恢复目录中并创建 catalog。1、创建恢复目录所需要的表空间以及用户。3、注册数据库并备份数据库。
2024-12-17 09:13:25
883
原创 Oracle 单实例、RAC 集群数据库修改 REDO 日志组
11、注意查看日志组的状态看一下哪个是当前组,哪个是inactive状态的。切换到新建的 redo 当旧的日志组状态为 inactive 即可删除该日志组。通过操作系统删除老的redo01.log、redo02.log、redo03.log。通过操作系统删除老的redo04.log、redo05.log、redo06.log。4、切换日志(多次切换当旧的日志组状态为 inactive 即可删除该日志组)2、根据现有日志组信息,添加新的日志组。8、查看删除后的日志组文件信息。5、再次查看日志组详细信息。
2024-11-21 10:29:49
1138
1
原创 Oracle 数据库历史备份数据恢复验证
控制文件恢复完成,这里可以选择交叉验证备份删除无效备份,也可以忽略,由于我们使用的备份文件的路径与控制文件路径一致,就不需要单独将备份注册到控制文件中去。验证 ASM 管理的数据库的历史备份恢复至单实例数据库(主要目的在于验证历史备份是否可用的一次恢复演练)到此,数据库恢复遇到的错误已经全部解决,重启数据库再次验证均成功,数据库也顺利完成历史备份的恢复演练。本次对...核心库的历史备份进行了恢复演练测试,恢复演练测试通过,证明历史数据库备份可用。根据数据库情况选择恢复测试的环境。3、 从备份恢复控制文件。
2024-10-31 12:12:09
950
2
原创 WM_CONCAT 函数失效处理方式
在 12.2 及以后的数据库版本已经舍弃了该函数,WM_CONCAT 是 Oracle 的一个非公开函数,已不建议使用,如需使用需要手工创建。注:也可以将该函数的类型、主体创建至系统用户 wmsys 下,其他用户如需使用授予该函数执行权限即可。grant execute on wm_concat to 用户名;需要使用该函数的用户登录数据库。conn 用户/密码。
2024-10-29 09:10:29
1385
原创 使用 pg_profile 在 Postgres 中生成性能报告
从github链接下载扩展文件 https://github.com/zubkov-andrei/pg_profile/releases。注意:如果需要生成远程服务器的性能报告,就需要有 dblink 扩展。$ pgbench -i postgres -- 创建压测用表。验证服务器信息:默认情况下,本地服务器将添加到服务器列表中。要生成报告,您至少需要两个快照。1 和 2 是快照 ID。
2024-08-28 16:53:30
707
原创 Oracle生成过去7天峰值时间段AWR报告
bin/bashthenfithenProDECLAREBEGIN'.html';peak_id,0))) LOOPEND LOOP;END LOOP;EXCEPTIONEND IF;RAISE;END;!exit 0fi。
2024-08-15 14:48:16
633
转载 Oracle ora tools
bin/kshversion()thenset $VERVERSION=$1thenversionfielse!if [ $?-eq 0 ];thenelsefiif [ $?-eq 0 ];thenelsefiif [ $?-eq 0 ];thenelsefi\.[0−9]∗。
2024-08-15 14:38:30
114
原创 RedHat Linux 7.5 安装 mssql-server
服务器上如果想通过 sqlcmd 命令行登入数据库,还需要额外安装一个 mssql-tools 的RPM包,这个安装包里包括sqlcmd和bcp指令(Bulk import-export utility),注意安装mssql-tool,需要先安装msodbcsql包。可以通过 mssql-conf 命令进行一些简单的配置,如配置监听端口,默认的数据文件目录,日志目录,备份目录等,该命令能够配置的项目如下。注意:如果连接成功,会显示 sqlcmd 命令提示符:1>Password: 输入之前配置的密码。
2024-07-26 15:43:10
977
原创 Oracle select for update 用法
当数据正在被另一个进程修改的时候,使用select得到的结果就不是最新的,这就需要使用for update,当oracle发现满足条件的记录正在被更新时,不会立即执行select语句,而是一直等待下去,直到更新结束才会执行select语句。发现无法查询出结果,并且会话一直处于等待状态,这是因为会话2里的语句锁住了C1='ZZH'的行,此时会话会一直处于等待状态。不等待行锁释放,提示锁冲突,不返回查询结果。FOR UPDATE 适合可以等待其他事务释放锁定的场景,这样可以逐一处理数据行,确保数据的一致性。
2024-07-17 15:36:13
3267
原创 为ASM磁盘配置多路径绑定
注意:其他磁盘同样按照上述分区即可,如果磁盘用于Oracle ASM存储则不需要为磁盘划分分区,也可以划分分区,但不用格式化分区。在配置文件 /etc/multipath.conf 中加入你需要配置的磁盘信息(红色部分)系统环境:Oracle Linux 8.6 X86_64 磁盘: NVME 磁盘。最后查看磁盘权限,发现磁盘权限已经变更为 grid 用户组 asmadmin。重启UDEV服务或者重新加载UDEV刷新规则。到此 ASM 磁盘多路径绑定配置完成。再次查看配置分区后的磁盘信息。
2024-07-04 10:52:42
1317
原创 OceanBase 4.2.1 离线安装
安装部署工具OceanBase Deployer(简称OBD),官方解释上面的All in One 包里已经包含这个包了,可以直接运行安装。4.2 版本的OceanBase支持一键安装,所以在线版本的安装简单了很多,但在无法连接网络的情况下安装就只能手动离线安装。注:如下安装过程都是在同一台机器上面进行,也就是只有一个节点,多个节点安装以此类推即可。vi /etc/security/limits.conf在文件尾部添加。#启动OBD部署界面,可以使用obd web -h 查看可用参数。
2024-06-28 11:31:09
1897
原创 源码编译安装PostgreSQL数据库
进入/opt/pgsql-9.1.7目录可以看到安装后的postgresql的文件。可以看到postgresql数据库实例已经启动,通过下面的命令可以查看系统中运行的postgres进程。prefix设置为postgresql的安装路径:/opt/pgsql-9.1.2。复制linux文件到/etc/init.d目录下,更名为postgresql。执行上面的命令,就可以实现postgresql服务的开机自启动。修改/etc/init.d/postgresql文件的两个变量。连接postgresql数据库。
2024-06-28 11:25:12
434
原创 部署安装达梦单实例数据库
DPC_MODE 指定DPC集群中的实例角色(0) 0:无 1:MP 2:BP 3:SP,取值1/2/3时也可以用MP/BP/SP代替。SEC_PRIV_MODE 权限管理模式(0),可选值:0[TRADITION],1[BMJ],2[EVAL],3[ZB]LENGTH_IN_CHAR VARCHAR类型长度是否以字符为单位(N),可选值:Y/N,1/0。(Y/y:是 N/n:否) [Y/y]:y。
2024-06-24 17:50:15
1322
原创 Oracle 19C 数据库表被误删除的模拟恢复
Oracle 19C 数据库表被误删除的模拟恢复操作。4、基于时间点通过RMAN恢复被删除的表。5、RMAN成功后查询并验证表是否恢复。2、记录当前状态下数据库的时间。经过验证被误删除的表成功恢复。1、模拟创建表用于恢复测试。3、模拟表被误操作永久删除。
2024-06-13 11:36:54
1144
原创 普通表在线重定义为分区表
BEGINEND;BEGINEND;BEGIN'TMP_P',NULL,2);END;BEGINEND;BEGINEND;
2024-06-12 17:01:24
1046
原创 Oracle 表数据段收缩示例
compact 将块中的数据放在一起,但不释放空闲空间,高水位也不会下降,支持DML操作。space 释放空闲空间,高水位下降,会锁定表不支持其它DML操作,对数据库性能影响比较大。注意:从user_segments里面查询到的是段空间已经被释放,但是从 user_tables 或者 dba_tables 数据字典查询你会发现这里记录并未及时更新,因为需要等到下次数据库自动维护统计信息后才会更新,手动收集统计信息或者做表分析也可以更新里面的记录。已删除 10000 行。
2024-06-04 16:21:17
780
原创 Oracle 收缩表高水位线
注:第二次删除大量数据后查询表的碎片为 8525.87,从这里对比第一次删除数据后的空间使用情况可以看到浪费的空间一直在增加,从第一次删除数据到第二次删除数据,浪费的空间增加倒到了 79090.93,并且高水位线一直没有变化为 97352。注:通过上述收缩进行表碎片整理后,我们可以看到表的高水位已经降下来为 10120,并且浪费的空间也已经被释放,释放前 79090.93 ,释放后占用仅为 582.13。注:第一次删除了部分数据后查询空间水位线情况,可以看到表的碎片为 23318.78。
2024-06-04 14:56:11
997
原创 Oracle RAC 集群配置共享目录ACFS
/sbin/acfsutil registry -a /dev/asm/ogg_vol1-488 /ogg/product/ogg_home --对文件系统进行注册,使其随集群启动而启动。$/sbin/acfsutil rmfs /dev/asm/ogg_vol1-488 --删除卷上的文件系统,删除前必须先取消挂载。$/sbin/acfsutil size -500M /ogg/product/ogg_home --把文件系统减小500M的存储空间。
2024-05-29 09:52:33
1330
原创 Oracle DataGuard 保护级别
primary使用LGWR即时将日志传送到standby的rfs进程,并保存到standby redo logfile中,不再需要等到归档操作时才传送,保存到standby redo logfile,然后再归档,最后应用redo。2)备库:rfs进程接收到日志后,将其写入standby重做日志,如果备库开启了实时应用,就立即应用redo日志,如果没有开启,则需要等待standby重做日志归档后再应用。如果不考虑上述配置,默认保护级别就是最大性能,这种模式下,必须主库重做日志归档后,才会提交到备库。
2024-05-28 17:05:27
1237
原创 Oracle Active DataGuard 启用实时应用 REDO
standby redo log数量计算方法:(单个thread的redo logfile数 + 1) * thread总数。备库会输出类似如下日志。
2024-05-28 17:01:06
1013
原创 Linux 系统配置修改时间时区
hwclock -s --hctosys -- 以硬件时间为标准,设置系统时间(Hardware Clock to SYStem clock)获取时区TZ值,要更改 Linux 系统时区首先得获知你所当地时区的 TZ 值,使用 tzselect 命令即可查看并选择已安装的时区文件。执行tzselect命令 --> 选择Asia --> 选择China --> 选择1) Beijing Time >然后输入1。# date -s "12:12:23 2006-10-10″ -- 同时设置日期和时间。
2024-05-22 09:39:57
2143
原创 Vsftpd 安装与配置
注意:如需在Windows资源管理访问,需要在网络共享中心->Internet属性->高级,开启被动访问ftp(开启兼容模式)在 /etc/vsftpd/chroot_list 加入虚拟用户 zzh1 和 zzh2 ,每行对应一个虚拟用户。设置当前ftp存储目录用户权限、chroot_list 文件配置用户登录、设置虚拟用户。如果没有指定虚拟用户的ftp目录,默认访问目录就是ftp根目录 /u01/ftp/#赋予权限,测试直接赋予最高权限了,实际工作中建议在最小权限范围内满足即可。
2024-05-20 18:15:40
1616
原创 Oracle 数据库采用外部表监控查看分析 alert 告警
对于特殊的字符则需要单独定义,如特殊符号,可以使用ox'十六位值',例如tab(/t)的十六位是9,则delimitedby0x'09';使用参数terminated by ',' enclosed by '"'后,系统会读到两个字段,第一个字段的值是abc,第二个字段值是a"b,"c,。对于字段长度和分割符不确定且准备用作外部表文件,可以使用ultraedit、editplus等来进行分析测试,如果文件较大,则需要考虑将文件分割成小文件并从中提取数据进行测试。关键字,表明定义的表为外部表。
2024-05-20 13:33:20
1024
原创 Oracle 数据文件状态变为 recover 的处理方式
假如恢复不了那么就需要能确认处于recover状态的数据文件上面是否存有业务数据,如果没有数据则可以选择导出整个表空间的数据,删除表空间重建,然后再把数据导入新的表空间即可;是执行了 alter database datafile 13 offline drop 导致,估计是在添加数据文件时写错了名字、放错了位置,或者是底层操作系统执行了误移动、删除数据文件的情况,这条命令并不是真正的删除某个数据文件,而是把一个数据文件置于离线状态。注意:执行 drop 命令后,数据文件状态变为 RECOVER。
2024-05-17 10:20:12
2341
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅