自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(115)
  • 资源 (11)
  • 收藏
  • 关注

原创 rac防火墙未禁用服务器重启导致二节点启动异常

所以就朝这方面去查,后面发现操作系统防火墙没有禁用,服务器重启后,导致防火墙又起来了。数据库服务器由于断电重启,重启后起后发现rac一节点集群和数据库不能正常启动。从一节点alert.log日志可以看出在启动过程中,私网通信及多播存在问题。这说明在在私网通信中很多包被丢弃掉,‌接收丢包高达 547,823。通过服务器之间私网相互ping都很正常,并没有丢包情况发生。检查网卡网络丢包情况,发现私网很多包被drop掉。检查hosts中的私网ip。

2025-04-21 16:34:42 148

原创 oracle rac时区问题导致远程查询时间不准

发现直接通过sqlplus / as sysdba连时间正常,通过ip去连时间时间慢12小时,通过远程工具SQL Developer,时间也是不准确的。进程中的环境变量都是America/New_York,所以都是自通过远程访问的系统时间都不准确。都是没有问题,时间和时区都是准确无误,时间同步也配置着正常。远程工具SQLDev工具和应用出来的时间都要慢12个小时。后面检查到集群文件,发现集群文件的时区还是纽约的。改为:TZ=Asia/Shanghai。使用root用户修改该文件时区。

2025-04-21 16:10:49 308

原创 adg查询数据与主库存在差异

查询对应的sql发现都是查询语句的sql,查询对象带有dblink的对象,但dblink的目标库已经宕机,所以导致全部堵塞,进而堵塞了lgwr进程。kill掉single-task message事件的会话恢复正常。堵塞源头事件“single-task message”查询adg库数据,发现比主库差了几天。查询主备同步情况,均正常。数据文件头scn也均一致。

2025-04-10 15:57:53 358

原创 业务高峰期ddl带崩数据库

发现简单的一个insert竟然执行不完,并且造成了library cache和shared pool征用,说明当时有什么ddl操作堵塞了数据插入。检查服务器发现cpu耗尽,sqlplus / as sysdba不能连上数据库,重启后恢复,检查实例宕机前awr top5事件。一般情况,引发 mutex X 和 shared pool latch 争用,未使用绑定变量导致高硬解析。通过dba_hist_active_sess_history检查最早发生堵塞的事件。确实有很多ddl操作。

2025-04-10 14:14:28 285

原创 oracle数据库wrap加密

公司开发的产品要做加密,涉及数据库的存储过程、函数、包、触发器,通过wrap挨个加做代码加密,存储过程、函数、包加密均没问题,到触发器发现加密后输出的还是源码。1、Oracle数据库不同版本之间的wrap文件不向下兼容,也就是说不能用高版本的wrap生成加密到低版本中使用。去oracle官方文档找了一下,plsql源码加密不支持这块,原来触发器并不支持的,所以加密失败了。2、不能用wrap加密的源码去隐藏密码或表名,这种方式并不是安全的方法。3、不用wrap加密触发器PL/SQL源码。

2025-03-28 14:47:15 182

原创 oracle加密函数或存储过程代码的两种方式

使用q'[ ]' 避免单引号冲突,不使用q,单引号需要两个。在sqlplus下执行加密函数即可。使用自带的存储过程加密,在执行密文。

2025-03-28 10:30:46 392

原创 oracle中java类的使用

导入后通过PL/SQL Developer可以看到java classes下会有java类名称存在。可以通过创建java source做为java代码使用。生成OracleJavaDemo.class。导入java类到oracle数据库库。编写一个简单的java类。创建函数调用java类。

2025-03-28 10:17:44 537

原创 ALTER TABLE SHRINK SPACE及MOVE的区别与适用场景

