> 文章列表 / Page 321

2009-08-30

oracle express介绍

Oracle express 不是一种新型火车也不是一种新型的邮递服务。Oracle express是个多维的数据库和应用程序环境,这个应用程序环境是用来构建OLAP应用程序的。Express的组件(或者OLAP选项)是维(多维部分中的一部分)和变量。维是在Express数据库中分解出的逻辑单元。维是数据库的核心单元,它更像数据仓库表格的数维或者逻辑表达式的限制子句。product=TevaSandals,gender=male或者date_of_birth介于某个日期范围都是这样的字句示例。 变量是在Express数据库中包含数据的对象。这些变量不比用维描述的值(类似数据仓库的值,它的典型值是数字)的数组更重要。把这个数组的概念扩展一下,就可以把它看做表。把销售的变量看做维,可能就是Product ,Sales_District和Sales_dt_time。3个成为维的变量经常被称作数据立方体。 对Express数据库来说,具有多个变量,每个变量又是多维的情况并不常见(类似事件的一些维数通常是多个变量,而某些维对于变量是唯一的)。 Express数据库中的数据以这种多维方式存储,而不是典型的数据库结构,甚至以关系对象结构存储,因为这样会使用户处理回答他们业务问题的信息更快。因为业务经常需要以这种方式切片和切块数据,这就是他是OLAP数据库的原因。这种方式与那些在一般数据库中支持的方式是不同的。 Express有两个为支持无限制用户数而设计的功能。Express服务器为更大的应用程序而设计,它是个多维的数据储存器。Express服务器经常与已存在的数据仓库一起使用,或者作为一个功能全面的数据仓库的前身。根据需要,Express Server可替代数据仓库。Personal Express 是单用户的Express Server ,它由对数据做OLAP分析的个人使用,这样就不需要花费更大的代价和时间去执行一个功能全面的组织数据仓库。 还有很多这样的工具,他们作为Express服务器数据库产品的附加工具。Express Analyzer 是用来生成报告和分析Express服务器的工具。Express Objects 是支持开发Express数据库应用程序的OO工具。也可使用Express Web…
#POST 3 MIN READ
2009-08-27

RMAN 内存利用介绍: PGA 以及SGA

在磁盘上的备份会使用PGA内存空间作为备份缓冲区,PGA内存空间从用于通道进程的内存空间中分配。如果操作系统没有配置本地异步I/O,可以利用DBWR_IO_SLAVES参数使用I/O从属来填充内存中的输出缓冲区。如果设置DBWR_IO_SLAVES参数为任意的非零值,RMAN会自动分配4个I/O从属来协调缓冲区内存中数据块加载。为了实现这一功能,RMAN必须利用一个共享内存区域。因此,用于磁盘备份的内存缓冲区会被推入共享池,如果存在Large池,则被推入large池。 如果没有使用磁带I/O从属,会在PGA中分配用于磁带输出缓冲区的内存。设置init.ora参数BACKUP_TAPE_IO_SLAVES=TURE,可以使用磁带I/O从属,必要时还可以在服务器参数文件(spfile)中动态设置该参数。BACKUP_TAPE_IO_SLAVES参数设置为TRUE时,RMAN会为每个通道创建一个从属进程来帮助备份工作。为了协调这一功能,RMAN会将内存分配推入SGA。 Oracle SGA中的Large池 Large池是Oracle内存空间的SGA中的一个特定区域。使用init.ora或SPFILE文件中的LARGE_POOL_SIZE参数可以设置large池,这个参数值被指定为一个字节数。对于某些需要共享空间且涉及共享池中常见操作的内存可以利用large池。占用large池的主要限于RMAN内存缓冲区(如果使用了I/O从属)和用于共享服务器。Large池又是用于java连接,如果PARALLEL_AUTOMATIC_TUNING (10g中不再使用)被设置为TRUE, large池还会包括并行查询从属(parallel query slave) 实际上,我们不一定需要large池。如果没有large池,所有可能占用large池的会简单地使用共享池中的空间。这不是世界末日,但是最好将RMAN缓冲区分到PGA中他们自己独立的空间中。这样以来,SQL和PL/SQL分析以及其他普通操作的共享池操作不会受到RMAN备份的影响。反之亦然,此外还可以更方便,更直接地调整RMAN的Oracle内存空间。 如果配置了任一种I/O从属选项并且没有配置large池,则会从SGA的共享池区中分配内存。如果没有配置large池却又要使用I/O从属,我们建议最好创建一个large池,这个large池的大小基于备份分配的通道总数(加上1MB用于开销)。 如果在磁带上做备份,就需要使用一个Media Management Server(介质管理服务器)产品。如果从与目标数据库相同的系统运行Media Manager(介质管理器),磁带子系统会需要额外的系统资源。调整备份时一定要考虑到这个因素。
#POST 3 MIN READ
2009-08-27

AIX操作系统启动详细介绍

