Oracle 11G + Single sdata searching in Contains clause

Hi,
Their is one domain index in my table on valueaddxml column, and another column is of queryid which is of varchar2(500)
Their are two records in the table.
one is :-
valueaddxml - > <?xml version="1.0" encoding="UTF-8"?><valueaddinfo><seqno>679</seqno></valueaddinfo>
queryid = 2
second is :-
valueaddxml - > <?xml version="1.0" encoding="UTF-8"?><valueaddinfo><seqno>888</seqno></valueaddinfo>
queryid = 1
the output of following query is :-
select queryid from v2_1244160000_1251936000 where contains(valueaddxml,'( haspath(/valueaddinfo\[seqno="679"\]))') > 0 and contains(valueaddxml,' (sdata(queryid = ''1'')) ') > 0 order by istimestamp desc
Output :- queryid - > 2
I dont know why oracle is showing such kind of behaviour with only sdata in contains clause.
Can i use contains(valueaddxml,' (sdata(queryid = ''1'')) ') > 0 clause ?
Is it compulsary to use other 'within' or any other clause with sdata ?
any help please ?
Edited by: PulkitSogani on Aug 12, 2009 12:23 AM

Let me make it more clear.
If i use this query (wrong output ):-
select queryid from v2_1244160000_1251936000 where contains(valueaddxml,'( haspath(/valueaddinfo\[seqno="679"\]))') > 0 and contains(valueaddxml,' (sdata(queryid = ''1'')) ') > 0 order by istimestamp desc
Output is :- queryid = 2
If i use query ( Correct output ) :-
select queryid from v2_1244160000_1251936000 where contains(valueaddxml,'( haspath(/valueaddinfo\[seqno="679"\])) and (sdata(queryid = ''1'')) ') > 0 order by istimestamp desc
Ouput is :- no data avaliable.
Why can not i use the first one instead of second ?
Edited by: PulkitSogani on Aug 12, 2009 12:21 AM
Edited by: PulkitSogani on Aug 12, 2009 12:22 AM
Edited by: PulkitSogani on Aug 12, 2009 12:23 AM

