
Oracle
lxgks
这个作者很懒,什么都没留下…
展开
-
跟我学Oracle 10g系列之二(体系结构1)
先说一个非常重要的概念——系统改变号(System Change Number,简称SCN)系统改变号,一个由系统内部维护的序列号。当系统需要更新的时候自动增加,他是系统中维持数据的一致性和顺序恢复的重要标志。 SCN有如下特点: a. 查询语句不会使 SCN 增加,就算是同时发生的更新,数据库内部对应的 SCN 也是不同的。这样一来就保证了数据恢复时候的顺序。 b. 维持数据的一致性转载 2009-02-25 11:04:00 · 531 阅读 · 0 评论 -
集合——记录的数组和数组的记录
集合中的每一个条目是%ROWTYPE或相似的记录变量。给定这样一个集合,数据可能表示成两种结构:1、记录的数组(先创建一行,然后将其加入到列表中)2、数组的记录(创建多个列表,然后把它们连成一个记录)但应该使用哪种数据结构呢?回答此问题需要考虑两个方面:1、填充结构时能有多高效?2、从其中取出数据时效能有多高?下面我们来做一个测试(OS:sun 5.10, Oracle: 10.2.0)。首先创建一个包pkg,它包含两个过程:rec_of_array_test和array_of_rec_test。它们两个原创 2011-01-17 13:37:00 · 608 阅读 · 0 评论 -
何谓自治事务
<br />自治事务(autonomous transaction)允许你创建一个“事务中的事务”,它能独立于其父事务提交或回滚。利用自治事务,可以挂起当前执行的事务,开始一个新的事务,完成一些工作,然后提交或回滚,所有这些都不影响当前所执行的事务的状态。自治事务提供了一种pl/sql控制事务的新方法,可以用于:<br />1、顶层匿名块<br />2、本地(过程中的过程)、独立或打包的函数和过程<br />3、对象类型的方法<br />4、数据库触发器<br /> <br />自治事务又是如何工作的呢?下原创 2011-01-18 19:28:00 · 1066 阅读 · 0 评论 -
如何辨别同台机器多个客户端sql跟踪
经常会碰到客户端多个sqlplus连接oracle服务器,却不知道该如何判断哪个客户端对应哪个trace文件。其实自己之前也很迷茫。在对着文档深入看了v$session何v$process之后,一切问题都迎刃而解。环境:oracle服务器:sun os5.10,oracle 10.2.0客户端:xp,开启2个sqlplusw。开启客户端之后,在Solaris上ps -ef|grep ora一下,查看一下相关进程。-bash-3.00$ ps -ef | grep ora oracle 5301原创 2011-01-09 15:23:00 · 687 阅读 · 0 评论 -
Oracle的相关术语——段
1、 段Oracle中的段是占用磁盘物理空间的一个对象。尽管有多种段类型,常见的段类型如下:u 聚簇(cluster)这种段类型能存储表。有两种类型的聚簇:B*树聚簇和散列聚簇。聚簇通常用于存储多个表上的相关数据,将其“预连接”存储到同一个数据库块上;还可以用于存储一个表的相关信息。u 表(table)表段保存一个数据库表的数据,这可能是最常用的段原创 2010-01-01 13:27:00 · 741 阅读 · 0 评论 -
堆组织表(heap organized table)
Oracle中有很多类型的表,像堆组织表、索引组织表、索引聚簇表等等。首先,我将从最基本、最常用的堆组织表(heap organized table)介绍。通常我们默认建的表就是堆组织表。语法(详细语法请参见Oracle官方文档)如下:Create table test( Id int, Name varchar2(10)); 数据会以堆的方式管理,增加数据时,会使原创 2009-12-30 14:34:00 · 1754 阅读 · 0 评论 -
execute immediate 权限不够
最近在写存储过程的时候,老是碰到ORA-01031: insufficient privileges错误。上网search了一下,原来在procedure中建(删)表需要有create any table的权限,而且只认用户权限,不认角色权限。grant create any table to XXX; now, everything is ok!原创 2010-02-08 14:07:00 · 663 阅读 · 0 评论 -
Oracle DBA脚本管理工具2
1、查看数据库中的表锁脚本说明:这方面的语句的样式是很多的,各式一样,不过我认为这个是最实用的,不信你就用一下,无需多说,锁是每个DBA一定都涉及过的内容,当你相知道某个表被哪个session锁定了,你就用到了这个脚本。SELECT A.OWNER, A.OBJECT_NAME, B.XIDUSN, B.XIDSLOT, B.XIDSQN, B.SESSION_ID, B原创 2009-08-23 20:10:00 · 907 阅读 · 0 评论 -
Oracle DBA脚本管理工具1
在较长时间的与Oracle的交往中,每个DBA都有各种各样的完成各种用途的脚本工具,这样很方便很快捷的完成了日常的工作,下面把我常用的一部分展现给大家,此篇主要侧重于数据库管理,这些脚本都经过严格测试。 1、 表空间统计脚本说明:这是DBA最常用的一个脚本,用它可以显示出数据库中所有表空间的状态,如表空间的大小、已使用空间、使用的百分比、空闲空间数及现在表空间的最大块是多大。S原创 2009-08-23 08:38:00 · 706 阅读 · 0 评论 -
跟我学Oracle 10g系列之三(Oracle的启动方式)
每当一个Oracle数据库启动时,它都经历一系列步骤来保证数据库一致性。当一个数据库启动时,它经历三个模式:NOMOUNT、MOUNT和OPEN。STARTUP NOMOUNT选项:STARTUP NOMOUNT选项启动实例,但不安装数据库。当数据库以这个模式启动时,参数文件被读取;后台进程和内存结构被启动;但它们不被附加或与数据库的磁盘结构进行通信。当实例处于这个状态时,数据库是不可使用的。原创 2009-02-28 09:18:00 · 401 阅读 · 0 评论 -
跟我学Oracle 10g系列之二(体系结构2)
Oracle的逻辑结构Oracle数据库的逻辑结构组成如左图。表空间是数据库中的基本逻辑结构,一系列数据文件的集合。一个表空间可以包含多个数据文件,但是一个数据文件只能属于一个表空间。 段是对象在数据库中实际占用的物理空间,虽然段和数据库对象是一一对应的,但段是从数据库存储的角度来看的。一个段只能属于一个表空间,当然一个表空间可以有多个段。 表空间和数据文件是物理存储上原创 2009-02-26 09:48:00 · 476 阅读 · 0 评论 -
跟我学Oracle 10g系列之一(理解实例)
作为执业界数十年之牛耳,作为一个计算机方面的从业人员,还是非常有必要学习Oracle数据库的。Oracle体系非常庞大和复杂,内容极其繁多,从程序开发到DBA,都有庞大的内容等着你去学。本人对管理比较感兴趣,所以写的一些东西都是靠管理的:)Oracle是一个可移植的数据库——它在相关的每一个平台上都可以使用,即所谓的跨平台特性。在不同的操作系统上也略有差别,如在 UNIX/LINUX 上,原创 2009-02-23 16:48:00 · 415 阅读 · 0 评论 -
执行计划——DBA的恨,开发人员的伤
一直以来,DBA对开发人员指责最多的便是对执行计划的忽视。而开发人员对此的回击也很犀利:我只需要保证业务逻辑的正确执行,至于性能优化?那是DBA的事(DBA恨的牙痒痒~)。似乎这也成了很多开发人员的共识。作为一个开发团队,DBA和开发人员是一个密不可分的整体。只有精诚合作,才能让系统更加健壮,更加稳定,性能更加出色。通常来说,DBA比开发人员更加了解数据库,并且知道数据库如何工作。当然,开发人员比DBA更加了解软件开发。似乎这正说明了二者的工作职责。只是,很多时候,作为一个团队,DBA和开发人员却各自埋头苦原创 2011-02-20 15:12:00 · 799 阅读 · 0 评论