选择特殊符号
选择搜索类型
请输入搜索
《ORACLE数据库技术实用详解》是由韩思捷编著的计算机应用技术类书籍;该书由电子工业出版社于2008年出版发行。全书共21章,系统全面地介绍了Oracle10g数据库的结构、管理和优化,内容涵盖整个10gOCP的考试范围,包括Oracle10g数据库的体系架构、存储结构、网络服务、备份与恢复、闪回(flashback)管理、资源管理、调度管理、自动存储管理(ASM)、自动化性能监控与调优等;既着重介绍了在实际工作中需要用到的管理知识,又兼顾了OCP考试所涉及的考点。
一般是按照 版本/CPU数/用户数 来进行授权的。几万到几十万不等,具体价格要联系经销商。这里的价格供参考:http://product.pcpop.com/data_base/
一般是按照 版本/CPU数/用户数 来进行授权的。几万到几十万不等,具体价格要联系经销商。
咨询 支持Java web端针对用户的自定义报表工具 数据库为Oracle 谢谢
Jaspersoft ---- > ireport
ORACLE数据库在大H型钢轧线二级系统中的应用
该文阐述了ORACLE数据库的特点及其访问方式,并介绍了ORACLE数据库及其所带的Form,Reports在开发大H型钢轧线二级系统中的应用。
ORACLE数据库系统可靠性研究 ——基于应用的数据库系统健壮性测量
随着全球信息技术的不断快速发展,在社会中的到广泛应用的就是软件系统,这些软件系统都是基于数据库系统所研制出的.软件系统在不同的领域中会有不同的关键系统,如果系统出现问题,严重就会给企业带来巨大的经济损失.软件的健壮性是衡量软件质量的重要指标,软件在异常输入以及异常情况中,系统就会发生一系列的健壮性问题.
Oracle一直致力于全文检索技术的研究,当Oracle9i Rlease2发布之时,Oracle数据库的全文检索技术已经非常完美,Oracle Text使Oracle9i具备了强大的文本检索能力和智能化的文本管理能力。Oracle Text是Oracle9i采用的新名称,在Oracle8/8i中它被称作Oracle interMedia Text,在Oracle8以前它的名称是Oracle ConText Cartridge。使用Oracle9i和Oracle Text,可以方便而有效地利用标准的SQL工具来构建基于文本的新的开发工具或对现有应用程序进行扩展。应用程序开发人员可以在任何使用文本的Oracle数据库应用程序中充分利用Oracle Text搜索,应用范围可以是现有应用程序中可搜索的注释字段,也可是实现涉及多种文档格式和复杂搜索标准的大型文档管理系统。Oracle Text支持Oracle数据库所支持的大多数语言的基本全文搜索功能。本文将介绍如何使用Oracle9i的全文检索技术来为自己的应用提供一个优秀的解决方案。
这里先给出一个简单示例说利用Oracle Text实现全文检索的方法与步骤,在后面在进行具体的说明。Orcale9i提供了Oracle Text Manager可以简化许多工作,所有在Oracle Text Manager中完成的工作,都可以在通过PL/SQL来实现。要使用Oracle Text,必须具有CTXAPP角色或者是CTXSYS用户。Oracle Text为系统管理员提供CTXSYS用户,为应用程序开发人员提供CTXAPP角色。
CTXSYS用户可执行以下任务:启动Oracle Text服务器,执行CTXAPP角色的所有任务。
具有CTXAPP角色的用户可执行以下任务:创建索引,管理 Oracle Text 数据字典,包括创建和删除首选项,进行Oracle Text 查询,使用 Oracle Text PL/SQL程序包。
使用Oracle Text的步骤:
⑴创建表来保存某些文档。该示例使用一个主关键字列来标识每个文档,使用一个小的VARCHAR2列来保存每个文档。
CREATE TABLE docs (id NUMBER PRIMARY KEY,text VARCHAR2(80));
⑵将两个示例文档置入该表:
INSERT INTO docs VALUES (1,'the first doc');
INSERT INTO docs VALUES (2,'the second doc');
COMMIT;
⑶使用Oracle Text Manager来创建和修改首选项,首选项将与索引相关联。
⑷使用Oracle Text Manager创建文本索引。另外,可以输入以下使用默认首选项的 SQL 语句:
CREATE INDEX doc_index ON docs(text) INDEXTYPE IS CTXSYS.CONTEXT;
⑸使用 CONTAINS 函数,发出基于内容的文档查询。例如:
SELECT id FROM docs WHERE CONTAINS (text,'first') > 0;
这将在文本列包含单词 first (即文档1) 的 docs 中查找所有行。语句中的>0部分是有效的Oracle SQL所必需的,Oracle SQL不支持函数的布尔返回值。
以上只是一个简单的示例,旨在给出使用Oracle Text建立全文索引的完整步骤,归纳起来如下:
⑴建表并装载文本(包含带有需要检索的文本字段)
⑵配置索引
⑶建立索引
⑷发出查询
⑸索引维护:同步与优化(将在后面介绍)
索引建好后,如果表中的数据发生变化,比如增加或修改了记录,怎么办?由于对表所发生的任何DML语句,都不会自动修改索引,因此,必须定时同步(sync)和优化(optimize)索引,以正确反映数据的变化。
在索引建好后,可以在该用户下查到Oracle自动产生了以下几个表:(假设索引名为myindex):
DR$myindex$I,DR$myindex$K,DR$myindex$R,DR$myindex$N
其中以I表最重要,可以查询一下该表:
select token_text,token_count from DR$ myindex $I where rownum<=20;
查询结果在此省略。可以看到,该表中保存的其实就是Oracle 分析你的文档后,生成的term记录
在这里,包括term出现的位置、次数、hash值等。当文档的内容改变后,可以想见这个I表的内容也应该相应改变,才能保证Oracle在做全文检索时正确检索到内容(因为所谓全文检索,其实核心就是查询这个表)。那么如何维护该表的内容,不能每次数据改变都重新建立索引,这就要用到sync 和 optimize了。
同步(sync):将新的term 保存到I表;
优化(optimize):清除I表的垃圾,主要是将已经被删除的term从I表删除。
Oracle提供了一个所谓的ctx server来做这个同步和优化的工作,只需要在后台运行这个进程,它会监视数据的变化,及时进行同步。另外,也可以用以下的job来完成(该job要建在和表同一个用户下):
create or replace procedure sync
is
begin
execute immediate
'alter index myindex rebuild online' ||
' parameters (''sync'')' ;
execute immediate
'alter index myindex rebuild online' ||
' parameters (''optimize full maxtime unlimited'')' ;
end sync;
/
Set ServerOutput on
declare
v_job number;
begin
Dbms_Job.Submit
(
job => v_job,
what => 'sync;',
next_date => sysdate,/* default */
interval => 'sysdate + 1/720' /* = 1 day / (24 hrs * 30 min) = 2 mins */
);
Dbms_Job.Run (v_job);
Dbms_Output.Put_Line ('Submitted as job # ' || to_char (v_job));
end;
/
job的SYSDATE + (1/720)是指每隔2分钟同步一次。具体的时间间隔,可以根据自己的应用的需要而定。