Oracle 9i Release 2 Function Index
Can somone please tell me if functional indices are available on the standard 9i version or the Enterprise version only?
I know they are enterprise only on 8i and I'm hoping this changed to 9i
Thank you
John D
It seems to be included in 9i Standard edition see here
http://otn.oracle.com/products/oracle9i/pdf/o9i_family_features.pdf
Similar Messages
-
Hi,
I couldn't move these questions from another post, so I deleted them and put them here:
Re: Migrating SDO_GEOMETRY to 10g TOPOLOGY
Posted By: [email protected] on Dec 3, 2004 11:08:52 AM
Hi, is there somewhere a roadmap (with dates) or/and a list of new spatial features in future releases of the oracle database
Rolf
Re: Migrating SDO_GEOMETRY to 10g TOPOLOGY
Posted By: ronan.crowley on Jan 20, 2005 8:40:07 AM
I agree, a roadmap with attached release dates and
feature listings would be an excellent resource.
RonanOracle isn't allowed to provide futures information in advance of product announcements, except under non-disclosure agreements.
Oracle 10g Release 2 has been announced, so here is some high-level information about Spatial Features included in it:
EPSG Coordinate System Support
New parameters to sdo_filter, sdo_relate, and sdo_within_distance to only return data above or below a certain size with respect to the screen size(to prevent a large amount of data from rendering on a single pixel on the display, for instance)
New indexing parameter to define how Spatial/Locator internally batches index updates at commit time to allow faster index processing during inserts, updates, and deletes.
New utility function to automatically try to fix invalid geometries
First shipping release of the spatial routing engine
In GeoRaster:
Compression (JPEG and DEFLATE)
Cross-schema usage
Requirements for raster data table uniqueness, and procedures to help maintain uniqueness
Enhancements to GeoRaster Viewer
In Topology:
Add geometry interfaces for points, lines, and polygons
Create feature interface (first full release)
Load topo map procedure
remove obsolete nodes
Find the features this feature is created from in a hierarchy
Can build feature layers in a hiercharchy either from previous layer or from primitives
Simplified export/import
Network Data Model
Bidirected links
cost columns based on function (dynamic costing)
Also, numerous bug fixes across the board, and some other minor changes/additions -
Oracle Text - CTX Context Index Soundex Problem
Hi,
I'm running into a problem with Oracle Text when searching using the ! (soundex) option. I've created a simple test example to highlight the issue.
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit
Windows 2008 Server 64-bit
create table test_tab (test_col varchar2(200));
insert all
into test_tab (test_col) values ('ab-tönes')
into test_tab (test_col) values ('ab-tones')
into test_tab (test_col) values ('abtones')
into test_tab (test_col) values ('ab tones')
into test_tab (test_col) values ('ab-tanes')
select * from dual
select * from test_tab
begin
ctx_ddl.create_preference ('test_lex1', 'basic_lexer');
ctx_ddl.set_attribute ('test_lex1', 'whitespace', '/\|-_+&''');
ctx_ddl.set_attribute('test_lex1','base_letter','YES');
-- ctx_ddl.set_attribute('test_lex1','skipjoins','-');
end;
create index test_idx on test_tab (test_col)
indextype is ctxsys.context
parameters
('lexer test_lex1'
select token_text from dr$test_idx$i;
TOKEN_TEXT
AB
ABTONES
TANES
TONES
select * from test_tab where contains (test_col, '!ab tones') > 0;
TEST_COL
ab-tönes
ab-tones
ab tones
select * from test_tab where soundex(test_col) = soundex('ab tones');
TEST_COL
ab-tönes
ab-tones
abtones
ab tones
ab-tanes
So my question is, can anyone suggest an approach whereby I can get the Oracle Text Context index (or CTXCAT index if it's more appropriate) to return all 5 rows like the simple Soundex is doing?
I can't really use soundex as this search query will form part of a search screen for a multi-language application. Soundex is limited to English sounding words, so I need the solution to be able to compare strings that may not "sound" English.
It must be an attribute of the BASIC_LEXER, and I've tried skipjoins, start/end-joins, stop lists, but I just cannot get the Soundex feature of Oracle Text to function like the SOUNDEX() function!
Looking at how the tokens are stored dr$test_idx$i I need Oracle Text to almost concat 'AB' and 'TONES' to search as a single string.
Any help greatly appreciated.
Thanks,I am not getting the same problem that you are getting with the umlat, but I don't see what is different. Please post the result of:
select ctx_report.create_index_script ('test_idx') from dual;
Here are the results on my system. Perhaps you can spot the difference. I added an empty_stoplist, so that it won't print out a long list of stopwords.
SCOTT@orcl12c> create table test_tab (test_col varchar2(200))
2 /
Table created.
SCOTT@orcl12c> insert all
2 into test_tab (test_col) values ('ab-tönes')
3 into test_tab (test_col) values ('ab-tones')
4 into test_tab (test_col) values ('abtones')
5 into test_tab (test_col) values ('ab tones')
6 into test_tab (test_col) values ('ab-tanes')
7 select * from dual
8 /
5 rows created.
SCOTT@orcl12c> select * from test_tab
2 /
TEST_COL
ab-tönes
ab-tones
abtones
ab tones
ab-tanes
5 rows selected.
SCOTT@orcl12c> begin
2 ctx_ddl.create_preference ('test_lex1', 'basic_lexer');
3 ctx_ddl.set_attribute('test_lex1','base_letter','YES');
4 end;
5 /
PL/SQL procedure successfully completed.
SCOTT@orcl12c> create or replace procedure test_proc
2 (p_rowid in rowid,
3 p_clob in out nocopy clob)
4 as
5 begin
6 select replace (translate (test_col, '/\|-_+&''', ' '), ' ', '')
7 into p_clob
8 from test_tab
9 where rowid = p_rowid;
10 end test_proc;
11 /
Procedure created.
SCOTT@orcl12c> show errors
No errors.
SCOTT@orcl12c> begin
2 ctx_ddl.create_preference ('test_ds', 'user_datastore');
3 ctx_ddl.set_attribute ('test_ds', 'procedure', 'test_proc');
4 end;
5 /
PL/SQL procedure successfully completed.
SCOTT@orcl12c> create index test_idx on test_tab (test_col)
2 indextype is ctxsys.context
3 parameters
4 ('lexer test_lex1
5 datastore test_ds
6 stoplist ctxsys.empty_stoplist')
7 /
Index created.
SCOTT@orcl12c> select token_text from dr$test_idx$i
2 /
TOKEN_TEXT
ABTANES
ABTONES
2 rows selected.
SCOTT@orcl12c> variable search_string varchar2(100)
SCOTT@orcl12c> exec :search_string := 'ab tones'
PL/SQL procedure successfully completed.
SCOTT@orcl12c> select * from test_tab
2 where contains
3 (test_col,
4 '!' || replace (:search_string, ' ', ' !') ||
5 ' or !' || replace (:search_string, ' ', '')) > 0
6 /
TEST_COL
ab-tönes
ab-tones
abtones
ab tones
ab-tanes
5 rows selected.
SCOTT@orcl12c> exec :search_string := 'abtones'
PL/SQL procedure successfully completed.
SCOTT@orcl12c> /
TEST_COL
ab-tönes
ab-tones
abtones
ab tones
ab-tanes
5 rows selected.
SCOTT@orcl12c> exec :search_string := 'ab tönes'
PL/SQL procedure successfully completed.
SCOTT@orcl12c> /
TEST_COL
ab-tönes
ab-tones
abtones
ab tones
ab-tanes
5 rows selected.
SCOTT@orcl12c> select ctx_report.create_index_script ('test_idx') from dual
2 /
CTX_REPORT.CREATE_INDEX_SCRIPT('TEST_IDX')
begin
ctx_ddl.create_preference('"TEST_IDX_DST"','USER_DATASTORE');
ctx_ddl.set_attribute('"TEST_IDX_DST"','PROCEDURE','"SCOTT"."TEST_PROC"');
end;
begin
ctx_ddl.create_preference('"TEST_IDX_FIL"','NULL_FILTER');
end;
begin
ctx_ddl.create_section_group('"TEST_IDX_SGP"','NULL_SECTION_GROUP');
end;
begin
ctx_ddl.create_preference('"TEST_IDX_LEX"','BASIC_LEXER');
ctx_ddl.set_attribute('"TEST_IDX_LEX"','BASE_LETTER','YES');
end;
begin
ctx_ddl.create_preference('"TEST_IDX_WDL"','BASIC_WORDLIST');
ctx_ddl.set_attribute('"TEST_IDX_WDL"','STEMMER','ENGLISH');
ctx_ddl.set_attribute('"TEST_IDX_WDL"','FUZZY_MATCH','GENERIC');
end;
begin
ctx_ddl.create_stoplist('"TEST_IDX_SPL"','BASIC_STOPLIST');
end;
begin
ctx_ddl.create_preference('"TEST_IDX_STO"','BASIC_STORAGE');
ctx_ddl.set_attribute('"TEST_IDX_STO"','R_TABLE_CLAUSE','lob (data) store as (
cache)');
ctx_ddl.set_attribute('"TEST_IDX_STO"','I_INDEX_CLAUSE','compress 2');
end;
begin
ctx_output.start_log('TEST_IDX_LOG');
end;
create index "SCOTT"."TEST_IDX"
on "SCOTT"."TEST_TAB"
("TEST_COL")
indextype is ctxsys.context
parameters('
datastore "TEST_IDX_DST"
filter "TEST_IDX_FIL"
section group "TEST_IDX_SGP"
lexer "TEST_IDX_LEX"
wordlist "TEST_IDX_WDL"
stoplist "TEST_IDX_SPL"
storage "TEST_IDX_STO"
begin
ctx_output.end_log;
end;
1 row selected. -
Onsite Beta Testing Next Oracle Database release
We are having an onsite Beta testing of the great new Java DB and JDBC features of the upcoming major release of the database. If yourself or your company are interested, please fill the prospect form (at the link below). Upon selection, the Beta program office will send you a formal invitation
http://otnbeta.oracle.com/bpo/prospects/index.htm
Kuassi - blog http://db360.blogspot.com/
------ book http://www.amazon.com/gp/product/1555583296/I haven't heard anything about what actual functionality will be included in 11g.This is what amaze me most. When I look on a particular release specially 9i when they put all the cool feature like dynamic SGA, UNDO, STATSPACK (i know its there in 8.1.7) I was thinking they made it so simple now what else they can put or enhance in it? Then 10g came and once again with super cool feature like ASM, AWR, SQL Tuning which make the job more simpler and something which one couldn't think of. Now once again with 10g I am unable to think what else they can put into it and I am ready for an another excitement ride to explore whats there in 11G and it will keep going on.
Daljit Singh -
Oracle Designer6i Release 4 and Oracle9i Unable to add user to Repository
Dear all,
I am currently using Oracle9i with Oracle Designer6i Release 4. Before I am able to use both Release 4 and Release 2 with Oracle9i. However, this time when I install it after a cleanup in my server. I have received the following error message when allowing a user to use repository using RAU:
Message
RME-00020: Internal API error - ORA-00600: internal error code, arguments: [25012], [2147483647], [0], [], [], [], [], []
RME-00011: Operation 'close' on ACTIVITY has failed
RME-00222: Failed to dispatch operation to Repository
RME-00224: Failed to close activity
Please help. Thank you.
PhilipHi
I had exactly the same error and managed to get rid of it by deinstalling and reinstalling the client and the server with the patch (2083057) from metalink (I had previously used this patch for upgrade). There was no problem with user creation.
However, I get the same error when I try to do anything with the repository, such as, create an object. So, this is really of no help. Sorry.
Have you managed to get the installation going????
Is there anyone who has Designer 6i functioning (even partially) with Oracle 9i on a windows platform, or for that matter any platform??
Anita Srivastava -
Unable to install Oracle 11g Release 2 in windows 7 64 bit OS
Hi,
Am trying to install the oracle 11g Release 2 database on my Laptop,
I have downloaded the two zip files from Oracle Site
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
After downloading I have unzipped started process, but after some process, am getting an error mentioning that, am missing a file in the below location
C:\$Oracle_BASE$\product\11.2.0\dbhome_1\owb\external\oc4j_applications\applications
but my unzip is successful for both the files, Please let me know why am getting this error when I have downloaded the files from Oracle site, Please let me know if I need to have
any additional s/w installed on my machine before running the Oracle database installation
Thanks973946 wrote:
Thanks Srini,
After checking the link, I was able to install it but there were some error messages.
I have another problem log in the SQL PLUS. When I open the SQL PLUS window, it asked for Username and after I typed "sys" or "system" and hit Enter; it was prompted for password, however, it did not let me type in any word; and after I hit Enter again, the error message " ORA-12560: TNS:protocol adapter error" appeared
Any hints would be apprecieted, thanks.
SamIt wasn't preventing you from typing a password, it just wasn't echoing your keystrokes back to the screen. This is a security security feature common to most software, not just oracle. Either when asking for a password, either echo back a 'masking' character like '*' or don't echo anything. It's so common, I'm surprised you seem to have never seen it before.
So after entering your password ... the 12560 probably comes from
1- the fact you didn't have the environment variable ORACLE_SID set, so sqlplus didn' know the name of the instance/process you wanted to connect to, or
2 - the windows service for the database was not started.
Those two possibilities account for 99.99999 pct of ora-12560 on Windows installations.
Edited by: EdStevens on Nov 29, 2012 6:41 PM -
Issue with using N'...' values in a where clause against a function index
We have a table that is defined with non Unicode columns with a UPPER(..) function index on the index column (to allow searching in any alphabetic case)
e.g.
create table my_table
index_column varchar2(20),
desc_column varchar2(40)
create index my_table_idx as on my_table(UPPER(index_column));
there is approx. > 10 million rows in this table
The issue we have is that when we do the following select
select index_column, desc_column from my_table
where upper(index_column) = 'SOME VALUE'; this statement runs in approx 0.03 seconds which is great
But we also have some statements that run as
select index_column, desc_column from my_table
where upper(index_column) = N'SOME VALUE'; notice the N'...' string (unicode) value used. This ends up doing a full table scan (> 5 seconds)
So... the question is how can i make this select statement passing in a Unicode string value hit this function based UPPER index? Is there anyway?
I have tried these extra indexes - to no avail
create index my_table_idx as on my_table(UPPER(CAST(index_column as nvarchar2(20)));
and
create index my_table_idx as on my_table(UPPER(COMPOSE(index_column)));
I assumed Oracle should have done and implicit conversion back to a non unicode string value and then passed that value into the UPPER(...) function index, but it appears as though Oracle isn't recognizing that the column is a different type (varchar2 vs nvarchar2)
Any help greatly appreciated?Horrible amount of irrelevant tags, and the only thing relevant , the four digit version, is of course not mentioned.
Also the characterset of the database is relevant.
As far as I know in 11g and higher one no longer needs the N'<string construct>'
As to implicit conversion
assume <number_column> = '9'
Oracle always converts this into
to_char(<number_column>='9'
Same applies to your case.
Try leaving out the N, check whether it works and whether your function based index is used.
Sybrand Bakker
Senior Oracle DBA -
Duplicate Rows In Oracle Pipelined Table Functions
Hi fellow oracle users,
I am trying to create an Oracle piplined table function that contains duplicate records. Whenever I try to pipe the same record twice, the duplicate record does not show up in the resulting pipelined table.
Here's a sample piece of SQL:
/* Type declarations */
TYPE MY_RECORD IS RECORD(
MY_NUM INTEGER
TYPE MY_TABLE IS TABLE OF MY_RECORD;
/* Pipelined function declaration */
FUNCTION MY_FUNCTION RETURN MY_TABLE PIPELINED IS
V_RECORD MY_RECORD;
BEGIN
-- insert first record
V_RECORD.MY_NUM = 1;
PIPE ROW (V_RECORD);
-- insert second duplicate record
V_RECORD.MY_NUM = 1;
PIPE ROW (V_RECORD);
-- return piplined table
RETURN;
END;
/* Statement to query pipelined function */
SELECT * FROM TABLE( MY_FUNCTION ); -- for some reason this only returns one record instead of two
I am trying to get the duplicate row to show up in the select statement. Any help would be greatly appreciated.Can you provide actual output from an SQL*Plus prompt trying this? I don't see the same behavior
SQL> SELECT * FROM V$VERSION;
BANNER
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
PL/SQL Release 10.2.0.4.0 - Production
CORE 10.2.0.4.0 Production
TNS for 64-bit Windows: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production
SQL> CREATE TYPE MY_RECORD IS OBJECT(MY_NUM INTEGER);
2 /
Type created.
SQL> CREATE TYPE MY_TABLE IS TABLE OF MY_RECORD;
2 /
Type created.
SQL> CREATE OR REPLACE FUNCTION MY_FUNCTION
2 RETURN MY_TABLE
3 PIPELINED
4 AS
5 V_RECORD MY_RECORD;
6 BEGIN
7 V_RECORD.MY_NUM := 1;
8 PIPE ROW(V_RECORD);
9
10 V_RECORD.MY_NUM := 1;
11 PIPE ROW(V_RECORD);
12
13 RETURN;
14 END;
15 /
Function created.
SQL> SELECT * FROM TABLE(MY_FUNCTION);
MY_NUM
1
1 -
Re: Oracle 9i Release 2 Client
Hi,
Can anyone guide me where to download Oracle 9i Release 2 Client ?
The following path is invalid:
http://www.oracle.com/technology/software/products/oracle9i/htdocs/winsoft.html
thanks.
Andrewhttp://www.oracle.com/technology/software/products/oracle9i/index.html
hope this will help -
Oracle 9i release 2 on Windows ME
I would like to know whether i can run Oracle 9i release 2 on Windows ME platform ( any turnaround solution ), or do i need to upgrade the O/S to XP.
Thanks,
Manish Jain.Oracle doesn't officially support Windows ME or XP Home. You'll need to upgrade to XP Professional if you need to be in a supported configuration.
My guess (haven't ever tried it) is that you can install 9i on ME or XP Home and have it function, though Oracle Support won't touch you.
Justin -
Cloning Oracle Applications Release 11i
Hi,
for Cloning Oracle Applications Release 11i , is it ncessary to copy jre, oui and oraInventory directories from source database tier file system to trget ?
Many thanks before.Applications / EBS is discussed in this category http://forums.oracle.com/forums/category.jspa?categoryID=11 (and there are more, if you look at the forums home page)
But, in general the oraInventory must exist to be able to patch or otherwise maintain the installation. Wouldn't think copying directories is a supported cloning method... Again, check with the proper forum. And use the Search function! -
Does anyone know how to create an index using a function like UPPER, and then getting Oracle to use the index when issuing a SELECT statement using UPPER in the WHERE clause?
They're available in EE only. Same with bitmap indexes too.
-
9i Standard Ed has "functional index"?
According to Oracle White Paper "Oracle9i Database Product Family", 9i SE has "functional index" feature. But V$OPTION in a complete 9i SE installation tells otherwise. Anyone knows why?
Also, "Managed Standby" is not available in 9i SE either.Your posting doesn't seem to be related to how to do something in Web Dynpro. This formum isn't intended for all questions about any application that might happen to be implemented in WDA. If your question is more about how the inner functionality of a business transaction works, there are other forums where you would have a higher chance of receiving a better response.
-
Crash in evaopn2 with functional indexes
Hi,
I have a problem with 3rd party application running on oracle 10.2.0.3. When a particular statement is executed, it triggers error in evaopn2.
As far as I know, there was a bug using functional indexes, but it was supposed to be fixed in 10.2.0.3, right?
Oracle is running on ubuntu server 7.10. This is the only problem we have so far.
What should I do?
Regards
Jernej
Trace dump:
Exception signal: 11 (SIGSEGV), code: 1 (Address not mapped to object), addr: 0x0, PC: [0x9616d1a, evaopn2()+104]
Registers:
%eax: 0x0000013c %ebx: 0x00000000 %ecx: 0xb6db8f6c
%edx: 0x3afe7144 %edi: 0x00000000 %esi: 0x80000002
%esp: 0xbffd23f0 %ebp: 0xbffd25b0 %eip: 0x09616d1a
%efl: 0x00200246
evaopn2()+86 (0x9616d08) test $0x20800400,%esi
evaopn2()+92 (0x9616d0e) jnz 0x9616f21
evaopn2()+98 (0x9616d14) mov %ebx,0xfffffffc(%ebp)
evaopn2()+101 (0x9616d17) mov 0x28(%edx),%ebx
evaopn2()+104 (0x9616d1a) mov (%ebx),%esievaopn2()+106 (0x9616d1c) movzw 0x4(%ebx),%edi
evaopn2()+110 (0x9616d20) mov (%esi,%ecx),%ebx
evaopn2()+113 (0x9616d23) mov %edi,0xffffffe8(%ebp)
evaopn2()+116 (0x9616d26) mov %ebx,0xfffffff0(%ebp)
*** 2008-05-31 01:52:24.592What should I do?Contact 3rd party product vendor. An OS exception is thrown in the application, that may be a 3rd party problem, may be an Oracle problem, may be a combination of both. Only the code developers can analyze this.
Werner -
License required for Oracle 10g Release 2 ODAC 10.2.0.2.21
There is one oracle developer tool(ODP.net driver) available for download on Oracle website named as "Oracle Developer Tools for Visual Studio .NET with Oracle 10g Release 2 ODAC 10.2.0.2.21" link
http://www.oracle.com/technetwork/database/windows/downloads/index-101290.html
We required this tool for development purpose like "application connectivity with Oracle DB". Please let us know is this freeware or any license required for using this tool, If required what is the cost of that license.
Please help me in this. I tried to contact with Oracle support team. but the unable to answer my query.A few things:
1) The latest version is 11.2.0.1.2. This will work with database versions back to 9.2. You do not have to select a ODT or ODP.NET version that matches your database version.
2) All of the .NET products are free and can be used by you in your application.
3) You automatically get technical support for the .NET products if you have support for Oracle Database.
Thanks,
Christian -
I am trying to use a function index and am having trouble. I built the index successfully using the syntax:
CREATE INDEX COUNTRY_INDX1 ON COUNTRY(Upper(country_name));
Then, I submitted a query such as:
SELECT * FROM COUNTRY WHERE country_name = 'USA';
I computed EXPLAIN PLAN and it still does a FULL access of the table. If I do something like Upper(country_name) in the where clause, it still doesn't find the correct index.
Do I need to form my query differently to use the Function Index I created?
Thanks so much in advance!!!SQL> desc emp
Name Null? Type
EMPNO NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)
SQL> create index idx_emp_ename on emp(upper(ename)) ;
Index created.
SQL> analyze table emp compute statistics for table for all indexed columns ;
Table analyzed.
SQL> exec dbms_stats.set_table_stats(user, 'EMP', numblks => 100000) ;
PL/SQL procedure successfully completed.
SQL> set autotrace traceonly
SQL> select * from emp where upper(ename) = 'A%' ;
Execution Plan
0 SELECT STATEMENT Optimizer=CHOOSE (Cost=60 Card=1 Bytes=40)
1 0 TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (Cost=60 Card=1 Byt
es=40)
2 1 INDEX (RANGE SCAN) OF 'IDX_EMP_ENAME' (NON-UNIQUE) (Cost
=2 Card=1)
SQL>
Maybe you are looking for
-
Hi, I have set up the alert configuration and I am receiving all the alerts for intergeration server but when I raise any alert for adapter engine.. I am not receiving anything. Is there anything special needs to be done for the same. Please Help ! !
-
Is it possible to only sync certain mailboxes?
I have 15 years of email in my system. At the end of very year I make a folder and archive the past year's post. I do not want to load all that mail to the cloud. Is there a way of just syncing the inbox, sent and trash folders?
-
Dowload file using popup window
My JSP page mutiple download buttons. On clickof this button i am opening a popup window which calls the download servlet. The system can be used by mutilple users. Due to download memory limitatons, only one user can be allowed to download at a time
-
Get the row_number() when running_total reach some amount
how to Get the row_number() when running_total reach some amount?
-
Hello, I have below query which gives me customer names from Cube, where Customer is dimension SELECT { } ON COLUMNS, {[Customer].leaves} ON ROWS FROM [Sales Forecast] QUERY PROPERTIES flattenColumns="true"I want to add something more here and get th