oracle全文索引和定时任务
--首先检查数据库中是否有CTXSYS用户和CTXAPP脚色。
--如果没有这个用户和角色,意味着你的数据库创建时未安装intermedia功能。
--你必须修改数据库以安装这项功能。
--用sys用户为了用户gzinfo分配权限
grant
CTXAPP
to
gzinfo;
grant
execute
on
ctx_ddl
to
gzinfo;
--回到gzinfo用户
--创建测试表,CLOBTEXT字段为需要索引的字段
create
table
INXTEXT (ID
number
(
13
), CLOBTEXT CLOB);
--创建分词,这里用了chinese_vgram_lexer,分词名为GZINFO_LEXER
call ctx_ddl.create_preference (
'
GZINFO_LEXER
'
,
'
chinese_vgram_lexer
'
);
--创建索引,索引名为INX_TEST (PARAMETERS 中需要以LEXER开头,替换时用replace)
create
index
INX_TEST
ON
INXTEXT (CLOBTEXT) INDEXTYPE
IS
CTXSYS.CONTEXT PARAMETERS (
'
LEXER INFO_LEXER
'
);
--创建记录表
create
table
JOBTEST (ID DATE, CONTENT
VARCHAR2
(
200
));
--创建同步存储过程,ctx_ddl.sync_index('INX_TEST')为同步全文索引,同步表字段中的信息
create
or
replace
procedure
PROC_SYNC_INDEX
is
begin
ctx_ddl.sync_index(
'
INX_TEST
'
);
insert
into
JOBTEST
values
(SYSDATE,
'
同步任务于
'
||
SYSDATE
||
'
执行
'
);
end
;
--创建同步优化存储过程,ctx_ddl.optimize_index('INX_TEST','FULL')为优化全文索引
Code
create
or
replace
procedure
PROC_SYNC_OPTIMIZE
is
begin
ctx_ddl.sync_index(
'
INX_TEST
'
);
ctx_ddl.optimize_index(
'
INX_TEST
'
,
'
FULL
'
);
insert
into
JOBTEST
values
(SYSDATE,
'
同步优化任务于
'
||
SYSDATE
||
'
执行
'
);
end
;
--创建定时任务以便同步全文索引
DECLARE
X
NUMBER
;
BEGIN
SYS.DBMS_JOB.SUBMIT
(
job &n
相关文档:
以前发过一篇移动数据文件的方法的文章,参见
http://blog.csdn.net/wh62592855/archive/2009/11/20/4843764.aspx
不过当时只给出了一个示例而已,今天在书中看到了另一种方法,总结一下,记在这里。
Oracle提供了两条移动数据文件的语句
1
ALTER TABLESPACE 表空间名
RENAME DATAFILE '文件名' [,'文件名']...
TO ' ......
今天在书上看到有一个小节讲存储子句优先级的,说实话,平时在创建对象的时候几乎不怎么指定存储子句的,一般采用默认。呵呵,可能是因为比较懒吧,今天既然看到了,就记下来,相信以后会用得到的。
ORACLE数据库默认的存储参数 < 表空间所定义的存储参数 < 段所定义的存储参数
存储子句可以在段一级说明以控制区段 ......
上篇介绍了静默安装数据库软件,下面介绍静默创建数据库的方法。
1. 用DBCA根据种子数据库创建一个模板
(种子数据库就是源数据库,如果没有源数据库,可以用DBCA创建一个新的模版或编辑原有的模版)
2. 将Oracle DB安装盘里面response目录下的dbca.rsp拷贝到本机上
3. 修改dbca.rsp文件,将模板名和DB名添加进去
GDB ......
在JAVA中的SQL 语句的编写方面,没有使用ORACLE 绑定变量,很大程度上降低了数据库的性能,表现在两个方面:
1、SQL语句硬分析(Hard Parse)太多,严重消耗CPU资源,延长了SQL语句总的执行时间
SQL语句的执行过程分几个步骤:语法检查、分析、执行、返回结果。其中分析又分为硬分析(Hard Parse)和软分析(Soft Pars ......
http://www.haoxiai.net/shujuku/Oracle/111145.html
一、数据库名
什么是数据库名
数据库名就是一个数据库的标识,就像人的身份证号一样。他用参数DB_NAME表示,如果一台机器上装了多全数据库,那么每一个数据库都有一个数据库名。在数据库安装或创建完成之后,参数DB_NAME被写入参数文件之中。格式如下:
DB_NAME=m ......