Similar Messages

  • Issue in executing contains Query(Oracle 11g Enterprise E on Linux RHEL 4

    Oracle Version: 11.1.0.6.0
    We are facing problem in executing contains Query :
    1.When length of string inside contains clause goes beyond 4000 it gives error ORA-01704: string literal too long
    2.We try to modify query by breaking it into multiple contains clause but it was not giving good performance (performance degrades as number of contains clauses increases.)It seems accessing same index multiple times becoming costly and taking more time. (We can see same domain Index has been accessed 3 times for 3 contains clause ()
    3.We used multiple varchar(4000) type bind variable in single contains clause but giving error
         ORA-29902: error in executing ODCIIndexStart() routine
         ORA-01489: result of string concatenation is too long
    4.We used bind variable of type clob but giving error
    Error:
    ORA-29902: error in executing ODCIIndexStart() routine
         ORA-20000: Oracle Text error:
         DRG-50857: oracle error in drexrstart_clob
    I read from article
    http://www.oracle.com/technology/products/text/pdf/ot11g_new_features.pdf
    That we don’t need to modified query as we had to do with SDATA(as we are doing in above examples) and optimizer will realize that query can be satisfied by the text index and will “push down” the filtering of rows into the text index processor rather than doing table access for filtering on sdata column but when I tried to write that query it was doing table access to filter for filter by column.
    My Questions:
    a.     Is it possible as mentioned in above point(point number 5) that we don’t need to write SDATA query in contains clause and optimizer will use composite index automatically.
    b.     Is there any workaround for using string literal > 4000 char in contains clause.
    c.     Why performance degrades lineally when using multiple contains clause.
    d.     Can we use in clause in SDATA and write query like this:
    i.     SDATA(queryid in ( 'q1',’q2’))
    /* Table */
    create table ContentStore (ResourceID raw(16), QueryID VARCHAR2(38),IFID VARCHAR2(38),ISTimeStamp number,ISProtocolName VARCHAR2(100),ismimecontenttype varchar2(100),ISToBeDisplayed number(1),IndexedMetaText CLOB)
    /* Index */
    create index idxMeta on ContentStore (IndexedMetaText) indextype is ctxsys.context filter by queryid,IFID,istimestamp,isprotocolname,ismimecontenttype,resourceid,istobedisplayed order by istimestamp desc parameters('filter ctxsys.null_filter section group GRP_system2 sync(every "sysdate+1/(24*4)" MEMORY 209715200 PARALLEL 2) storage my_text_storage memory 209715200')parallel 2
    /* GRP_system2*/
    begin
    ctx_ddl.create_section_group('GRP_system2', 'BASIC_SECTION_GROUP');
    ctx_ddl.add_field_section('GRP_system2', 'FILENAME', 'FILENAME');
    ctx_ddl.add_field_section('GRP_system2', 'ISIPSrcIP', 'ISIPSrcIP');
    ctx_ddl.add_field_section('GRP_system2', 'ISProxyUserIP', 'ISProxyUserIP');
    ctx_ddl.add_field_section('GRP_system2', 'isipdestip', 'isipdestip');
    end;
    /* 1.When length of string inside contains clause goes beyond 4000 it gives
         error ORA-01704: string literal too long */
    select indexedmetatext from ContentStore where rowid in ( select oraclerowid from ( select rowid as oraclerowid from ContentStore where contains(indexedmetatext,'((68.142.91.152 within isipsrcip) or (68.142.91.152 within isproxyuserip) or (68.142.91.152 within isipdestip)) and ((sdata(queryid = ''a51f216a-b211-4b59-89d4-6fcce58a8517'')) or (sdata(queryid = ''c7d7fdb3-e532-42f1-a8b4-450771fc763f'')) or (sdata(queryid = ''7746f95a-01ba-4318-991a-35c2a8a0c73d'')) or (sdata(queryid = ''b0d339d2-ada9-485b-b752-79920a589340'')) or (sdata(queryid = ''33083cc8-7ed0-4a67-81f0-de1f3d673db2'')) or (sdata(queryid = ''0475dea9-288b-4be6-815e-751c98c25f2b'')) or (sdata(queryid = ''8cfb62f4-2bac-4da6-a2c2-84e409f5a810'')) or (sdata(queryid = ''afbf17a7-4170-45f4-9b66-de3860de93d7'')) or (sdata(queryid = ''750a7b1c-db61-4f87-b78f-505bc73aa5df'')) or (sdata(queryid = ''debc06f3-51a8-4278-9d38-f316dfb6340c'')) or (sdata(queryid = ''d2d8d8a8-b691-439f-b6de-618825aad152'')) or (sdata(queryid = ''f6a3515a-4c7b-48d0-8d46-f62541525cd0'')) or (sdata(queryid = ''bef5c527-5e78-494f-832c-12b3967f22cc'')) or (sdata(queryid = ''638a4029-c4bf-42ef-87bc-2cd4a3977dd1'')) or (sdata(queryid = ''1ce38c22-fd80-4d0f-b9ab-1a09941c5809'')) or (sdata(queryid = ''7bbbcc66-f19d-4758-bdd8-2796da1e26fe'')) or (sdata(queryid = ''d3e96050-ab5e-48b7-9445-d884167c8ae9'')) or (sdata(queryid = ''eaf93ce1-fbd8-4bb6-9fb1-12c337878c72'')) or (sdata(queryid = ''ef1ce7ce-9b4a-4f10-9c91-7256f513c709'')) or (sdata(queryid = ''46bf5cda-ada3-41f2-92b0-174ac29c5808'')) or (sdata(queryid = ''59136e92-147f-41c4-ac75-79d921268714'')) or (sdata(queryid = ''fb2382b2-6496-4c9f-a427-2f6db3b9fd16'')) or (sdata(queryid = ''531b3790-ed50-4b83-a0d0-eabfed2b6701'')) or (sdata(queryid = ''4908b148-2432-4041-947c-31ff8e10646c'')) or (sdata(queryid = ''82007d26-d526-42c9-a8d0-5b75e7f08b90'')) or (sdata(queryid = ''002735e8-6886-4bb4-a732-8a9d04165837'')) or (sdata(queryid = ''43f25cba-1d90-4cc2-84d1-a8719c5b1c9f'')) or (sdata(queryid = ''99d9027f-948b-4bc7-9a44-3092d6b29580'')) or (sdata(queryid = ''24221285-ea64-4e14-8c08-a173ec1b7fd9'')) or (sdata(queryid = ''47ad81d7-75cb-4787-91ab-c2bc5c5e1aaa'')) or (sdata(queryid = ''4ff2846f-6d70-4f9b-a5bf-317263c0ccc5'')) or (sdata(queryid = ''c1f5fbe7-72d1-499d-8d72-4aa21a79c97e'')) or (sdata(queryid = ''356f12c5-a769-478d-b57b-8a063be8ee8e'')) or (sdata(queryid = ''f6181853-2e16-4bce-88c0-6602bc853935'')) or (sdata(queryid = ''890f80e9-f3dd-4862-a55c-4f76569df360'')) or (sdata(queryid = ''5e9df138-8377-4841-92de-49bf6ed378a5'')) or (sdata(queryid = ''600b4dfd-e379-4754-8d06-873b593dbd14'')) or (sdata(queryid = ''af1476ac-3742-4272-bc97-584b1bbe3e2b'')) or (sdata(queryid = ''c2eb4e4c-2d09-4be8-b6ba-f1440349ed5a'')) or (sdata(queryid = ''2b819cdb-0941-48fd-8b93-dd1f661933b3'')) or (sdata(queryid = ''dfa094c9-c48c-4ca1-ad06-ead4f1a9d146'')) or (sdata(queryid = ''b1222061-acaf-4e85-80e1-00af07df962c'')) or (sdata(queryid = ''219b0c7b-266e-455b-b7ca-4f760976253c'')) or (sdata(queryid = ''2396f1e3-28f8-451b-a114-29390cec0cf3'')) or (sdata(queryid = ''c7d7fdb3-e532-42f1-a8b4-450771fc763f'')) or (sdata(queryid = ''7746f95a-01ba-4318-991a-35c2a8a0c73d'')) or (sdata(queryid = ''b0d339d2-ada9-485b-b752-79920a589340'')) or (sdata(queryid = ''33083cc8-7ed0-4a67-81f0-de1f3d673db2'')) or (sdata(queryid = ''0475dea9-288b-4be6-815e-751c98c25f2b'')) or (sdata(queryid = ''8cfb62f4-2bac-4da6-a2c2-84e409f5a810'')) or (sdata(queryid = ''afbf17a7-4170-45f4-9b66-de3860de93d7'')) or (sdata(queryid = ''750a7b1c-db61-4f87-b78f-505bc73aa5df'')) or (sdata(queryid = ''debc06f3-51a8-4278-9d38-f316dfb6340c'')) or (sdata(queryid = ''d2d8d8a8-b691-439f-b6de-618825aad152'')) or (sdata(queryid = ''f6a3515a-4c7b-48d0-8d46-f62541525cd0'')) or (sdata(queryid = ''bef5c527-5e78-494f-832c-12b3967f22cc'')) or (sdata(queryid = ''638a4029-c4bf-42ef-87bc-2cd4a3977dd1'')) or (sdata(queryid = ''1ce38c22-fd80-4d0f-b9ab-1a09941c5809'')) or (sdata(queryid = ''7bbbcc66-f19d-4758-bdd8-2796da1e26fe'')) or (sdata(queryid = ''d3e96050-ab5e-48b7-9445-d884167c8ae9'')) or (sdata(queryid = ''eaf93ce1-fbd8-4bb6-9fb1-12c337878c72'')) or (sdata(queryid = ''ef1ce7ce-9b4a-4f10-9c91-7256f513c709'')) or (sdata(queryid = ''46bf5cda-ada3-41f2-92b0-174ac29c5808'')) or (sdata(queryid = ''59136e92-147f-41c4-ac75-79d921268714'')) or (sdata(queryid = ''fb2382b2-6496-4c9f-a427-2f6db3b9fd16'')) or (sdata(queryid = ''531b3790-ed50-4b83-a0d0-eabfed2b6701'')) or (sdata(queryid = ''2396f1e3-28f8-451b-a114-29390cec0cf3''))) and (sdata(istobedisplayed = 1)) and (sdata(istimestamp >= 1245283200)) and (sdata(istimestamp < 1245369600)) and ((sdata(IFID = ''1eeb7036-cd84-4e4d-be90-e720c7db4470'')))') > 0
    order by istimestamp desc ) where rownum <= 250)
    /* 2.We try to modify query by breaking it into multiple contains clause but it was not giving good performance (performance degrades as number of contains clauses increases.)
    Problem: - Performance of below query degrades linearly as number of contains clause for same column increases.
    Execution plan :
    It seems accessing same index multiple times becoming costly and taking more time. (We can see same domain Index has been accessed 3 times for 3 contains clause ()
    select indexedmetatext from ContentStore where rowid in ( select oraclerowid from ( select rowid as oraclerowid from ContentStore where
    contains(indexedmetatext,'((68.142.91.152 within isipsrcip) or (68.142.91.152 within isproxyuserip) or (68.142.91.152 within isipdestip)) and ((sdata(queryid = ''a51f216a-b211-4b59-89d4-6fcce58a8517'')) or (sdata(queryid = ''c7d7fdb3-e532-42f1-a8b4-450771fc763f'')) or (sdata(queryid = ''7746f95a-01ba-4318-991a-35c2a8a0c73d'')) or (sdata(queryid = ''b0d339d2-ada9-485b-b752-79920a589340'')) or (sdata(queryid = ''33083cc8-7ed0-4a67-81f0-de1f3d673db2'')) or (sdata(queryid = ''0475dea9-288b-4be6-815e-751c98c25f2b'')) or (sdata(queryid = ''8cfb62f4-2bac-4da6-a2c2-84e409f5a810'')) or (sdata(queryid = ''afbf17a7-4170-45f4-9b66-de3860de93d7'')) or (sdata(queryid = ''750a7b1c-db61-4f87-b78f-505bc73aa5df'')) or (sdata(queryid = ''debc06f3-51a8-4278-9d38-f316dfb6340c'')) or (sdata(queryid = ''d2d8d8a8-b691-439f-b6de-618825aad152'')) or (sdata(queryid = ''f6a3515a-4c7b-48d0-8d46-f62541525cd0'')) or (sdata(queryid = ''bef5c527-5e78-494f-832c-12b3967f22cc'')) or (sdata(queryid = ''638a4029-c4bf-42ef-87bc-2cd4a3977dd1'')) or (sdata(queryid = ''1ce38c22-fd80-4d0f-b9ab-1a09941c5809'')) or (sdata(queryid = ''7bbbcc66-f19d-4758-bdd8-2796da1e26fe'')) or (sdata(queryid = ''d3e96050-ab5e-48b7-9445-d884167c8ae9'')) or (sdata(queryid = ''eaf93ce1-fbd8-4bb6-9fb1-12c337878c72'')) or (sdata(queryid = ''ef1ce7ce-9b4a-4f10-9c91-7256f513c709'')) or (sdata(queryid = ''46bf5cda-ada3-41f2-92b0-174ac29c5808'')) or (sdata(queryid = ''59136e92-147f-41c4-ac75-79d921268714'')) or (sdata(queryid = ''fb2382b2-6496-4c9f-a427-2f6db3b9fd16'')) or (sdata(queryid = ''531b3790-ed50-4b83-a0d0-eabfed2b6701'')) or (sdata(queryid = ''4908b148-2432-4041-947c-31ff8e10646c'')) or (sdata(queryid = ''82007d26-d526-42c9-a8d0-5b75e7f08b90'')) or (sdata(queryid = ''002735e8-6886-4bb4-a732-8a9d04165837'')) or (sdata(queryid = ''43f25cba-1d90-4cc2-84d1-a8719c5b1c9f'')) or (sdata(queryid = ''99d9027f-948b-4bc7-9a44-3092d6b29580'')) or (sdata(queryid = ''24221285-ea64-4e14-8c08-a173ec1b7fd9'')) or (sdata(queryid = ''47ad81d7-75cb-4787-91ab-c2bc5c5e1aaa'')) or (sdata(queryid = ''4ff2846f-6d70-4f9b-a5bf-317263c0ccc5'')) or (sdata(queryid = ''c1f5fbe7-72d1-499d-8d72-4aa21a79c97e'')) or (sdata(queryid = ''356f12c5-a769-478d-b57b-8a063be8ee8e'')) or (sdata(queryid = ''f6181853-2e16-4bce-88c0-6602bc853935'')) or (sdata(queryid = ''890f80e9-f3dd-4862-a55c-4f76569df360'')) or (sdata(queryid = ''5e9df138-8377-4841-92de-49bf6ed378a5'')) or (sdata(queryid = ''600b4dfd-e379-4754-8d06-873b593dbd14'')) or (sdata(queryid = ''af1476ac-3742-4272-bc97-584b1bbe3e2b'')) or (sdata(queryid = ''c2eb4e4c-2d09-4be8-b6ba-f1440349ed5a'')) or (sdata(queryid = ''2b819cdb-0941-48fd-8b93-dd1f661933b3'')) or (sdata(queryid = ''dfa094c9-c48c-4ca1-ad06-ead4f1a9d146'')) or (sdata(queryid = ''b1222061-acaf-4e85-80e1-00af07df962c'')) or (sdata(queryid = ''219b0c7b-266e-455b-b7ca-4f760976253c'')) or (sdata(queryid = ''2396f1e3-28f8-451b-a114-29390cec0cf3''))) and (sdata(istobedisplayed = 1)) and (sdata(istimestamp >= 1245283200)) and (sdata(istimestamp < 1245369600)) and ((sdata(IFID = ''1eeb7036-cd84-4e4d-be90-e720c7db4470'')))') > 0
    or
    contains(indexedmetatext,'((68.142.91.152 within isipsrcip) or (68.142.91.152 within isproxyuserip) or (68.142.91.152 within isipdestip)) and ((sdata(queryid = ''f22c0b85-2e72-4450-92b7-8f9864c2517a'')) or (sdata(queryid = ''dbc6111b-5fef-4925-93f0-ecf94aa2305b'')) or (sdata(queryid = ''5d737150-3c55-4582-8b2e-8039615b8e69'')) or (sdata(queryid = ''fc8bf42c-2c7a-4506-aa3a-89266ef09ceb'')) or (sdata(queryid = ''7d3f7561-ba99-49fd-9492-214d9f571831'')) or (sdata(queryid = ''73110ce8-6930-4044-90f7-9c5d27bc0b10'')) or (sdata(queryid = ''d1c975a6-607d-4334-a84c-cc63f68bda3a'')) or (sdata(queryid = ''11fd0d2a-540d-4de0-852a-75f1b841b262'')) or (sdata(queryid = ''0dbfd826-497e-4283-8fc6-210c631c4a3e'')) or (sdata(queryid = ''eb2fd3d3-3b14-4092-a373-edd5448802c2'')) or (sdata(queryid = ''a3b69f62-560b-4883-8bd8-d8225af075b4'')) or (sdata(queryid = ''8596dc3e-c062-4527-9df6-e2c6aa10187d'')) or (sdata(queryid = ''5ce0dea4-b005-4185-9a05-7e91f14c7a8a'')) or (sdata(queryid = ''27eb925f-6f0c-4e27-9b57-91d78de703df'')) or (sdata(queryid = ''53b63124-caf4-4e71-ac5b-0e323d2805cb'')) or (sdata(queryid = ''f3dea938-a547-4510-8c24-25e04fa11ec4'')) or (sdata(queryid = ''5d8ebe7d-224b-4731-a1f2-ef1e3b409579'')) or (sdata(queryid = ''69c8dc53-031a-4069-a9e5-89f28cb7a7e0'')) or (sdata(queryid = ''2f65dc5e-63f6-4904-95f8-94c8983931a9'')) or (sdata(queryid = ''9ce16005-5b3b-4691-a624-5a7835e9e982'')) or (sdata(queryid = ''e5f133c5-f8d3-4905-b4db-ceba89476e7d'')) or (sdata(queryid = ''27dd1a53-a158-46ea-b38d-31a57bd7154e'')) or (sdata(queryid = ''cc335826-5e5e-4d4c-9406-2050717bea5d'')) or (sdata(queryid = ''e1ca6d4d-0005-43ec-a121-5574b37231ec'')) or (sdata(queryid = ''4be550f1-8e0a-4748-8186-50228531751d'')) or (sdata(queryid = ''8637ff63-3d0d-4451-9e40-b890d197f6cd'')) or (sdata(queryid = ''5f664e9e-b72f-4ae7-b69d-081ab7873146'')) or (sdata(queryid = ''baecc6fb-e9cf-41df-9fa4-1793b510d474'')) or (sdata(queryid = ''fa27ba4c-4ab8-4bd0-8725-a03c4666dcde'')) or (sdata(queryid = ''918bfb52-7323-4046-b96a-4ef905687dbb'')) or (sdata(queryid = ''3faad930-81c6-421b-84aa-81a9cfdc2c8b'')) or (sdata(queryid = ''7dc5033d-3a27-4058-885a-d103e73328f2'')) or (sdata(queryid = ''8eb4a0ce-654b-42f0-a868-7f7fdb483a13'')) or (sdata(queryid = ''1b44713f-6cbf-4b49-b851-5a500b221c27'')) or (sdata(queryid = ''11febb09-9106-4b92-a43d-cb71696adc90'')) or (sdata(queryid = ''1d84ca10-375e-4e17-a1c0-03515e1cfe5b'')) or (sdata(queryid = ''9cf1f3fd-136c-4abb-8319-6f6c6ddc514c'')) or (sdata(queryid = ''24f5347a-ff20-4245-a4dc-eb2f8c918c91'')) or (sdata(queryid = ''2640ef3c-8a20-4f28-92df-0bc19b058d91'')) or (sdata(queryid = ''af3d0817-0d40-4adb-9655-a5460805a7eb'')) or (sdata(queryid = ''77b86c41-3afc-4c9c-9432-d7a1ee979af2'')) or (sdata(queryid = ''2a26f0d8-1162-4f34-be48-65b409abef28'')) or (sdata(queryid = ''649810b8-0d7b-47ab-8433-8e9bba88583d'')) or (sdata(queryid = ''c4f853ef-cd7c-436d-a16d-03d49681bee6'')) or (sdata(queryid = ''5c1896ce-06af-406c-bfbd-40d2349171bd'')) or (sdata(queryid = ''8d9fe822-f720-4ee5-a80d-552edd778f82'')) or (sdata(queryid = ''f30220c6-5638-47ec-ad98-4768ee299232'')) or (sdata(queryid = ''3faf5d0b-e3c0-4b68-8244-e07334c17326''))) and (sdata(istobedisplayed = 1)) and (sdata(istimestamp >= 1245283200)) and (sdata(istimestamp < 1245369600)) and ((sdata(IFID = ''1eeb7036-cd84-4e4d-be90-e720c7db4470'')))') > 0
    or
    contains(indexedmetatext,'((68.142.91.152 within isipsrcip) or (68.142.91.152 within isproxyuserip) or (68.142.91.152 within isipdestip)) and ((sdata(queryid = ''c3662b10-98fc-453d-86e1-0c81fe3bb038'')) or (sdata(queryid = ''2b4e7f6e-7871-45eb-b046-bfd4f5d2d84c'')) or (sdata(queryid = ''5af44897-0bc9-4307-bcb1-7f07750e1e25'')) or (sdata(queryid = ''2b57feb3-1681-48db-9856-5d23d69de605'')) or (sdata(queryid = ''47c3939e-d46d-4c7f-9a42-305634642a72'')) or (sdata(queryid = ''476a04ad-6be3-459b-8ab1-6e270416add6'')) or (sdata(queryid = ''61be42b4-11d6-4ff9-a06d-e896690d7fd4'')) or (sdata(queryid = ''97a00e72-2e7d-4c02-b41b-d9d1601bc08c'')) or (sdata(queryid = ''8739fefa-c015-4912-999e-cd9524dffedb'')) or (sdata(queryid = ''61054068-5892-4aaf-ab31-9e6301de9808'')) or (sdata(queryid = ''741a5302-aadc-4bf2-bdcf-b41e95b49d05'')) or (sdata(queryid = ''c13d9ec0-2b18-4838-9bdb-ddb0686fd1d5'')) or (sdata(queryid = ''b02a2176-0ba5-47f4-843d-3d54e3faad77'')) or (sdata(queryid = ''451b906e-3a5c-4ed2-9d94-0a603e6ad94d'')) or (sdata(queryid = ''d1c767d7-cd0a-44c5-a8ff-ce5fa4522ece'')) or (sdata(queryid = ''ca71a03e-26c6-43f3-9755-a248ebaf35b5'')) or (sdata(queryid = ''d93777b8-f03b-49b0-94fc-8019b52c0637'')) or (sdata(queryid = ''e05ebc73-51cb-4112-b685-5104c4884020'')) or (sdata(queryid = ''a1b342c7-9ce0-4aa1-96e8-74621b34d411'')) or (sdata(queryid = ''bde5de4a-b1d4-4edd-9033-6bcba45fcfc2'')) or (sdata(queryid = ''1e345627-c639-4349-95d0-fdfe348935df'')) or (sdata(queryid = ''bd33b778-83c1-4610-a767-f8ce2ade5339'')) or (sdata(queryid = ''54eaa539-e50a-4e95-8d94-f7e95cf0f57b'')) or (sdata(queryid = ''3181ef7a-77cd-405f-9dfa-1c13444efb82'')) or (sdata(queryid = ''0a72bf53-c8ca-405f-9098-9383ed02815a'')) or (sdata(queryid = ''2fb2fff2-b240-46a6-99b8-00521b4325e4'')) or (sdata(queryid = ''5321fa18-a88d-45cb-b8d6-383180cb308b'')) or (sdata(queryid = ''f13bcfdf-d61f-4871-9c74-23ea58204cbb'')) or (sdata(queryid = ''eb5188da-3659-4e7a-b9e4-6985624c3867'')) or (sdata(queryid = ''1679a0ee-6fa7-4c5b-9e0f-09512bc6a74b'')) or (sdata(queryid = ''fd05f61b-5c63-4f99-975e-573ca0f68e8e'')) or (sdata(queryid = ''10802bc7-28bd-43d4-aa24-cf5f9cf6d19f'')) or (sdata(queryid = ''302dbebf-4edd-43a8-93e9-dd6faec8ff14'')) or (sdata(queryid = ''573020da-b5c1-489a-a7d9-eae363e535ef'')) or (sdata(queryid = ''ca514f9e-f4b9-42eb-a8b3-57a384e65540''))) and (sdata(istobedisplayed = 1)) and (sdata(istimestamp >= 1245283200)) and (sdata(istimestamp < 1245369600)) and ((sdata(IFID = ''1eeb7036-cd84-4e4d-be90-e720c7db4470'')))') > 0
    order by istimestamp desc ) where rownum <= 250)
    /* 3.We used multiple varchar(4000) type bind variable in single contains clause but giving error
         ORA-29902: error in executing ODCIIndexStart() routine
         ORA-01489: result of string concatenation is too long
         variable querystring1 varchar2(4000);
    exec :querystring1 := '((sdata(queryid = ''a51f216a-b211-4b59-89d4-6fcce58a8517'')) or (sdata(queryid = ''d1c975a6-607d-4334-a84c-cc63f68bda3a'')) or(sdata(queryid = ''11fd0d2a-540d-4de0-852a-75f1b841b262'')) or(sdata(queryid = ''0dbfd826-497e-4283-8fc6-210c631c4a3e'')) or(sdata(queryid = ''eb2fd3d3-3b14-4092-a373-edd5448802c2'')) or(sdata(queryid = ''a3b69f62-560b-4883-8bd8-d8225af075b4'')) or(sdata(queryid = ''8596dc3e-c062-4527-9df6-e2c6aa10187d'')) or(sdata(queryid = ''5ce0dea4-b005-4185-9a05-7e91f14c7a8a'')) or(sdata(queryid = ''27eb925f-6f0c-4e27-9b57-91d78de703df'')) or(sdata(queryid = ''53b63124-caf4-4e71-ac5b-0e323d2805cb'')) or(sdata(queryid = ''f3dea938-a547-4510-8c24-25e04fa11ec4'')) or(sdata(queryid = ''5d8ebe7d-224b-4731-a1f2-ef1e3b409579'')) or(sdata(queryid = ''69c8dc53-031a-4069-a9e5-89f28cb7a7e0'')) or(sdata(queryid = ''2f65dc5e-63f6-4904-95f8-94c8983931a9'')) or(sdata(queryid = ''9ce16005-5b3b-4691-a624-5a7835e9e982''))) ';
    variable querystring2 varchar2(4000);
    exec :querystring2 := '((sdata(queryid = ''a51f216a-b211-4b59-89d4-6fcce58a8517'')) or (sdata(queryid = ''d1c975a6-607d-4334-a84c-cc63f68bda3a'')) or(sdata(queryid = ''11fd0d2a-540d-4de0-852a-75f1b841b262'')) or(sdata(queryid = ''0dbfd826-497e-4283-8fc6-210c631c4a3e'')) or(sdata(queryid = ''eb2fd3d3-3b14-4092-a373-edd5448802c2'')) or(sdata(queryid = ''a3b69f62-560b-4883-8bd8-d8225af075b4'')) or(sdata(queryid = ''8596dc3e-c062-4527-9df6-e2c6aa10187d'')) or(sdata(queryid = ''5ce0dea4-b005-4185-9a05-7e91f14c7a8a'')) or(sdata(queryid = ''27eb925f-6f0c-4e27-9b57-91d78de703df'')) or(sdata(queryid = ''53b63124-caf4-4e71-ac5b-0e323d2805cb'')) or(sdata(queryid = ''f3dea938-a547-4510-8c24-25e04fa11ec4'')) or(sdata(queryid = ''5d8ebe7d-224b-4731-a1f2-ef1e3b409579'')) or(sdata(queryid = ''69c8dc53-031a-4069-a9e5-89f28cb7a7e0'')) or(sdata(queryid = ''2f65dc5e-63f6-4904-95f8-94c8983931a9'')) or(sdata(queryid = ''9ce16005-5b3b-4691-a624-5a7835e9e982''))) ';
    variable querystring3 varchar2(4000);
    exec :querystring3 := '((sdata(queryid = ''a51f216a-b211-4b59-89d4-6fcce58a8517'')) or (sdata(queryid = ''d1c975a6-607d-4334-a84c-cc63f68bda3a'')) or(sdata(queryid = ''11fd0d2a-540d-4de0-852a-75f1b841b262'')) or(sdata(queryid = ''0dbfd826-497e-4283-8fc6-210c631c4a3e'')) or(sdata(queryid = ''eb2fd3d3-3b14-4092-a373-edd5448802c2'')) or(sdata(queryid = ''a3b69f62-560b-4883-8bd8-d8225af075b4'')) or(sdata(queryid = ''8596dc3e-c062-4527-9df6-e2c6aa10187d'')) or(sdata(queryid = ''5ce0dea4-b005-4185-9a05-7e91f14c7a8a'')) or(sdata(queryid = ''27eb925f-6f0c-4e27-9b57-91d78de703df'')) or(sdata(queryid = ''53b63124-caf4-4e71-ac5b-0e323d2805cb'')) or(sdata(queryid = ''f3dea938-a547-4510-8c24-25e04fa11ec4'')) or(sdata(queryid = ''5d8ebe7d-224b-4731-a1f2-ef1e3b409579'')) or(sdata(queryid = ''69c8dc53-031a-4069-a9e5-89f28cb7a7e0'')) or(sdata(queryid = ''2f65dc5e-63f6-4904-95f8-94c8983931a9'')) or(sdata(queryid = ''9ce16005-5b3b-4691-a624-5a7835e9e982''))) ';
         select indexedmetatext from ContentStore where rowid in ( select oraclerowid from ( select rowid as oraclerowid from ContentStore where contains(indexedmetatext,:querystring1|| ' or ' ||:querystring2|| ' or ' ||:querystring3) > 0 order by istimestamp desc ) where rownum <= 250);
    /* 4.We used bind variable of type clob but giving error
    Error:
    ORA-29902: error in executing ODCIIndexStart() routine
         ORA-20000: Oracle Text error:
         DRG-50857: oracle error in drexrstart_clob
    variable querystring CLOB;
    exec :querystring := '((sdata(queryid = ''a51f216a-b211-4b59-89d4-6fcce58a8517'')) or (sdata(queryid = ''d1c975a6-607d-4334-a84c-cc63f68bda3a'')) or(sdata(queryid = ''11fd0d2a-540d-4de0-852a-75f1b841b262'')) or(sdata(queryid = ''0dbfd826-497e-4283-8fc6-210c631c4a3e'')) or(sdata(queryid = ''eb2fd3d3-3b14-4092-a373-edd5448802c2'')) or(sdata(queryid = ''a3b69f62-560b-4883-8bd8-d8225af075b4'')) or(sdata(queryid = ''8596dc3e-c062-4527-9df6-e2c6aa10187d'')) or(sdata(queryid = ''5ce0dea4-b005-4185-9a05-7e91f14c7a8a'')) or(sdata(queryid = ''27eb925f-6f0c-4e27-9b57-91d78de703df'')) or(sdata(queryid = ''53b63124-caf4-4e71-ac5b-0e323d2805cb'')) or(sdata(queryid = ''f3dea938-a547-4510-8c24-25e04fa11ec4'')) or(sdata(queryid = ''5d8ebe7d-224b-4731-a1f2-ef1e3b409579'')) or(sdata(queryid = ''69c8dc53-031a-4069-a9e5-89f28cb7a7e0'')) or(sdata(queryid = ''2f65dc5e-63f6-4904-95f8-94c8983931a9'')) or(sdata(queryid = ''9ce16005-5b3b-4691-a624-5a7835e9e982''))) ';
    select indexedmetatext from ContentStore where rowid in ( select oraclerowid from ( select rowid as oraclerowid from ContentStore where contains(indexedmetatext,:querystring) > 0 order by istimestamp desc ) where rownum <= 250);
    /* 5.I read from article
    http://www.oracle.com/technology/products/text/pdf/ot11g_new_features.pdf
    That we don’t need to modified query as we had to do with SDATA(as we are doing in above examples) and optimizer will realize that query can be satisfied by the text index and will “push down” the filtering of rows into the text index processor rather than doing table access for filtering on sdata column but when I tried to write that query it was doing table access to filter for filter by column.
    /* 6.My Questions:
    a.     Is it possible as mentioned in above point(point number 5) that we don’t need to write SDATA query in contains clause and optimizer will use composite index automatically.
    b.     Is there any workaround for using string literal > 4000 char in contains clause.
    c.     Why performance degrades lineally when using multiple contains clause.
    d.     Can we use in clause in SDATA and write query like this:
    i.     SDATA(queryid in ( 'q1',’q2’))
    */

    SQE is really breakthrough for me but I dont know why it is not working in my case.I tried it onOracle 11g installaion with window and Linux both but did not get success.
    Please suggest me what I need to check when Installing if it is installation problem?
    My attempt:
    [oracle@oracle2 ~]$ sqlplus / as sysdba
    SQL*Plus: Release 11.1.0.6.0 - Production on Mon Jul 6 12:21:32 2009
    Copyright (c) 1982, 2007, Oracle. All rights reserved.
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    SQL> create user test identified by test;
    User created.
    SQL> grant connect,dba,resource,ctxapp to test;
    Grant succeeded.
    SQL> connect test/test@content;
    Connected.
    SQL> create table test (text varchar2(2000));
    Table created.
    SQL> insert into test values ('hello world');
    1 row created.
    SQL> create index testindex on test(text) indextype is ctxsys.context;
    Index created.
    SQL> exec ctx_query.store_sqe('testsqe', 'hello')
    PL/SQL procedure successfully completed.
    SQL> select * from test where contains (text, 'sqe(testsqe)') > 0;
    select * from test where contains (text, 'sqe(testsqe)') > 0
    ERROR at line 1:
    ORA-29902: error in executing ODCIIndexStart() routine
    ORA-20000: Oracle Text error:
    DRG-00100: internal error, arguments : [50935],[drpn.c],[1051],[],[]
    ORA-01403: no data found
    SQL> select * from test where contains (text, 'ctx_query.sqe(testsqe)') > 0;
    no rows selected
    SQL>

  • Spooling file in Oracle 11g

    Hi,
    I am spooling one file from database(oracle 11g), but the output file contains jumbled line as compare to original source file.
    I am using following script to spool out the source?:
    spool pkg_ta_search.sql     
         select text from all_source where name = upper('pkg_ta_search');
    spool off
    I even used the order by line clause but still I am getting the same reult.
    Thanks
    Kaushal

    Hii, Kaushal,
    Welcome to the forum!
    Both the package spec (or head) and the package body will have the same name. You need to add something to the WHERE clause (or the ORDER BY clause) to keep them separate.
    You probably want something like this:
    SELECT       text
    FROM       user_source               -- or all_source; see note below
    WHERE       name     = 'PKG_TA_SEARCH'
    AND       type     = 'PACKAGE BODY'     -- Or just 'PACKAGE'
    ORDER BY  line;Maybe there are other schemas that also have a package called 'PKG_TA_SEARCH'. User_source contains information about objects in your schema only. If the package really is in another schema, the you have to use all_souce, but add
    AND       owner = 'FUBAR'    -- or whateverto the WHERE clause.

  • Font Loading in Oracle 11g javavm

    Hello,
    I want to write a java source in Oracle 11g that creates an image containing texts.
    I tried to create a java class from sqlplus using "create or replace and resolve java source" .....
    that contains ..
    "Font fnt = new Font("Courier",Font.PLAIN,14);"
    and,
    "g.setFont(fnt);".
    The source is compiled and resolved succesfully, however, when I call the corresponding PL/SQL function, I find the following error messages...
    SQL Error: ORA-29532: Java call terminated by uncaught Java exception: java.lang.Error: Probable fatal error:No fonts found.
    ORA-06512: at "TESTUSER.PKG_TXT_IMG", line 17
    ORA-06512: at "TESTUSER.PKG_TXT_IMG", line 62
    29532. 00000 - "Java call terminated by uncaught Java exception: %s"
    *Cause:    A Java exception or error was signaled and could not be
    resolved by the Java code.
    *Action:   Modify Java code, if this behavior is not intended.
    The code works fine in Oracle 10g R2. The font.properties is found at $ORACLE_HOME/javavm/lib/ojvmfonts directory.
    The Oracle 11g does not have the ojvmfonts directory in its javavm.
    How can I load fonts in Oracle 11g Java VM?
    Can anybody help me?
    Rahman

    Hello,
    It could be nice that your script spool a log.
    By that way, you could more easily catch the error and the detail of the rows rejected.
    Best regards,
    Jean-Valentin

  • Multip services in oracle 11g

    Hi Friends,
    In oracle 11g single instance, are there a max number of services? some DAB likes to create different service to handle different task. In this way, any potential issue/risk with performance will be linked?
    Thanks
    newdba

    To answer the question "In oracle 11g single instance, are there a max number of services?"
    The maximum number of services that can be created will depend on DB version, it is a hidden parameter.
    But to check what you currently have set you have to query for the the hidden parameter _max_services, and to do that u can use the following:
    select a.ksppinm name, b.ksppstvl value, b.ksppstdf deflt,
    decode (a.ksppity, 1, 'boolean', 2, 'string', 3, 'number', 4, 'file', a.ksppity) type,
    a.ksppdesc description
    from
    sys.x$ksppi a,
    sys.x$ksppcv b
    where a.indx = b.indx
    and a.ksppinm like '\_max_service%' escape '\'
    order by name;

  • How to pass more than 1000 entries in 'IN' clause, Oracle 11g

    Hi All,
    I know this is a very common question in Oracle discussion forum. But, Im in different zone.
    I use C#, .NET and Oracle 11g. I have a situation where I will create a query statement using 'IN' clause in C# code based on my requirement and execute that statement from code itself with oracle connection object. I do not have any procedures. I must phrase my query statement and pass it on to OracleConnection object to execute it.
    My code looks like this....
    List<decimal> x_Ids = new List<decimal>();
    I will load my IDs into x_Ids here;
    string whereInClause = ........I will prepare a 'IN' clause (All IDs separated by ',')
    My query would looks like this....
    string query = select * from MYTABLE where X_ID in [ whereInClause with more than 1000 entries]
    oraConn.ExecuteQuery(query);
    I have a workaround with OR operator with 'IN' clause like below.
    X_ID in [ Ids till 1000 entries] OR X_ID in [Next 1000 entries] OR X_ID in [Next 1000 entries] ....so on.....
    It is working, but, I heard that this may slowdown the performance of the application. Is this really a performance hit to my application?
    Can you please suggest any other workaround to overcome this situation?

    >
    I have a workaround with OR operator with 'IN' clause like below.
    X_ID in [ Ids till 1000 entries] OR X_ID in [Next 1000 entries] OR X_ID in [Next 1000 entries] ....so on.....
    It is working, but, I heard that this may slowdown the performance of the application. Is this really a performance hit to my application?There should be no performance difference between a statement like
    select * from myTab
    where ID in (1,2,3,4,5)
    OR ID in (6,7,8,10,12) and
    select * from myTab
    where ID in (1,2,3,4,5,6,7,8,10,12) The execution plan should be identical.
    However those values might better be send as a single object (collection or table of numbers type).
    I think the ODP or OO4O connectivity allows to create and such oracle object types.
    Another way could be to think about how all the values are created? Did any user enter them manually? Certainly not. Then maybe you can apply the same logic to the SQL statement that created those values in your .Net application.
    something like
    select * from myTab
    where ID in (select t2.FK_ID from otherTab t2 where t2.Col1 = 100) This approach would probably beat all others performancewise. Since you avoid the overhead of constructing the in-lists.

  • Contains clause in Interactive report search of a clob column

    Hi,
    I am using APEX Version 4.2.4.00.08
    How can an interactive Report use the contains clause when searching a clob column so that it uses the CONTEXT index?
    Thanks
    Chandra.

    I wrote it into the SQL used for the IR
    I created an APEX application that stores all of our IT's HOWTO documents. (word,excel,pdf)
    ctx_doc.snippet creates HTML code.
    select D.doc_id
      ,D.doc_filename
      ,dbms_lob.getLength( D.doc_blob ) as download
      ,decode( :P12_SEARCH, null, '-- nothing --',
             ctx_doc.snippet( 'IT_DATA.DOC_CTX_IX' -- my Oracle Text index name
                                 , D.doc_id, :P12_SEARCH )
       as snippet
    from it_data.documents D
    where :P12_SEARCH is null
    or contains( D.doc_blob, :P12_SEARCH ) > 0
    MK

  • How to Create Manual Standby for a Oracle 11g RAC with ASM to Single Instan

    Hi All,
    I have a task to configure a Single Instance Standby Database with ASM for 2-node Primary RAC+ASM database.
    Version using : 11.1.0.6 Oracle 11g --- *" STANDARD EDITION "* Please note datagaurd will not be supported in standard edition.
    Primary database - 2 -Node RAC using ASM storage (All datafiles, redologs, controfile and archive logs)
    Need to setup a single instance standby database manually and than using scripts to transfer the archive logs from primary server to standby server to do recovery time to time.
    Please let me know if there are any configuration document(s) which can help me to set the manual standby? or need your kind help to give your valuable ideas how to go in above situation.
    Thanks in advance

    Niall Litchfield wrote:
    El DBA wrote:
    Well if the archive logs are stored in ASM on the primary nodes, you almost definitely want to be using RMAN to access them. Then to transfer between primary and standby there are many options, this is essentially the step that Data Guard takes care of - so if you (and I) are running Standard Edition, this is the part to "worry" about.
    I'm not really sure what you mean by this:
    As in standard edition the archive destination will be on ASMI don't think the Edition of Oracle (Standard or Enterprise) dictates where and how you store your archive logs, but it's possible I've misunderstood what you mean...SE dictates that database storage for RAC will be ASM, including archive log files. Anything else is not officially supported. I haven't tested but it may be that you can use LOG_ARCHIVE_DUPLEX_DEST to specify a local filesystem for archive log files as well.
    If that doesn't work you'll have to script rman "backup as copy" jobs regularly and then transport the results of that.
    Niall Litchfield
    http://www.orawin.info/
    By the way, it seems Robert has been pretty helpful, it's polite to give him some points dude. And since this is your thread, not mine, give him a "helpful" from me too :p
    El DBA
    Incidentally if you are forced down the RMAN backup as copy route then this will likely throw your current backup retention strategy somewhat, you'll need to think carefully about when an archivelog can be deleted following backup, how many times it might be backed up and so on. I do understand, and have argued for, the use of SE RAC. I also understand and have argued for and implemented manually managed standby a number of times. However by the time your primary database is a RAC instance and you need a standby for DR etc then you really have to look very seriously at whether Standard Edition is still the right investment or not. You will be spending a lot of DBA time managing and troubleshooting this, and you will find that it is less reliable than the off the shelf solution. I suspect that you are very close to the point where an EE installation becomes a worthwhile investment here.
    Niall Litchfield
    http://www.orawin.info/

  • Using xsql params w/in oracle text "contains" clause

    Hello,
    Regarding the xsql code below:
    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="hrefs.xsl"?>
    <page connection="rxschema" xmlns:xsql="urn:oracle-xsql">
    <xsql:query file="%winping-utility%" version="1.0"
    null-indicator="yes" link="">
    select distinct c.contentpathname
    from rx_schema.ct_shared s, rx_schema.contentstatus c
    where s.contentid = c.contentid
    and contains (s.ul_file, '{@link} within href') > 0
    and s.revisionid = (select max(revisionid)
    from rx_schema.ct_shared
    where contentid = s.contentid)
    order by contentpathname
    </xsql:query>
    </page>
    specifically this line:
    and contains (s.ul_file, '{@link} within href') > 0
    This query doesn't work, I think the "{@link}" xsql param (passed in) is being interpreted as an xml attribute (since it's within the "contains" clause), is there a way to force it to read this as a param? I also tried it w/o the braces (and I also verified that it works when I hardcode a value in place of "@link").
    Thanks,
    JSK

    The syntax of a 'Contains' query should contain only the 'Contains' query operators.
    http://www.cise.ufl.edu/help/database/oracle-docs/text.920/a96518/cqoper.htm#1360

  • Use ora:contains with a full sentence (Oracle 11g)

    Hello to all.
    I execute this query:
    SELECT d.* from Document d WHERE ( ( (( d.XML.existsNode('//field[ora:contains(@value,"*forni di sopra*","ai_my_policy") and  @fieldId="FE1195216030414741158"]','xmlns:ora="http://xmlns.oracle.com/xdb"') = 1) AND d.IDTEMPLATE=265) ) )
    And the system give me this result:
    <field name="Luogo" searchable="true" listable="false" fieldId="FE1195216030414741158" required="" taggable="false" iterable="false" isIterate="false" type="vocabulary" specification="" vocabulary="280" vocabularyOrig="FE1195216030414741158" value="*Forni di Sotto*"/>
    Why?
    I have no result is I search: ora:contains(@value,"*sopra*","ai_my_policy")
    My policy is:
    BEGIN
    CTX_DDL.create_preference(PREFERENCE_NAME => 'ai_my_lexer',
    OBJECT_NAME => 'BASIC_LEXER');
    CTX_DDL.set_attribute(PREFERENCE_NAME => 'ai_my_lexer',
    ATTRIBUTE_NAME => 'BASE_LETTER',
    ATTRIBUTE_VALUE => 'YES');
    CTX_DDL.create_policy(POLICY_NAME => 'ai_my_policy',
    LEXER => 'ai_my_lexer');
    END;
    Thank you,
    Cristian
    Edited by: baol on 29-apr-2011 2.26
    Edited by: baol on 29-apr-2011 2.27

    <?xml version="1.0" encoding="UTF-8"?>
    <root>
    <fields>
    <field name="Numero fascicolo" searchable="true" listable="false" fieldId="FE1195215593779632713" required="" taggable="false" iterable="false" isIterate="false" type="text" specification="simple" value="II"/>
    <field name="Titolo fascicolo" searchable="true" listable="false" fieldId="FE1195215346355558776" required="" taggable="false" iterable="false" isIterate="false" type="text" specification="simple" value="Oratorio di S. Lorenzo a Forni di Sotto - distretto di Ampezzo"/>
    <field name="Luogo" searchable="true" listable="false" fieldId="FE1195216030414741158" required="" taggable="false" iterable="false" isIterate="false" type="vocabulary" specification="" vocabulary="280" vocabularyOrig="FE1195216030414741158" value="Forni di Sotto"/>
    </fields>
    </root>

  • Searching for a Reporting Tool for Oracle 11g

    Hello,
    I have created several OLAP-Cubes with the Analytic Workspace 11.1.0.7.0B on the Oracle Database 11g. Now I need a Tool for Creating some Reporting. I have Oracle BI Spreadsheet Add-In Version 10.1.2.3 for Microsoft Excel. I have installed it and I have a Connection to the Database. But on the Query-Assistent, I can't see my Measures and Dimensions. I guess it is because of the Version.
    My Questions are:
    - Is there any BI Spreadsheet in Version 11?
    - Is there any other Reporting-Possibility with another Tool for Oracle 11g? I couldn't find anything yet.
    I am very happy, if there is anyone who can answer my questions.

    I have no knowledge of BI publisher but if you install OBIEE then you will have option to install BI publisher also. You can download OBIEE from here.
    After installation you can look at following post to see the set up required to access olap cubes.
    http://www.oracle.com/technology/obe/olap_biee/index.html
    OBIEE install/user documentation -> http://download.oracle.com/docs/cd/E10415_01/doc/nav/portal_1.htm
    Thanks,
    Brijesh.

  • CONTAINS clause and keywords

    We have an application which uses context indexes, and a user ran the following query today which resulted in an error:
    select *
    from paghtrd a
    where CONTAINS(A.NAME, 'ALL ABOUT AUTOS') > 0;
    SQL Error: ORA-29902: error in executing ODCIIndexStart() routine
    ORA-20000: Oracle Text error:
    DRG-50901: text query parser syntax error on line 1, column 11 It's because "ABOUT" is a keyword. For instance, the following runs without a problem
    select *
    from paghtrd a
    where CONTAINS(A.NAME, 'ABOUT (AUTO)') > 0How do people handle these keyword entries? Does your interface strip them out when building the SQL?
    Thanks,
    --=Chuck

    You need to escape the reserved words if you want to use them in your search term.
    If they are single character reserved symbols like '&' then you can use backslash like this '\&'
    If ther are reserved words like ABOUT,ACCUM, AND ,FUZZY then you need to use curly brackets {} to escape them.
    >
    So does your interface do a "search & replace" on keywords, before inserting a user's entry into a CONTAINS( ) clause? "ABOUT" is only one of many keywords.
    >
    No, When you escape a reserved word, When reading the search term it simply treats it as a normal word.
    G.

  • Help needed with oracle text special character search

    Hi all
    Using oracle 11g sql developer 4.0
    I am facing this challenge where Oracle text when it comes to searching text that contains special character.
    This what I have done so far with help of http://www.orafaq.com/forum/t/162229/
      CREATE TABLE "SOS"."COMPANY"
       ( "COMPANY_ID" NUMBER(10,0) NOT NULL ENABLE,
      "COMPANY_NAME" VARCHAR2(50 BYTE),
      "ADDRESS1" VARCHAR2(50 BYTE),
      "ADDRESS2" VARCHAR2(10 BYTE),
      "CITY" VARCHAR2(40 BYTE),
      "STATE" VARCHAR2(20 BYTE),
      "ZIP" NUMBER(5,0)
       ) SEGMENT CREATION IMMEDIATE
      PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
      STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
      TABLESPACE "USERS" ;
    Insert into COMPANY (COMPANY_ID,COMPANY_NAME,ADDRESS1,ADDRESS2,CITY,STATE,ZIP) values (1,'LSG SOLUTIONS LLC',null,null,null,null,null);
    Insert into COMPANY (COMPANY_ID,COMPANY_NAME,ADDRESS1,ADDRESS2,CITY,STATE,ZIP) values (2,'LOVE''S TRAVEL',null,null,null,null,null);
    Insert into COMPANY (COMPANY_ID,COMPANY_NAME,ADDRESS1,ADDRESS2,CITY,STATE,ZIP) values (3,'DEVON ENERGY',null,null,null,null,null);
    Insert into COMPANY (COMPANY_ID,COMPANY_NAME,ADDRESS1,ADDRESS2,CITY,STATE,ZIP) values (4,'SONIC INC',null,null,null,null,null);
    Insert into COMPANY (COMPANY_ID,COMPANY_NAME,ADDRESS1,ADDRESS2,CITY,STATE,ZIP) values (5,'MSCI',null,null,null,null,null);
    Insert into COMPANY (COMPANY_ID,COMPANY_NAME,ADDRESS1,ADDRESS2,CITY,STATE,ZIP) values (6,'ERNEST AND YOUNG',null,null,null,null,null);
    Insert into COMPANY (COMPANY_ID,COMPANY_NAME,ADDRESS1,ADDRESS2,CITY,STATE,ZIP) values (7,'JOHN DEER',null,null,null,null,null);
    Insert into COMPANY (COMPANY_ID,COMPANY_NAME,ADDRESS1,ADDRESS2,CITY,STATE,ZIP) values (8,'Properties@Oklahoma, LLC',null,null,null,null,null);
    Insert into COMPANY (COMPANY_ID,COMPANY_NAME,ADDRESS1,ADDRESS2,CITY,STATE,ZIP) values (9,'D.D.T  L.L.C.',null,null,null,null,null);
       BEGIN
    CTX_DDL.CREATE_PREFERENCE ('your_lexer', 'BASIC_LEXER');
         CTX_DDL.SET_ATTRIBUTE ('your_lexer', 'SKIPJOINS', '.,@-'''); -- to skip . , @ - ' symbols
        END;
      CREATE INDEX my_index2 ON COMPANY(COMPANY_NAME)
         INDEXTYPE IS CTXSYS.CONTEXT PARALLEL
       PARAMETERS ('LEXER your_lexer');   
    SELECT
    company_name
    FROM company
    WHERE CATSEARCH(company.COMPANY_NAME, 'LLC','') > 0
    ORDER BY company.COMPANY_ID;
    output
    company_name
    1 LSG SOLUTIONS LLC
    2 Properties@Oklahoma, LLC
    only return 2 row but should return 3

    I just noticed that I forgot to use an empty stoplist, so I have added that to the revised example below.  Otherwise, it uses a default stoplist that would not index common single-letter words like A and I.
    1. Whtat is Just search on single character 'L'? It give me error.
    Since it uses the NEAR operator, searching for just one letter causes incomplete syntax, asking it to search for L near a missing second value.  So, I have added additional code to allow for just one letter.
    2. How do I do auto refresh on this index on datastore?
    If I add "sync        (on commit)" it does not refresh the previously set token.
    Sync(on commit) does synchronize so that the data is immediately searchable.  You have to either optimize or rebuild or drop and recreate the index to condense the rows in the domain index table.
    3.lastly explanation of
    <seq>NEAR((' || letters_func (:search_string) || '),1,TRUE)</seq>
                      <seq>NEAR((' || letters_func (:search_string) || '),100,TRUE)</seq>
                    <seq>NEAR((' || letters_func (:search_string) || '),100,FALSE)</seq>
    why 100 true and 100 false
    100 is just a default value that I used for the second parameter of near, indicating how close the letters need to be to each other.  True and False are values for the third parameter of near, indicating whether or not the letters must be in the same order or not.  So, it returns the results in the order of first those that are very close to one another and in the same order, then those that may be further away but in the same order, then those that may be further away and in any order.
    SCOTT@orcl12c> CREATE TABLE company_near
      2    (company_id    NUMBER(10,0) NOT NULL ENABLE,
      3      company_name  VARCHAR2(50 BYTE))
      4  /
    Table created.
    SCOTT@orcl12c> SET DEFINE OFF
    SCOTT@orcl12c> BEGIN
      2  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (1,'LSG SOLUTIONS LLC');
      3  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (2,'LOVE''S TRAVEL');
      4  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (3,'DEVON ENERGY');
      5  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (4,'SONIC INC');
      6  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (5,'MSCI');
      7  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (6,'ERNEST AND YOUNG');
      8  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (7,'JOHN DEER');
      9  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (8,'Properties@Oklahoma, LLC');
    10  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (9,'D.D.T  L.L.C.');
    11  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (10,'LSG COMPANY, LLC');
    12  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (11,'LSG STAFFING, LLC');
    13  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (12,'L & S GROUP LLC');
    14  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (13,'L S & G, INC.');
    15  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (14,'L.S.G. PROPERTIES, L.L.C.');
    16  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (15,'LSGS PROPERTIES, LLC');
    17  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (16,'LSQ INVESTORS, L.L.C');
    18  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (17,'LHP SHERMAN/GRAYSON, LLC');
    19  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (18,'Walmart');
    20  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (19,'Wal mart');
    21  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (20,'LSG Property Investments, L.L.C.');
    22  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (21,'1224 S GALVESTON AVE, LLC');
    23  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (22,'1527 S GARY AVE, LLC');
    24  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (23,'FIFTEENTH STREET GRILL');
    25  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (24,'Massa Lobortis LLP');
    26  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (25,'Risus A Inc.');
    27  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (26,'Dollar $ store');
    28  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (27,'L.O.V.E., INC. ');
    29  Insert into COMPANY_NEAR (COMPANY_ID,COMPANY_NAME) values (28,'J-MART LLC ');
    30  END;
    31  /
    PL/SQL procedure successfully completed.
    SCOTT@orcl12c> CREATE OR REPLACE FUNCTION letters_func
      2    (p_string IN VARCHAR2)
      3    RETURN        VARCHAR2
      4  AS
      5    v_string     VARCHAR2(4000);
      6  BEGIN
      7    FOR i IN 1 .. LENGTH (p_string)
      8    LOOP
      9       IF REGEXP_LIKE (SUBSTR (p_string, i, 1), '[A-Z]', 'i')
    10       THEN
    11         v_string := v_string || SUBSTR (p_string, i, 1) || ',';
    12       END IF;
    13    END LOOP;
    14    v_string := RTRIM (v_string, ',');
    15    RETURN v_string;
    16  END letters_func;
    17  /
    Function created.
    SCOTT@orcl12c> BEGIN
      2    CTX_DDL.CREATE_PREFERENCE ('letters_datastore', 'MULTI_COLUMN_DATASTORE');
      3    CTX_DDL.SET_ATTRIBUTE
      4       ('letters_datastore',
      5        'COLUMNS',
      6        'letters_func (company_name) company_name');
      7    CTX_DDL.SET_ATTRIBUTE ('letters_datastore', 'DELIMITER', 'NEWLINE');
      8  END;
      9  /
    PL/SQL procedure successfully completed.
    SCOTT@orcl12c> CREATE INDEX letters_index ON company_near (company_name)
      2  INDEXTYPE IS CTXSYS.CONTEXT
      3  PARAMETERS
      4    ('DATASTORE  letters_datastore
      5       STOPLIST   CTXSYS.EMPTY_STOPLIST
      6       SYNC        (ON COMMIT)')
      7  /
    Index created.
    SCOTT@orcl12c> SELECT COUNT(*) FROM dr$letters_index$i
      2  /
      COUNT(*)
            24
    1 row selected.
    SCOTT@orcl12c> VARIABLE search_string VARCHAR2(100)
    SCOTT@orcl12c> EXEC :search_string := 'LSG'
    PL/SQL procedure successfully completed.
    SCOTT@orcl12c> SELECT SCORE(1), company_id, company_name
      2  FROM   company_near
      3  WHERE  CONTAINS
      4            (company_name,
      5             '<query>
      6            <textquery>
      7              <progression>
      8                <seq>'       || :search_string            || '</seq>
      9                <seq>NEAR((' || letters_func (:search_string) || '),1,TRUE)</seq>
    10                <seq>NEAR((' || letters_func (:search_string) || '),100,TRUE)</seq>
    11                <seq>NEAR((' || letters_func (:search_string) || '),100,FALSE)</seq>
    12              </progression>
    13            </textquery>
    14             </query>',
    15             1) > 0
    16  ORDER  BY SCORE(1) DESC
    17  /
      SCORE(1) COMPANY_ID COMPANY_NAME
            56          1 LSG SOLUTIONS LLC
            56         10 LSG COMPANY, LLC
            56         11 LSG STAFFING, LLC
            56         12 L & S GROUP LLC
            56         13 L S & G, INC.
            56         14 L.S.G. PROPERTIES, L.L.C.
            56         20 LSG Property Investments, L.L.C.
            56         15 LSGS PROPERTIES, LLC
            31         17 LHP SHERMAN/GRAYSON, LLC
             8         21 1224 S GALVESTON AVE, LLC
             4         22 1527 S GARY AVE, LLC
             4         23 FIFTEENTH STREET GRILL
    12 rows selected.
    SCOTT@orcl12c> EXEC :search_string := 'L'
    PL/SQL procedure successfully completed.
    SCOTT@orcl12c> /
      SCORE(1) COMPANY_ID COMPANY_NAME
            78          1 LSG SOLUTIONS LLC
            77          8 Properties@Oklahoma, LLC
            77          9 D.D.T  L.L.C.
            77         10 LSG COMPANY, LLC
            77         11 LSG STAFFING, LLC
            77         12 L & S GROUP LLC
            77         28 J-MART LLC
            77          2 LOVE'S TRAVEL
            77         26 Dollar $ store
            77         24 Massa Lobortis LLP
            77         23 FIFTEENTH STREET GRILL
            77         14 L.S.G. PROPERTIES, L.L.C.
            77         15 LSGS PROPERTIES, LLC
            77         16 LSQ INVESTORS, L.L.C
            77         17 LHP SHERMAN/GRAYSON, LLC
            77         20 LSG Property Investments, L.L.C.
            77         21 1224 S GALVESTON AVE, LLC
            77         22 1527 S GARY AVE, LLC
            76         19 Wal mart
            76         18 Walmart
            76         27 L.O.V.E., INC.
            76         13 L S & G, INC.
    22 rows selected.
    SCOTT@orcl12c> INSERT INTO company_near (company_id, company_name) VALUES (30, 'Laris Gordman llc.'  )
      2  /
    1 row created.
    SCOTT@orcl12c> COMMIT
      2  /
    Commit complete.
    SCOTT@orcl12c> SELECT COUNT(*) FROM dr$letters_index$i
      2  /
      COUNT(*)
            35
    1 row selected.
    SCOTT@orcl12c> EXEC :search_string := 'Laris Gordman llc.'
    PL/SQL procedure successfully completed.
    SCOTT@orcl12c> SELECT SCORE(1), company_id, company_name
      2  FROM   company_near
      3  WHERE  CONTAINS
      4            (company_name,
      5             '<query>
      6            <textquery>
      7              <progression>
      8                <seq>NEAR((' || letters_func (:search_string) || '),1,TRUE)</seq>
      9                <seq>NEAR((' || letters_func (:search_string) || '),100,TRUE)</seq>
    10                <seq>NEAR((' || letters_func (:search_string) || '),100,FALSE)</seq>
    11              </progression>
    12            </textquery>
    13             </query>',
    14             1) > 0
    15  ORDER  BY SCORE(1) DESC
    16  /
      SCORE(1) COMPANY_ID COMPANY_NAME
           100         30 Laris Gordman llc.
    1 row selected.
    SCOTT@orcl12c> EXEC CTX_DDL.OPTIMIZE_INDEX ('letters_index', 'FULL')
    PL/SQL procedure successfully completed.
    SCOTT@orcl12c> SELECT COUNT(*) FROM dr$letters_index$i
      2  /
      COUNT(*)
            24
    1 row selected.

  • Kerberos Authentication between Sharepoint 2013 Foundation - SSRS 2012 - Oracle 11g failing with ORA-12638: Credential retrieval failed

    I have set up SharePoint 2013 Foundation, SharePoint Reporting Services and SQL Server 2012 in a single server. I then created a Data Connection to Oracle 11g. Upon testing the connection, it throws the error “ORA-12638: Credential retrieval failed”.
    Given below are the steps of installation and configuration.
    Installation till basic authentication:
    The installation has been done in a
    single server.
    Installed SQL Server 2012 (Developer version).
    Selected only the following features:
    Database Engine Services
    Analysis Services
    Reporting Services – SharePoint
    Reporting Services Add-in for SharePoint Products
    Management Tools – Basic
    - Management Tools - Complete
      2. Installed SQL Server 2012 SP1.
      3. Installed SQL Server 2012 SP2.
      4. Installed SharePoint Foundation 2013.
      5. Created web application (without Kerberos; we did not even create the SPNs).
          The application pool has been configured to use Reporting Services account since it is a single server installation. This account has been registered as a managed
    account.
      6. Created Site Collection.
      7. Verified that Reporting Services is not installed.
      8. Installed SharePoint Reporting Services from SharePoint 2013 Management Shell.
      9. Verified that Reporting Services is installed.
     10. Created a new SQL Server Reporting Services Service Application and associated the Web Application to the new SQL server Reporting Services Service Application.
      11. Verified that SQL Server Reporting Services Service Application and its proxy have started. Reset IIS.
      12. Created a Site.
      13. Created a Data Connection library with “Report Data Source” content type.
      14. Created a Report Model library with “Report Builder Model” content type.
      15. Created a Report library with “Report Builder Report” content type.
      16. Uploaded an SMDL to the Report Model library.
      17. Added the top level site to Local Intranet instead of as a Trusted Site in the browser settings.
      18. Able to create and save a report using Report Builder.
    Hence, basic authentication is working and SSRS is able to connect to Oracle database.
    Next we have to configure Kerberos settings between SharePoint and SQL Server.
    Implementation of Kerberos authentication
    In the Report Server machine, opened the file C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\WebServices\Reporting\rsreportserver.config  and added the Authentication Types of RSWindowsNegotiate
    and RSWindowsKerberos.
     2.  Set up the following SPNs.
                   a) SQL Server Database Engine service (sqlDbSrv2):
                    setspn -S MSSQLSvc/CER1110:1433 CERDEMO\sqlDbSrv2
                    setspn -S MSSQLSvc/CER1110.cer.demo.com:1433 CERDEMO\sqlDbSrv2
                 In the Delegation tab of the account, selected "Trust this user for delegation to any service (Kerberos only)".
    b) Account: SharePoint Setup Admin account (spAdmin2)
         setspn -S HTTP/CER1110:9999 CERDEMO\spAdmin2
                    setspn -S HTTP/CER1110.cer.demo.com:9999 CERDEMO\spAdmin2
                    In the Delegation tab of the account, selected "Trust this user for delegation to any  service
    (Kerberos only)".
    c) Account: SQL Server Reporting Service account (sqlRepSrv2)
                       setspn -S HTTP/CER1110 CERDEMO\sqlRepSrv2
                       setspn -S HTTP/CER1110.cer.demo.com CERDEMO\sqlRepSrv2
                       In the Delegation tab of the account, selected "Trust this user for delegation to any service
    (Kerberos only)".
      3. Configure the Web Application to use “Negotiate (Kerberos)”.
      4. Logged in as SharePoint Administrator to the SharePoint server and opened the top level site in the IE browser.
         The Event Viewer logged the login process for the SharePoint Administration account as
    Negotiate and not Kerberos.
      5. Implemented Kerberos for Oracle database and client.
         Able to connect to the Oracle database via Kerberos authentication using SQL Plus.
      6. Turn on Windows Firewall.
      7. While testing the site's data connection using Kerberos settings, got the error
    “Can not convert claims identity to windows token. This may be due to user not logging in using windows credentials.”
          Note: The Data Connection for basic authentication still worked.
      8. Created a Claims to Windows Token Service account (spC2WTS2).
      9. Started the Claims to Windows Token Service.
     10. Registered the Claims to Windows Token Service account as a Managed Account.
     11. Changed the Claims To Windows Token Service to use the above managed account.
     12. Verified that the Claims to Windows Token Service account (spC2WTS2) is automatically added to the WSS_WPG local group on the SharePoint box.
          Note: The Reporting Services service account is also a part of the WSS_WPG local group.
     13. Added the Claims to Windows Token Service account (spC2WTS2) to the Local Admin Group on the machine having the SharePoint App Server.
     14. In the SharePoint box, added the Claims to Windows Token Service account (spC2WTS2) in the Act as part of the operating system policy right.
     15. The Claims to Windows Token Service account (spC2WTS2) has the WSS_WPG group configured.
          When the C2WTS service was configured to use the managed account Claims to Windows Token Service account (spC2WTS2) earlier, the spC2WTS2 account was automatically
    added to the WSS_WPG local group on the SharePoint box. The WSS_WPG group in turn is configured in c2wtshost.exe.config file.
     16. Verified that the Reporting Services account is a managed account and part of the WSS_WPG group.
     17. Earlier Service Application Pool - SQL Server Reporting Services App Pool service was associated with the SharePoint Admin account.
          Changed this to associate the Reporting Service account with the Service Application Pool - SQL Server Reporting Services App Pool service.
     18. Changed the delegation of the Reporting Service account to constrained delegation with Protocol Transitioning. This is because we are transitioning from one authentication scheme (Claims) to another (Windows Token).
          For this, the delegation has been changed to "Trust this user for delegation to specified services only". Also, selected the sub radio button "Use
    any authentication protocol". Selected the Oracle Kerberos service as the service to which this account can present delegated credentials.
          Note: The Reporting Service account already had an HTTP SPN.
     19. Next, the goal was to make the Claims To Windows Token Service account match the Reporting Service account.
           For this, we created a fake SPN for the Claims To Windows Token Service account since the delegation tab was missing.
           The delegation has been changed to "Trust this user for delegation to specified services only". Also, selected the sub radio button "Use any
    authentication protocol". Selected the Oracle Kerberos service as the service to which this account can present delegated credentials.
     20. Restarted the SharePoint server.
     21. Tested the data connection with the Kerberos settings again.
           Got the error
    “ORA-12638: Credential retrieval failed”.
    Can anyone tell me what is wrong with this setup?

    http://www.freeoraclehelp.com/2011/10/kerberos-authentication-for-oracle.html
    Problem4: ORA-12638: Credential retrieval failed
    Solution:  Make sure that SQLNET.KERBEROS5_CC_NAME is set in sqlnet.ora and okinit has been run before attempting to connect to the database.
    Do check 
    http://webcache.googleusercontent.com/search?q=cache:5a2Pf3FH7vkJ:externaltable.blogspot.com/2012/06/kerberos-authentication-and-proxy-users.html+&cd=5&hl=en&ct=clnk&gl=in
    If this helped you resolve your issue, please mark it Answered. You can reach me through http://itfreesupport.com/

  • Oracle 11g SOA-BPM PS3 Installation Help

    I'm not a super techie, so installing the latest release from Oracle was a challenge, but I encountered a number of problems and kept notes of what I did to solve it. Many of these hints came from the Forum, but nothing had all of the relevant info under one thread. So here is what I pieced together. If this is helpful to anybody, I'd love to hear it - either on this thread or at my e-mail address of [email protected]. My thanks to Linus Chow of Oracle for some help and allowing me to think I could do this!
    Comments/Suggestions on Oracle 11g SOA-BPMN PS3 Installation_
    Suggest downloading all files into a common directory. I stuck this folder at the root (C:) drive. At collectively just over 5 GBs, the downloading will take several hours (for me it was a full day, as did the installation). You will need an OTN account to be able to download the software. A good overview of PS3 is at the following link: http://blogs.oracle.com/bpm/2011/01/bpm_suite_11gr1_ps3_released.html.
    General comment/suggestion. Be sure to name the aforementioned folder without any spaces (big problems if this is done because of how unzipped files do/don’t work with a path name with spaces in it). As the installs get started, note that an Oracle directory (under the root) with a default name for the middleware directory, named Middleware, is created as the default.
    The link with the installation is actually helpful, but it is incomplete (http://www.oracle.com/technetwork/middleware/bpm/downloads/index.html). Some of the detail needed is in the quick installation guide (http://download.oracle.com/docs/cd/E17904_01/install.1111/e14318/toc.htm, and I suggest downloading the PDF version), but the order conflicts with the previous information. I resolved this by using the latter for detail, but the former for the sequence. I also had to turn to several blogs/forums (the main one being: http://blogs.oracle.com/SOA/2009/08/installing_oracle_soa_suite_11.html) to get help on troubleshooting problems with the installation (see below for others).
    I have a Windows 7 Professional 64-bit version, but I ended up following the path for the 32-bit install path (see the main link cited above), mostly because it was unclear to me what the 64-bit path would be. I also already had the 32-bit version of the JRE installed. The following links cover identifying the differences and what you may have installed as well as alternative versions to download: http://www.java.com/en/download/faq/index_general.xml?user_os=Windows%207; http://www.java.com/en/download/faq/java_win64bit.xml; and http://www.java.com/en/download/manual.jsp.
    Another general comment/suggestion. I found it useful to reboot after each step. It shut down services that I would otherwise have to search for and shut down manually. Some of the installations require services activated by previous steps to be turned off, so you’re better off doing something like this rather than encountering such an error in a subsequent step.
    Step 1: Installing the XE database. The file is an .exe file, and will execute upon a double click. However, the instruction regarding RCU is best saved until the 3rd step, doing it just before you install the RCU. More importantly, there are some things to keep in mind about the database install. First, after installation, you should sign on to the DB, using the Go To DB Home Page option under the Express Edition (XE) folder or set of menu options (created as part of the installation), under the SYSTEM user account. During installation, you’ll have to have given a password for this account, so make sure it is one you can remember. After signing on as SYSTEM, give the SYS user account another (or same) password that you can remember. You will use the SYS account in subsequent steps. Second, there is a parameter for the database that must be changed from the default. This is covered in the links below: http://blogs.oracle.com/tridib_samanta/2010/03/rcu-6107db_init_param_prerequisite_failure_for_processes.html and http://cn.forums.oracle.com/forums/thread.jspa?threadID=1004605. To solve this, select SQL button on the DB home page, then SQL Commands button on the next page, paste/enter into the pane at the top the following command, “ALTER SYSTEM SET processes=300 SCOPE=SPFILE;” (but without the quotes), and then click on the Run button. (The parameter must be greater than or equal to 200, but I found references to setting in equal to 300 or 500.) Then you can log out and close the web page.
    At times, the DB might not be started when you are expecting it to be running (e.g., after a reboot), which is covered in this link: Oracle 10g database homepage not working? (You’ll know that it is isn’t running if you try to open the Go To DB Home Page option and it won’t open, displaying an error page instead.) I found that the simplest way to fix this was to go to the Control Panel, Administrative Tools, Services, and then look to see if the OracleServiceXE service is started. If not, then restart by right-clicking on that service listing and choosing the appropriate option to execute.
    Step 2: Installing WebLogic Server. Either before or during this process, you will need to set up an Oracle Support Account. However, you need a customer ID to be able to create a profile. I was thus not able to complete a profile, so the WLS installation defaulted to the Anonymous registration option. This still needed an e-mail address though, the same one with which you would create the Oracle Support profile, so you should have one at the ready. (It would not accept the e-mail address for my OTN account.) As far as I can tell, the consequence of this path is that I cannot automatically get patches and such. I figure this is a problem to be solved another day. The Oracle Support links are: https://support.oracle.com/CSP/ui/faq_en.html#SignIn and https://support.oracle.com/CSP/ui/flash.html.
    If you go with the default, the middleware directory is just Middleware under the Oracle directory. If you select a different name or location, you will need to remember where it is and what the name is. You should also note the folder name for where the JDK was stuck, which for me was JDK160_21 under the Middleware directory.
    Step 3:  Installing RCU. The trickiest of the steps. Unlike with the previous two steps, this installation first happens after the downloaded file is unzipped. You MUST unzip into a directory for which the full path name (and not just the one you create upon extraction) is without any spaces. (You can use the underscore symbol instead of a space to indicate separation.) Unzip the folder/files, and then open the Command Prompt window. Using the cd command, work your way to the full path name to where you just unzipped these files. Next, continue to work your way down to subfolders created during the extraction process. You want to end up at the rcuHome\BIN\ subfolder. THEN do the RCU-related command cited in Step 1. Type in at the prompt the following command and hit enter: set RCU_JDBC_TRIM_BLOCKS = TRUE. Then, type in rcu.bat at the prompt and hit enter, which will run the installation and configuration sequence. This is realized through a series of windows that open for you to input information and make selections. Use the document at the following link of specific guidance as to what the configuration screens should have entered on them: http://blogs.oracle.com/SOA/2009/08/installing_oracle_soa_suite_11.html. This includes things like the service name (XE) and the host name (localhost) to enter, assuming you are installing this on a laptop or PC for local use only. Some other helpful links for troubleshooting the RCU installation are located at: http://download.oracle.com/docs/cd/E12839_01/doc.1111/e14259/rcu.htm#CIHGHDBG; http://oraclebi.blogspot.com/2010/08/rcu-and-what-it-means-for-you.html ; Re: RCU 11.1.1.4 install fails on Oracle XE and http://cn.forums.oracle.com/forums/thread.jspa?threadID=2162409&tstart=0&messageID=9336791.
    The RCU sets up DB schemas and the like for the BPMN and SOA stuff. The screenshots in the previously mentioned document should be followed exactly. You can also refer to pp. 5-6 of the Quick Installation Guide. You should use the SYS user account (the default, I think), so have the password handy.
    I also found it more comforting to shutdown the RCU installation/configuration via the cancel option than to keep going back a screen to fix something. This may not have been necessary, but it made me feel better. Be prepared for interim screens that pop up to show that the installation/configuration is happening, which will also tell you there are errors. One such screen says that XE isn’t supported for RCU, but you can ignore that (as the supporting guidelines indicate).
    Step 4:  Installing JDev. This is an executable, and you just install with all of the defaults. This process will start the WLS as part of the installation, so you must turn it off before going to the next step. Again, I just rebooted to do this.
    Step 5:  Installing SOA Extensions for JDev. Instructions on the page at the main link are clear and correct. The 2 screen shots must be reviewed and adhered to completely in checking off options. The first selection defines the areas where updates are to be sought out, while the second selection is from the available option(s) from those areas. In this case, you are only installing the SOA Composite Editor, though there are several other updates/extensions from which to select (but don’t, at least for now).
    Step 6: Installing BPM Extensions for JDev. Same comment as for Step 5, except that the option you want to select is not as what is indicate (the BPM Composite Editor) but the BPM Process Studio! I would advise against doing these as part of the same update sequence. In fact, I closed out JDev completely (though I did not reboot) between Step 5 and Step 6.
    Step 7 and 8:  Installing SOA Suite. I suggest unzipping both of the downloaded zip files. Again, it is critical that the full path name into which files are extracted contains no spaces. Once unzipped, you should navigate to the Disk1 folder under the directory into which the first zip file was extracted, but you should do this with the Command Prompt window and the cd command. From this prompt, you should type in “setup.exe -jreLoc {location of JDK}” (without the quotes) and hit enter. The {location of JDK} is where the JDK was installed as part of the WLS installation. For me this was in folder JDK160_21 under the Middleware folder in the Oracle directory. Refer to pp. 12-15 of the Quick Installation Guide. This took me a couple of tries before I actually got the installation screen to show up correctly. Some of what this looks like is also in the following link: http://blogs.oracle.com/SOA/2009/08/installing_oracle_soa_suite_11.html.
    What you may eventually figure out is that 5 installation disks are stretched across two zip files. Once the installation of disks 1 and 2 are done, a popup window will ask you to browse to the folder where each of the next 3 disks are, which is in the folder created by the extraction of files/folders from the second zip file for the SOA Suite. As with previous steps, I rebooted after all of this was done.
    Step 9:  Installing the Business Process Converter. Unzip the downloaded file, and open the Installation Instructions Word file. It will instruct you to point JDev’s update sequence to another zip file extracted during the unzipping of the downloaded zip file for the converter. JDev will install this without much fuss or muss, but this installation is to the Studio and not to BPA. (For installation to BPA, you need to have installed BPA, and followed the other guidance in the instructions.) To get to JDev’s update sequence, follow the same first step as in Step 5, but check the option to browse for and upload from a local file. This local file will be the previously mentioned other zip file.
    -------------------------------------------------

    Create a new user oracle and proceed with the installation
    --> useradd -g oinstall oracle
    If your are forwarding your GUI using xming or vnc you would need to copy the xauth of root user and set it to oracle
    [server1:root] xauth list
    bangvmpllE.com/unix:11 MIT-MAGIC-COOKIE-1 b23d63374fe25a3577751b6b95b2210e
    [server1:root] sudo su - oracle
    [server1:oracle] export DISPLAY=localhost:10.0
    [server1:oracle] xauth add bangvmpllE.com/unix:11 MIT-MAGIC-COOKIE-1 b23d63374fe25a3577751b6b95b2210e

Maybe you are looking for

  • Cat TimesheetData dropdown doesn't refresh

    Hi Expert, In Cat WD application , we have a cell Absence use dynamic dropdown UI. when we click on the calendar, the timesheet data is refreshed, but not the dropdown list. Any idea ? thanks. Ben.J.

  • Windows 8 Mail Wont Send

    As of Yesterday, (27th Sept) My windows mail has stopped sending email to any of the IMAP accounts set up, I have seen this on multiple PCs with multiple IMAP accounts, so i'm pretty sure it's not a Mail server issue, and I have tried it via differen

  • Organization Tree

    Just switching to Aperture from PC Photoshop and I don't understand the most basic issues! 1-Where are the Masters? 2-What is the sequence of organization: Project/Folders, etc???

  • Is there such a thing as a malware keylogger for Macs?

    Hi all, My partner, using the iMac running 10.4.8, is a regular eBay seller. Tonight at around 2300 local time her account was (and is still) hijacked. For those not knowing the workings of eBay it requires a password login just like banking, credit

  • Transfer a project from one computer to another

    Hello, I'm working on a project in Premier using a iMac. Now i have to transfer all the project into my macbook pro. I cannot copy all the files I've imported in the sequence because i've chosen 1.000 from a folder which contain more than 16.000 file