Oracle 8i-ORA-22979:

I am trying to go through the Sample Application in Oracle8i Application Developer's Guide - Object-Relational Features Release 2 (8.1.6).
In Implementing the Application Under the Object-Relational Model( Chapter 8) there is an insert statement at page 25 which inserts a row into a nested table in the LineItemList_ntab column of the row object in the purchaseOrder_objtab.
This statement is returning an error :
ORA-22979: cannot INSERT object view REF or user-defined REF
Does this mean that user-defined REF can not be stored in the nested table.
I would appreciate it very much if any one can throw some light.
Thanks,
Cheema

hi there,
how are you ?
I am trying to write an ordbms program for
my final project , would you please give
me weather you found any solution to your problem,
I am realy want to recover my problem,
so much thanks
shayan

Similar Messages

  • Oracle error ORA-01461when trying to insert into an ORACLE BLOB field

    I am getting Oracle error ‘ORA-01461: can bind a LONG value only  for insert into a LONG column' when trying to insert into an ORACLE BLOB field. The error occurs when trying to insert a large BLOB (JPG), but does not occur when inserting a small (<1K) picture BLOB.(JPG). Any ideas?
    BTW, when using a SQL Server datasource using the same code.... everything works with no problems.
    ORACLE version is 11.2.0.1
    The ORACLE datasource is JDBC using Oracle's JDBC driver ojdbc6.jar v11.2.0.1 (I also have tried ojdbc5.jar v11.2.0.1; ojdbc5.jar v11.2.0.4; and ojdbc6.jar v11.2.0.4 with the same error result.)
    Here is my code:
    <cfset file_mime = Lcase(Right(postedXMLRoot.objname.XmlText, 3))>
    <cfif file_mime EQ 'jpg'><cfset file_mime = 'jpeg'></cfif>
    <cfset file_mime = 'data:image/' & file_mime & ';base64,'>
    <cfset image64 = ImageReadBase64("#file_mime##postedXMLRoot.objbase64.XmlText#")>
    <cfset ramfile = "ram://" & postedXMLRoot.objname.XmlText>
    <cfimage action="write" source="#image64#" destination="#ramfile#" overwrite="true">
    <cffile action="readbinary" file="#ramfile#" variable="image_bin">
    <cffile action="delete" file="#ramfile#">
    <cfquery name="InsertImage" datasource="#datasource#">
    INSERT INTO test_images
    image_blob
    SELECT
    <cfqueryparam value="#image_bin#" cfsqltype="CF_SQL_BLOB">
    FROM          dual
    </cfquery>

    Can't you use "alter index <shema.spatial_index_name> rebuild ONLINE" ? Thanks. I could switch to "rebuild ONLINE" and see if that helps. Are there any potential adverse effects going forward, e.g. significantly longer rebuild than not using the ONLINE keyword, etc? Also wondering if spatial index operations (index type = DOMAIN) obey all the typical things you'd expect with "regular" indexes, e.g. B-TREE, etc.

  • Unable to connect SQL State=S1000 [Oracle][ODBC][Ora]ORA-12170:

    Hi all,
    I have an Windows XP OS with SP3.
    I have installed the Oracle 11g server.
    On trying to connect to the ODBC connection, i get the following error message:
    Unable to connect SQL State=S1000 [Oracle][ODBC][Ora]ORA-12170: TNS: Connect timeout occured
    On trying the tnsping,
    TNS Ping Utility for 32-bit Windows: Version 11.1.0.6.0 - Production on 09-OCT-2
    011 13:11:05
    Copyright (c) 1997, 2007, Oracle. All rights reserved.
    Used parameter files:
    E:\app\Gautam\product\11.1.0\db_1\network\admin\sqlnet.ora
    Used TNSNAMES adapter to resolve the alias
    Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.
    5.207)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl))
    TNS-12535: TNS:operation timed out
    On trying to connect with SQL Developer, i get the following error:
    Status: Failure - Test failed: Io Exception: The Network Adapter could not establish the connection
    However i am able to connect to the same using SQL Plus
    Another issue that occurs is that the Oracle Enterprise Manager shows the following error after a while:
    Agent Connection to Instance
    Status Failed
    Details ORA-12505: TNS:listener does not currently know of SID given in connect descriptor (DBD ERROR: OCIServerAttach)
    The following services are all up during this point of time:
    OracleDBConsoleorcl
    OracleOraDb11g_home1TNSListener
    OracleServiceORCL
    Any help in this regard will be very useful as this is hindering the progress of my work.
    Thanks in advance for the help.
    - Gautam

    841683 wrote:
    Hi,
    I did try and delete my listener.ora and then create a new one..
    That did not solve my issue..
    What are the steps for configuring the listener again.
    Thanks for the response..
    - Gautamno listener.ora file is required.
    just do as below
    lsnrctl start

  • [Oracle][ODBC][Ora]ORA-01426: numeric overflow

    I have a function get data from data base and do some calculating. I call this function from ASP web page. Some times I got the following error. But if I click refresh later. It's ok again. Any ideas?
    [Oracle][ODBC][Ora]ORA-01426: numeric overflow

    Cause: Evaluation of an value expression causes an overflow/underflow.
    Action: Reduce the operands.

  • Oracle returns ORA-03113 EOF error when using openquery in SQLServer 2005

    Hi
    Our Application runs batch process on every moring . One of jobs is to get all rows from an oracle database and put all data into MS Sql Server Tables. Usally It works fine But Sometimes during getting data from a certain table oracle raise Ora-03113 error during
    getting data from MSSQL Server. we use mssql openquery clause to get data from oracle We just use OPENQUERY to get all data of oracle view( i.e Select * FROM OPENQUERY(LINKEDORACLESERVER , "SELECT * FROM SCV0XE") )
    This Error comes once a month. So I don't have any idea why this error happens. I am using MSSQL 2005 SP2 , Oracle 9i 9.2.01
    And I tested both microsoft provider and oracle ole provider. Both Driver failed
    Any Solution or Advice will be appreciated...
    Regards,
    Park

    Hi bborie :
    I think I encounter same problem as you, I schedule a job of MS SSIS to do data transfer from Oracle to MS sqlserver every morning. Bt MS SQL server report "ORA-03113 : end-of-file on communication channel error ".
    And Oracle alertlog report "inbound connection timed out (ORA-3136)"
    sqlnet.log list "TNS-12535: TNS:operation timed out"
    does your problem solved ?

  • [Oracle][ODBC][Ora]ORA-01017: invalid username/password; logon denied

    ---cmd prompt------------------------
    H:\>sqlplus scott/tiger
    SQL*Plus: Release 10.2.0.3.0 - Production on Sun Mar 28 16:54:53 2010
    Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
    With the Partitioning, OLAP and Data Mining options
    SQL>
    -------------ASP -------------------------
    <%@ Language="JScript" %>
    <%
         var uname=Request.Form("un");
         var upwd=Request.Form("pwd");
         Response.Write("User Name is " + uname + "<br>" + "password is " + upwd);
         var sql = "select * from emp";
         var conn = Server.CreateObject("ADODB.Connection");
         var rs = Server.CreateObject("ADODB.Recordset");
         conn.Open = "Driver={Oracle in OraDb10g_home1};DBQ=tcp;UID='uname';PWD='upwd';";
         rs.Open(sql, conn, 3, 3);
    %>
    ------------------Error------------------
    User Name is scott
    Password is tiger
    Microsoft OLE DB Provider for ODBC Drivers error '80040e4d'
    [Oracle][ODBC][Ora]ORA-01017: invalid username/password; logon denied
    /prc/main.asp, line 11
    variable uname has valid username that is 'scott' and variable upwd as valid password ie 'tiger' both entered by the user.
    with the same username and password i am able to connect to the database from the command prompt.
    but when i tried using odbc through ASP(javascript) i am getting above error.
    and one more thing if i mention username and password directly in UID and PWD it works but when i pass it through variables it wont work.
    since variables have username and password it has to take from it directly...........manually i cant give,dynamically it has to take.
    plz help me out....how i can pass the parameter to that UID and PWD.
    conn.Open = "Driver={Oracle in OraDb10g_home1};DBQ=tcp;UID='uname';PWD='upwd';";
    help plz
    conn.Open = "Driver={Oracle in OraDb10g_home1};DBQ=tcp;UID='uname';PWD='upwd';"; --- does not work
    conn.Open = "Driver={Oracle in OraDb10g_home1};DBQ=tcp;UID=scott;PWD=tiger;"; --- works
    but i want the 1st statement to work........since user gives the password and username dynamically.
    Thanks
    Veeresh S

    conn.Open("DSN=tcp;UID="+uname+";PWD="+upwd+";");
    this solved me
    thanks for all who had vied this..
    veeresh

  • Using PreparedStatement and the Oracle Error ORA-1000

    Hi,
    I have a question about PreparedStatement objects that is not so simple to explain for me. What I would like to know is: if I use a PreparedStatement following traditional and generic steps:
    1- PreparedStatement pStmt = Connection.prepareStatement(sQuery);
    2- pStmt.setXXX(i,j);
    n - pStmt.setXXX(i,j);
    n+1 - ResultSet rs = pStmt.executeQuery();
    n+2 - while(rs.next()){ ... retrive ResultSet data  ... }
    n+3 - rs.close()
    n+4 - back to point number 2
    and at the end (as you can see in the point numbered n+4), instead of closing the PreparedStatement pStmt using the close() method, I reuse the PreparedStatement pStmt comeing back to the point numebr 2 and setting again all its parameters with new values ... then ... what heppens in the Oracle database ? Has been the cursor (so the mamory area), associated to my PreparedStatement object pStmt, duplicated or is it the same ?
    I know that Java allows you to do this kind of operations with PreparedStatement, and I know that in tha Java Documentation is explained to follow this strategy to optimize the execution time because in this way the same PreparedStatement is precompiled and prepared only once. But if I do a for loop following the steps explained before, after many iterations I have the error "ORA-1000: maximum open cursors exceeded". This error is the reason of my question. Does this error means that it's mandatory to close a PreparedStatement always, otherwise if you reuse it without closing it then the corresponding database cursor will be duplicated ? If it is so, then I think this is a contradiction with official java documentation ...
    I'm using Oracle8i (version 8.1.7) and Oracle JDBC Thin Driver (Windows NT) for use with JDK 1.2.x. Moreover, in my database istance the parameter "maximum open cursor" is equal to 800 ...
    Thank you very much for suggestions :-)

    There is no need to close a prepared statement or its resultset for every iteration.
    After the first iteration in a loop, all subsequent executions of it will close the previous resultset. By adding close() method, you are making one extra costly call to the DB for no reason.
    Following is the sample code.I know what you are saying. In fact at the beginning I wrote my code in the same way of your sample (see the code of my first post at the begin of this page).
    But doing so, after thousand iterations of the loop, I had "Oracle Error ORA-1000 : maximun open cursor exeeded" even if in my database istance the parameter "maximum open cursor" is equal to 8000.
    At this moment in my code, for each iteration, I close the PreparedStatement and in this way I don't have anymore the error :-((
    So it seems that only in theory we can reuse a preparedStatement without closing it. In fact if we see the oracle system table "$open_cursor" (as Konrad Pietzka suggest me) we can find that, for each interation,
    at our line code "rs = pstmt.executeQuery();" correspond a new cursor in the database: this means that for each method "pstmt.executeQuery()" the database open a new cursor and do not use the previous one as it should.
    I posted a question two months ago to search if someone had the same problem (it seems that Konrad Pietzka had the same situation) and was able to explain me what is the cause.
    The only reason I found by myself for this problem, is that probably the Oracle JDBC Thin Driver for Windows NT/2000 has some bugs... but I'm not sure ...
    Thank you very much for you time !!
    bye :-))
    Fidalma

  • Unable to connect SQLState=08004 Oracle ODBC Ora-12154

    Hi Sir/Madam,
    I am Wayne, I need your help to resolve my issue in oracle database 11g.
    1. I installed Oracle 11g Personal Edition, Release 11.2.0.10, 64bits,
    2. Test connection(oracle in oradb11g_home1) is successed in data source, odbc,
    2. Then, I tried to connect this with Visual Basic(Visual Studio 2010), data connections, add connections, .net framework data provider for oracle,
    3. but I received an error message as "Attempt to load Oracle client libraries threw BadImageFormatException."
    4. Then, I download the ODAC(11.2.0.3.0) for 64bits, and installed,
    5. I tried to test the connection, but failed with error message as stated above,
    "Unable to connect SQLState=08004 Oracle ODBC Ora-12154: TNS:could not resolve the connect identifier specified"
    Could you please give me a help on this, do I need to install ODAC for 11g Personal Edition ? Please advice accordingly, thanks.

    Hi;
    Please review:
    https://kr.forums.oracle.com/forums/thread.jspa?threadID=2309520
    http://stackoverflow.com/questions/206055/oracle-ora-12154-tns-could-not-resolve-service-name-error
    Regard
    Helios

  • [Oracle][ODBC][Ora]ORA-24801: illegal parameter value in OCI lob function

    Hi,
    I am trying to insert an xml doc into a column of Oracle table which has a datatype CLOB in JSP. PFB my code that I am using --
    int id = 100;
    String st1 = "NEW";
    String st2 = "WLR3_IN_1";
    Date dt = new SimpleDateFormat("mm/dd/yyyy").parse("04/02/2008");
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    con = DriverManager.getConnection("jdbc:odbc:CST Server","xmluser","xmluser");
    String query = "INSERT INTO SEQ_API_MESSAGE_IN(SEQ_NO,MESSAGE_TEXT,STATUS,DIALECT,CREATED_TS) VALUES(?,?,?,?,?)";
    out.println(6);
    String fn = "C:/order.xml";
    out.println(7);
    PreparedStatement stmt = con.prepareStatement(query);
    out.println(8);
    File file = new File(fn);
    out.println(9);
    FileReader inputFileReader = new FileReader(file);
    stmt.setInt(1,id);
    stmt.setCharacterStream(2,inputFileReader, (long)file.length());
    stmt.setString(3,st1);
    stmt.setString(4,st2);
    stmt.setDate(5,new java.sql.Date(dt.getTime()));
    out.println(10);
    if (stmt.executeUpdate() != 1) {
    System.out.println("No record inserted.");
    But I am getting an output in the form of an Oracle error - 5 6 7 8 9 10 [Oracle][ODBC][Ora]ORA-24801: illegal parameter value in OCI lob function
    So all the statements are getting executed after which this Oracle error is thrown. Could you help me with this.
    Thanks in anticipation.. :)

    As suggested I may try switching to JDBC instead of JDBC-ODBC bridge driver , but I also tried doing this to get the sysdate --
    //Date dt = new SimpleDateFormat("mm/dd/yyyy").parse("04/02/2008");
    String date = DateFormat.getInstance().format(new Date());
    stmt.setString(5,date);
    and now I am getting this error -- 5 6 7 8 9 10 [Oracle][ODBC][Ora]ORA-01843: not a valid month Hello1
    Hello1 is coming from --
    catch (SQLException sqle){
    out.println(sqle.getMessage());
    out.print("Hello1");
    }

  • Oracle Alert - ORA-1652 Unable to extend the Temp Segment

    Hi Team,
    During our DB Reorg we have received the Oracle Alert - ORA-1652 Unable to extend the Temp Segment by 15485 in tablespace :PSAPBTABI.
    Our DBReorg got cancelled..
    We would like to know how we can resolve the above error so that we can reschedule the DB Reorg activity..
    Regds,
    Satyanarayana N

    Hi,
    If you are using UNIX OS, the temp files are created as sparse file due to the OS functionality.
    Altough you have assigned 49 GB the actual size will be very very less.
    You can check the actula file size with du or df command. To remove these sparse condition you will need to perform certain steps.
    Read this note and execute the steps given and then see the file size difference.
    548221 - Temporary Files are created as sparse files
    Do update the message if the OS is different.
    Regards,
    Nilesh

  • [S1000][unixODBC][Oracle][ODBC][Ora]ORA-03134: Connections to this server version are no longer supported

    Hello,
    I'm using  unixODBC with ODBC Oracle client 11 (Debian 7) to connect to Oracle database version 9.2.0.6 (Solaris 10),  but show me this message:
    [S1000][unixODBC][Oracle][ODBC][Ora]ORA-03134: Connections to this server version are no longer supported.
    Note: I can connect to Oracle database version 10+.
    Please can you help me.
    Thank you

    Are you positive you're using version 11 Oracle client and 9206 database?  That combination should work, and Ive never seen that error message occur for anything but the expected reason.  
    If you have MOS access you can check the client/database compatibility with the following note:
    Client / Server / Interoperability Support Matrix For Different Oracle Versions (Doc ID 207303.1)
    Hope it helps,
    Greg

  • Oracle/PLSQL: ORA-00932 ErrorError: ORA-00932: inconsistent datatypes

    I am getting this error in a PL/SQL package, using SQL using the NVL function.
    Oracle/PLSQL: ORA-00932 ErrorError: ORA-00932: inconsistent datatypes. Cause: You tried to perform an operation between two different datatypes, but the datatypes are not compatible.
    I do not get this error on a 10.2.0.4 instance of the database running in Windows.
    Anyone come accross this type of issue in 11g Rel.2 or after migrating from 10g to 11g??
    Thanks.

    Dear user520935,
    What are the contents of the package? Where do you exactly get that error?
    http://ora-00932.ora-code.com/
    Have you checked the metalink about it? There are lots of articles about it.
    Ogan

  • UPDATE problem - [Oracle][ODBC][Ora]ORA-01456

    I try to UPDATE a table using following driver, url and syntax :
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // load driver
    Connection conn = DriverManager.getConnection("jdbc:odbc:JDEV", "salgsinfo", "si"); // get connection
    but receives this answer :
    java.sql.SQLException: [Oracle][ODBC][Ora]ORA-01456: INSERT-, DELETE- or UPDATE-statements cannot be done in READ ONLY-transaction
    the user is granted dba priviliges, what can i do ?
    Niels

    ORA-01456:may not perform insert/delete/update operation inside a READONLY transaction
    Cause:A non-DDL INSERT/DELETE/UPDATE or SELECT FOR UPDATE operation was attempted.
    Action:Commit or roll back the current transaction, then retry the operation.

  • ORACLE 8에서의 ORA-1578 조치 방법(UPDATE)

    제품 : ORACLE SERVER
    작성날짜 : 2003-06-12
    Oracle 8에서의 ORA-1578(Data Block Corruption) 조치 방법
    <사전에 알아두어야 할 사항>
    # Oracle 8의 ROWID
    1. FORMAT : OOOOOOFFFBBBBBBSSS
    * OOOOOO - data object number 로서 물리적인 segment의 id를 의미
    * FFF - row가 위치한 datafile의 relative datafile number
    * BBBBBB - file 내에서의 block id
    * SSS - block 내에서의 row의 sequence number
    2. 각 구성 요소는 64진법으로 표기되어 진다.
    3. DBMS_ROWID Package는 ROWID를 10진법으로 변환하는 FUNCTION과 ROWID를
    생성하는 FUNCTION을 포함하고 있다.( 자세한 내용은 BULLETIN 11366 참조)
    # DBA_OBJECTS에서 OBJECT_ID와 DATA_OBJECT_ID
    Oracle 8에서는 DBA_OBJECTS 안에 physical segment id를 의미하는
    data_object_id column을 가지고 있다. 이 column의 값은 ROWID의 object id
    를 구성하는데 사용된다.
    이 column은 대부분 object_id 값과 동일하나 partitioned table과
    clustered table안에서는 다를 수 있다.
    Partitioned table에서는 partition이 다른 tablespace로 이동하였을 경
    우 object_id는 예전과 동일하나 data_object_id는 달라 진다.
    Clustered table에서는 반대로 data_object_id는 동일하나 object_id가 다
    른 경우가 발생한다.
    (자세한 내용은 Bulletin 11604 참조)
    # RELATIVE DATAFILE NUMBER
    8.x 의 relative datafile number는 특정 tablespace 내에서만 고유하다.
    따라서 서로 다른 두개의 tablespace에 속한 datafile들이 동일한 relative
    datafile number를 가질 수 있다.
    8.x 에서는 tablespace 당 최대 1023개의 datafile을 사용. 전체 database 의
    datafile 갯수가 1023개를 넘기 전까지는 file_id와 relative_fno는 동일한
    값을 갖음.
    # ROWID 생성
    DBMS_ROWID Package의 DBMS_ROWID.ROWID_CREATE Function사용.
    Syntax : Function dbms_rowid.rowid_create( rowid_type in number,
    object_number in number,
    relative_fno in number,
                   block_number in number,
                   row_number in number ) return rowid;
    SQL> select dbms_rowid.rowid_create(1,10116,4,5948,0) CREATE_ROWID
    from dual;
    CREATE_ROWID
    AAACeEAAEAAABc8AAA
    < 해결 방법 >
    1. HARDWARE 문제가 있다면 이를 먼저 해결한다.
    2. DATA DICTIONARY 의 INDEX나 TABLE이 손상되었다면 FULL BACKUP으로부터 복구.
    3. NON-DICTIONARY OBJECT일 경우
    # INDEX가 손상된 경우: INDEX를 REBUILD하면 된다.
    # TABLE이 손상된 경우:
    * EXPORT BACKUP이 있다면 손상된 TABLE을 DROP하고 IMPORT.
    * ARCHIVE MODE라면 해당 DATAFILE을 RESTORE하고 RECOVERY.
    * 만약 BACKUP이 전혀 없다면 ROWID를 이용하여 손상된 BLOCK을 제외한
    나머지 BLOCK의 ROW들만을 추출한다.
    이것은 반드시 INDEX가 생성된 TABLE에 한해서만 적용 가능하다.
    4. 손상된 BLOCK을 제외한 나머지 BLOCK의 ROW들을 추출하는 방법.
    ERROR MESSAGE :
    ORA-1578 "ORACLE data block corrupted (file # 4, block # 1562)
    - file# 4는 absolute datafile number 임.
    STEP 1 : 어떤 OBJECT에서 발생하였는가를 파악
    SELECT owner, segment_name, segment_type , relative_fno, partition_name
    FROM dba_extents
    WHERE file_id = 4 AND
    1562 BETWEEN block_id AND ( block_id + (blocks - 1)) ;
    OWNER SEGMENT_NAME SEGMENT_TYPE RELATIVE_FNO PARTITION_NAME
    SCOTT EMP TABLE 4
    * RELATIVE_FNO 확인
    * PARTITIONED TABLE인지 확인
    STEP 2 : DATA_OBJECT_ID를 추출
    SELECT DATA_OBJECT_ID
    FROM dba_objects
    WHERE owner = 'SCOTT' AND object_name = 'EMP'
    [  AND  partition_name = *EMP_PART_2*  ] ;
    DATA_OBJECT_ID
    7033
    * [ ] 안의 내용은 partitioned table일 경우에 추가되는 조건임.
    STEP 3 : ROWID 생성
    생성해야할 ROWID는 BLOCK 1562 와 BLOCK 1563의 각 첫 번째 ROWID들이다.
    STEP 1,2에서 다음과 같은 정보를 얻었다.
    OBJECT_NUMBER = 7033, RELATIVE_FNO= 4 , BLOCK-_NUMBER=1562
    각 BLOCK의 ROW SEQUENCE NUMBER는 0 부터 시작하므로 ROWID는 다음과 같이 생성할 수 있다.
    SQL> SELECT DBMS_ROWID.ROWID_CREATE(1,7033,4,1562,0) FROM DUAL;
    DBMS_ROWID.ROWID_C
    AAABt5AAEAAAAYaAAA
    SQL> SELECT DBMS_ROWID.ROWID_CREATE(1,7033,4,1563,0) FROM DUAL;
    DBMS_ROWID.ROWID_C
    AAABt5AAEAAAAYbAAA
    # 위 부분에서 기존의 BULLETIN(11340)은 잘못 되어 있다.
    즉 기존의 BULLETIN에서는 BLOCK 1561 과 BLOCK 1563의 첫 번째
    ROWID를 구해서 ROW를 추출하였다. 그러나 이렇게하면 BLOCK 1561의 ROW 들
    이 누락되는 현상이 발생하게 된다. 그러므로 이러한 현상을 방지하기 위해서
    는 BLOCK 1561의 첫 번째 ROWID가 아닌 BLOCK 1562의 첫번째 ROWID를 구해야
    한다.
    STEP 4 : ROW 추출
    * 먼저 TEMPORARY TABLE을 만든다
    SQL> CREATE TABLE TEMP AS SELECT * FROM EMP WHERE 1=2;
    * 손상된 BLOCK 1562의 첫 번째 ROWID보다 작은 ROWID를 가진 ROW 추출
    SQL>INSERT INTO TEMP
    SELECT * FROM EMP
    WHERE EMPNO > 0 AND ROWID < 'AAABt5AAEAAAAYaAAA' ;
    * 손상된 BLOCK 1562의 마지막 ROWID보다 큰 ROWID를 가진 ROW 추출
    SQL>INSERT INTO TEMP
    SELECT * FROM EMP
    WHERE EMPNO > 0 AND ROWID >= 'AAABt5AAEAAAAYbAAA' ;
    * 기존의 TABLE을 DROP하고 TEMP TABLE을 RENAME한다.
    위 INSERT시 WHERE 조건에 EMPNO > 0을 추가한 이유는 INDEX
    에 의한 RANGE SCAN을 반드시 수행하도록 하기 위해서이다.
    기존의 BULLETIN은 이 부분을 또한 간과하였다.
    즉 WHERE 절에 ROWID만을 기술했을 경우 TABLE을 FULL SCAN하
    지 않고 RANGE SCAN을 하기 위해서는 반드시 TABLE이
    ANALYZE되어 있어야만 한다. TABLE이 ANALYZE되어 있지 않으
    면 FULL SCAN을 하게 된다.
    아래는 각각에 대한 EXECUTION PLAN이다.
    TABLE ANALYZE를 하지 않은 상태
    CASE 1 ) ROWID로 QUERY
    SQL>select *
    from imsiemp
    where rowid < 'AAABwSAAEAAABGhAAJ';
    Execution Plan
    0 SELECT STATEMENT Optimizer=CHOOSE
    1 0 TABLE ACCESS (FULL) OF 'IMSIEMP'
    CASE 2 ) INDEX COLUMN & ROWID로 QUERY
    SQL> select *
    from imsiemp
    where empno < 10 and rowid < 'AAABwSAAEAAABGhAAJ'
    Execution Plan
         0 SELECT STATEMENT Optimizer=CHOOSE
    1 0 TABLE ACCESS (BY INDEX ROWID) OF 'IMSIEMP'
         2 1 INDEX (RANGE SCAN) OF 'SYS_C003247' (UNIQUE)
    TABLE ANALYZE가 수행된 상태
    CASE 1) ROWID로 QUERY
    SQL> select * from imsiemp where rowid < 'AAABwSAAEAAABGhAAJ'
    Execution Plan
    0 SELECT STATEMENT Optimizer=CHOOSE (Cost=36 Card=500 Bytes=19000)
    1 0 TABLE ACCESS (BY ROWID RANGE) OF 'IMSIEMP' (Cost=36 Card=500 Bytes=19000)
    CASE 2 ) INDEX COLUMN & ROWID로 QUERY
    SQL> select *
    from imsiemp
    where empno < 10 and rowid < 'AAABwSAAEAAABGhAAJ';
    Execution Plan
    0 SELECT STATEMENT Optimizer=CHOOSE (Cost=3 Card=1 Bytes=38)
    1 0 TABLE ACCESS (BY INDEX ROWID) OF 'IMSIEMP' (Cost=3 Card=1Bytes=38)
    2 1 INDEX (RANGE SCAN) OF 'SYS_C003247' (UNIQUE) (Cost=2 Card=1)

    Let me give the details..
    I1) I have installed 10.2.0.2 patch which is available in the service marketplace.
    i have jus applied the patch after installing the oracle 10.2 software and its showing
    10.2.0.2 in my status.
    2) My kernel version is 239 (SAP R/3 4.7)
    3) The env variables are give beolow.
    DBMS_TYPE=ORA
    DBS_ORA_SCHEMA=SAPR3
    dbs_ora_tnsname=DEE
    NLS_LANG=AMERICAN_AMERICA.WE8DEC
    NUMBER_OF_PROCESSORS=8
    ORACLE_HOME=D:\ORACLE\DEE\102
    ORACLE_SID=DEE
    OS=Windows_NT
    Path=C:\Perl\bin\;D:\oracle\DEE\102\jre\1.4.2\bin\client;D:\oracle\DEE\102\jre\1
    .4.2\bin;C:\Program Files\EMC\PowerPath\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDO
    WS\System32\Wbem;C:\Program Files\Dell\SysMgt\RAC5;C:\Program Files\Dell\SysMgt\
    oma\bin;C:\Program Files\Dell\SysMgt\oma\oldiags\bin;C:\Program Files\EMC\Navisp
    here CLI;C:\Program Files\Resource Kit\;D:\Oracle92\Opatch;D:\Oracle92\Opatch;d:
    \oracle\DEE\102;D:\usr\sap\DEE\sys\exe\run;D:\Oracle\DEE\102\BIN;d:\oracle92;d:\
    oracle92\bin;D:\usr\sap\DEE\sys\exe\run;
    SAPARCH=E:\oracle\DEE\saparch
    SAPBACKUP=E:\oracle\DEE\sapbackup
    SAPCHECK=E:\oracle\DEE\sapcheck
    SAPDATA_HOME=E:\oracle\DEE
    SAPEXE=D:\usr\sap\DEE\SYS\exe\run
    SAPLOCALHOST=awnts151
    SAPREORG=E:\oracle\DEE\sapreorg
    SAPTRACE=E:\oracle\DEE\saptrace
    SAPTRANSHOST=AWNTS151
    TNS_ADMIN=D:\usr\sap\DEE\sys\profile\ORACLE
    USERDNSDOMAIN=AUDCO9.AILVALVES.COM
    USERDOMAIN=AUDCO9
    USERNAME=deeadm
    USERPROFILE=C:\Documents and Settings\deeadm
    USE_KIT=OFF
    4) Since there is no application server i have not installed oracle client.
    5) Kernel version is 640.
    Please help.
    Thanks and regards,
    siddhartha.

  • Oracle Error :: ORA-12637 Packet receive failed

    Hi buddies,
    One of my staff's PC is receiving this error sometimes when she is trying to connect to the database and she is able to connect sometimes.
    Oracle Error :: ORA-12637 Packet receive failed What could be the cause.
    I tried replacing her tnsadmin with my tnsadmin and it didn't make a change, still able to connnect sometimes and sometimes not.
    Able to connect using PL/SQL developer, but not using our customized application. (Everyone else are able to connect)
    Is it network problem?
    Please advice.
    Thank You very much.
    Alagu
    Edited by: user645399 on Sep 16, 2009 8:37 PM

    And from this cut-and-paste the OP is supposed to take what actions to solve the problem? Please don't just post that which is one google away every time someone posts an ORA- exception. You make some valuable contributions here but just posting expanded text doesn't give someone a list of actions to take that will help them resolve the issue. Better the question is left unanswered so others will be more likely to offer help.
    To the OP:
    It is highly likely you have a network issue and the fact that it is isolated to a single machine makes it reasonably easy to fix. First try to figure out which component is failing. Go to the router or switch and swap wires between that client machine and another one that is working properly. Does the problem move? If not then swap the wires. Again does the problem move? Next the NIC card? What if you put another machine on the desk and put the original hard disk in it?
    Sometimes it just isn't worth the effort so you just swap out the machine.
    Intermittent problems are always hard to identify and fix. What is on your side is that this is only affecting a single user.

Maybe you are looking for

  • Help! Data recovery needed after lapse of thought... Suggestions please

    All was going well with my Mini Server, but apart from the boot partition, I had no back-up plan in place which made me uncomfortable. So in seek of a performance upgrade and a back-up solution I ordered a larger 750GB HDD for bay 1 and a SSD for bay

  • SmartForms: Template: Box for Single Cell

    Hi all, I am using template of one row and two Column, I want to draw a box around for Column(1,1), where don't want to draw any box around Column(1,2). Which pattern should i select so that i can achieve this? Thanks in advance.

  • How to change directory for VOD files

    Hello.. My company has recently asked me to install the Adobe Streaming Server 4.0.  I was wondering if it is possible to have the server software reside on the C: drive, while having my VOD files on seperate D: drive.  The staff here wants to separa

  • 27" iMac i7 won't startup after recent security update

    My iMac does not boot properly since I installed the recent security update.  All I get is the circle slash symbol.  Anyone have a solution?

  • Adobe audition trying to run vst intruments

    I have just upgraded to audition 3. I am trying to play my native instuments programs(b4, electrik piano, etc). How do I go about using these instruments in adobe and recording them into audition?