- 浏览: 217914 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
-
strong8808:
activemq5.8.0 客户端,服务端启动序列图 -
xurichusheng:
第一题,如果使用 not exists 的话,可以改成:SEL ...
SQL笔试题 -
dingjun1:
cuisuqiang 写道如何解决呢?我的是对了也照样缓存增加 ...
事务未正确关闭引起的HIBERNATE SESSION不能正确关闭 -
dingjun1:
aijezdm915 写道lz ,我也是在写项目描述是犯愁,能 ...
如果在简历中描述项目 -
aijezdm915:
lz ,我也是在写项目描述是犯愁,能否给个你的简历demo,我 ...
如果在简历中描述项目
ORACLE 版本10.0.2
查看数据库相关的信息select * from nls_database_parameters
1、简单应用
1.1如果要使用全文检索,当前ORACLE用户必须具有CTXAPP角色
使用创建的用户登录
SQL> conn textsearch
输入口令: **********
已连接。
1.2创建要进行全文检索的数据表,准备数据
1.3在摘要字段上创建索引
系统会创建四个相关的表
DR$DEMO_ABSTRACT$I(分词后的TOKEN表)\DR$DEMO_ABSTRACT$K\DR$DEMO_ABSTRACT$N\DR$DEMO_ABSTRACT$R
查看索引创建过程中是否发生了错误
1.4测试查询
1.5查看索引脚本
select ctx_report.create_index_script('file_index') from dual;
2.对外部文件进行全文检索
ORACLE TEXT可以对文件系统中的文件进行检索,支持大部分的文件格式(如:OFFICE、PDF等),不同的格式ORACLE TEXT会选择不同的
FILTER 提取二进制文件中的纯文本,生成一个虚拟的DOCUMENT,如同对单个文本型COLUMN创建索引一样。这一切都由ORACLE TEXT自己完成。
使用上表textdemo的数据,我们对path 创建索引
2.1查询
2.2查看索引的大小信息
select ctx_report.index_size('demo_path') from dual
2.3 同步索引
索引异常可以从CTX_USER_INDEX_ERRORS视图跟踪。
数据库根据索引列的改变跟踪文档的改变,如果想强制ORACLE TEXT重新创建特定文档的索引,可以更新相对应行中的索引字段:
update textdemo set path=path where id = 4;
在索引同步时将会更新ID=4文件的关键字。
3使用自定义的存储过程
USER_DATASTORE:合成索引时使用用户指定的存储过程
ATTRIBTES:
procedure:指明合成用于索引文本的存储过程,第一个参数必须为ROWID,当存储过程改变后,需要重新建立索引,
索引只会在指明定的字段修改或增加,同步索引才会起作用。
output_type:指定存储过程的第二个参数的数据类型(CLOB,CLOB_LOC,BLOB_LOC,VARCHAR2)默认为:CLOB,
当指定为CLOB_LOC,BLOB_LOC时,表示不需要临时的CLOB或BLOB变明,因为PROCEDURE复制一个locator到第二个IN/OUT参数
/*
创建自定义的存储过程
*/
create or replace procedure myproc(rid in rowid,tlob in out clob nocopy)
is
begin
for c1 in (select author,title,text from articles where rowid = rid)
loop
dbms_lob.writeappend(tlob,length(c1.title),c1.title);
dbms_lob.writeappend(tlob,length(c1.author),c1.author);
dbms_lob.writeappend(tlob,length(c1.text),c1.text);
end loop;
end;
/*
定位数据的存放形式,使用自定义的存储过程
*/
begin
ctx_ddl.create_preference('myud','user_datastore');
ctx_ddl.set_attribute('myud','procedure','myproc');
ctx_ddl.set_attribute('myud','output_type','clob');
end;
创建索引时,除了改变PARAMETERS('DATASTORE MYUD')外,其它的都不用做更改。
查看数据库相关的信息select * from nls_database_parameters
1、简单应用
1.1如果要使用全文检索,当前ORACLE用户必须具有CTXAPP角色
--创建一个用户 --create user textsearch identified by textsearch; /** 赋予用户三个角色,其中有一个为CTXAPP角色, 以便该用户可以使用与全文检索相关的PROCEDURE */ grant connect,resource,ctxapp to textsearch; /
使用创建的用户登录
SQL> conn textsearch
输入口令: **********
已连接。
1.2创建要进行全文检索的数据表,准备数据
--drop table textdemo; create table textdemo( id number not null primary key, book_author varchar2(20),--作者 publish_time date,--发布日期 title varchar2(400),--标题 book_abstract varchar2(2000),--摘要 path varchar2(200)--路径 ); commit; insert into textdemo values(1,'宫琦峻',to_date('2008-10-07','yyyy-mm-dd'),'移动城堡','故事发生在19世纪末的欧洲,善良可爱的苏菲被恶毒的女巫施下魔咒,从18岁的女孩变成90岁的婆婆,孤单无助的她无意中走入镇外的移动城堡,据说它的主人哈尔以吸取女孩的灵魂为乐,但是事情并没有人们传说的那么可怕,性情古怪的哈尔居然收留了苏菲,两个人在四脚的移动城堡中开始了奇妙的共同生活,一段交织了爱与痛、乐与悲的爱情故事在战火中悄悄展开','E:\textsearch\moveingcastle.doc'); insert into textdemo values(2,'莫·贝克曼贝托夫',to_date('2008-10-07','yyyy-mm-dd'),'子弹转弯','这部由俄罗斯导演提莫·贝克曼贝托夫执导的影片自6月末在北美上映以来,已经在全球取得了超过3亿美元的票房收入。在亚洲上映后也先后拿下日本、韩国等地的票房冠军宝座。虽然不少网友在此之前也相继通过各种渠道接触到本片,但相信影片凭着在大银幕上呈现出的超酷的视听效果,依然能够吸引大量影迷前往影院捧场。','E:\textsearch\catch.pdf'); insert into textdemo values(3,'袁泉',to_date('2008-10-07','yyyy-mm-dd'),'主演吴彦祖和袁泉现身','电影《如梦》在上海同乐坊拍摄,主演吴彦祖和袁泉现身。由于是深夜拍摄,所以周围并没有过多的fans注意到,给了剧组一个很清净的拍摄环境,站在街头的袁泉低着头,在寒冷的夜里看上去还真有些像女鬼,令人毛骨悚然。','E:\textsearch\dream.txt'); commit;
1.3在摘要字段上创建索引
/* *创建索引,使用默认的参数 */ --drop index demo_abstract; create index demo_abstract on textdemo(book_abstract) indextype is ctxsys.context --parameters('datastore ctxsys.default_datastore filter ctxsys.auto_filter ') ; commit;;
系统会创建四个相关的表
DR$DEMO_ABSTRACT$I(分词后的TOKEN表)\DR$DEMO_ABSTRACT$K\DR$DEMO_ABSTRACT$N\DR$DEMO_ABSTRACT$R
查看索引创建过程中是否发生了错误
SELECT * FROM ctx_USER_index_errors
1.4测试查询
select score(20),t.* from textdemo t where contains(book_abstract,'移动城堡 or 俄罗斯',20)>0; select score(20),t.* from textdemo t where contains(book_abstract,'移动城堡 or 俄罗斯',20)>0 and t.title like '子弹%';
1.5查看索引脚本
select ctx_report.create_index_script('file_index') from dual;
2.对外部文件进行全文检索
ORACLE TEXT可以对文件系统中的文件进行检索,支持大部分的文件格式(如:OFFICE、PDF等),不同的格式ORACLE TEXT会选择不同的
FILTER 提取二进制文件中的纯文本,生成一个虚拟的DOCUMENT,如同对单个文本型COLUMN创建索引一样。这一切都由ORACLE TEXT自己完成。
使用上表textdemo的数据,我们对path 创建索引
begin --ctx_ddl.drop_preference('my_filter'); ctx_ddl.create_preference('my_filter','auto_filter'); end; / begin --ctx_ddl.drop_preference('my_store'); ctx_ddl.create_preference('my_store','file_datastore'); /* --设置文件的路径,由于此处数据表中已经包含了路径 不需要再进行设置,如果表中只有文件名称无路径信息, 需要设置该参数,如果文件在不同的路径下,也可以设置 多个路径WINDOWS下用";"分开,UNIX用":", 限制:设置目录后的文件名不应有路径信息,避免不同的目录 下有相同的文件名. ctx_ddl.set_attribute('mystore','path','E:\demo;E:\textsearch'); */ --ctx_ddl.set_attribute('mystore','path','E:\demo'); end; / begin --ctx_ddl.drop_preference('my_lexer'); ctx_ddl.create_preference('my_lexer','chinese_lexer'); end; / --drop index demo_path; create index demo_path on textdemo(path) indextype is ctxsys.context parameters(' datastore my_store filter my_filter lexer my_lexer '); commit;
2.1查询
select score(20),t.* from textdemo t where contains(path,'苏菲 and 城堡',20)>0 --联合第一次对book_abstract做的索引进行查询 select score(5),score(20),t.* from textdemo t where contains(book_abstract,'电影',5)>0 AND contains(path,'数据库 and 全文检索',20)>0
2.2查看索引的大小信息
select ctx_report.index_size('demo_path') from dual
2.3 同步索引
索引异常可以从CTX_USER_INDEX_ERRORS视图跟踪。
数据库根据索引列的改变跟踪文档的改变,如果想强制ORACLE TEXT重新创建特定文档的索引,可以更新相对应行中的索引字段:
update textdemo set path=path where id = 4;
在索引同步时将会更新ID=4文件的关键字。
--update textdemo set path='E:\textsearch\dream.txt' where id=3; update textdemo set path='E:\textsearch\catch.pdf' where id=2; --update textdemo set path='E:\textsearch\movingcastle.doc' where id=1; commit; begin /* 指定索引名称,和内存大小 */ ctx_ddl.sync_index('demo_path','20M') ; end;
3使用自定义的存储过程
USER_DATASTORE:合成索引时使用用户指定的存储过程
ATTRIBTES:
procedure:指明合成用于索引文本的存储过程,第一个参数必须为ROWID,当存储过程改变后,需要重新建立索引,
索引只会在指明定的字段修改或增加,同步索引才会起作用。
output_type:指定存储过程的第二个参数的数据类型(CLOB,CLOB_LOC,BLOB_LOC,VARCHAR2)默认为:CLOB,
当指定为CLOB_LOC,BLOB_LOC时,表示不需要临时的CLOB或BLOB变明,因为PROCEDURE复制一个locator到第二个IN/OUT参数
/*
创建自定义的存储过程
*/
create or replace procedure myproc(rid in rowid,tlob in out clob nocopy)
is
begin
for c1 in (select author,title,text from articles where rowid = rid)
loop
dbms_lob.writeappend(tlob,length(c1.title),c1.title);
dbms_lob.writeappend(tlob,length(c1.author),c1.author);
dbms_lob.writeappend(tlob,length(c1.text),c1.text);
end loop;
end;
/*
定位数据的存放形式,使用自定义的存储过程
*/
begin
ctx_ddl.create_preference('myud','user_datastore');
ctx_ddl.set_attribute('myud','procedure','myproc');
ctx_ddl.set_attribute('myud','output_type','clob');
end;
创建索引时,除了改变PARAMETERS('DATASTORE MYUD')外,其它的都不用做更改。
发表评论
-
tomcat配置数据源(转载)
2012-02-23 10:57 969转载:http://www.douban.com/note/7 ... -
行连接检测(待整理 )
2010-12-17 10:54 1347网上搜集的,待整理 pctused(percent used ... -
在Oracle 9i下的display_cursor脚本
2010-12-08 13:37 1284转载:http://www.laoxiong.net/orac ... -
事务级别及相关内容
2010-09-19 20:18 900事务的四个属性:原子 ... -
ORACLE 内存结构 事件相关 statspack
2010-09-05 16:16 1355基本的内存结构包括:System Global Area SG ... -
ORA-12560及修改sys密码
2010-09-01 10:44 2147修改了,tnsnames.ora listener.ora中的 ... -
数据库设计经验谈(转)
2010-07-27 22:07 898一个成功的管理系统,是由:[50% 的业务 + 50% 的软件 ... -
Oracle 数据类型及存储方式
2010-07-13 08:29 1108http://www.iteye.com/topic/2207 ... -
ORACLE 10 JDBC SQL跟踪示例
2010-07-04 12:55 1807ORACLE 10 JDBC SQL跟踪示例 1、查询v$pa ... -
not in null 与null运算
2010-04-23 12:09 1690Not in \ in中包含有null值的列,不会排除null ... -
触发器
2010-04-15 16:41 42select * from user_trig ... -
ORACLE索引
2010-04-01 14:52 1217转载:http://log-cd.iteye.co ... -
inner join left join right join on where
2010-03-31 18:49 1918理解 inner join 和 outer join inne ... -
理解ORACLE字符集
2010-03-23 19:08 1182转载:http://silverw0396.iteye.com ... -
isqlplus不能正常访问的问题
2010-03-19 13:02 1140rhel5.2 oracle 10.0.2.0.1.0 1、 ... -
red hat enterprise linux 5.2 install and startup oracle 10.2.0
2010-03-17 21:04 1742d rhel5.2下安装ORACLE 10G 我的安装步骤参考 ... -
PreparedStatement.setObject(int i,Object obj) 无效的列类型
2009-10-26 17:21 5004当往下面的方法传递参数时,传入了java.util.Date类 ... -
ORA-01791: 不是 SELECTed 表达式
2009-10-26 16:50 2392ORA-01791: 不是 SELECTed 表达式,这报错莫 ... -
ORACLE SQL基础知识
2009-04-15 18:41 2130问:什么是NULL? 答:在我们不知道具体有什么数据的时候,也 ... -
SQL笔试题
2008-07-15 15:12 40351.用一条SQL语句 查询出 ...
相关推荐
实训商业源码-百川多公众号集字福袋 2.0.5开源-论文模板.zip
内容概要:本文详细介绍了基于S7-200 Smart PLC的速度与频率同步控制程序及其在卷板材生产线和造纸设备中的应用。该程序旨在确保生产设备间的同步运行,提高生产效率和产品质量。文中涵盖了程序的总体架构、关键变量定义、主程序流程及其实现方式,并讨论了多机同步控制的具体方法。此外,还提供了部分关键代码示例,帮助读者更好地理解和实施该程序。最后,强调了编写和调试过程中应注意的问题,并对未来的发展进行了展望。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是对PLC编程和变频器控制有一定了解的专业人士。 使用场景及目标:①适用于卷板材生产线和造纸设备的同步控制;②确保多个设备之间的速度和频率保持一致,提升生产效率和产品品质;③支持多种品牌变频器(如ABB、英威腾等),满足不同应用场景的需求。 其他说明:本文不仅提供了理论指导,还包括具体的操作步骤和代码实例,有助于读者快速上手并在实践中不断优化和完善程序。
毕业论文-柚子社区团购 1.3.17-整站商业源码.zip
simscape 单质量弹簧阻尼模型
内容概要:本文详细介绍了柴油发电机在微电网中的仿真技术,特别是结合了风光发电与储能技术的研究。首先,文章阐述了微电网作为未来能源系统重要组成部分的背景,强调了柴油发电机的关键作用及其仿真技术的重要性。接着,文章具体讲解了如何利用Matlab Simulink构建柴油发电机仿真模型,涵盖模型建立、参数设置和优化改进等方面。此外,还讨论了风光柴储微电网仿真技术,重点在于应对风光发电的不确定性和储能电池的充放电特性。最后,通过具体案例分析,展示了微电网中风机光伏柴油储能系统的复杂性和挑战性,突出了仿真技术在微电网建设与运行中的重要作用。 适合人群:从事电力系统、微电网研究的技术人员和研究人员,尤其是对柴油发电机仿真技术和风光储能感兴趣的学者。 使用场景及目标:适用于希望深入了解柴油发电机仿真技术及其在微电网中应用的专业人士。目标是掌握如何使用Matlab Simulink进行柴油发电机仿真,理解风光柴储微电网的工作原理和优化策略。 阅读建议:读者可以通过本文全面了解柴油发电机仿真技术的基本概念、建模方法和应用场景,尤其关注仿真参数的设置和优化改进部分,以便更好地应用于实际项目中。
内容概要:本文详细介绍了锁相环(PLL)的工作原理及其设计方法,涵盖基本组成部分(鉴相器、环路滤波器、压控振荡器),以及设计流程(确定指标、选型、参数计算)。此外还讨论了PLL的高级特性,如低相位噪声设计、宽带PLL设计和数字化PLL的趋势。文中不仅提供了理论解释,还有具体的实例和Python代码演示,帮助读者全面掌握PLL的设计要点和技术细节。 适合人群:电子工程专业学生、从事通信与时钟同步相关工作的工程师。 使用场景及目标:适用于希望深入了解PLL工作原理及其设计方法的专业人士,旨在提高他们在实际项目中应用PLL的能力。 其他说明:文章结合了大量图表和公式推导,有助于加深理解和记忆。同时给出了具体的应用案例,便于读者将所学应用于实践。
毕业设计-家政小程序V6.1.2+分销插件V1.0.2-整站商业源码.zip
实训商业源码-砍价宝6.4.0小程序前端+后端-论文模板.zip
内容概要:本文研究了市场模式下光伏用户群的电能共享与需求响应模型,重点探讨了定价策略、需求响应机制以及博弈论的应用。首先,介绍了光伏用户通过集群方式实现电能共享,可以在光伏上网电价低于市电电价的环境中获得更高的经济效益。其次,提出了一种基于光伏电能供需比的内部价格模型,以引导电能交易并最大化经济效益。接着,构建了一个考虑经济性和舒适度的需求响应效用成本模型,以鼓励用户参与需求响应。最后,通过引入博弈论,分析了需求响应行为形成的非合作博弈问题,并提出了分布式优化算法求解纳什均衡策略。通过实际算例验证了模型的有效性,减少了用电成本并提高了光功率互用水平。 适合人群:从事新能源研究、电力系统优化、智能电网设计的专业人士,以及对光伏技术和市场需求响应感兴趣的学者和技术人员。 使用场景及目标:适用于研究和设计光伏用户群的电能共享与需求响应系统,帮助优化能源结构,降低用电成本,提升经济效益。目标是在市场模式下实现光伏用户间的高效电能交易,推动绿色能源的发展。 其他说明:本文不仅提供了理论分析,还通过MATLAB仿真进行了实证研究,为实际应用提供了有力支持。
内容概要:本文详细介绍了如何利用滑动平均算法(MA)处理电力系统中的功率波动,确保其符合国家并网标准。首先解释了功率波动的概念及其对电力系统的影响,接着阐述了滑动平均算法的基本原理和实现步骤,包括设置不同时间窗口(1分钟和10分钟)来平滑功率数据。随后讨论了如何计算滑动后的最大功率波动以及如何调整滑动窗口参数以达到最佳效果。最后,提出了合理的功率分配策略,以确保最终输出既稳定又高效地满足国家标准。 适合人群:从事电力系统研究和技术实施的专业人士,尤其是关注功率波动处理和并网标准的技术人员。 使用场景及目标:适用于需要解决电力系统中功率波动问题的实际工程环境,旨在帮助技术人员理解和应用滑动平均算法,从而提升电力系统的稳定性和效率。 其他说明:文中提供了详细的理论背景和技术细节,有助于深入理解滑动平均算法的应用,并指导具体的工程实践。
实训商业源码-扫码点餐小程序5.9.8 跑腿1.9.5-论文模板.zip
毕业设计-百川多公众号集字福袋V2.2.9全开源解密版-整站商业源码.zip
毕业论文-中秋博饼V4.1.5 开源版-整站商业源码.zip
实训商业源码-webstack开源导航源码本地静态化版-论文模板.zip
内容概要:本文探讨了基于庞特里亚金极小值原理的燃料电池混合动力系统能量管理策略的设计与实现。首先介绍了庞特里亚金极小值原理作为一种优化方法的应用背景,然后详细阐述了燃料电池混合动力系统的组成和特点。接着,文章提出了一个综合考虑系统能耗、排放和性能衰退的目标函数,并建立了相应的约束条件。利用庞特里亚金极小值原理,在MATLAB平台上实现了这一能量管理策略,确保其能在多种工况下有效运行。最后,通过对策略的测试和调试,验证了其可行性和优越性。 适合人群:从事新能源汽车研究、混合动力系统设计以及对优化理论感兴趣的科研人员和技术开发者。 使用场景及目标:①为燃料电池混合动力系统提供高效的能量管理解决方案;②帮助研究人员理解和应用庞特里亚金极小值原理于实际工程问题;③促进新能源车辆的技术进步和发展。 其他说明:文中提供的MATLAB代码具有良好的扩展性和适应性,可以根据不同的应用场景调整参数设置,满足多样化的研究需求。
内容概要:本文详细介绍了利用FPGA和VHDL语言实现RS422与RS485串口通信的方法。首先阐述了设计前准备工作的必要性,包括系统要求、接口规格、时钟频率以及数据处理方式等关键要素的确立。接着深入探讨了VHDL程序的编写流程,涵盖信号属性定义、模块构建、逻辑电路设计等方面的内容。随后强调了仿真环节对于检测程序缺陷的重要性,最后讲述了上板测试阶段的操作要点,确保最终成果满足预期性能指标。 适合人群:从事嵌入式系统开发的技术人员,尤其是对FPGA编程感兴趣的工程师。 使用场景及目标:适用于希望掌握FPGA编程技巧,特别是针对串行通信接口(RS422/485)的实际项目开发者。目标是在实践中学会从零开始创建完整的FPGA应用程序,包括但不限于设计规划、代码编写、模拟验证和实物部署。 其他说明:文中不仅提供了理论指导,还给出了具体的实施路径,有助于读者更好地理解和应用相关知识。
内容概要:本文详细探讨了表贴式永磁同步电机在一阶线性非线性自抗扰(ADRC)控制下的Matlab Simulink建模与仿真。首先介绍了表贴式永磁同步电机的工作原理及其优势,随后重点阐述了一阶线性非线性自抗扰技术的特点和应用场景。文中展示了如何在Matlab Simulink平台上构建电机模型,包括基本结构、控制算法实现及反馈信息处理等方面的内容。特别强调了扩张状态观测器(ESO)的应用,它用于实时估计电机状态并提升系统的稳定性和动态响应。最后通过对仿真实验的数据分析验证了所提模型的有效性。 适合人群:从事电机控制系统研究的专业人士、高校师生及相关科研工作者。 使用场景及目标:适用于需要深入了解表贴式永磁同步电机控制机制的研究项目;旨在探索更优的电机控制策略以提高系统效率和可靠性。 其他说明:文章不仅提供了理论分析,还有具体的模型实例和实验数据支持,便于读者理解和实践。
内容概要:本文详细探讨了如何结合P2G-CCS(Power-to-Gas with Carbon Capture and Storage)技术和燃气掺氢技术,进行虚拟电厂的阶梯碳交易优化调度。文章首先介绍了背景,强调了在全球环保趋势下,阶梯碳交易机制的重要性。接着,分别建立了掺氢燃气轮机、掺氢燃气锅炉、两段式电转气和碳捕集系统的数学模型,描述了各组件的运行特性和碳排放情况。随后,构建了阶梯碳交易模型,设定了不同碳排放量的价格阶梯,以激励减排。基于这些模型,提出了以碳交易成本、购气和煤耗成本、碳封存成本、机组启停成本和弃风成本之和最低为目标函数的优化调度策略。最后,利用Matlab、Yalmip和Cplex进行了详细的复现过程,展示了不同情景下的优化调度结果。 适合人群:从事能源管理、电力系统优化、碳交易研究的专业人士,以及对虚拟电厂和低碳技术感兴趣的科研人员。 使用场景及目标:适用于希望深入了解虚拟电厂优化调度策略的研究人员和技术人员,旨在帮助他们掌握P2G-CCS和燃气掺氢技术在低碳政策下的应用方法,从而制定有效的节能减排措施。 其他说明:本文提供了详细的复现过程和丰富的图表数据,便于读者理解和验证优化调度策略的有效性。
1747063705148.jpg
御网杯