Calling CTX_DDL.SYNC_INDEX Package but reflected
Hi All,
I have a table Customer_Tif_Detail which is having 9383428 rows:
select count(*) from Customer_Tif_Detail;
COUNT(*)
9383428
And I have a query which taking too much time to execute, below is teh query:
Select ZIP_STATUS From Customer_Tif_Detail Ctd Where Ctd.Tif_Name Like '%231079_0068.tif%'
AND 0= ( select count(*) as CNT From Customer_Document_Detail Cdd Where Cdd.Tif_End Is Null
And cdd.id = ctd.id AND Cdd.Submit_Flag = 'Y');
Then I created a Index Type Index, below is the process I did:
BEGIN
CTX_DDL.CREATE_PREFERENCE ('tif_details', 'BASIC_LEXER');
CTX_DDL.SET_ATTRIBUTE ('tif_details', 'PRINTJOINS', '_.');
END;
CREATE INDEX idx_customer_tif_name ON Customer_Tif_Detail(tif_name) INDEXTYPE IS CTXSYS.CONTEXT
PARAMETERS ('LEXER tif_details');
And I am using below query with using contains, below is query:
Select ZIP_STATUS From Customer_Tif_Detail Ctd Where Ctd.Tif_Name contains(tif_name, '%231079_0068.tif%' )
AND 0= ( select count(*) as CNT From Customer_Document_Detail Cdd Where Cdd.Tif_End Is Null
And cdd.id = ctd.id AND Cdd.Submit_Flag = 'Y');
Now its working fine, but when I check from below query them I am gettimg lot of missing data from index:
select count(*) from dr$IDX_TIF_NAME_CTX$i;
COUNT(*)
7953605
Even I used below CTX_DDL.SYNC_INDEX package to do syncronization even I am getting same records:
call CTX_DDL.SYNC_INDEX('idx_customer_tif_name', '1073741824');
what I am missing here to do proper syncronization between index and original data?
and how miuch memory I need to apply after some insertion goes on Customer_Tif_Detail table to syncronization index on CTX_DDL.SYNC_INDEX package?
Thanks
What is the result of;
select count(DISTINCT tif_name) from Customer_Tif_Detail;
Similar Messages
-
Trigger calling ctx_ddl.sync_index problem
Dear,
In order to keep my context indexes up-to-date, I'm trying to write a trigger calling this PL/SQL procedure on update/insert/delete statement.
However, there must be a problem in my trigger definition since it gives compilation errors! I don't see what 's wrong!
This is my trigger definition:
=========BEGIN==================
create or replace trigger update_lexicon_expl_nl after insert or delete or update on lexicon begin execute ctx_ddl.sync_index('lexicon_expl_nl'); end;
=========END===================
The compilation error is something like:
"Encountered ctx_ddl when expecting one of the following :=.(@;immediate"
PS. calling 'execute ctx_ddl.sync('myindex') in SQL Plus is workigng OK
Please help.
DirkYou do not need to trigger that table,there are two way to 'update' index.
1.Alter index your_index_name rebuild.
2.Set up background DML process, which need you work with an DBA or you have ctxsys role. -
Help: How to call a plsql Package on click of a button in ADF
Hi Guru's
Please provide your suggestions, how to go ahead in ADF to call a plsql package when a button i clicked.
I do have a knowledge of oracle callable statment to call the plsql package but not having any idea how to relate button click event in ADF.
Thanks,
SPCCreate a service method in your Application Module to [url http://download.oracle.com/docs/cd/E14571_01/web.1111/b31974/bcadvgen.htm#sm0297]call the stored package, expose that service method on the client interface, and then drag the service method from the data control palette on to your page as a button.
John -
How can i get all java class names from a package using reflection?
hi,
can i get all classes name from a package using reflection or any other way?
If possible plz give the code with example.You can't, because the package doesn't have to be on the local machine. It could be ANYWHERE.
For example, via a URLClassLoader (ie from the internet) I could load a class called:
com.paperstack.NobodyExpectsTheSpanishInquisitionI haven't written it yet. But I might tomorrow. How are you going to determine if that class is in the package?
This subject comes up a lot. If you want to do something a bit like what you're asking for (but not quite) there are plenty of threads on the subject. Use google and/or the forum search facility to find them.
But the answer to your question, as you asked it, is "you can't do that". -
Purchase Order - How to call customised PO_COMMUNICATION_PVT package?
We need to add additional fields to the Standard Purchase Order that is produced by using View Document on the PO form. The only suggestions in the forum so far are to modify the PO_COMMUNICATION_PVT package or the PO%XML views.
But the option of overwriting the seeded package or view is not possible for us. We can only customise the package and compile it under a different name, eg XXPO_COMMUNICATION_PVT. My question is: what changes are needed so that the PO_VIEW_DOCUMENT function calls this new package?
What modifications to the xml and/or java classes are needed? Are there any specific things to look out for so that the java classes compile properly.
Any help much appreciated. Thanks.Welcome to the forums !
Pl see if MOS Doc 305307.1 (How To Modify Print PO Report POXPOPDF With Custom Template) can help
HTH
Srini -
How do I personalize a form to call a custom package instead of standard
We are finding that the vertex tax package is not correctly calculating the taxes for AR late changes. The late payment charge invoices are being created without an item and we know that if we had this in there the taxes would be calculated correctly. We have a solution designed by a senior architect and would like to pursue that approach unless it has been established it is impossible.
From the Batch maintenance form ARIINR.fmb there is a generate button. It calls some pl/sql and eventually the api to create the invoice. What we want to do here is from the when button pressed trigger call a custom package (with most of the same logic intact). The problem is is that we don't want to call both the custom and standard package, only the custom one.
My question is really is there any way to avoid calling the standard package by exiting out of the trigger after the custom package completed? I know I could easily change the standard form to accomplish this but we want to accomplish this in such a way to still maintain our support with Oracle on this form. So we are looking to do this via a personalization or custom.pll change.
Any help would be very much appreciated. Thanks for your time.To my knowledge, both CUSTOM.pll and Forms Personalization execute code in addition to standard code, not instead off.
-
How can I call functions in packages using flash builder?
a new guy in flash developnet, I need to find out a way to import multiple packages into frames and call functions. I know how to import packages, but an error occurs error 1120 : access of undefined property. How can ı solve them?
Is there any easy way to add Mediapomise object to the stage form the package? "addChild(loader);" does not work? or ı do not know whether it works or not, ı could not see the photo that ı took from camerauı object in android.
thank youI need to find out a way to import multiple packages into frames
Usually, no matter where you use any classes of any package, the imports happen always in the beginning.
If you have a specific problem with flashbuilder you should post in this forum:
http://forums.adobe.com/community/flash_builder -
Issue in Calling PL/SQL packages using callable statement
Hi ,
I have the requirement of calling two pl/sql packages , After call of first package is successful , i need to pass the output of that first package as input to second package.
Since i have called both the packages in same method of AM, first package gets executed successfully but second package doesnt get the input values required from first package and results in error.
Looks like since commit is happening in the single session second package is passed with NULL values.
Need suggestion for proper way of calling pl/sql packages when second package is dependant on first one:
Code used inside AM Method:
if("PENDING_XXX".equals(regVORow.getRegStatus()))
regVORow.setRegStatus("VENDOR_CREATED");
getOADBTransaction().commit();
OracleCallableStatement cStmt = null;
OADBTransaction dbTxn = getOADBTransaction();
NUMBER vendor_id = new NUMBER(-1);
NUMBER vendor_site_id = new NUMBER(-1);
int vendor_id_value = -2000;
String vendor_number = null;
try
cStmt = (OracleCallableStatement)dbTxn.createCallableStatement("begin *XXB_POS_PVT.create_vendo*r( p_vendor_name => :1, p_supplier_reg_id => :2, p_vendor_id=>:3); end;", 1);
cStmt.setString(1, regVORow.getSupplierName());
cStmt.setNUMBER(2, new Number(Integer.parseInt(supplierId)));
cStmt.registerOutParameter(3, 4);
cStmt.execute();
vendor_id = cStmt.getNUMBER(3);
vendor_id_value = vendor_id.intValue();
catch(SQLException e)
throw new OAException(e.getMessage());
Number vendorId = new Number(vendor_id_value);
regVORow.setVendorId(vendorId);
if(vendorId != null)
vendor_number = getSupplierVendorNumber(vendorId);
getOADBTransaction().commit();
AsiPosSupplierOpCosVOImpl regOpCosVO = (AsiPosSupplierOpCosVOImpl)this.getAsiPosSupplierOpCosVO1();
AsiPosSupplierOpCosVORowImpl row = null;
int fetchedRowCount = regOpCosVO.getFetchedRowCount();
RowSetIterator createIter1 = regOpCosVO.createRowSetIterator("createIter1");
if(fetchedRowCount > 0)
createIter1.setRangeStart(0);
createIter1.setRangeSize(fetchedRowCount);
for(int i = 0; i < fetchedRowCount; i++)
row = (AsiPosSupplierOpCosVORowImpl)createIter1.getRowAtRangeIndex(i);
if(row.getApprovalStatus().equalsIgnoreCase("HEAD_APPROVED"))
try
oadbtransactionimpl.writeDiagnostics(this,"Creating Site - " + vendor_id_value+" "+row.getSupplierOpcoCode()+" "+supplierId,1);
cStmt = (OracleCallableStatement)dbTxn.createCallableStatement("begin *XXB_POS_PVT.create_vendor_sites*(p_supplier_reg_id => :1, p_vendor_id=>:2, p_opco_code=>:3, p_vendor_site_id=>:4); end;", 1);
cStmt.setNUMBER(1, new Number(Integer.parseInt(supplierId)));
cStmt.setNUMBER(2, new Number(vendor_id_value));
cStmt.setString(3,row.getSupplierOpcoCode());
cStmt.registerOutParameter(4, 4);
cStmt.execute();
vendor_site_id = cStmt.getNUMBER(4);
getOADBTransaction().commit();
catch(SQLException e)
throw new OAException(e.getMessage());
createIter1.closeRowSetIterator();Hi ,
There are some validation that can be performed from Entity level ( EO ) , you can go through them in Jdev guide .
It depends on the business requirement , not all validation can be performed from Entity level .
Let us know your business requirement , will try to clear your doubt .
--Keerthi -
Running an SQL Server Agent Job to execute a package but the job FAILS on Connections
I have created a package which basically imports data from one database to another, The database where it collects the data from the job is failing on connecting reporting the following message:
Source: ****** Connection manager "Source - *****" Description: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E4D. An OLE DB record is available. Source: "Microsoft
OLE DB Provider for SQL Server" Hresult: 0x80040E4D Description: "Login failed for user '*ConnectionONE*'.". End Error Error: 2015-02-18 11:36:04.94 Code: 0xC020801C
Source: Data Flow Task Get Revenue Data [1] Description: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. The AcquireConnection method call to the connection manager "Source - *****" failed with error
code 0xC0202009.
The package runs fine if executed within the package but fails from the SQL Agent Job.
NB * is to hide confidential data. *ConnectionONE* is the database which the package is attempting to get data from.
Completely puzzled on what to do as i have tried reading other forumns but they dont seem to be helping.
Any Help would be great thankyou!That is because package is set to "EncryptSensitiveWithUserKey". Please change that to "EncryptSensitiveWithPassword" and the provide password to protect sensitive data.
More information
here.
Regards,
Vishal Patel
Blog: http://vspatel.co.uk
Site: http://lehrity.com -
Calling multi application packages in custom menu
Hi,
I am trying to open a data management and custom package in a custom menu for different applications. My custom menu is set for application A and the custom package is in application B. Is there a way to call this package without changing the CV of the custom menu?
Thanks!Thanks Raman,
I meant to ask if there is a way to specify the application name in the EV_DEFAULT tab of the custom menu. Normally I use MNU_eData_DataUPLoad or MNU_eDATA_SELECTPACKAGE for defining packages but this calls only the packages from the current view application. I am looking for a way to specify other applications also in the custom menu without changing the package itself.
Thanks! -
Calling a funtion package from forms
Hi All,
I am trying to call a function package in the forms, but I get the below error. Any help Please..
the code in the trigger :
DECLARE
CURSOR C1 IS SELECT ' Rule Id: ' || R.rule_id ||' R_SUPP: ' || ROUND(R.rule_support , 2) ||
' R_CONF: ' || ROUND(R.rule_confidence, 2)||' Ante_ATT: ' || ante.attribute_name ||
ante.conditional_operator || NVL(ante.attribute_str_value,ante.attribute_num_value)||
' Conseq_ATT:' || cons.attribute_name || cons.conditional_operator ||
NVL(cons.attribute_str_value,cons.attribute_num_value)
FROM TABLE(DBMS_DATA_MINING.GET_ASSOCIATION_RULES(:MODEL_NAME)) R,
TABLE(R.antecedent) ante,
TABLE(R.consequent) cons
--WHERE cons.attribute_name = 'INFLATED'
ORDER BY rule_confidence, rule_support DESC ;
BEGIN
LOOP
OPEN C1;
FETCH C1 INTO :RESULT_TEXT;
EXIT WHEN C1%NOTFOUND;
END LOOP;
END;
ERROR:
DBMS_DATA_MINING.GET_ASSOCIATION_RULES must be declared..Hello,
It means that the user you are connected do not "see" this package.
You'd probably have to connect as SYS or SYSTEM, then grant EXECUTE on this package to your user.
Francois -
CTX_DDL.SYNC_INDEX gives ORA-03113 error
I am trying to use the CTX_DDL.SYNC_INDEX command in order to update the full Text Index on a table, which contains a word document as a binary object, but I get an ORA-03113 error every time I do this. I get the same error if the table contains an Excel file. It works perfectly OK if the table contains simple text files.
Hi Barbara - thanks for your response.
In answer to your questions;
Oracle version is 9.2.0.1.0
Table structure is created with following sql;
CREATE TABLE DOCUMENTFILE
(DOCUMENTFILEID NUMBER (10,0) NOT NULL,
DATA LONG RAW,
FILE_SIZE NUMBER (10,0),
FILENAME VARCHAR2 (510),
ENCRYPTIONKEY VARCHAR2 (100),
VALIDATIONKEY VARCHAR2 (100),
MIMETYPE VARCHAR2 (255),
FILEEXTENSION CHAR (3),
DELETED NUMBER (1,0)
Index is created with following command
CREATE INDEX ORGANISATION_TEXT_INDEX
ON COLLABORATOR.ORGANISATION(ORGANISATION_NAME)
INDEXTYPE IS CTXSYS.CONTEXT PARAMETERS ('');
Resync command is as follows
EXEC CTX_DDL.SYNC_INDEX('DOCUMENT_TEXT_INDEX');
I am testing by runing the command via SQL Plus
In response to question 'Are you using inso_filter or auto_filter? ' - I dont know
Thanks for your help,
Peter -
Is ctx_ddl.sync_index an offline operation?
Sorry if the answer to this is staring at me in the documentation: I couldn't find it if so.
We run Standard Edition 11.2.0.1, so RECREATE_INDEX_ONLINE is not available to us.
Instead, we regularly (about every 2 hours) use ctx_ddl.sync_index to get our Text index to pick up new arrivals in the underlying table.
My question is where ctx_ddl.sync_index is an online operation or not? Does the table become unsearchable whilst it's happening, in other words? Our resyncs take about 8 seconds to complete, and I haven't been able to test for this because if there is an outage, it's over too quickly to spot. But there's talk about us resyncing more frequently -so if it does make the thing unsearchable for even a few seconds, I think we need to know that!See "3.5 Managing DML Operations for a CONTEXT Index"
at http://download.oracle.com/docs/cd/E11882_01/text.112/e16594/ind.htm#i1007544
and "SYNC_INDEX"
at http://download.oracle.com/docs/cd/E11882_01/text.112/e16593/cddlpkg.htm#CCREF0652
Yes, reading them doesn't make it clear the the existing index is usable, queryable while a Sync is running.
However, it is apparent that new entries from DML are not visible in the index until the SYNC_INDEX is done. The SYNC_INDEX commits new entries in batches -- so it is concurrent with existing entries being queryable.
Your Text Indexes may need periodic re-optimization.
see "OPTIMIZE_INDEX"
at http://download.oracle.com/docs/cd/E11882_01/text.112/e16593/cddlpkg.htm#i998200
(OTOH : DROP and CREATE is something which you wouldn't do !)
Text Indexes aren't really "index structures" in the manner of, say, regular B-Tree indexes. They are actually "Tables" that are seen as Indexes -- somewhat like "Lookup Tables".
(The last time I worked with Text Indexes was in 8.1.7 , but 11.2 doesn't negate any of my knowledge of Text Indexes).
Hemant K Chitale -
CTX_DDL.SYNC_INDEX 'memory' argument
According to the Oracle Text manual,
http://download.oracle.com/docs/cd/B28359_01/text.111/b28304/cddlpkg.htm#i998469
The memory parameter specifies the amount of memory Oracle Text uses for the synchronization operation before flushing the index to disk.
Does this memory come out of the shared pool, or the PGA?
I want to allocate as much memory as possible for a one-time index sync following a massive data intake, but I need to know where the memory is coming from.
ThanksAccording to the Performance FAQ,
http://www.oracle.com/technology/products/text/x/faqs/imt_perf_faq.html#q21
It helps to size your SGA downward during an index rebuild to make more room for the indexing process. So the 'memory' referred to in CTX_DDL.SYNC_INDEX must be external to the SGA. That's what I needed to know. -
Ctx_ddl.sync_index
The sql below synchronizes all the pending context:
set echo off
set heading off
set feedback off
set pagesize 50000
spool c:\sync.sql
select distinct 'exec ctx_ddl.sync_index(''' || PND_INDEX_OWNER || '.' || PND_INDEX_NAME || ''')' from ctx_pending;
spool off
@c:\sync.sql;
Would it be possible to transform the above code into a procedure?
So I could run that procedure at regular intervals using dbms_job ?
Can Anyone translate the above into a procedure ?
Thanks.I've received the procedure from a college:
create or replace procedure sync_context
is
begin
for s_rec in
(select distinct pnd_index_owner, pnd_index_name
from ctx_pending) loop
execute immediate 'begin ctx_ddl.sync_index('''||s_rec.pnd_index_owner||'.'||s_rec.pnd_index_name||'''); end;';
end loop;
end;
Extra Question:
As user ctxsys it should be sufficient to execute ctx_dll.sync_index to sync all pending context
but this does not seem to work properly ??
Maybe you are looking for
-
Multiple OS's with Multiple iTunes not sharing
Ok so... here's the deal. After trolling forums for 3 days I figured I'd pose my exact scenario looking for an exact answer. I have 3 computers on my home network. 2 PCS's with Windows 7 running iTunes 10.3 and one iMac G3 with Tiger 10.4.11 running
-
Very Slow Query due to Bitmap Conversion
I have a strange problem with the performance of a spatial query. If I perform a 'SELECT non_geom_column FROM my_table WHERE complicated_join_query' the result comes back sub-second. However, when I replace the column selected with geometry and perfo
-
Mac mini (mid 2011) to Samsung led tv via hdmi connection problem.
Samsung led tv - UE32D5000 Mac mini (mid 2011) On regular monitor (connected by hdmi to dvi cable) setup teamviewer Try to: 1. Connect different hdmi cables - dose not work (on apple tv - both cables work) 2. Connect hdmi cable to different hdmi port
-
IPad 2 download button is not working
I'm using iPad2, and I'm trying to download a previously downloaded items and the download button (the cloud button) does not exist and therefore I'm unable to download. What could be the problem?
-
Passing javascript parameter to bean
Here's a real short example of what I'm trying to do. function getReport(index) { document.write("Name = " + <%= bean.getReport(index).getName() %> ); Now of course this will not work, because my bean does not know of "index" that was passed via the