- 博客(248)
- 资源 (13)
- 收藏
- 关注
原创 oracle rman duplicate创建测试库
1.在目标端建立参数文件,并启动到nomount,如果测试库的文件存放路径和生产不一致,配置db_file_name_convert和log_file_name_convert。RMAN> connect auxiliary sys/manager@bre2_test ###这里bre2_test是生产到测试的tnsnames。5.dupllicate完成之后,默认duplicate数据库会后自动被open resetlogs,还可以指定时间点进行duplicate,例如。
2024-01-30 18:51:11 429
原创 ORACLE RAC DG文件路径错乱解决办法
最近接手了一个客户的RAC-RAC dg环境的维护,登录上去之后发现dg延迟了8天,由于主库的空间非常紧张,归档日志早就删除了,所以准备使用rman基于scn点的备份恢复的方案恢复dg同步。由于使用了新的控制文件,又没有配置convert导致现在不知道文件的对应关系.再在rman中进行switch:。
2024-01-10 12:39:40 544
原创 zabbix低级自动发现LLD
到此,一个自动发现就完成了,后面可以根据这个自动发现在配置触发器和图形原型、仪表盘等,都比较简单。使用自定义脚本,生成一个DATA数组,其中数组中的值就是我们自动发现的需要监控的项目。其中#DBPS_HOME后面创建监控项原型的时候需要用到。
2024-01-09 00:10:50 378
原创 Redhat7.6下单机版DB2v11.5安装
表示实例的认证类型。表示将用来运行受防护用户定义函数 (UDF) 和受防护存储过程的用户的名称。如果您正在客户机上创建实例,那么此标志不是必需的。指定您创建的受防护用户的名称。实例的名称必须与拥有实例的用户的名称相同。指定您创建的拥有实例的用户的名称。将在拥有实例的用户的主目录中创建该实例。创建实例的时候,需要首先创建同名的操作系统用户和对应组,db2会将此用户作为实例的管理用户。在GRUB_CMDLINE_LINUX添加下列选项,用于关闭THP和NUMA。#关闭防火墙和selinux。
2023-12-22 01:03:17 73
原创 oracle impdp 导入元数据表空间异常增大的解决办法
有关,如果设置为true,那么默认建表的时候如果不加任何存储参数,是不会创建段的,如果设置为n,那么就会创建段,如果不显式的指定initial extentd,其实这个初始段一般是非常小的,但是如果要加快创建速度,是可以把他设置为true,这么就是只会建表,而不会创建段。正常impdp,在执行创建表和索引的sql的时候,会带上存储参数,存储参数中就指定了初始化段大小,如果原表非常大或者表分区特别多,那么这个默认的初始化段也会变的非常大,因此会导致你建表的时候占用的空间非常大。
2023-11-27 23:15:41 451
原创 oracle rac 19.3安装补丁19.19
3.先将OPatch(P6880880)包拷贝到$GRID_HOME和$ORACLE_HOME下,注意先把原来的OPatch备份,修改一下用户组分别为grid:oinstall和oracle_oinstall。###升级GRID和DB,这一步比较慢,我这边4U服务器144核心512内存实测花了20分钟。2.现在新的opatch安装不需要先停止集群和数据库,在升级过程中,他会自动关闭和启动集群。#####将补丁的变更写到数据库中,这一步一定要做,如果是CDB需要将PDB都打开。###只升级GRID。
2023-11-22 21:34:59 839 1
原创 oracle rac 19c修改不同网段public ip
客户需求将才搭建的oracle 19.19数据库从192.168.168.0网段调整到192.168.213网段。用crsctl stat res -t 可以看到集群启动信息。这时集群可以启动,但是上面的一些资源启动会有报错,可以不管。停止之前最好ocrdump一下,防止有问题。
2023-11-22 21:30:10 644 1
原创 分享一个使用get_hash_value比对数据脚本
比对的结果会在当前目录下,tab.info.xxx是详细结果 tab.err.xxx是比对不一致的表 tab.ok.xxx是比对一致的表,上次比对的结果保存在history目录下。使用get_hash_value获取每个字段的值,再sum起来比对,如果表有lob字段,则会先排除掉lob字段再比对其它字段。2.COMP_TYPE如果是1则是比对用户,你将需要比对的用户写到COMP_USER中。如果比对过程中出现报错,可以检查.c.done和.c.done.bak这两个个隐藏文件。
2023-11-09 14:44:21 350
原创 记录一次normal diskgroup添加磁盘组操作
b) USABLE_FILE_MB可以变为负值,表示ASM并不会强制留出REQUIRED_MIRROR_FREE_MB的空间,但是这意味着如果遭遇了ASM磁盘组故障,有可能会没有足够的剩余空间来重新满足冗余度的要求。这是因为当前的冗余度为2,磁盘组为了保证当asm出现故障后,剩下的空间能继续保持normal冗余,需要保留Req_mir_free_MB的空间,但是这个并不是必须的,因此Usable_file_MB可以为负数,当为负数的时候说明当前的磁盘组已经不能满足normal冗余需求了。
2023-11-04 00:24:46 163
原创 oracle dblink mysql查询text无法显示问题
帮客户做了一个oracle到mysql的dblink之后,客户反馈发现有的表查询字段不全,通过select * 查询,mysql中有个字段INTERVENTION字段没有显示,首先想到的就是可能不支持查询,检查这个字段类型为text,猜测可能是text不支持?文章里面说的很清楚,mysql中text存储的是unicode编码,所以oracle必须也是unicode编码才能查询,如果能查询会把text转换为long类型,而我客户的oracle编码为gbk,所以不支持,无法访问!
2023-06-27 10:17:35 556
原创 ORACLE透明网关ODBC连接MYSQL
客户需求oracle访问mysql数据,客户是linux7.3 11.2.0.4单实例,字符集GBK,mysql是5.7.31,字符集UTF8,下面结合网上的文档和自己的实践,配置过程如下。配置listener.ora文件,这里为了不和现在的监听冲突,我选择新建一个端口号为1522的listener2,这里的SID需要和配置文件的文件名保持一致。这里注意这个文件的名称叫initodbcvte.ora,这里的odbcvte是第二个关键点,需要和后面监听里面的保持一致。
2023-06-25 16:34:34 1390
原创 oracle基于时间点恢复遇到ORA-10877错误
这里当前的incarnation是3号,reset的时间是2023-05-15 18:28:50,这个是我上次resetlog打开数据库的时间,由于上次recover之后,数据不对,所以重新又做了恢复,而每次resetlog之后就会生成一个incarnation,所以当前的incarnation就是上次resetlog的.
2023-05-15 21:07:25 479 1
原创 Oracle 19c - 手动升级到 Non-CDB Oracle Database 19c 的完整核对清单 (Doc ID 2577572.1)
转存失败重新上传取消。
2023-01-06 10:33:28 796
原创 ORACLE 19C ADG遇到一次奇怪的ORA-12154错误
19.8.0.0环境搭建ADG,duplicate之后,主库无法将日志发送到备库,检查错误报错ORA-12154。经过多方面的测试,发现是数据库没有读取tnsnames.ora这个文件,配置TNS_ADMIN都不起任何作用。后面可以找时间重启一下数据库实例。这样就可以正常发送日志了。
2022-12-27 22:30:43 733
原创 TX - row lock contention分享一次锁表故障处理
TX锁在等待事件中属于application,即应用不合理,一般我们要找出相关的sql语句,首先先看sql执行效率是否正常,再检查业务逻辑,是否有大并发的update同时修改同一条数据。医院有很多个自助机,当在业务高峰期的时候,每个自助机挂号的时候,都是同时修改同一条数据,因为所有的自助机的收款员都一样.这样只要有一台自助机慢或者不提交,就会使其它自助机进入等待.这里发现,在使用自助业务的时候,这里的收款员都是启航自助.而人工挂号的时候,这里的操作员是每个医生.这里发现有大量的update锁表操作,
2022-11-03 18:51:30 271
原创 ORA-00704,ORA-00702 bootstrap错误导致库无法启动解决办法
这个错误是oracle的引导数据块被破坏了,这种一般就是人为的或者恶意软件破坏的,像以前的勒索病毒,用了非正版的plsql,非正版的oracle 安装包等,都可能会被安装上恶意的程序.这里需要注意的是,10g版本bootsrap是377数据块,而11g是520,521,522,523三个数据块,2.找一个相同平台相同版本的11.2.0.4数据块,dd出来520,521,522,523数据块。3.将刚刚的1.ora拷贝到故障数据块,再dd回去。
2022-11-01 12:03:35 1006
原创 kfed修复损坏asm头部
在11g之后,默认的asm会自动备份asm头部数据块(将数据块备份到第二个AU的倒数第二个数据块上),这样如果asm头部出现了问题,则可以使用kfed直接进行恢复(内部是用备份的数据块直接覆盖头部数据块)需要注意的是,如果asm的au size不是默认的1MB,则需要从其它的位置。AU SIZE =32M备份块blkn=16382。AU SIZE =64M备份块blkn=32766。AU SIZE =16M备份块blkn=8190。AU SIZE =1M备份块blkn=510。
2022-08-22 15:34:16 325
原创 ORA-38824无法手工修改存储过程的问题
一个客户在修改procedure的时候报错ORA-38824ACREATEORREPLACEcommandmaynotchangetheEDITIONABLEpropertyofanexistingobject。MOS找了一下发现没有相应的解决办法.百度了一下,有一个老外的文章有一点提示,我进行了测试.我这里报错的检查下来都是N,我是使用expdp/impdp来导入的,经过确认源端也是N,表示是否可编辑,默认创建的都是Y表示可编辑.批量执行完成之后,即可进行修改了。...
2022-08-01 12:31:50 1076
原创 ORACLE 19C PDB克隆遇到ORA-65169错误问题
oracle 的pdb克隆是非常方便的功能,这次一个客户进行了PDB克隆迁移,源端是oracle 19.3.0 LINUX 单实例,目标端是linux 19.3.0 RAC在克隆的过程中遇到了ORA-65169和ORA-19505报错:alert日志如下:找不到答案,找MOS找到一篇文章,如下: 这里提到,需要在RAC每个节点配置好TNSNAMES,这里现场只在一个执行克隆的节点配置了tnsnames.ora,修改之后,删除克隆的数据文件,重新克隆恢复正常...
2022-06-27 21:43:32 771
原创 oracle10g升级到11g之后跨平台ADG遇到ORA-10561错误问题
原来生产环境为oracle 10.2.0.5单实例,现在需要迁移到Linux RAC 11.2.0.4,由于数据量比较大,停机时间要很短,这里提供的方案是先将oracle10.2.0.5升级到11.2.0.4,然后再使用ADG的方式,将数据迁移到Linux RAC中在数据库从10.2.0.5升级到11.2.0.4之后,搭建ADG环境,在duplicate之后,应用日志报错:ORA-10562: Error occurred while applying redo to data block (file# 5
2022-06-24 13:49:19 601
原创 安装GRID遇到CRS-5016无法启动ora.ons故障解决办法
安装GRID之后,在执行root.sh的时候,发现无法启动ora.ons,其它资源都是正常的.root.sh报错如下:检查报错日志,有如下核心报错信息:其中关键点是无法获取localhost的地址.很自然的想到是不是/etc/hosts里面把localhost的解析给丢掉了.重新在/etc/hosts里面添加127.0.0.1 localhost再执行root.sh即可...
2022-04-22 15:44:54 808
原创 oracle到mysql批量添加注释
最近在做一个项目,需要将oracle的数据实时同步到gbase中,经过研究发现gbase底层就是mysql,在同步过程中发现表的注释没有进行同步,这里需要手工添加表的注释.查询了一圈发现了mysql的添加注释只能通过alter table modify column来进行,而在modify的时候需要写上字段类型,这里如果不小心写错了很可能就把表结构给修改了,不得不吐槽一下,这都是什么垃圾语法,而oracle就很好,添加注释直接使用comments语法就可以了.没有办法,想了一下,这里只能通过拼接sq
2021-06-04 19:51:11 291
原创 Linux ORACLE RAC 通过透明网关连接Sqlserver
客户的环境为linux rac 11.2.0.4首先下载oracle 透明网关,正常我们安装rac只需要使用前三个软件包,其中第一个是集群软件,第二和第三是数据库软件第四是客户端软件,而透明网关在oracle安装包的第五个软件包中.执行runInstall.sh进行安装.安装过程中选择sqlserver的组件,下一步,输入IP地址,实例名,数据库名其中,实例名可以通过服务来查看到,默认一般为MSSQLSERVER安装完成之后,下面就开始配置了,所有的配置都需要在两个节点运行1.配
2021-03-15 00:01:41 1291
原创 ORA-00600 kjxmgmb_nreq:!bat ,[17],[56],[19]
一个客户现场,oracle HP-UX 11.2.0.4 RAC环境,一个实例突然crash,启动报错信号量失败,将oracle下的所有的信号量kill掉之后,再进行启动lms进程报错:ORA-00600 kjxmgmb_nreq:!bat ,[17],[56],[19]在MOS上找到了一个相同的问题,定位是oracle的bug:此bug在oracle 12.1.02中进行了修复。在11.2.0.4中也提供了相关的补丁。这里怀疑是信号量的问题后续触发的bug,由于另一个节点运行正常,
2020-12-22 14:32:27 441
原创 linux下使用yum upgrade软件包
今天本来准备zabbix,但是发现报错,报错很简单是缺少openssl,但是发现已经安装了,最后发现是openssl版本太老了,系统装的是1.0.1,需要的1.0.2.怎么升级呢?当前的操作系统是centos7.3,我有一个环境是centos7.6,上面的openssl版本是1.0.2,那么就可以使用centos7.6的镜像文件直接进行升级将centos7.6的镜像文件挂载的服务器上.执行下面的:yum clean allyum makecacheyum upgrade open
2020-10-30 23:58:22 1558
原创 oracle public权限导致的权限扩散问题
一个客户问到我,oracle的connect的角色的权限非常大吗?为什么我新建了一个用户,赋予了connect的权限,但是却有权限查询和修改部分核心用户下的表?这也太不安全了吧?首先,可以肯定正常的connect角色的权限是非常小的,只有连接登录数据库的权限,但是不排除有人给connect角色赋予了其它的角色或者权限,让他使用下面的sql语句进行查询:1.查看connect角色拥有的对象权限select * from dba_tab_privs where grantee='CONNECT';2
2020-10-23 20:55:02 727
原创 grafana text panel配置说明
首先配置变量,方便在text语句中进行调用,例如:text panel配置使用markdown或者html语法:<br><font size="8" color=##1E90FF >${SERVERNAME}</font><br><font size="3" color=##1E90FF >Operating System:</font> ${OS}<br><font size="3" colo
2020-10-20 22:40:53 6785
原创 zabbix自动发现数据库表数据
zabbix可以处理json格式,并将其以键值的方式在监控项中展示出来,下面模拟一个从数据库中获取数据的低级自动发现规则示例.1.需求分析在oracle数据库中有一个表,如下:SQL> select * from ds.tt;NAME ID REC------------------------------ ---------- ----------a 1 88b 2
2020-10-20 22:32:24 775
原创 zabbix odbc连接oracle报错libsqora.so.XX.1找不到的解决办法
测试使用isql是可以正常连接数据库的情况下zabbix_server或者zabbix_proxy中,在前台通过监控项中测试连接数据库报错.:无法连接到ODBC DSN:[SQL_ERROR]:[01000] [0] [[unixODBC] [驱动程序管理器]无法打开lib'/usr/lib/oracle/12.2/client64/lib/libsqora.so.11.1':找不到文件] |在zabbix官网找到了解决方案:解决办法如下:Solution:Create
2020-10-14 01:39:00 1934
原创 ORA-12541一次listener hang的故障解决
晚上十点多,一个朋友联系我说他们的数据库有问题,客户连接不上数据库,没有任何报错,就是卡住,也不提示任何信息.这是一台windows 数据库,单实例数据库版本为11.2.0.1.远程到服务器之后查看数据库,发现数据库运行正常,查看监听发现异常,使用lsnrctl status 直接卡住.尝试使用lsnrctl start启动,发现报错监听已经存在,查看监听服务确实已经启动.这种情况第一反应就是监听日志文件达到了4G,导致无法写日志.根据经验进入到$ORACLE_HOEM/diag/tnslsnr下面
2020-10-06 23:48:20 231
原创 linux下odbc连接oracle
这里不叙述odbc的安装方法和oracle客户端的安装方法,都比较简单!!1.查看odbc的配置文件odbcinst -j #查看odbc配置文件[root@tx_sh1 ~]# odbcinst -junixODBC 2.3.1DRIVERS............: /etc/odbcinst.iniSYSTEM DATA SOURCES: /etc/odbc.iniFILE DATA SOURCES..: /etc/ODBCDataSourcesUSER DATA SOURCES.
2020-09-30 22:12:56 1808
原创 ORACLE RAC19C到单实例ADG DUPLICATE ORA-01017 错误的解决办法
准备搭建一个19C RAC到单实例的ADG.在duplicate的时候报错ORA-01017用户密码错误contents of Memory Script:{ backup as copy reuse passwordfile auxiliary format '/u01/app/oracle/product/19.3.0/db_1/dbs/orapwrac19c' ;}executing Memory ScriptStarting backup at 14-SEP-20al
2020-09-15 22:08:21 2003
原创 4.LNPP源码搭建Zabbix5.0.3之CentOS7.6下源码安装zabbix5.0.3
1.下载我们这里使用最新的5.0.3版本,下载地址如下:https://cdn.zabbix.com/zabbix/sources/stable/5.0/zabbix-5.0.3.tar.gz下载完成之后解压缩2.创建操作系统账户groupadd --system zabbixuseradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix3.创建zabbix
2020-09-13 14:00:17 821
原创 3.LNPP源码搭建Zabbix5.0.3之CentOS7.6下源码安装nginx1.18
1.下载下载地址为:http://nginx.org/en/download.html这里我们选择stable版本1.18http://nginx.org/download/nginx-1.18.0.tar.gz2.安装依赖包yum install -y gcc gcc-c++ make pcre pcre-devel zlib zlib-devel openssl openssl-devel3.编译安装解压缩安装文件1.编译./configure --prefix=/usr/loc
2020-09-13 13:49:24 305
原创 1.LNPP源码搭建Zabbix5.0.3之CentOS7.6下yum安装postgresql9.2
1.pg下载地址:PG使用系统自带的安装包.系统自带的pg版本为pg9.2这里经过测试不能使用非常新的pg版本,否则后面php编译不通过.建议使用9系列的版本2.安装rpm包挂载系统镜像后,使用yum进行本地安装:yum install postgresql*3.初始化数据库安装完成之后,需要初始化数据库,PGDATA默认的安装目录为/var/lib.如果想要修改PGDATA安装目录,则需要修改postgresql.service里面的PGDATA目录[root@zabbix pg12]#
2020-09-13 13:47:38 328
在CentOS7.3下搭建oracle 19c rac详细步骤
2019-09-10
oracle数据库管理员培训内部讲义
2012-11-18
linux内核阅读心得
2010-08-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人