oracle 11g r2 新建空表不分配semgent

11g r2默认是使用segment creation deferred建立,新建的无记录表不分配sement,当insert 第一条记录时分配段空间,不会因truncate而回收,并且在sys schema里不支持

oracle 找出没有记录的空表(zero rows tables)

oracle 11g以前,建立空表也会分配段占用磁盘空间,如果查出库中所有没有记录的空表呢?呵今天无意间发现一怪语法

虚拟机linux RHEL5 RAW 配置 ORACLE ASM instance

ASM 管理表明了oracle 进军存储的矛头,oracle 内核把文件系统与卷管理的垂直整合,数据分配到所有的磁盘分布存储,自动负载均衡,随着数据的爆增与磁盘无限的增加、大量的文件名给ORACLE数据库管理带来了挑战,为了减轻你的任务,它诞生了,就是ASM…

Tuning enq: TM – contention with foreign key (外键引起的队列)

通常会发生此事件的等待,因为包含外键约束的列上缺少索引。 在这种情况下,Oracle在DELETE,INSERT和UPDATE语句期间被迫在子表上获取TM锁。..

, ,

oracle 批量插入photo(图片)到数据库blob

今天早上一来发现昨网kk,给留言说试一下把图像导入oracle数据库,下面试验一把
因为文件名如果没有规律,不用开发语言实现有点麻烦,所以前规范化图像文件名,linux下按序列重命名文件

虚拟机ORACLE10G Data Guard(DG) Physical Standby Database

今天小测了一下10g的physical DG,参考首选官方文档
dgsource :192.168.1.100
dgtarget:192.168.1.245

oracle password file(口令文件) 文件名格式重要性

今天测试dg,用sys +tnsnames 中指定别名文件远程服务怎么也连不上,ORA-01031: insufficient privileges

查看oracle10g官方文档没发现这个格式问题(可能是我大意了),orapwd file的格式是有限制的,

oracle 禁用表的DDL 实现真正的READ ONLY

1,只读表空间可不可以后来创建表
2,只读表空间里先创建的表能不能删除
3,read only 是不是只禁用dml?

ORACLE远程DMP备份策略

ORACLE加WIN计划任务实现ORACLE数据的定时压缩包形式备份。

ORACLE透明网关使用-实践后可用

网络上很多份关于透明网关的资料。但是真正通过实践能够配置成功,目前只发现了这一份。
实践出真知!

oracle11g Expdp COMPRESSION(数据泵压缩增强)

今天看oracle11g新特性发现宣称11G,用了新的zlib算法在压缩上改变很多,可以比oracle10g压缩算法快40%,空间减少20%,准不准不先不说,测试看应用有什么变化吧…

oracle11g add default values columns(增加默认值列的改进)

oracle 11G 对 现有表增加指定默认值列方式发生了很大变化,无论是存储方式上,还是效率上,下面看一个简单的实验

oracle11g掩盖敏感数据(remap_data)

不知道你有没有遇到过开发的需求导一份生产库的数据到测试库,但库表中有敏感信息如手机、身份证号等等等等,如果你全部把真实的数据给他们是不是太不负责人了(当然很多都这么做了),少导列可能会影响测试准确性,最好是用其它掩码覆盖…

,

BLOB select、insert、exp with sqlplus

SQL> create table testblob(id int,comm blob);

Table created.

ORA-06502: PL/SQL: numeric or value error: character string buffer too small

ERROR at line 1:
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
ORA-06512: at “WMSYS.WM_CONCAT_IMPL”, line 30

DML error capture (捕获DML错误日志)

今天发现用dbms_errlog可以捕获错误日志,很给力,直接看实验
[oracle@orazhang ~]$ sqlplus anbob/anbob

fast delete, Best practice on Very large table

Today I read foreign blog,I think I learned the true knowledge
One of most operations we are performing is “Deleting many rows from oracle big tables” ;

利用rowid快速在线更新海量数据

declare
maxrows number default 1000;
row_id_table dbms_sql.Urowid_Table;
currcount_table dbms_sql.number_Table;
cursor cur_t2 is….

trigger一点儿小发现new or :new、ORA-04091

If you delete the line “FOR EACH ROW” from the trigger, it becomes a statement trigger which is not subject to this restriction, and the trigger.

Backups to tape can only be backup sets. use rman

By default, RMAN creates all backups as backup sets, on tape or on disk. You can change the default backup type for disk backups to be image copies using the CONFIGURE command. Backups to tape can only be backup sets.