posted @ 2007-06-20 10:21 徐正柱- 阅读(456) 评论(0) 推荐(0)
摘要:
Oracle实例的进程结构这里所讲的里程是指Unix系统中的进程,在Windows中,Oracle是一个操作系统服务。 Oracle实例由内存区域和后台进程组成。 Oracle实例分为单进程实例(一个进程执行全部的Oracle代码,只允许单个用户存取)和多进程实例(由多个进程执行Oracle代码的不同部分,对于每一个连接的用户都有一个进程,允许多个用户同时使用)。 在多进程结构中,除服务器进程(请注意,此“服务器进程”不是指所有的实例中的进程,见下面的说明)外,还有其他后台进程,包括:Dnnn,DBWR,LGWR,ARCH,PMON,SMON,CKPT,RECO等。在数据库启动后,这些进... 阅读全文
摘要:
内存结构与动态内存管理内存是影响数据库性能的重要因素。 oracle8i使用静态内存管理,即,SGA内是预先在参数中配置好的,数据库启动时就按这些配置来进行内在分配,oracle10g引入了动态内存管理,即在数据库运行过程中,内存大小可以在线修改与自动配置。 oracle数据库的内存可以分为:系统全局区、程序全局区、排序区、大池、java池。一、系统全局区(SGA) 系统全局区的数据被多个用户共享。当数据库实例启动时,系统全局区内存被自动分配。SGA按作用的不同,又分为:数据缓冲区、日志缓冲区、共享池。1.数据缓冲区 数据缓冲区用于存储从磁盘数据文件中读入的数据,供所有用户共享。修改、插... 阅读全文
posted @ 2007-06-20 10:19 徐正柱- 阅读(424) 评论(0) 推荐(0)
摘要:
逻辑结构oracle的逻辑结构包括表空间(tablespace),段(segment),数据块(data block)以及模式对象(schema)。 oracle数据库在逻辑上是由多个表空间组成的,表空间在物理上包含一个或多个数据文件。而数据文件大小是块大小的整数倍;表空间中存储的对象叫段,比如数据段,索引段,和回退段。段由区组成,区是磁盘分配的最小单位。段的增大是通过增加区的个数来实现的。每个区的大小是数据块大小的整数倍,区的大小可以不相同;数据块是数据库中最小的I/O单位,同时也是内存数据缓冲区的单位,及数据文件存储空间单位。块的大小由参数DB_BLOCK_SIZE设置,其值应设置为操作系 阅读全文
posted @ 2007-06-20 10:19 徐正柱- 阅读(305) 评论(0) 推荐(0)
摘要:
oracle物理结构在一个服务器中,每一个运行的数据库都有一个数据库实例(instancename)相联系。数据库启动时,系统首先在服务器内存中分配系统全局区(SGA),即构成了oracle的内存结构。然后启动若干个常驻内存的操作系统进程,即组成了oracle的进程结构。除此之外,还有数据库的物理与逻辑结构。数据库体系统结构图可以参考第一篇。在接下来的篇幅中将分五篇来详细说明oracle数据库的体系结构。 oracle物理结构oracle逻辑结构oracle内存结构oracle进程结构oracle连接配置结构 因为我的学习路线与学任何东西一样,分四个阶段,先需了解总体结构和原理,然后再进一.. 阅读全文
posted @ 2007-06-20 10:18 徐正柱- 阅读(792) 评论(0) 推荐(0)
摘要:
数据库名、实例名、ORACLE_SID、数据库域名、全局数据库名、服务名数据库名、实例名、数据库域名、全局数据库名、服务名 ,这是几个令很多初学者容易混淆的概念。相信很多初学者都与我一样被标题上这些个概念搞得一头雾水。我们现在就来把它们弄个明白。 一、数据库名什么是数据库名?实例是内存结构和后台服务的集合,一个数据库可以有多个实例,一个实例只能对应一个数据库,实例在自己的内存结构里通过后台进程处理数据库的数据.数据库名就是一个数据库的标识,就像人的身份证号一样。他用参数DB_NAME表示,如果一台机器上装了多全数据库,那么每一个数据库都有一个数据库名。在数据库安装或创建完成之后,参数DB_NA 阅读全文
posted @ 2007-06-20 10:16 徐正柱- 阅读(624) 评论(0) 推荐(0)
摘要:
关于SYS用户的验证 SYS用户是Oracle中权限最高的用户,而SYSTEM是一个用于数据库管理的用户。在数据库安装完之后,应立即修改SYS,SYSTEM这两个用户的口令,以保证数据库的安全。可以用三种方法修改口令:sqlplus / as sysdba;1.sql> alter user sys identified by 111112.sql>grant connect to sys id... 阅读全文
posted @ 2007-06-20 10:16 徐正柱- 阅读(602) 评论(1) 推荐(0)
摘要:
对于开发人员来说,我们经常做的是启动一个事务,执行SQL,提交事务。这就完成了我们的工作。但是,就在这些简单的动作背后,网络和数据库都做了些什么呢。我们都想知道。 下面以一个实例来说明。背景:用户正运行一个连接到Oracle数据库的客户端应用程序,是一个员工档案管理程序。过程:1.用户修改了一笔员工档案记录的姓名,并单击了“保存”,这时客户端应用程序通过网络向Oracle服务器进程发送了一条SQL UPDATE语句;(注:关于客户与服务器的如何连接的过程,将另起篇幅说明。将会涉及到:Oracle Net组件、MTS、监听器、Dispatcher等概念)2.服务器进程收到UPDATE语句请求以后 阅读全文
posted @ 2007-06-20 10:14 徐正柱- 阅读(270) 评论(0) 推荐(0)
摘要:
抽象工厂(Abstract Factory)模式是将工厂和产品全部抽象化,一个抽象工厂生成一组抽象产品,而一个具体工厂则生成具体产品的一个特定组合。它能够维持这种相关对象组合的一致性,并使得用户不需要了解工厂和产品的具体实现。 泛型不仅能用来做容器,还能够提供代码复用的... 阅读全文
posted @ 2007-06-20 10:13 徐正柱- 阅读(775) 评论(0) 推荐(0)
摘要:
①为什么要使用存储过程?因为它比SQL语句执行快. ②存储过程是什么?把一堆SQL语句罗在一起,还可以根据条件执行不通SQL语句.(AX写作本文时观点) ③来一个最简单的存储过程CREATE PROCEDURE dbo.testProcedure_AXASselect userID from USERS order by userid desc 注:dbo.testProcedure_AX是你... 阅读全文
posted @ 2007-06-20 10:12 徐正柱- 阅读(336) 评论(0) 推荐(0)
摘要:
如何通过反射,从DataReader将数据填充到数据实体泛型集合的静态方法. //Kchen.Core.BaseBusinessObject为通用数据实体类,此处仅为限定T所继承的类型 public static IList FillDataListGeneric(System.Data.IDataReader reader) where T : Kchen.Core.Base... 阅读全文
posted @ 2007-06-20 10:12 徐正柱- 阅读(827) 评论(0) 推荐(0)