‌:仅重组数据块(消除碎片),但不移动HWM,因此不会立即释放空间到表空间‌。‌:直接重组表数据并移动高水位线(HWM),释放未使用的空间到表空间‌。‌:在收缩表的同时,自动收缩其依赖的索引、LOB等对象,并移动HWM‌。‌重置高水位线(HWM)‌:释放未使用的空间,降低表的逻辑存储上限。表所在的表空间‌不支持自动段空间管理(ASSM)‌(此时无法使用。‌:业务高峰期需减少锁冲突,先整理数据,维护窗口再释放空间‌。将表中的数据物理移动到新的位置(同一表空间内或跨表空间)。‌:需同步回收表和索引碎片时‌。

2025-03-25 16:20:00 448

原创 impdp导入报权限问题

检查文件系统、directory、用户权限均正常,并且导入过一次也正常。发现是个触发器,并且重编译发生错误,所以干脆删掉。根据报错查看编译出错的对象。

2025-03-25 14:03:51 247

原创 普通表再造成分区表导致性能问题

做分区表改造后,次日业务高峰期,发现有很多asynch descriptor resize事件,根据事件情况,调大了fs.aio-max-nr = 3145728,但性能并没有好转,io负载100%居高不下,检查ash。根据该分区表是通过日期做分区的,而且索引是非全局索引,通过检查sql执行计划发现,查询并没有用到分区时间,所以导致local索引也没有使用。发现全部走的全表扫描,检查索引和原表对比都存在。创建全局索引后恢复正常。

2025-03-21 15:53:00 131

原创 windows下oracle打完补丁不能正常启动服务

oracle11.2.0.4在windows2008环境下,打完补丁服务不能正常启动,查看事件日志。根据提示报错是调用32位的VC++软件出错,检查vc++安装软件。安装8版本的32位的vc++后启动正常。

2025-03-11 10:06:39 175

原创 oracle日志大量解析报错too many parse errors

导致解析混乱,另外传入参数异常也会导致解析出错。该问题主要在于查询语句的表名重复别名。建议修改别名,与本名区分开来。

2025-02-25 13:25:34 379

原创 oracle多次密码错误登录,用户锁住或失效

TEST EXPIRED(GRACE) & LOCKED(TIMED) 延迟登录和锁。TEST EXPIRED(GRACE) 密码错误延迟登录,延迟登录还能登录。TEST LOCKED(TIMED) 密码错误锁。当然也可以把登录错误密码改成无限制,但有被安全爆破风险。发生LOCKED(TIMED)后,登录报错。可以看到默认配置密码登录10次失败就会被锁。密码错误超时终止,日志报如下告警。

2025-02-13 14:33:59 1135

原创 数据库io负载瓶颈问题

Awr IO读写并不高,读268M,写0.6M,加起来不超过300M,考虑到存储做raid,估算基本上达到机械盘的上限。数据库Io负载较高,存储磁盘都是机械盘,读写效率较低,业务稍微方面一些就会造成卡顿,建议更换SSD磁盘。这是在正常业务情况下的繁忙层度,如果有抽数据或者查询量大些就会造成卡顿。单节点连接会话上限曾经达到过4000上限。连接并发正常情况每个节点在2000以内。

2025-02-13 11:16:25 288

原创 数据库迁移后在密码不知道的情况下重建DBLINK

create database link DBLINK名称 connect to system identified by oracle using '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.210.222)(PORT = 1521)))(CONNECT_DATA = (SERVICE_NAME = drmdb)))';可以直接通过查询sys.link$基表进行SQL拼接来完成迁移dblink。

2025-02-06 17:24:08 366

原创 oracle特殊数据文件名修改

很多“orcl\”由于斜杠写反了,导致文件名是“orcl”的文件,而不是orcl目录下生成的文件。

2025-02-06 16:56:26 642

原创 空间异常占用导致数据库新连接报错

但du -sh /oracle却只有700多G,检查删除文件未释放空间。新连接报ORA-12560。发现有个进程占用较大空间。kill掉进程后空间恢复。df -h检查空间满。

2024-12-17 10:38:13 166

原创 普通表转分区表-在线重定义

=====所有操作之前要先验证。创建中间表:INIT_T_EC_EVENT_CONTENT。原表非分区表:T_EC_EVENT_CONTENT。--验证是否可以进行在线重定义,验证原表是否有主键。--同步临时表与原始表中的数据,差异数据同步。--开始重定义,把原表数据复制到中间表数据。--结束重定义,自动把两张表互换名称。

2024-12-16 18:15:01 301

原创 file-max、open files设置导致数据库故障

根据MOS上面提供的计算规则,每个会话默认会打开MEMORY_TARGET/<granule size>个文件描述符,即/dev/shm中的文件数,根据上面的数据库设置,58*1024/4大概是14848多个文件描述符,跟上面8000多个描述符是有差异的。可以判断本次的故障是由于在故障时间点会话数上涨(包括活动和非活动的会话),并且会话没有及时释放连接,从而导致打开的文件描述符达到file-max限制,最终导致oracle出现问题。操作系统报错的和配置文件两边的数值是一致的,很明显,根据报错信息来看。

2024-12-12 10:20:05 848

原创 oracle数据坏块处理(三)-数据抽取插入到新表中

如果是表损坏,在添加event 10231跳过也不能导出的情况下,生成新表,根据rowid生成insert语句,正常数据插入到新表。

2024-11-08 18:03:27 611

原创 oracle数据坏块处理(二)-逻辑坏块重新格式化处理

rowid_type:rowid类型(restricted或者extended)。设置rowid_type为0时,代表restricted ROWID(此时,将忽略参数object_number):设置rowid_type为1时,代表extended ROWID。object_number:数据对象编号(仅restricted类型rowid可用)。block_number:该数据文件中的数据块编号。查询该表的表空间为KTHIS5,创建测试表。row_number:在该块中的行编号。生成该块的rowid。

2024-11-08 16:58:01 1065

原创 oracle数据坏块处理(一)-通过rman备份修复

这时候如果有前面正常的rman备份,那么我们就可以通过rman备份直接对数据文件块做恢复。或者直接检查数据文件:VALIDATE DATAFILE 5。检查完,我们可以通过视图查询到坏块信息。再使用dbv检查发现没有坏块了。

2024-10-12 11:05:07 1273

原创 oracle实例宕机,虚拟机磁盘精简配置模式,磁盘无法扩展

检查从alert日志里看军事文件无法写入导致实例终止,后检查虚拟机磁盘配置为精简模式,磁盘存放的共享存储空间使用率较高。O/S-Error: (OS 1453) 配额不足,无法完成请求的服务。O/S-Error: (OS 1453) 配额不足,无法完成请求的服务。O/S-Error: (OS 1453) 配额不足,无法完成请求的服务。O/S-Error: (OS 1453) 配额不足,无法完成请求的服务。OSD-04008: WriteFile() 失败, 无法写入文件。

2024-10-12 10:37:42 613

原创 ORA-00600: 内部错误代码, 参数: [13011], [161], [239642167], [342], [4396321], [0]处理

发现有个删除触发器相关的表,检查框住的存储过程,发现里面有触发器的禁用启用,没有授权增删改系统表权限导致。但是原先是正常的,异常宕机之后才发生这个报错,怀疑是bug造成。job执行plsql存储过程异常终止报错,alert日志如下。授权表triggercol$增删改权限后恢复正常。查看导出dump文件。

2024-08-29 10:19:21 463

原创 rac集群二几点重启ora.gipcd不能正常启动

其中ret:gipcretKeyNotFound (36)比较可疑。集群起来后gipcd服务不能正常启动。mos文档:2034669.1。建议清理网络socket文件。清理后再次启动恢复正常。

2024-08-27 14:22:44 522

原创 查询部分视图报ORA-01000

检查数据库补丁情况,发现没有打任何补丁,怀疑是bug造成,最终在mos查到对应的一篇文档。

2024-08-07 15:29:47 441

原创 alert日志Maximum of 148 enabled roles exceeded for user

max_enabled_roles实际上配置只能从0到148,所以配置就算是150,生效148,所以超过148的角色就不会加载进入了。发现有250条角色授权记录。

2024-08-07 15:16:54 348

原创 dg首次全量同步的几种方式

在备库开始复制:(RAC 在执行rman duplicate的时候,报如下ORA-19505错误:可以在备库TNS增加单机配置,主库先连单节点进行duplicate)控制文件备份恢复要在end backup之后,不然有可能fuzzy状态不对,不能打开数据库。RMAN>(将上述命令在该处运行)(select查询出来的)

2024-07-11 17:28:14 439

原创 undo回滚对象查看

object number(objn)或者object id(objd)

2024-07-04 08:59:36 385

原创 数据库迁移大表lob字段expdp逻辑迁移慢

迁移过程带lob字段的T_EC_EVENT表特别慢,停机时间太长,通过物化视图提前迁移T_EC_EVENT表。含lob字段大表通过dblink,创建物化视图(不停机)最后一次增量,删除物化视图(停业务)修改sequences与主库保持一致。

2024-07-03 11:20:43 461

原创 linux模拟aix盘19c单机asm安装补丁

linux模拟盘aix盘。

2024-07-03 10:55:19 971

原创 oracle典型的增量备份方案

采用sh文件来调用这三个级别的备份。三个sh的文件可命名为lev0.sh、lev1. sh、lev2. sh。这三个备份脚本对应文件lev0.rcv、lev1.rcv、lev2.rcv。1、level 0备份脚本。采用crontab来制定计划任务。2、level 1备份脚本。3、level 2备份脚本。

2024-07-01 15:21:10 713

原创 由于bug造成truncate table卡住问题

另外在Truncate Slow in 11.2.0.3 and Higher (Doc ID 1667223.1)文档中也提到,“local write wait”和“enq: RO - fast object reuse”事件,该事件由BUG:18251841造成。该bug可以通过打补丁解决,补丁在11.2.0.4.180116中已解决,同时也可以设置隐含参数解决“_db_fast_obj_truncate=FASE”。但这个案例中,是最后打算最新补丁,该问题解决。

2024-06-18 17:19:10 778

原创 oracle主机虚拟内存不足导致实例宕机

安装服务器一般C盘的物理空间会被服务器当做虚拟内存使用,服务器调用大量虚拟内存供数据库使用,但是C盘空间不足以支撑数据库的内存需求,导致C盘空间爆满,最后导致数据库宕机,所以正常情况下,建议修改虚拟内存设定的位置,把默认的C盘更改为其他更大的D盘做虚拟内存使用。剩余空间不足于支撑50G的虚拟内存空间,所以导致交换内存出现异常,最终导致实例宕机。按道理不该出现虚拟内存不足的情况,检查操作系统发现,默认C盘剩余空间比较少。发现在宕机之前,出现了虚拟内存不足的情况。由于pga内存不足,而导致的数据库宕机。

2024-05-24 14:15:44 406

原创 oracle数据库解析过高分析

如,执行一条 SQL 的时候,如果该 SQL 在共享池中不存在,这就是硬解析,需要首先分配共享池空间,创建父游标的结构,然后创建一个子游标。如果下一次再执行一条类似的 SQL,该 SQL 的父游标存在,经过检查发现子游标是可以共享的,而且这个子游标的所有关联对象在共享池中都存在,那么就可以马上执行了,这就是软软解析,也是软解析的一种。如果子游标是不可共享的,那么就需要创建一个新的子游标(对于 SQL 来说,又增加了一个版本, Version),解析执行计划,然后执行。

2024-05-24 11:24:30 508

原创 sequence cache太小导致enq: SQ – contention

数据库性能得到了很大的提升,dbtime从600多min降到24min,业务也恢复正常。调整该sequence的cache_size大小。

2024-05-23 15:10:38 841

原创 数据挖掘导致直接路径读(direct path read)耗尽了IO

建议该模块放到容灾库去跑,业务停止DDTEK ODBC Oracle模块,操作IO负载降下来,在50%左右,后台等待事件消除,业务恢复正常。后台有两个并行rman备份在,停止备份io繁忙没有好转,检查最近ash报告,发现DDTEK ODBC Oracle程序模块占用最高。检查后台,发现直接路径读和DDTEK ODBC Oracle等待事件比较多。检查该模块,发现是通过odbc过来的挖掘程序。一大早就有喊业务卡的,检查等待事件源头,均为oracle写等待。查看IO负载持续维持在100%繁忙。

2024-05-23 14:45:13 299

原创 机器重启oracle数据库自动启动异常

所以当数据库处于热备模式下,不要进行重启服务器,或者重启数据库的操作,应先将数据库关闭热备模式,再行进重启操作。造成的原因是数据库在热备模式下被关闭,导致数据库无法打开,报错系统文件需要恢复。连入数据库:Select * from v$backup。检查历史日志,发现有开启热备模式的记录。发现数据文件都处于热备模式。

2024-05-22 10:29:06 472

原创 19c数据库19.9以下dg切换打开hang住问题

原主库发起切换请求,原主库正常切换数据库角色,但原从库无法正常打开数据库,尝试关闭重启,依旧无法解决问题。查看切换过程中原从库数据库后台日志,发现数据库一直不断重试清理。版本针对19.3.0.0~19.8.0.0,解决办法。信息确实完全匹配相关信息,包括相关数据库版本。

2024-05-21 14:59:22 536

原创 oracle数据库无法连接问题排查

检查应用端、服务器端、防火墙的MTU值是否一致,更改应用端、服务端的MTU值与防火墙一致,MTU默认值为1500,参考可调至9000(oracle原厂建议oracle服务器是 9000,同时参考了其他银行的MTU值),建议网络工程师可以用ping包的方式 测试出符合当前环境的最佳MTU。ORACLE官方针对这类错误明确:错误堆栈依次为TNS-12170/TNS-12535/TNS-12560/TNS-00505,这表明由于网络问题,已建立的连接超时。这是一个网络/应用程序问题,而不是oracle错误。

2024-05-21 11:36:10 1488

tcp编程学习代码,web代码,web学习,tcp

tcp编程学习 tcp编程学习代码,web代码,web学习,tcp

2010-07-30

exe反编译工具eXeScope汉化版

exe 反编译工具 eXeScope汉化版

2009-06-10

rar文件压缩解压(java)

用java实现rar文件的压缩解压。

2008-08-18

ajax+jsp带进度条的文件上传下载

使用ajax和jsp实现带进度条的无刷新的文件上传下载

2008-08-18

jsp文件上传下载

jsp文件上传下载。

2008-08-18

ftp上传下载

用java实现ftp上传下载

2008-08-18

ftp.jar

ftp第三方jar包,可用于快速开发ftp上传下载程序

2008-08-07

外贸报表系统

外贸业务报表子系统,这是本人2008年的毕业设计,采用vs2005,C#语言开发,sqlserver2000作为数据库,供大家学习参考

2008-07-24

飞鸽传书(IPMSG)

实现局域网内文字、文件夹、文件的快速传输

2008-07-24

des文件加密解密

des文件加密,将文件用des算法加密,并实现des加密文件的解密

2008-07-23

ftp服务器

用来搭建ftp服务器,可以实现匿名或用户登录操作,可以授权进行下载、上传、修改删除等操作。 无需进行安装即可使用

2008-07-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除