Which has the higher priority in your organization: Deploying a new database or securing the ones you already have?
Looking for a website, and resources, dedicated solely to securing Oracle databases? Check out DBSecWorx.
Purpose
Used to create and manage the preferences, section groups, and stoplists required for Text indexes.
AUTHID
CURRENT_USER
Constants
Name
Data Type
Value
LOCK_WAIT
NUMBER
0
LOCK_NOWAIT
NUMBER
1
LOCK_NOWAIT_ERROR
NUMBER
2
MAXTIME_UNLIMITED
NUMBER
2147483647
PREFERENCE_IMPLICIT_COMMIT
BOOLEAN
TRUE
OPTLEVEL_FAST
VARCHAR2(4)
'FAST'
OPTLEVEL_FULL
VARCHAR2(4)
'FULL'
OPTLEVEL_MERGE
VARCHAR2(5)
'MERGE'
OPTLEVEL_REBUILD
VARCHAR2(7)
'REBUILD'
OPTLEVEL_TOKEN
VARCHAR2(5)
'TOKEN'
OPTLEVEL_TOKEN_TYPE
VARCHAR2(10)
'TOKEN_TYPE'
Data Types
TYPE split_rec IS RECORD(
new_sec VARCHAR2(64) DEFAULT NULL,
idval VARCHAR2(100) DEFAULT NULL);
TYPE sec_rec IS RECORD(
secname VARCHAR2(500) DEFAULT NULL,
sectag VARCHAR2(500) DEFAULT NULL);
TYPE split_tab IS TABLE OF split_rec INDEX BY BINARY_INTEGER;
TYPE sec_tab IS TABLE OF sec_rec INDEX BY BINARY_INTEGER;
Dependencies
ANYDATA
DRILIST
DRVDML
CTX_ANL
DRIMLX
DRVLSB
CTX_QUERY
DRIOBJ
DRVRIO
DBMS_ASSERT
DRIOPT
DRVUTL
DBMS_LOB
DRIPARSE
DRVXMD
DBMS_SQL
DRIPREF
DRVXTAB
DBMS_STANDARD
DRISGP
DR_DEF
DBMS_XDBT
DRISPL
ODCIINDEXINFO
DRIACC
DRIUTL
ODCINUMBERLIST
DRIDML
DRIXMD
ODCIRIDLIST
DRIENT
DRUE
ODCIVARCHAR2LIST
DRIG
DRVDDL
PLITBLM
DRIIXS
DRVDISP
UTL_RAW
Documented
Yes
Exceptions
Error Code
Reason
DRG-10502
index <index_name> does not exist
First Available
11.2
Security Model
Owned by CTXSYS with EXECUTE granted to CTXAPP,
MDSYS and XDB
ctx_ddl.add_mdata(
idx_name IN VARCHAR2,
section_name IN VARCHAR2,
mdata_value IN VARCHAR2,
mdata_rowid IN ROWID,
part_name IN VARCHAR2 DEFAULT NULL);
TBD
Overload 2
ctx_ddl.add_mdata(
idx_name IN VARCHAR2,
section_name IN VARCHAR2,
mdata_values IN sys.odcivarchar2list,
mdata_rowids IN sys.odciridlist,
part_name IN VARCHAR2 DEFAULT NULL);
Add a new MV Section. There is a maximum of 100 sections within a section group.
ctx_ddl.add_mvdata_section(
group_name IN VARCHAR2, -- section group name, [user.]section_group_name
section_name IN VARCHAR2,
tag IN VARCHAR2, -- the unique pattern that marks the start of a section
datatype IN VARCHAR2 DEFAULT NULL);
ctx_ddl.create_policy(
policy_name IN VARCHAR2,
filter IN VARCHAR2 DEFAULT NULL,
section_group IN VARCHAR2 DEFAULT NULL,
lexer IN VARCHAR2 DEFAULT NULL,
stoplist IN VARCHAR2 DEFAULT NULL,
wordlist IN VARCHAR2 DEFAULT NULL);
A preference is created to customized a tile (framework object). A preference references a framework object. It describes how a referenced object is to be customized.
Validates the preference attribute settings and raise an exception if incorrect attribute settings are found.
ctx_ddl.create_preference(
preference_name IN VARCHAR2,
object_name IN VARCHAR2);
ctx_ddl.delete_mvdata_values(
idx_name IN VARCHAR2 DEFAULT NULL,
section_name IN VARCHAR2 DEFAULT NULL,
mvdata_values IN sys.odcinumberlist,
mvdata_rowids IN sys.odciridlist,
part_name IN VARCHAR2 DEFAULT NULL);
Insert mvdata section values in a list of documents
ctx_ddl.insert_mvdata_values(
idx_name IN VARCHAR2 DEFAULT NULL, -- index name
section_name IN VARCHAR2 DEFAULT NULL,
mvdata_values IN sys.odcinumberlist, -- mvdata values
mvdata_rowids IN sys.odciridlist, -- rowids to be updated
part_name IN VARCHAR2 DEFAULT NULL); -- partition name
ctx_ddl.optimize_index(
idx_name IN VARCHAR2,
optlevel IN VARCHAR2,
maxtime IN NUMBER DEFAULT NULL,
token IN VARCHAR2 DEFAULT NULL,
part_name IN VARCHAR2 DEFAULT NULL,
token_type IN NUMBER DEFAULT NULL,
parallel_degree IN NUMBER DEFAULT 1,
memory IN VARCHAR2,
background IN BOOLEAN);
ctx_ddl.recreate_index_online(
idx_name IN VARCHAR2,
parameter_string IN VARCHAR2 DEFAULT NULL,
parallel_degree IN NUMBER DEFAULT 1,
partition_name IN VARCHAR2 DEFAULT NULL);
ctx_ddl.remove_mdata(
idx_name IN VARCHAR2,
section_name IN VARCHAR2,
mdata_value IN VARCHAR2,
mdata_rowid IN ROWID,
part_name IN VARCHAR2 DEFAULT NULL);
TBD
Overload 2
ctx_ddl.remove_mdata(
idx_name IN VARCHAR2,
section_name IN VARCHAR2,
mdata_values IN sys.odcivarchar2list,
mdata_rowids IN sys.odciridlist,
part_name IN VARCHAR2 DEFAULT NULL);
TBD
REMOVE_OVERLAP_DOLLARS
Undocumented
ctx_ddl.remove_overlap_dollars(
idx_name IN VARCHAR2,
part_name IN VARCHAR2);
ctx_ddl.remove_sdata(
idx_name IN VARCHAR2,
section_name IN VARCHAR2,
sdata_value IN VARCHAR2,
sdata_rowid IN ROWID,
part_name IN VARCHAR2 DEFAULT NULL);
Add a section group attribute (if it does not exist) and set its value and raises an error if the section group attribute already exists
ctx_ddl.set_sec_grp_attr(
group_name IN VARCHAR2,
attribute_name IN VARCHAR2,
attribute_value IN VARCHAR2);
PRAGMA SUPPLEMENTAL_LOG_DATA(set_sec_grp_attr, AUTO);
ctx_ddl.split_dollari(
idx_name IN VARCHAR2,
part_name IN VARCHAR2,
mapping_tab IN VARCHAR2, -- mapping table name
name_prefix IN VARCHAR2, -- the prefix used for naming the output $I tables
tspace IN VARCHAR2 DEFAULT NULL);
ctx_ddl.sync_index(
idx_name IN VARCHAR2 DEFAULT NULL,
memory IN VARCHAR2 DEFAULT NULL,
part_name IN VARCHAR2 DEFAULT NULL,
parallel_degree IN NUMBER DEFAULT 1,
maxtime IN NUMBER DEFAULT NULL,
locking IN NUMBER DEFAULT LOCK_WAIT);
Update mvdata section values as a set at document level
ctx_ddl.update_mvdata_set(
idx_name IN VARCHAR2 DEFAULT NULL,
section_name IN VARCHAR2 DEFAULT NULL,
mvdata_values IN sys.odcinumberlist, -- mvdata values
mvdata_rowids IN sys.odciridlist, -- rowids to be updated
part_name IN VARCHAR2 DEFAULT NULL); -- partition name
Updates a policy. Replaces the preferences of the policy. Arguments left NULL are not replaced.
ctx_ddl.update_policy(
policy_name IN VARCHAR2,
filter IN VARCHAR2 DEFAULT NULL,
section_group IN VARCHAR2 DEFAULT NULL,
lexer IN VARCHAR2 DEFAULT NULL,
stoplist IN VARCHAR2 DEFAULT NULL,
wordlist IN VARCHAR2 DEFAULT NULL);
ctx_ddl.update_sdata(
idx_name IN VARCHAR2,
section_name IN VARCHAR2,
sdata_value IN sys.anydata,
sdata_rowid IN ROWID,
part_name IN VARCHAR2 default NULL);
ctx_ddl.zone_to_field(
dx_name IN VARCHAR2,
part_name IN VARCHAR2 DEFAULT NULL,
lex_pref IN VARCHAR2,
storage_pref IN VARCHAR2,
attr_val_tab IN VARCHAR2,
zone_sec_list IN sec_tab,
fld_sec_list IN sec_tab);