Skip to Main Content

Oracle Database Discussions

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

How to Rebuild a Domain Index?

699346Feb 24 2010 — edited Feb 24 2010
Using Oracle 10g RAC +ASM

I've created a table with a domain index (TEXT). Is it possible to rebuild the index without dropping the index then recreating?
Attempts to REBUILD the index results in:

ALTER INDEX IW.IDXCLAIMSBINARY2 REBUILD NOCOMPRESS NOPARALLEL NOLOGGING
Error at line 1
ORA-29871: invalid alter option for a domain index


The table (in part):
CREATE TABLE CLAIM_SOURCE_REF
(
CLAIM_SOURCE_REF_ID CHAR(18 BYTE) NOT NULL,
CLAIM_SOURCE_REF_CODE VARCHAR2(4 BYTE),
CLAIM_SOURCE_REF_PR_DESC VARCHAR2(250 BYTE),
CLAIM_SOURCE_REF_DOC_REF VARCHAR2(250 BYTE),
CLAIM_SOURCE_REF_PATH VARCHAR2(250 BYTE),
CLAIM_SOURCE_REF_STUDY VARCHAR2(100 BYTE),
CLAIM_SOURCE_LAB_REF VARCHAR2(100 BYTE),
CLAIM_PUBLISHER_ID_FK CHAR(18 BYTE),
CLAIM_SOURCE_REF_YEAR VARCHAR2(4 BYTE),
TEXT BLOB,
TEXT_LOADED CHAR(1 BYTE),
FILE_NAME_UNC VARCHAR2(255 BYTE)
)
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;


CREATE INDEX IDXCLAIMSBINARY2 ON CLAIM_SOURCE_REF
(TEXT)
INDEXTYPE IS CTXSYS.CONTEXT
PARAMETERS('lexer pdf_lexer')
NOPARALLEL;

Comments

SH_INT
The export/import via an xml file should only be used when creating a new application. It is not designed to support incremental updates between environments. You will have to create the new locations manually in your Production environment and migrate the mappings by exporting to Excel and then importing to the locations in Production. Bear in mind, if your location ID's are different between environments you will need to update the excel mapping templates before importing them to your Production application
user3027589
Thanks for the answer.

It seems it would be common practice to create new data load locations in a development environment first, and then have the ability to easily migrate to production. It sounds like this is not the case at all.

Am I at least able to export some other application elements like scripts into an xml and then load them safely to production?

Edited by: user3027589 on Aug 20, 2012 1:12 PM
beyerch2
You can do this through SQL relatively easily. I know that is not the officially supported way, though.

The key information you would need to move would be in

tPOVPartition - Holds the basic location information
tStructurPartitionHierarchy - Outlines order of locations
tStructPartitionLinks - Links Partitions together
tDatamap - If you created a mapping

If you created a new import format...
---------------
tBhvLogicGroup - Import formats
tBhvImpItemFile - Details for Import Format

If you created a validation entity group for this location
--------------------
tBhvValEntGroup - Group information
tBhvValEntItem - items for the groups

If you create a specific validation rule group
--------------
tBhvValRuleGroup
tBhvValRuleItem

Controls Group...
------------
tControlsGroup
tControlsItem
tControlsItemLink
.
.
.


The trick would be to make sure all of the supporting items exist in the destination first such as Import format, Map, Controls Group, etc. You have to BE CAREFUL because the ID in the 'dev' envirionment for these items may not match the new ID (autogenerated or you need to generate it) in the new environment. You'll need to keep note of the proper ID so that when you copy over the location, you provide the right information.

Then create the location (partition) record. Since the location table does not automatication generate the unique ID, query the table first and determine the highest unique ID, add 1, and use that when you create this record. When you create the hierarchy items, you may need to swap out the old ID with this one. Also, if the hierarchy elements don't exist in destination, you'd need to recreate that as well....

If you need security, you should be able to locate the appropriate tables.....

I'm actually in the middle of making a utility to simplify a lot of the FDM tasks to build off of some things I did at Kscope and to prepare for next year... When I get closer to having something public friendly, I'll put it out here. I think you'd appreciate it given your question. ;)
JeffJon
The scripts are stored on the file system in the <Appname>\Data\Scripts directory. You can easily copy these from the source environment application folder to the target environment application folder and place them in the same directory.
1 - 4
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Mar 24 2010
Added on Feb 24 2010
10 comments
13,976 views