ORA-01652: unable to extend temp segment by 8192 in tablespace

今天发现了这个问题,分析记录一下问题是这样子的,有一个表记录7亿,要在表上建索引,临时表空间已分配32G,DB DEFAULT BLOCK SIZE 8K,建索引时报了这个错误

exp,imp 产生错误数据46588.21 bug

exp,imp到其他9i数据库里出现部分数据变成了 46588.21 ,只因为指定了buffer

性能诊断之视图V$SESSION_LONGOPS

该视图记录任何的是操作时间超过6秒的,但是要注意并不是所有的超过6秒的记录都会在这里

解决行迁移 案例

table_name chain_cnt sta
———————– ———– ——-
ICME_SIMULATE_QA_STATUS 501443 YES

DML returning into 用法,使用操作前的值

The RETURNING INTO clause allows us to return column values for rows affected by DML statements. The following test table is used to demonstrate this clause.

详解dump block trace file,找出行链接

block_row_dump:
tab 0, row 0, @0x819
tl: 2061 fb: –H-F–N lb: 0x0 cc: 3
nrid: 0x0180005e.0
col 0: [ 2] c1 02

关于ORACLE 行链接与行迁移

无论是行链接还是行迁移,都会影响数据库的性能。Oracle在读取这样的记录的时候,Oracle会扫描多个数据块,执行更多的I/O。

event 10046 简单使用

Level 0 停用SQL跟踪,相当于SQL_TRACE=FALSE
Level 1 标准SQL跟踪,相当于SQL_TRACE=TRUE
Level 4 在level 1的基础上增加绑定变量的信息
Level 8 在level 1的基础上增加等待事件的信息

Events latch: cache buffers chains

Top 5 Timed Events

Event Waits Time(s) Avg Wait(ms) % Total Call Time Wait Class
CPU time 26,173 42.3
latch: cache buffers chains 21,954 4,041 184 6.5 Concurrency

,

关于深入shared pool

shared pool 由perm,libary cache,row catch(dictionary catch),reserved area(保留),free area 组成。

ROW_NUMBER() and SYS_CONNECT_BY_PATH in oracle 9i 合并列

合并列有很多方法,如聚焦函数、自定义函数利用游标分组、ROW_NUMBER() and SYS_CONNECT_BY_PATH 、还有10g后的wm_concat、及11G后新增函数..

oracle 10g owi增强 系统视图查询各命中率

owi (oracle wait interface)从oracle 7开始提供,开始是为了帮助oracle开发人员查询oracle性能,后来对外开放,帮助oracle用户的管理者和开发者分析数据库各模块的所需要时间
可以从metric中查看各命中率

OS Watcher (OSW)系统性能监控软件

OS Watcher简称OSW,用于收集并归档操作系统cpu,memery,disk io等相关信息的工具,是oracle提供的,OSW内部是使用操作系统提供的命令来收集数据,它可以放在后台定期间隔一段时间自动收集,并可以设定数据保留时间

,

list files on a directory from oracle database into A temporary table

列出一个目录里的的文件名,插入一个临时表中 包加java的两种方式

dbms_scheduler 指定时间段 job 一例

dbms_scheduler 是从10g开始用来替换dbms_job,它除了调用procedure还可能调用os命令或无名pl/sql块,而且在调用上更灵活,下面一例

sqlplus -prelim option

Main purpose of preliminary connection is to access database structures ( SGA ) in case when normal connection does not work so you can collect dumps and hunganalyze information which will be used for troubleshooting and determining cause of your hung

sys临时修改其他未知用户密码 alter user identified by values ”

一篇说到如果anbob用户创建了job,但sys不知道他的密码,怎么样用anbob用户临时登录一下呢?
其实是可以的,需要先记录下当前密码的hash 值,修改为新的,用完以后再改回来,神不知鬼不觉,风险是anbob真实用户会在这段时间无法登录

怎样用sys改变、添加、删除其他人建立的dbms_job(ORA-23421&ORA-06512)

How to change a DBMS job owned by another user as user sys?

怎么样用sys删除本库中其他用户比如anbob建立的DBMS_JOB呢?默认在sys下dbms_job.remove其它人的JOB是不允许的

linux 快速定位alert 日志中出错信息

alert 日志记录了数据库的很多重要信息,要养成时常检查alert日志的习惯,但如果日志很大vi打开翻来覆去找着麻烦,怎么做的可以查错呢?

sqlplus copy 跨网段迁移数据

从生产库取一张表或一个查询结果集到本地测试库中,而且生产库与测试库无法直接连接,那就不再考虑dblink,不用exp,expdp, 有没有其它方法呢?