RS/6000的引导检测过程与机型有一定关系,这里介绍大多数机型共同的启动过程,可以选择不同的系统运行模式:可以从磁带或CD-ROM引导系统进入到维护模式(单用户模式);也可以从硬盘引导系统进入到维护模式(单用户模式)或正常模式(多用户模式);还可以进入到系统管理维护(System Management Services,简写SMS),在其中可以修改系统引导设备列表。 系统的启动分为硬件初始化阶段和AIX核心初始化阶段,硬件初始化阶段称为ROS IPL(Read Only Storage Initial Program Load),基于MCA(Micro Channel Architecture ,即微通道结构)的经典RS/6000和PCI的RS/6000在硬件初始化阶段存在很大的差别,进行硬件初始化时,机器前面板的LCD或LED上显示着数字代码,这些数字表示初始化系统的进度,当系统初始化出现故障时,用户可以根据这个代码来确定错误的原因。当机器硬件检测完成之后,它就会从引导设备上加载软件,正常情况下会从硬盘引导BOS,完成AIX核心初始化后,启动系统的初始化进程/etc/init,而init依据文件/etc/inittab的内容启动其他系统进程。 要关闭AIX操作系统,必须执行关机命令,关机命令会终止系统中正在执行的进程,甚至使机器自动下电。停止机器运行的命令有shutdown,halt和reboot等,一般情况下使用shutdown命令式比较安全的。 系统引导概述 系统引导过程依赖于所使用的硬件平台。最初的硬件引导阶段,MCA机器和PCI机器存在着很大的差别,这些差别使得硬件引导的方法有所不同。系统引导的模式分为Normal(正常)模式和Service(维护)模式,因而,也存在两种不同的引导设备列表,即正常模式引导列表和维护模式引导列表。由于MCA系统和PCI系统的差别,选择这两种引导模式及其列表的方法也不同。 完成硬件引导之后,就进入软件引导阶段。在软件引导阶段,MCA机器和PCI机器的操作系统引导过程完全一样。无论是硬件问题,还是软件问题都能终止系统的引导,引导问题是比较常见的问题,熟悉系统的引导过程对解决引导问题是至关重要的。 一般的引导过程 一般的引导过程,如图所示。 在机器加电启动时,首先检查机器的硬件,确定主要的硬件是否能够正常工作。对于经典的RS/6000机器(MCA结构的系统),这个阶段分为两个独立的阶段:内置设备自检(Build-In…
#POST 10 MIN READ
2009-08-26

部分行索引使用介绍

函数索引是Oracle索引中比较特殊的,我们这里讨论函数索引中部分行索引的使用。 部分行索引顾名思义仅就表中的一部分记录做索引,请看代码示例: drop table test; create table test  (t1 int, t2 char(1)); declare i int :=0; begin while i<100000 loop…
#POST 3 MIN READ
2009-08-26

autotrace在绑定变量情况下不准确的问题

通常我们在检验SQL执行计划时采用autotrace的方法,但autotrace本身存在许多不准确的情况。 以下为一个例子: SQL> create table test(t1 int, t2 char(200)); 表已创建。 SQL> create index ind_t2 on test(t2); 索引已创建。 SQL> insert into…
#POST 2 MIN READ
2009-08-25

关于RAC中监听配置IP=FIRST的说明

为RAC自动配置的监听器(listener)一般都可以看到使用了IP=FIRST选项,以使得监听在所给出主机名的相关ip端点。默认情况下不使用IP=FIRST选项,监听器总是在所有该主机的网络接口上监听(listen)。 从8i开始,监听器在绑定Ip地址的方式已经改变。一般的规则是“在指定主机上监听所有端口(listen on all interfaces if a hostname is specified)。然而这仅在大多数情况下准确,在某些特定情况监听器可能并非如此表现。 你可能需要强制监听器仅绑定到特定的IP地址(即便在指定主机名的情况下),通过在监听配置文件LISTENER.ORA中配置IP=FIRST语句。 由于监听绑定端点对于数据库实例注册到监听尤为重要,所以我们有必要了解监听器具体如何决定绑定到TCP端点(endpoint)的算法。 常规算法 你可以尝试使用以下模式解释监听器如何绑定到TCP协议地址的表现: (1) 如果你提供一个IP 地址,则监听器始终在该IP地址上监听。 (2) 若你提供一个主机名: (a)…
#POST 3 MIN READ
2009-08-25

Rman 备份检验功能

RMAN 中 “backup validate database”  语法可以用来扫描数据库中的物理错误,实际验证期间并不产生备份集。 如果需要更多的错误检查,可以使用backup 命令的check logical 选项来配置备份执行逻辑讹误检查,示例如下: backup validate check logical database; 示例中RMAN 仅执行逻辑数据库验证操作,而不产生实际备份集。 需要注意如果要在给定的错误数内仍然继续执行备份,需设置maxcorrupt 参数值。如下: run…
#POST 1 MIN READ
2009-08-17

09年博客迁移:Amd 将在9月10日推出基于 DirectX11的显卡

根据在今年QuakeCon上泄露的幻灯片显示,AMD准备在下个月推出其产品家族中新一代支持DirectX 11的显卡。实际上在几天前AMD公司已经向一些幸运的家伙展示了这一新产品。 到目前为止许多细节仍不为人们所知晓,但无论如何,AMD将会是第一个提供支持DX11显卡产品的硬件商,在NVIDIA将在今年第四季度或明年初正式推出他们的产品。
#POST 1 MIN READ
2009-08-16

约束条件对于查询优化的作用

约束条件对于查询优化至关重要。 许多人仅仅认识到约束是为了保证数据的完整性,当然这也是对的。 但约束同事也会被优化器利用以便决定最优执行计划。 优化器使用以下数据作为输入变量: 1. 查询语句 2. 所有可用的数据库对象统计值 3. 系统统计值,可能存在的如CPU速度,单块物理读的速度,以及一系列硬件指标 4. 数据库初始化参数 (parameters) 优化器使用所有这些信息以便决定最好的查询方式。我常常遇到人们在数据仓库或报表系统中避免使用约束。 “或许他们不需要约束以保持数据完整性,但他们确实需要约束以获取最优执行计划。数据仓库中糟糕的执行计划 可能执行数个小时乃至于数天。由于性能考量,数据仓库同样需要约束! 让我来看一些例子(使用11gr1,11.1.0.7)。第一个例子是分区排除,该特性自版本7.3时引入。 在代码演示1中,我们建立2个表包括互斥的数据以及一个合并(UNION ALL)它们的视图。 代码演示1:…
#POST 7 MIN READ