![]() Procedure p( lo_rowid in rowid, hi_rowid in rowid )įor x in (select * from t where rowid between lo_rowid and hi_rowid)Īnd then we can run many of these at the same time. Right now your code looks something like: This would be a good time to look at dbms_parallel_execute! I understand how to set the parallel degree in the DBMS_JOB package, but I'm not sure that my procedure (looping over a cursor) can take advantage of that. ![]() ![]() How can I make use of my hardware to speed up this process? I would love to see this thing use every core (or at least 14 or 15 cores) at 100% utilization and finish the job in less than 24 hours. My code is very simple in that is creates a cursor to loop over all the rows in the table with the BLOB data, then for each one, it calls CTX_DOC.POLICY_FILTER() to run the BLOB through the AUTO_FILTER, then inserts the plain text output into a new table. When running my procedure, one core is getting utilized at a steady 30%. My DB server has a little juice, boasting 16 cores and 128 GB RAM. ![]() At this rate, I am half way through a 6.5 day run for a very simple task. I am successfully using the CTX_DOC.POLICY_FILTER() procedure to accomplish this, but when run in serial cursor loop, the stored proc processes about 5 BLOBs per second. I need to convert these BLOBS to their plain text equivalent to index the file contents in a system external to Oracle. I have a table with 2.8 million rows, and one of the columns is a BLOB b/c this table holds binary attachments. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |