随笔分类 - Oracle / 数据库
摘要:本文内容 服务器环境 客户端环境 概述 启动数据库 关闭数据库 补充 参考资料 本文说明 Oracle 数据库的启动和关闭,内容虽然基础,但是在数据库很多操作中都需要,因此,基础而重要,必须深入理解。比如,何种情况应该使用何种数据库加载模式,以及数据库文件打开模式。 服务器环境 Windows 2003 R2 ...
阅读全文
摘要:08年做项目时,用 VS 2005,写据库层还在用 MSDP(System.Data.OracleClient),但是当时由于要操作 XML 和二进制文件,所以又使用了 ODP.NET(Oracle.DataAccess.dll)。那时的第一感觉就是——ODP 好用,于是进一步查了点资料,最关键是 ODP.NET 是否稳定,效率如何。总之,ODP 的功能要比 MSDP 更强大。那之后再做项目,就全部改用 ODP.NET。 本文内容 Microsoft 观点 Oracle 观点 总结 参考资料 微软观点 Microsoft .NET ...
阅读全文
摘要:AWR 报告的“Load profile”节,如下图所示,包含很多极为有用,却被经常忽视的信息。通常更倾向使用“instance efficiency percentages”节,虽然可读性好,但很容易产生误解。 Per Second Per Transaction Per Exec Per Call ...
阅读全文
摘要:本文内容 软件环境 演示报告关于当前数据库环境的信息 软件环境 Windows Server 2008 R2 Oracle 11g Release 1 (11.1) 演示报告关于当前数据库环境的信息 SQL> set termout off SQL> store set store rep 已写入 ...
阅读全文
摘要:本文内容 软件环境 演示将数字转换成英文拼写 软件环境 Windows Server 2008 R2 Oracle 11g Release 1 (11.1) 演示将数字转换成英文拼写 SQL> select decode(sign(&num), -1, 'Negative ', 0, 'Zero', NULL) || 2 decode(sign(abs(&num)), +1, to_char(to_date(abs(&num), 'J'), 'Jsp')) 3 fro...
阅读全文
摘要:本文内容 软件环境 Oracle SCOTT 用户 从表选择第N大的值 从表选择第N小的值 软件环境 Windows Server 2008 R2 Oracle 11g Release 1 (11.1) Oracle SCOTT 用户 本文使用 SCOTT 用户的 EMP 表。内容如下: SQL> select empno,ename,sal 2 from emp 3 order by sal desc; EMPNO ENAME S...
阅读全文
摘要:原文地址:http://www.mysqlops.com/2013/04/09/dba-which-product.html 2013-4-9 真正的喜好或说兴趣,是推动人不断进步的最大内驱动力,会促使你不知疲倦地努力学习和工作。 1)基础知识 不管你选择哪种数据库产品,有些基础理论知识必须扎实,尤其是,数据库系统概论、Linux 操作系统、SQL 标准语言、数据结构(重点排序算法)...
阅读全文
摘要:当访问频率非常高的数据块称为热块(hot block),当很多用户一起去访问某几个数据块时,就会导致一些 Latch 争用。最常见 Latch 争用是: buffer busy waits cache buffer chain 这两个 Latch 争用分别发生在访问数据块的不同时刻。 当一个会话需要去访问一个内存块时,它首先要去一个像链表的结构中去检索这个数据块是否存在在内...
阅读全文
摘要:本文内容 remove_constants 函数 测试环境 测试共享池中是否存在绑定变量的 SQL remove_constants 函数 确定系统中是否存在绑定变量的情况,ASKTOM 网站提供了一个 remove_constants 函数,以检查共享池中 SQL 的运行情况。 SQL> CREATE OR REPLACE FUNCTI...
阅读全文
摘要:本文内容 Latch 和等待 共享池中的 Latch 争用 Latch 和等待 假设,一个数据块正在被一个会话从磁盘中读如到内存中,请注意,是正在读取中,此时,如果另外一个会话也正需要这个数据块,他该怎么办? 此时,丈等待这个数据块被读取到内存中,这样就可以只有一个数据块在内存中,不会导致数据的不一致性。那么,正在读取数据块的会话如何能阻止别的会...
阅读全文
摘要:会话 session 1: SQL> select distinct sid from v$mystat; SID ---------- 145 SQL> create table t as select rownum id from dba_users; 表已创建。若修改 id>10 的记录: SQL> select * from t where id>10 for update; ID ---------- 11 ...
阅读全文
摘要:本文内容 软件环境 简单演示 Oracle 数据库并发导致段级锁(表级锁) 本文简单演示并发导致的行级锁。并发是两个以上的用户对同样的数据进行修改(包括插入、删除和修改)。锁的产生是因为并发。没有并发,就没有锁。并发的产生是因为系统需要,系统需要是因为用户需要。 软件环境 Windows 2003 Server Oracle 11g Release 1 (11.1) 简单演示 Oracle 数据库并发导致段级锁(表级锁) 首先,打开一个回话 session 1: SQL> select distinct sid...
阅读全文
摘要:本文内容 软件环境 简单演示 Oracle 数据库并发导致行级锁 本文简单演示并发导致的行级锁。并发是两个以上的用户对同样的数据进行修改(包括插入、删除和修改)。锁的产生是因为并发。没有并发,就没有锁。并发的产生是因为系统需要,系统需要是因为用户需要。 软件环境 Windows 2003 Server Oracle 11g Release 1 (11.1) 简单演示 Oracle 数据库并发导致行级锁 首先,打开一个会话 session 1,执行如下操作: SQL> select distinct...
阅读全文
摘要:本文内容 Data Guard 结构 RAC 结构 RMAN + 归档的方式 数据导出方式(EXP/IMP、EXPDP/IMPDP) 本文主要描述 Oracle 数据库保障数据安全的备份技术。像通常所说的冷备份、热备份、导出/导入这些只是备份方式而已,它们不是重点,任何人都能想到,关键是用什么技术来做到这些。 Data Guard 结构 ...
阅读全文
摘要:Oracle 11g Release 1 (11.1) 表空间——创建和扩展永久表空间 (2012-07-15 16:48) Oracle 11g Release 1 (11.1) 表空间——简单管理永久表空间 (2012-07-14 17:22)
阅读全文
摘要:一般观点认为,Bitmap 索引更适合具有较低不重复(distinct)值的列——如性别、状态和关系。然而,这个假设并不完全。实际中,Bitmap 索引对系统有个建议,数据不会被很多并发系统频繁更新(不希望数据被系统频繁更新)。事实上,我想说,一个具有 100% 唯一值(unique values)列(该列可以作为主键)上的 Bitmap 索引具有与 B-tree 索引同样的效率。 本文,我将提供一些例子和执行计划,这些例子有两种索引类型,以及低基数列和高基数列。这些例子将帮助 DBA 理解 Bitmap 索引的使用并不是基数依赖,而是应用依赖。 另外,本文是基于一篇 2005 年的...
阅读全文
摘要:Oracle 索引的数据结构 (2012-11-15 00:17) 关于 Oracle 索引 (2012-11-17 16:34) Oracle Bitmap 索引结构、如何存储及其优势 (2012-11-18 17:36) Oracle B-tree 索引结构、如何存储及其优势 (2012-11-17 23:36) Oracle 比较 B-tree 和 Bitmap 索引 (2012-11-08 00:29) Bitmap 索引 vs. B-tree 索引:如何选择以...
阅读全文
摘要:本文内容 数据泵与传统的 IMP/EXP 工具的区别 开始使用 datapump 导出 创建数据库目录 再次尝试导出 导入另一个数据库 网络导入 从 PL/SQL 调用 Oracle 11g Release 1 (11.1) Data Pump 导出和导入概述 Oracle 11g Release 1 (11.1) Data Pump 导出和导入模式 参考资料 修改记录 导出/导入是逻辑备份,用于数据迁移,不能跟冷备份和热备份相比。 从 Oracle 10 g 开始,Oracle 引入了一...
阅读全文
摘要:使用明确、统一的表名和列名,例如 School、SchoolCourse、CourceID。表名使用单数,而不是复数,例如 StudentCourse,而不是 StudentCourses。表名不要使用空格。表名不要使用多余的前缀或后缀,例如使用 School,而不是 TblSchool,或者 SchoolTable 等等。数据库中的密码要加密,到应用中再解密。其实就是散列存储、单向加密。使用整数作为 ID 字段,也许现在没必要,但是将来需要,例如关联表,索引等等。使用整数字段做索引,否则会带来很大的性能问题 。使用 bit 作为布尔字段,使用整数或者varcha是浪费。同时,这类字段应该以“
阅读全文
摘要:http://docs.oracle.com/cd/B28359_01/server.111/b28318/schema.htm#i7495 本文内容 针对数据仓库应用程序的好处(Data Warehousing Applications) 基数(Cardinality) Bitmap 索引示例 Bitmap 索引和 Nulls 分区表上的 Bitmap 索引 参考资料 索引的目的是,提供在表中指向包含一个给定键值的数据行。常规索引的实现是,为每个键存储一个对应这些键值数据航的 rowid 列表。Oracle 数据库反复地用已存储的 ro...
阅读全文