Jdbc & national chars

When I'm trying to fetch some data from oracle that doesn't stored in tables (e.g. select to_char(sysdate,'month') from dual; or error text) I get question marks ('?') instead of correct national characters. If I select national symbols from tables I get correct result. This problem exist with oci and thin drivers, with various jre versions, with different NLS_LANG values. Database charset is UTF8.
Can anybody show the way to get correct symbols instead of that question marks?
Thank you.

What do you mean? This is my font embedding window:
Going from top:
Font name
Name
Style
Checkbox'es: simulated bold, simulated cursive, bitmap text
Size
Then:
Export for AS and Export in frame 1
Indentifier (disabled)
Class
Base class
And:
Export for sharing
Import for sharing
URL (disabled)
Maybe I missed this field somewhere, but I see no option for exporting special chars.

Similar Messages

  • Unit test fails after upgrading to Kodo 4.0.0 from 4.0.0-EA4

    I have a group of 6 unit tests failing after upgrading to the new Kodo
    4.0.0 (with BEA) from Kodo-4.0.0-EA4 (with Solarmetric). I'm getting
    exceptions like the one at the bottom of this email. It seems to be an
    interaction with the PostgreSQL driver, though I can't be sure. I
    haven't changed my JDO configuration or the related classes in months
    since I've been focusing on using the objects that have already been
    defined. The .jdo, .jdoquery, and .java code are below the exception,
    just in case there's something wrong in there. Does anyone have advice
    as to how I might debug this?
    Thanks,
    Mark
    Testsuite: edu.ucsc.whisper.test.integration.UserManagerQueryIntegrationTest
    Tests run: 15, Failures: 0, Errors: 6, Time elapsed: 23.308 sec
    Testcase:
    testGetAllUsersWithFirstName(edu.ucsc.whisper.test.integration.UserManagerQueryIntegrationTest):
    Caused an ERROR
    The column index is out of range: 2, number of columns: 1.
    <2|false|4.0.0> kodo.jdo.DataStoreException: The column index is out of
    range: 2, number of columns: 1.
    at
    kodo.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4092)
    at kodo.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:82)
    at kodo.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:66)
    at kodo.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:46)
    at
    kodo.jdbc.kernel.SelectResultObjectProvider.handleCheckedException(SelectResultObjectProvider.java:176)
    at
    kodo.kernel.QueryImpl$PackingResultObjectProvider.handleCheckedException(QueryImpl.java:2460)
    at
    com.solarmetric.rop.EagerResultList.<init>(EagerResultList.java:32)
    at kodo.kernel.QueryImpl.toResult(QueryImpl.java:1445)
    at kodo.kernel.QueryImpl.execute(QueryImpl.java:1136)
    at kodo.kernel.QueryImpl.execute(QueryImpl.java:901)
    at kodo.kernel.QueryImpl.execute(QueryImpl.java:865)
    at kodo.kernel.DelegatingQuery.execute(DelegatingQuery.java:787)
    at kodo.jdo.QueryImpl.executeWithArray(QueryImpl.java:210)
    at kodo.jdo.QueryImpl.execute(QueryImpl.java:137)
    at
    edu.ucsc.whisper.core.dao.JdoUserDao.findAllUsersWithFirstName(JdoUserDao.java:232)
    at
    edu.ucsc.whisper.core.manager.DefaultUserManager.getAllUsersWithFirstName(DefaultUserManager.java:252)
    NestedThrowablesStackTrace:
    org.postgresql.util.PSQLException: The column index is out of range: 2,
    number of columns: 1.
    at
    org.postgresql.core.v3.SimpleParameterList.bind(SimpleParameterList.java:57)
    at
    org.postgresql.core.v3.SimpleParameterList.setLiteralParameter(SimpleParameterList.java:101)
    at
    org.postgresql.jdbc2.AbstractJdbc2Statement.bindLiteral(AbstractJdbc2Statement.java:2085)
    at
    org.postgresql.jdbc2.AbstractJdbc2Statement.setInt(AbstractJdbc2Statement.java:1133)
    at
    com.solarmetric.jdbc.DelegatingPreparedStatement.setInt(DelegatingPreparedStatement.java:390)
    at
    com.solarmetric.jdbc.PoolConnection$PoolPreparedStatement.setInt(PoolConnection.java:440)
    at
    com.solarmetric.jdbc.DelegatingPreparedStatement.setInt(DelegatingPreparedStatement.java:390)
    at
    com.solarmetric.jdbc.DelegatingPreparedStatement.setInt(DelegatingPreparedStatement.java:390)
    at
    com.solarmetric.jdbc.DelegatingPreparedStatement.setInt(DelegatingPreparedStatement.java:390)
    at
    com.solarmetric.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingPreparedStatement.setInt(LoggingConnectionDecorator.java:1
    257)
    at
    com.solarmetric.jdbc.DelegatingPreparedStatement.setInt(DelegatingPreparedStatement.java:390)
    at
    com.solarmetric.jdbc.DelegatingPreparedStatement.setInt(DelegatingPreparedStatement.java:390)
    at kodo.jdbc.sql.DBDictionary.setInt(DBDictionary.java:980)
    at kodo.jdbc.sql.DBDictionary.setUnknown(DBDictionary.java:1299)
    at kodo.jdbc.sql.SQLBuffer.setParameters(SQLBuffer.java:638)
    at kodo.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:539)
    at kodo.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:512)
    at kodo.jdbc.sql.SelectImpl.execute(SelectImpl.java:332)
    at kodo.jdbc.sql.SelectImpl.execute(SelectImpl.java:301)
    at kodo.jdbc.sql.Union$UnionSelect.execute(Union.java:642)
    at kodo.jdbc.sql.Union.execute(Union.java:326)
    at kodo.jdbc.sql.Union.execute(Union.java:313)
    at
    kodo.jdbc.kernel.SelectResultObjectProvider.open(SelectResultObjectProvider.java:98)
    at
    kodo.kernel.QueryImpl$PackingResultObjectProvider.open(QueryImpl.java:2405)
    at
    com.solarmetric.rop.EagerResultList.<init>(EagerResultList.java:22)
    at kodo.kernel.QueryImpl.toResult(QueryImpl.java:1445)
    at kodo.kernel.QueryImpl.execute(QueryImpl.java:1136)
    at kodo.kernel.QueryImpl.execute(QueryImpl.java:901)
    at kodo.kernel.QueryImpl.execute(QueryImpl.java:865)
    at kodo.kernel.DelegatingQuery.execute(DelegatingQuery.java:787)
    at kodo.jdo.QueryImpl.executeWithArray(QueryImpl.java:210)
    at kodo.jdo.QueryImpl.execute(QueryImpl.java:137)
    at
    edu.ucsc.whisper.core.dao.JdoUserDao.findAllUsersWithFirstName(JdoUserDao.java:232)
    --- DefaultUser.java -------------------------------------------------
    public class DefaultUser
    implements User
    /** The account username. */
    private String username;
    /** The account password. */
    private String password;
    /** A flag indicating whether or not the account is enabled. */
    private boolean enabled;
    /** The authorities granted to this account. */
    private Set<Authority> authorities;
    /** Information about the user, including their name and text that
    describes them. */
    private UserInfo userInfo;
    /** The set of organizations where this user works. */
    private Set<Organization> organizations;
    --- DefaultUser.jdo --------------------------------------------------
    <?xml version="1.0"?>
    <!DOCTYPE jdo PUBLIC
    "-//Sun Microsystems, Inc.//DTD Java Data Objects Metadata 2.0//EN"
    "http://java.sun.com/dtd/jdo_2_0.dtd">
    <jdo>
    <package name="edu.ucsc.whisper.core">
    <sequence name="user_id_seq"
    factory-class="native(Sequence=user_id_seq)"/>
    <class name="DefaultUser" detachable="true"
    table="whisper_user" identity-type="datastore">
    <datastore-identity sequence="user_id_seq" column="userId"/>
    <field name="username">
    <column name="username" length="80" jdbc-type="VARCHAR" />
    </field>
    <field name="password">
    <column name="password" length="40" jdbc-type="CHAR" />
    </field>
    <field name="enabled">
    <column name="enabled" />
    </field>
    <field name="userInfo" persistence-modifier="persistent"
    default-fetch-group="true" dependent="true">
    <extension vendor-name="jpox"
    key="implementation-classes"
    value="edu.ucsc.whisper.core.DefaultUserInfo" />
    <extension vendor-name="kodo"
    key="type"
    value="edu.ucsc.whisper.core.DefaultUserInfo" />
    </field>
    <field name="authorities" persistence-modifier="persistent"
    table="user_authorities"
    default-fetch-group="true">
    <collection
    element-type="edu.ucsc.whisper.core.DefaultAuthority" />
    <join column="userId" delete-action="cascade"/>
    <element column="authorityId" delete-action="cascade"/>
    </field>
    <field name="organizations" persistence-modifier="persistent"
    table="user_organizations" mapped-by="user"
    default-fetch-group="true" dependent="true">
    <collection
    element-type="edu.ucsc.whisper.core.DefaultOrganization"
    dependent-element="true"/>
    <join column="userId"/>
    <!--<element column="organizationId"/>-->
    </field>
    </class>
    </package>
    </jdo>
    --- DefaultUser.jdoquery ---------------------------------------------
    <?xml version="1.0"?>
    <!DOCTYPE jdo PUBLIC
    "-//Sun Microsystems, Inc.//DTD Java Data Objects Metadata 2.0//EN"
    "http://java.sun.com/dtd/jdo_2_0.dtd">
    <jdo>
    <package name="edu.ucsc.whisper.core">
    <class name="DefaultUser">
    <query name="UserByUsername"
    language="javax.jdo.query.JDOQL"><![CDATA[
    SELECT UNIQUE FROM edu.ucsc.whisper.core.DefaultUser
    WHERE username==searchName
    PARAMETERS java.lang.String searchName
    ]]></query>
    <query name="DisabledUsers"
    language="javax.jdo.query.JDOQL"><![CDATA[
    SELECT FROM edu.ucsc.whisper.core.DefaultUser WHERE
    enabled==false
    ]]></query>
    <query name="EnabledUsers"
    language="javax.jdo.query.JDOQL"><![CDATA[
    SELECT FROM edu.ucsc.whisper.core.DefaultUser WHERE
    enabled==true
    ]]></query>
    <query name="CountUsers"
    language="javax.jdo.query.JDOQL"><![CDATA[
    SELECT count( this ) FROM edu.ucsc.whisper.core.DefaultUser
    ]]></query>
    </class>
    </package>
    </jdo>

    I'm sorry, I have no idea. I suggest sending a test case that
    reproduces the problem to support.

  • Cannot create 'download' page for inline PDF viewing with IE

    Description of Problem:
    Typically, when you want to transfer a file to the client via code (cuz the
    file is in a db, for example), you create a page that will change the
    response headers and then spit out the file for them to download.
    This works, however something with the response headers make it so IE does
    not display a PDF if the 'Display PDF in browser' is turned on in the
    Acrobat Reader. The page loads, but is blank.
    code:
    response.setContentType("application/pdf"); //this works well
    response.setHeader("Content-disposition","inline; filename=" +"report.pdf" );
    response.setContentType("application/pdf;charset=GB2312"); // can't work
    response.setHeader("Content-disposition","inline; filename=" +"report.pdf" );
    when response header containt national char
    must set "useResponseCTForHeaders = true" in sun-web.xml and must use setContentType charset =XXX
    Actual Results:
    A blank page is shown
    Expected Results:
    The PDF is shown in the browser using the acrobat reader plugin.
    How often does this happen?
    Every time

    hi kglad
    thanks for the help im almost there but still not getting it
    so currently my code is set up for an action over a button
    using
    on (release) {
    getURL("www.mysite.com/my.mp3","_blank");
    so do I keep the on(release and then add in the on (release)
    then add in which part of the filereference class??
    import flash.net.FileReference;
    var listener:Object = new Object();
    listener.onSelect = function(file:FileReference):Void {
    trace("onSelect: " + file.name);
    listener.onCancel = function(file:FileReference):Void {
    trace("onCancel");
    listener.onOpen = function(file:FileReference):Void {
    trace("onOpen: " + file.name);
    listener.onProgress = function(file:FileReference,
    bytesLoaded:Number, bytesTotal:Number):Void {
    trace("onProgress with bytesLoaded: " + bytesLoaded + "
    bytesTotal: " + bytesTotal);
    listener.onComplete = function(file:FileReference):Void {
    trace("onComplete: " + file.name);
    listener.onIOError = function(file:FileReference):Void {
    trace("onIOError: " + file.name);
    thanks a lot for your help!
    var fileRef:FileReference = new FileReference();
    fileRef.addListener(listener);
    var url:String = "
    http://www.macromedia.com/platform/whitepapers/platform_overview.pdf";
    if(!fileRef.download(url, "FlashPlatform.pdf")) {
    trace("dialog box failed to open.");
    }

  • How to store bit data in VARCHAR(4000) field?

    Hi.
    Please help!
    We are porting some C/C++ software with embedded SQLs from NT/DB2 to Linux/Oracle.
    On NT/DB2 we have some table to store file data in a VARCHAR(4000) blocks.
    Table looks like this
    CREATE TABLE FileData (filetime as timestamp not null, idx int not null, datablock varchar(4000) FOR BIT DATA not null, primary key (filetime, idx) );
    As you can see DB2 has appropriate field modifier - "FOR BIT DATA" which makes DB2 storing data as-is, not converting characters.
    I need to know - if it is possible to do the same in Oracle like in DB2?
    If Oracle has some kind of field modifier like "FOR BIT DATA" in DB2?
    If not, how can I do the same in Oracle?
    The current problems are:
    1) when application imports the file with some national chars the Oracle stores "?" in a database in place of national chars.
    2) another piece of a problem - if file is more than 4000 bytes length, it reports the ORA-01461 error (see it is trying to expand some chars to UTF8 char which is not fit a single char, so finally - not fit the field size).
    So, it seems that it cannot proceed national chars at all. :-\
    For details please see enclosed [C code|http://dmitry-bond.spaces.live.com/blog/cns!D4095215C101CECE!1606.entry] , there is example how data written to a table.
    In other places we also need to read data from FIELDATA table and store back to file (other filename, other location).
    Here is summary on a field-datatype variants I have tried for the "datablock" field:
    1) VARCHAR2, RAW, LONG RAW, BLOB - does not work! All reports the same error - ORA-01461.
    2) CLOB, LONG - both working fine but(!) both still returns "?" instead of national chars on data reading.
    Hint: how I did try these field types - I just drop the "FileData" table, created it using different type for "datablock" field and run the same application to test it.
    I think I need to explain what the problem - we do not provide direct access to Oracle database, we use a some middle-ware. Middle-ware is a C/C++ software which also has a interface for dynamic SQLs execution. So, exactly this middle-ware (which is typically running on the same server with Oracle) receives the "?" instead of national chars! But we need it to return all data AS-IS(!) without any changes!!! That is wjhy I did ask - if Oracle has any options to store byte-data as-is?
    The BIG QUESTION - HOW CAN WE DO THIS?!
    Another thing I need to explain - it is ok to use Oracle-specific SQL ONLY IF THERE IS REALLY NO WAY TO ACHIEVE THIS WITH STANDARD SQL! Please.
    So, please look on a C code (by link I have posted above) and tell - if it is possible to make working in Oracle the VARCHAR approach we using at the moment?
    If not - please describe what options do we have for Oracle?
    Regards,
    Dmitry.
    PS. it is Oracle 11gR2 on CentOS 5.4, all stuff installed with default settings, so Oracle db encoding is "AL32UTF8".
    C/C++ application is built as ANSI/ASCII application (non-unicode), so sizeof(char)=1.
    The target Oracle db (I mean - the one which will be used on customer site) is Oracle 10g. So, solution need to be working on Oracle 10g.

    P. Forstmann wrote:
    There is some contradiction in your requirements:
    - if you want to store data as is without any translation use RAW or BLOB
    - if you want to store national character data try to use NVARCHAR2 or NCLOB.Seems you did not understand the problem. Ok, I'll try to explain. Please look on the code sample I provided in original question
    (I just added expanded data structures there, sorry I forgot to publish them when post original question):
    EXEC SQL BEGIN DECLARE SECTION;
      struct {
        char timestamp[27];
        char station[17];
        char filename[33];
        char task[17];
        char orderno[17];
        long filelen;
      gFilehead;
      struct {
        char timestamp[27];
        long idx;
        struct {
          short len;
          char arr[4001];
        } datablock;
      gFiledata;
    EXEC SQL END DECLARE SECTION;
    #define DATABLOCKSIZE 4000
    #ifdef __ORACLE
      #define VARCHAR_VAL(vch) vch.arr
    #elif __DB2
    #endif
    short dbWriteFile( char *databytes, long datalen )
      short nRc;
      long movecount;
      long offset = 0;
      gFilehead.filelen = gFilehead.filelen + datalen;
      while ((datalen + gFiledata.datablock.len) >= DATABLOCKSIZE)
        movecount = DATABLOCKSIZE - gFiledata.datablock.len;
        memcpy(&VARCHAR_VAL(gFiledata.datablock)[gFiledata.datablock.len], databytes, movecount);
        gFiledata.datablock.len = (short)(gFiledata.datablock.len + movecount);
        exec sql insert into filedata (recvtime, idx, datablock)
          values(
            :gFiledata.recvtime type as timestamp,
            :gFiledata.idx,
            :gFiledata.datablock /* <--- ORA-01461 appears here */
        nRc = sqlcode;
        switch (nRc)
        case SQLERR_OK: break;
        default:
          LogError(ERR_INSERT, "filedata", IntToStr(nRc), LOG_END);
          exit(EXIT_FAILURE);
        offset = offset + movecount;
        datalen = datalen - movecount;
        gFiledata.idx = gFiledata.idx + 1;
        memset(&gFiledata.datablock, 0, sizeof(gFiledata.datablock));
        databytes = databytes + movecount;
        gFiledata.datablock.len = 0;
      if (datalen + gFiledata.datablock.len)
        memcpy(&VARCHAR_VAL(gFiledata.datablock)[gFiledata.datablock.len], databytes, datalen);
        gFiledata.datablock.len = (short)(gFiledata.datablock.len + datalen);
      return 0;
    }So, the thing we need is - to put some data into the "datablock" field of following structure:
      struct {
        char timestamp[27];
        long idx;
        struct {
          short len;
          char arr[4001];
        } datablock;
      gFiledata;Then insert it into a database table using static SQL like this:
        exec sql insert into filedata (recvtime, idx, datablock)
          values(
            :gFiledata.recvtime type as timestamp,
            :gFiledata.idx,
            :gFiledata.datablock /* <--- ORA-01461 appears here */
            ); And then expect to read exactly the same data back!
    The problems are:
    1) Oracle make decision to convert the data we are inserting (why? and how to disable converting?!)
    2) even if it inserts the data (CLOB and LONG field datatypes are working fine when inserting data with such static SQL + such host variable) then it became not readable! (why?! how to make it readable?!)
    P. Forstmann wrote:
    ORA-01461 could mean that you have a wrong data type for bind variable variable in your client code:Not me decided that host variable is the "LONG datatype value" - the Oracle make that decision instead of me. And that is the problem!
    Looks like Oracle react on any char code >= 0x80.
    So, assume if I run the code:
    // if Tab1 was created as "CREATE TABLE Tab1 (value VARCHAR(5))" then
    char szData[10] = "\x41\x81\x82\x83\x84";
    EXEC SQL INSERT INTO Tab1 (value) VALUES (:szData);
    Oracle will report the ORA-01461 error!
    EXACTLY THIS IS THE PROBLEM I HAVE DESCRIBED IN MY ORIGINAL QUESTION.
    So, problem - why Oracle make such decision instead of me?! How we can make Oracle insert data into a table AS-IS?
    What other type of host variable we should use to make Oracle think that data is a binary?
    void*? unsigned char? Could you please provide any examples?
    Ok, you did recommend - "use the RAW datatype". But RAW datatype is limited to size 2000 bytes only - we need 4000! So, it is not match our needs at all.
    Also you have mentioned "use BLOB" - but testing shows that Oracle reports the same ORA-01461 error on inserting data into a BLOB field from such host variable! (see the code I posted)
    What also we can do?
    Change type of host variables? BUT HOW?!

  • SQL Query very slow.

    I have a table which has 40million data in it. Of-course partitioned!.
    begin
    pk_cm_entity_context.set_entity_in_context(1);
    end;
    SELECT COUNT(1) FROM XFACE_ADDL_DETAILS_TXNLOG;
    alter table XFACE_ADDL_DETAILS_TXNLOG rename to XFACE_ADDLDTS_TXNLOG_PTPART;
    SELECT COUNT(1) FROM XFACE_ADDLDTS_TXNLOG_PTPART;
    -- Create table
    create table XFACE_ADDL_DETAILS_TXNLOG
    REF_TXN_NO CHAR(40),
    REF_USR_NO CHAR(40),
    REF_KEY_NO VARCHAR2(50),
    REF_TXN_NO_ORG CHAR(40),
    REF_USR_NO_ORG CHAR(40),
    RECON_CODE VARCHAR2(25),
    COD_TASK_DERIVED VARCHAR2(5),
    COD_CHNL_ID VARCHAR2(6),
    COD_SERVICE_ID VARCHAR2(10),
    COD_USER_ID VARCHAR2(30),
    COD_AUTH_ID VARCHAR2(30),
    COD_ACCT_NO CHAR(22),
    TYP_ACCT_NO VARCHAR2(4),
    COD_SUB_ACCT_NO CHAR(16),
    COD_DEP_NO NUMBER(5),
    AMOUNT NUMBER(15,2),
    COD_CCY VARCHAR2(3),
    DAT_POST DATE,
    DAT_VALUE DATE,
    TXT_TXN_NARRATIVE VARCHAR2(60),
    DATE_CHEQUE_ISSUE DATE,
    TXN_BUSINESS_TYPE VARCHAR2(10),
    CARD_NO CHAR(20),
    INVENTORY_CODE CHAR(10),
    INVENTORY_NO CHAR(20),
    CARD_PASSBOOK_NO CHAR(30),
    COD_CASH_ANALYSIS CHAR(20),
    BANK_INFORMATION_NO CHAR(8),
    BATCH_NO CHAR(10),
    SUMMARY VARCHAR2(60),
    MAIN_IC_TYPE CHAR(1),
    MAIN_IC_NO CHAR(48),
    MAIN_IC_NAME CHAR(64),
    MAIN_IC_CHECK_RETURN_CODE CHAR(1),
    DEPUTY_IC_TYPE CHAR(1),
    DEPUTY_IC_NO CHAR(48),
    DEPUTY_NAME CHAR(64),
    DEPUTY_IC_CHECK_RETURN_CODE CHAR(1),
    ACCOUNT_PROPERTY CHAR(4),
    CHEQUE_NO CHAR(20),
    COD_EXT_TASK CHAR(10),
    COD_MODULE CHAR(4),
    ACC_PURPOSE_CODE VARCHAR2(15),
    NATIONALITY CHAR(3),
    CUSTOMER_NAME CHAR(192),
    COD_INCOME_EXPENSE CHAR(6),
    COD_EXT_BRANCH CHAR(6),
    COD_ACCT_TITLE CHAR(192),
    FLG_CA_TT CHAR(1),
    DAT_EXT_LOCAL DATE,
    ACCT_OWNER_VALID_RESULT CHAR(1),
    FLG_DR_CR CHAR(1),
    FLG_ONLINE_UPLOAD CHAR(1),
    FLG_STMT_DISPLAY CHAR(1),
    COD_TXN_TYPE NUMBER(1),
    DAT_TS_TXN TIMESTAMP(6),
    LC_BG_GUARANTEE_NO VARCHAR2(20),
    COD_OTHER_ACCT_NO CHAR(22),
    COD_MOD_OTHER_ACCT_NO CHAR(4),
    COD_CC_BRN_SUB_ACCT NUMBER(5),
    COD_CC_BRN_OTHR_ACCT NUMBER(5),
    COD_ENTITY_VPD NUMBER(5) default NVL(sys_context('CLIENTCONTEXT','entity_code'),11),
    COD_EXT_TASK_REV VARCHAR2(10)
    partition by hash (REF_TXN_NO)
    PARTITIONS 128
    store in (FCHDATA1,FCHDATA2,FCHDATA3,FCHDATA4, FCHDATA5, FCHDATA6, FCHDATA7, FCHDATA8);
    insert /*+APPEND NOLOGGING */ into XFACE_ADDL_DETAILS_TXNLOG
    select /*+PARALLEL */ * from XFACE_ADDLDTS_TXNLOG_PTPART;
    -- Add comments to the table
    comment on table XFACE_ADDL_DETAILS_TXNLOG
    is ' Additional Data log table ';
    -- Add comments to the columns
    comment on column XFACE_ADDL_DETAILS_TXNLOG.REF_TXN_NO
    is 'Transaction Reference Number';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.REF_USR_NO
    is 'User Reference Number';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.REF_KEY_NO
    is 'Unique key to identify a leg of the transaction';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.REF_TXN_NO_ORG
    is 'Original Transaction Reference Number';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.REF_USR_NO_ORG
    is 'Original Transaction User Reference Number';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.RECON_CODE
    is 'Reconciliation of transactions in future';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.COD_TASK_DERIVED
    is 'Transaction mnemonic for the request';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.COD_CHNL_ID
    is 'Channel ID';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.COD_SERVICE_ID
    is 'Service ID';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.COD_USER_ID
    is 'User ID';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.COD_AUTH_ID
    is 'Authorizer ID';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.COD_ACCT_NO
    is 'It can be Card number or MCA or GL or CASH GL';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.TYP_ACCT_NO
    is 'Type of input (Valid values CARD, MCA, GL, CASH, LN)';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.COD_SUB_ACCT_NO
    is 'MC Sub Account Number';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.COD_DEP_NO
    is 'Deposit Number';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.AMOUNT
    is 'Transaction Amount';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.COD_CCY
    is 'Currency Code';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.DAT_POST
    is 'Posting Date of the transaction';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.DAT_VALUE
    is 'Value Date of the transaction';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.TXT_TXN_NARRATIVE
    is 'Text Transaction Narrative';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.DATE_CHEQUE_ISSUE
    is 'Date of Issue of Cheque';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.TXN_BUSINESS_TYPE
    is 'Transaction Business Type';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.CARD_NO
    is 'Card Number';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.INVENTORY_CODE
    is 'Inventory Code';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.INVENTORY_NO
    is 'Inventory Number';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.CARD_PASSBOOK_NO
    is 'Card Passbook Number';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.COD_CASH_ANALYSIS
    is 'Cash Analysis Code';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.BANK_INFORMATION_NO
    is 'Bank Information Number';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.BATCH_NO
    is 'Batch Number';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.SUMMARY
    is 'Summary';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.MAIN_IC_TYPE
    is 'IC Type';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.MAIN_IC_NO
    is 'IC Number';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.MAIN_IC_NAME
    is 'IC Name';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.MAIN_IC_CHECK_RETURN_CODE
    is 'IC Check Return Code';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.DEPUTY_IC_TYPE
    is 'Deputy IC Type';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.DEPUTY_IC_NO
    is 'Deputy IC Number';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.DEPUTY_NAME
    is 'Deputy Name';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.DEPUTY_IC_CHECK_RETURN_CODE
    is 'Deputy IC Check Return Code';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.ACCOUNT_PROPERTY
    is 'Account Property';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.CHEQUE_NO
    is 'Cheque Number';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.COD_EXT_TASK
    is 'External Task Code';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.COD_MODULE
    is 'Module Code - CH, TD, RD , LN, CASH, GL';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.ACC_PURPOSE_CODE
    is 'Account Purpose Code';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.NATIONALITY
    is 'Nationality';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.CUSTOMER_NAME
    is 'Customer Name';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.COD_INCOME_EXPENSE
    is 'Income Expense Code';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.COD_EXT_BRANCH
    is 'External Branch Code';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.COD_ACCT_TITLE
    is 'Account Title Code';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.FLG_CA_TT
    is 'Cash or Funds Transfer flag';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.DAT_EXT_LOCAL
    is 'Local Date';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.ACCT_OWNER_VALID_RESULT
    is 'Account Owner Valid Result';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.FLG_DR_CR
    is 'Flag Debit Credit - D, C.';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.FLG_ONLINE_UPLOAD
    is 'Flag Online Upload - O, U.';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.FLG_STMT_DISPLAY
    is 'Statement Display Flag - Y/N, Y(Normal Reversal), N(Correction Reversal)';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.COD_TXN_TYPE
    is 'To denote the kind of transaction:
    1 ?Cash Credit Transaction
    2 ?Cash Debit Transaction
    3 ?Funds Transfer Credit Transaction
    4 ?Funds Transfer Debit Transaction
    comment on column XFACE_ADDL_DETAILS_TXNLOG.DAT_TS_TXN
    is 'Date and Timestamp of the record being inserted';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.LC_BG_GUARANTEE_NO
    is 'LC/BG Guarantee Number for which the request for the Liquidation has been initiated.';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.COD_OTHER_ACCT_NO
    is 'Other Account No';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.COD_MOD_OTHER_ACCT_NO
    is 'Module Code of Other Account No - CH, TD, RD , LN, CASH, GL';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.COD_CC_BRN_SUB_ACCT
    is 'Branch Code for Sub Account';
    comment on column XFACE_ADDL_DETAILS_TXNLOG.COD_CC_BRN_OTHR_ACCT
    is 'Branch Code for Other Account';
    -- Create/Recreate indexes
    drop index IN_XFACE_ADDL_DETAILS_TXNLOG_1;
    drop index IN_XFACE_ADDL_DETAILS_TXNLOG_2;
    drop index IN_XFACE_ADDL_DETAILS_TXNLOG_3;
    drop index IN_XFACE_ADDL_DETAILS_TXNLOG_4;
    drop index IN_XFACE_ADDL_DETAILS_TXNLOG_5;
    drop index IN_XFACE_ADDL_DETAILS_TXNLOG_6;
    drop index IN_XFACE_ADDL_DETAILS_TXNLOG_7;
    drop index IN_XFACE_ADDL_DETAILS_TXNLOG_8;
    create index IN_XFACE_ADDL_DETAILS_TXNLOG_1 on XFACE_ADDL_DETAILS_TXNLOG (REF_TXN_NO, REF_KEY_NO, COD_SUB_ACCT_NO, COD_ENTITY_VPD)
    GLOBAL PARTITION BY HASH (REF_TXN_NO, REF_KEY_NO, COD_SUB_ACCT_NO) PARTITIONS 128 STORE IN (FCHINDX1, FCHINDX2, FCHINDX3, FCHINDX4) PARALLEL (DEGREE 32) NOLOGGING;
    create index IN_XFACE_ADDL_DETAILS_TXNLOG_2 on XFACE_ADDL_DETAILS_TXNLOG (REF_USR_NO, REF_KEY_NO, COD_SUB_ACCT_NO, COD_ENTITY_VPD)
    GLOBAL PARTITION BY HASH(REF_USR_NO, REF_KEY_NO, COD_SUB_ACCT_NO) PARTITIONS 128 STORE IN (FCHINDX1, FCHINDX2, FCHINDX3, FCHINDX4) PARALLEL (DEGREE 32) NOLOGGING;
    create index IN_XFACE_ADDL_DETAILS_TXNLOG_3 on XFACE_ADDL_DETAILS_TXNLOG (COD_SUB_ACCT_NO, FLG_STMT_DISPLAY,DAT_POST COD_ENTITY_VPD)
    GLOBAL PARTITION BY HASH(COD_SUB_ACCT_NO, FLG_STMT_DISPLAY) PARTITIONS 128 STORE IN (FCHINDX1, FCHINDX2, FCHINDX3, FCHINDX4) PARALLEL (DEGREE 32) NOLOGGING;
    create index IN_XFACE_ADDL_DETAILS_TXNLOG_4 on
    XFACE_ADDL_DETAILS_TXNLOG (COD_ACCT_NO, REF_TXN_NO, COD_TXN_TYPE, COD_USER_ID, COD_EXT_BRANCH, COD_ENTITY_VPD)
    GLOBAL PARTITION BY HASH(COD_ACCT_NO, REF_TXN_NO, COD_TXN_TYPE, COD_USER_ID, COD_EXT_BRANCH)
    PARTITIONS 128 STORE IN (FCHINDX1, FCHINDX2, FCHINDX3, FCHINDX4) PARALLEL (DEGREE 32) NOLOGGING;
    create index IN_XFACE_ADDL_DETAILS_TXNLOG_5 on XFACE_ADDL_DETAILS_TXNLOG (COD_USER_ID, DAT_POST, COD_ENTITY_VPD)
    GLOBAL PARTITION BY HASH(COD_USER_ID) PARTITIONS 128 STORE IN (FCHINDX1, FCHINDX2, FCHINDX3, FCHINDX4) PARALLEL (DEGREE 32) NOLOGGING;
    create index IN_XFACE_ADDL_DETAILS_TXNLOG_6 on XFACE_ADDL_DETAILS_TXNLOG (REF_TXN_NO_ORG, COD_ENTITY_VPD)
    GLOBAL PARTITION BY HASH(REF_TXN_NO_ORG) PARTITIONS 128 STORE IN (FCHINDX1, FCHINDX2, FCHINDX3, FCHINDX4) PARALLEL (DEGREE 32) NOLOGGING;
    create index IN_XFACE_ADDL_DETAILS_TXNLOG_7 on XFACE_ADDL_DETAILS_TXNLOG (DAT_EXT_LOCAL, DAT_POST,TXN_BUSINESS_TYPE, FLG_ONLINE_UPLOAD, COD_CHNL_ID, REF_TXN_NO, COD_ENTITY_VPD)
    GLOBAL PARTITION BY HASH(DAT_EXT_LOCAL) PARTITIONS 128 STORE IN (FCHINDX1, FCHINDX2, FCHINDX3, FCHINDX4) PARALLEL (DEGREE 32) NOLOGGING;
    /* Previous Key order: (COD_EXT_BRANCH,DAT_POST,REF_TXN_NO_ORG,COD_SERVICE_ID,COD_ENTITY_VPD) */
    create index IN_XFACE_ADDL_DETAILS_TXNLOG_8 on XFACE_ADDL_DETAILS_TXNLOG (DAT_POST, COD_EXT_BRANCH, REF_TXN_NO_ORG, COD_SERVICE_ID, COD_ENTITY_VPD)
    GLOBAL PARTITION BY HASH(DAT_POST) PARTITIONS 128 STORE IN (FCHINDX1, FCHINDX2, FCHINDX3, FCHINDX4) PARALLEL (DEGREE 32) NOLOGGING;
    ALTER TABLE XFACE_ADDL_DETAILS_TXNLOG NOPARALLEL PCTFREE 50 INITRANS 128 LOGGING;
    ALTER index IN_XFACE_ADDL_DETAILS_TXNLOG_1 NOPARALLEL INITRANS 128;
    ALTER index IN_XFACE_ADDL_DETAILS_TXNLOG_2 NOPARALLEL INITRANS 128;
    ALTER index IN_XFACE_ADDL_DETAILS_TXNLOG_3 NOPARALLEL INITRANS 128;
    ALTER index IN_XFACE_ADDL_DETAILS_TXNLOG_4 NOPARALLEL INITRANS 128;
    ALTER index IN_XFACE_ADDL_DETAILS_TXNLOG_5 NOPARALLEL INITRANS 128;
    ALTER index IN_XFACE_ADDL_DETAILS_TXNLOG_6 NOPARALLEL INITRANS 128;
    ALTER index IN_XFACE_ADDL_DETAILS_TXNLOG_7 NOPARALLEL INITRANS 128;
    ALTER index IN_XFACE_ADDL_DETAILS_TXNLOG_8 NOPARALLEL INITRANS 128;
    BEGIN
    DBMS_RLS.ADD_POLICY(OBJECT_SCHEMA => UPPER('FCR44HOST'),
    OBJECT_NAME => UPPER('XFACE_ADDL_DETAILS_TXNLOG '),
    POLICY_NAME => 'FC_ENTITY_POLICY',
    FUNCTION_SCHEMA => UPPER('FCR44HOST'),
    POLICY_FUNCTION => 'pk_cm_vpd_policy.get_entity_predicate',
    STATEMENT_TYPES => 'select,insert,update,delete',
    UPDATE_CHECK => TRUE,
    ENABLE => TRUE,
    STATIC_POLICY => FALSE,
    POLICY_TYPE => DBMS_RLS.SHARED_STATIC,
    LONG_PREDICATE => FALSE,
    SEC_RELEVANT_COLS => NULL,
    SEC_RELEVANT_COLS_OPT => NULL);
    END;
    begin
    dbms_stats.gather_table_stats(ownname => 'FCR44HOST',tabname => 'XFACE_ADDL_DETAILS_TXNLOG', cascade=>true,method_opt=>'for all columns size 1',degree => 32, GRANULARITY => 'PARTITION');
    end;
    Query which takes time.
    INSERT INTO xface_addl_dtls_tlog_temp
    (ref_txn_no,
    ref_usr_no,
    ref_key_no,
    ref_txn_no_org,
    ref_usr_no_org,
    recon_code,
    cod_task_derived,
    cod_chnl_id,
    cod_service_id,
    cod_user_id,
    cod_auth_id,
    cod_acct_no,
    typ_acct_no,
    cod_sub_acct_no,
    cod_dep_no,
    amount,
    cod_ccy,
    dat_post,
    dat_value,
    txt_txn_narrative,
    date_cheque_issue,
    txn_business_type,
    card_no,
    inventory_code,
    inventory_no,
    card_passbook_no,
    cod_cash_analysis,
    bank_information_no,
    batch_no,
    summary,
    main_ic_type,
    main_ic_no,
    main_ic_name,
    main_ic_check_return_code,
    deputy_ic_type,
    deputy_ic_no,
    deputy_name,
    deputy_ic_check_return_code,
    account_property,
    cheque_no,
    cod_ext_task,
    cod_module,
    acc_purpose_code,
    nationality,
    customer_name,
    cod_income_expense,
    cod_ext_branch,
    cod_acct_title,
    flg_ca_tt,
    dat_ext_local,
    acct_owner_valid_result,
    flg_dr_cr,
    flg_online_upload,
    flg_stmt_display,
    cod_txn_type,
    dat_ts_txn,
    lc_bg_guarantee_no,
    cod_other_acct_no,
    cod_mod_other_acct_no,
    cod_cc_brn_sub_acct,
    cod_cc_brn_othr_acct,
    cod_ext_task_rev,
    sessionid)
    SELECT ref_txn_no,
    ref_usr_no,
    ref_key_no,
    ref_txn_no_org,
    ref_usr_no_org,
    recon_code,
    cod_task_derived,
    cod_chnl_id,
    cod_service_id,
    cod_user_id,
    cod_auth_id,
    cod_acct_no,
    typ_acct_no,
    cod_sub_acct_no,
    cod_dep_no,
    amount,
    cod_ccy,
    dat_post,
    dat_value,
    txt_txn_narrative,
    date_cheque_issue,
    txn_business_type,
    card_no,
    inventory_code,
    inventory_no,
    card_passbook_no,
    cod_cash_analysis,
    bank_information_no,
    batch_no,
    summary,
    main_ic_type,
    main_ic_no,
    main_ic_name,
    main_ic_check_return_code,
    deputy_ic_type,
    deputy_ic_no,
    deputy_name,
    deputy_ic_check_return_code,
    account_property,
    cheque_no,
    cod_ext_task,
    cod_module,
    acc_purpose_code,
    nationality,
    customer_name,
    cod_income_expense,
    cod_ext_branch,
    cod_acct_title,
    flg_ca_tt,
    dat_ext_local,
    acct_owner_valid_result,
    flg_dr_cr,
    flg_online_upload,
    flg_stmt_display,
    cod_txn_type,
    dat_ts_txn,
    lc_bg_guarantee_no,
    cod_other_acct_no,
    cod_mod_other_acct_no,
    cod_cc_brn_sub_acct,
    cod_cc_brn_othr_acct,
    cod_ext_task_rev,
    var_l_sessionid
    FROM xface_addl_details_txnlog
    WHERE cod_sub_acct_no = var_pi_cod_acct_no
    AND dat_post between var_pi_start_dat AND var_pi_end_dat;
    Index referred is in_xface_addl_details_txnlog_3.
    First time when i execute the query it takes huge time. but subsequent queries are faster. This is only if i pass same account and criteria again.
    Observed that first time it goes for physical reads which takes time. and subsequent runs physical reads are less.....
    Request suggestions.....this is account statement inquiry user may have 10000txns in a day as well
    Bymistake earlier i raised this in "Oracle -> Text"
    Slow inserts due to physical reads every time for fresh account i am passin
    They suggested to use bind variable. But as i know, we are already using bind variables to bind account number and start and end date.

    My Replies below.
    Whenever you post provide your 4 digit Oracle version (SELECT * FROM V$VERSION).
    Ans :
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    PL/SQL Release 11.2.0.3.0 - Production
    "CORE     11.2.0.3.0     Production"
    TNS for IBM/AIX RISC System/6000: Version 11.2.0.3.0 - Production
    NLSRTL Version 11.2.0.3.0 - Production
    1. If your question is about the INSERT query into xface_addl_dtls_tlog_temp why didn't you post any information about the DDL for that table? Is it the same structure as the table you did post DDL for?
    Ans :
    -- Create table
    create global temporary table XFACE_ADDL_DTLS_TLOG_TEMP
    REF_TXN_NO CHAR(40) not null,
    REF_USR_NO CHAR(40) not null,
    REF_KEY_NO VARCHAR2(50),
    REF_TXN_NO_ORG CHAR(40),
    REF_USR_NO_ORG CHAR(40),
    RECON_CODE VARCHAR2(25),
    COD_TASK_DERIVED VARCHAR2(5),
    COD_CHNL_ID VARCHAR2(6),
    COD_SERVICE_ID VARCHAR2(10),
    COD_USER_ID VARCHAR2(30),
    COD_AUTH_ID VARCHAR2(30),
    COD_ACCT_NO CHAR(22),
    TYP_ACCT_NO VARCHAR2(4),
    COD_SUB_ACCT_NO CHAR(16),
    COD_DEP_NO NUMBER(5),
    AMOUNT NUMBER(15,2),
    COD_CCY VARCHAR2(3),
    DAT_POST DATE,
    DAT_VALUE DATE,
    TXT_TXN_NARRATIVE VARCHAR2(60),
    DATE_CHEQUE_ISSUE DATE,
    TXN_BUSINESS_TYPE VARCHAR2(10),
    CARD_NO CHAR(20),
    INVENTORY_CODE CHAR(10),
    INVENTORY_NO CHAR(20),
    CARD_PASSBOOK_NO CHAR(30),
    COD_CASH_ANALYSIS CHAR(20),
    BANK_INFORMATION_NO CHAR(8),
    BATCH_NO CHAR(10),
    SUMMARY VARCHAR2(60),
    MAIN_IC_TYPE CHAR(1),
    MAIN_IC_NO VARCHAR2(150),
    MAIN_IC_NAME VARCHAR2(192),
    MAIN_IC_CHECK_RETURN_CODE CHAR(1),
    DEPUTY_IC_TYPE CHAR(1),
    DEPUTY_IC_NO VARCHAR2(150),
    DEPUTY_NAME VARCHAR2(192),
    DEPUTY_IC_CHECK_RETURN_CODE CHAR(1),
    ACCOUNT_PROPERTY CHAR(4),
    CHEQUE_NO CHAR(20),
    COD_EXT_TASK CHAR(10),
    COD_MODULE CHAR(4),
    ACC_PURPOSE_CODE VARCHAR2(15),
    NATIONALITY CHAR(3),
    CUSTOMER_NAME CHAR(192),
    COD_INCOME_EXPENSE CHAR(6),
    COD_EXT_BRANCH CHAR(6),
    COD_ACCT_TITLE VARCHAR2(360),
    FLG_CA_TT CHAR(1),
    DAT_EXT_LOCAL DATE,
    ACCT_OWNER_VALID_RESULT CHAR(1),
    FLG_DR_CR CHAR(1),
    FLG_ONLINE_UPLOAD CHAR(1),
    FLG_STMT_DISPLAY CHAR(1),
    COD_TXN_TYPE NUMBER(1),
    DAT_TS_TXN TIMESTAMP(6),
    LC_BG_GUARANTEE_NO VARCHAR2(20),
    COD_OTHER_ACCT_NO CHAR(22),
    COD_MOD_OTHER_ACCT_NO CHAR(4),
    COD_CC_BRN_SUB_ACCT NUMBER(5),
    COD_CC_BRN_OTHR_ACCT NUMBER(5),
    COD_EXT_TASK_REV VARCHAR2(10),
    SESSIONID NUMBER default USERENV('SESSIONID') not null
    on commit delete rows;
    -- Create/Recreate indexes
    create index IN_XFACE_ADDL_DTLS_TLOG_TEMP on XFACE_ADDL_DTLS_TLOG_TEMP (COD_SUB_ACCT_NO, REF_TXN_NO, COD_SERVICE_ID, REF_KEY_NO, SESSIONID);
    2. Why doesn't your INSERT query use APPEND, NOLOGGING and PARALLEL like the first query you posted? If those help for the first query why didn't you try them for the query you are now having problems with?
    Ans :
    I will try to use append but i cannot use parallel since i have hardware limitations.
    3. What does this mean: 'Index referred is in_xface_addl_details_txnlog_3.'? You haven't posted any plan that refers to any index. Do you have an execution plan? Why didn't you post it?
    Ans :
    Plan hash value: 4081844790
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Pstart| Pstop |
    | 0 | INSERT STATEMENT | | | | 5 (100)| | | |
    | 1 | LOAD TABLE CONVENTIONAL | | | | | | | |
    | 2 | FILTER | | | | | | | |
    | 3 | PARTITION HASH ALL | | 1 | 494 | 5 (0)| 00:00:01 | 1 | 128 |
    | 4 | TABLE ACCESS BY GLOBAL INDEX ROWID| XFACE_ADDL_DETAILS_TXNLOG | 1 | 494 | 5 (0)| 00:00:01 | ROWID | ROWID |
    | 5 | INDEX RANGE SCAN | IN_XFACE_ADDL_DETAILS_TXNLOG_3 | 1 | | 3 (0)| 00:00:01 | 1 | 128 |
    4. Why are you defining 37 columns as CHAR datatypes? Are you aware that CHAR data REQUIRES the use of the designated number of BYTES/CHARACTERS?
    Ans :
    I understand and appreciate your points, but since it is huge application and is built over a period of time. I am afraid if i will be allowed to do change on datatypes. there are lot of queries over this table.
    5. Are you aware that #4 means those 37 columns columns, even if all of them are NULL, mean that your MINIMUM record length is 1012? Care to guess how many of those records Oracle can fit into an 8k block? And that is if you ignore the other 26 VARCHAR2, NUMBER and DATE columns.
    Two of your columns take 192 bytes MINIMUM even if they are null
    CUSTOMER_NAME CHAR(192),
    COD_ACCT_TITLE CHAR(192)
    Why are you wasting all of that space? If you are using a multi-byte character set and your data is multi-byte those 37 columns are using even more space because some characters will use more than one byte.
    If the name and title average 30 characters/bytes then those two columns alone use 300+ unused bytes. With 40 million records those unused bytes, just for those two columns take 12 GB of space.
    WIth a block size of 8k that would totally waste 1.5 million blocks that Oracle has to read just to ignore the empty space that isn't being used.
    I highly suspect that your use of CHAR is a large part of this performance problem and probably other performance problems in your system. Not only for this table but for any other table that uses similar CHAR datatypes and wastes space.
    Please reconsider your use of CHAR datatypes like this. I can't imagine what justification you have for using them.
    Ans :
    I understand your points, but since it is huge application is built over a period of time. I am afraid if i will be allowed to do change on datatypes.
    I have to manage in current situation. Not expecting query to respond in millisecs but not even 40secs which is happening currently.
    Edited by: Rohit Jadhav on Dec 30, 2012 6:44 PM

  • Display data type

    hi,
    how to display oralce's data type from system table is there any system table to fetch the data types for that version i'm using Oracle 11g.
    in sql server we fetch the details by using
    select * from sys.types
    this will return what the data types supported by that version
    Thanks!

    There is a package called STANDARD in the SYS schema that defines many of the standard datatypes and functions.
    e.g.
    CREATE OR REPLACE package SYS.STANDARD AUTHID CURRENT_USER is              -- careful on this line; SED edit occurs!
      /********** Types and subtypes, do not reorder **********/
      type BOOLEAN is (FALSE, TRUE);
      type DATE is DATE_BASE;
      type NUMBER is NUMBER_BASE;
      subtype FLOAT is NUMBER; -- NUMBER(126)
      subtype REAL is FLOAT; -- FLOAT(63)
      subtype "DOUBLE PRECISION" is FLOAT;
      subtype INTEGER is NUMBER(38,0);
      subtype INT is INTEGER;
      subtype SMALLINT is NUMBER(38,0);
      subtype DECIMAL is NUMBER(38,0);
      subtype NUMERIC is DECIMAL;
      subtype DEC is DECIMAL;
      subtype BINARY_INTEGER is INTEGER range '-2147483647'..2147483647;
      subtype NATURAL is BINARY_INTEGER range 0..2147483647;
      subtype NATURALN is NATURAL not null;
      subtype POSITIVE is BINARY_INTEGER range 1..2147483647;
      subtype POSITIVEN is POSITIVE not null;
      subtype SIGNTYPE is BINARY_INTEGER range '-1'..1;  -- for SIGN functions
      type VARCHAR2 is NEW CHAR_BASE;
      subtype VARCHAR is VARCHAR2;
      subtype STRING is VARCHAR2;
      subtype LONG is VARCHAR2(32760);
      subtype RAW is VARCHAR2;
      subtype "LONG RAW" is RAW(32760);
      subtype ROWID is VARCHAR2(256);
      -- Ansi fixed-length char
      -- Define synonyms for CHAR and CHARN.
      subtype CHAR is VARCHAR2;
      subtype CHARACTER is CHAR;
      type MLSLABEL is new CHAR_BASE;
      -- Large object data types.
      --  binary, character, binary file.
      type  BLOB is BLOB_BASE;
      type  CLOB is CLOB_BASE;
      type  BFILE is BFILE_BASE;
      -- Verbose and NCHAR type names
      subtype "CHARACTER VARYING" is VARCHAR;
      subtype "CHAR VARYING" is VARCHAR;
      subtype "NATIONAL CHARACTER" is CHAR CHARACTER SET NCHAR_CS;
      subtype "NATIONAL CHAR" is CHAR CHARACTER SET NCHAR_CS;
      subtype "NCHAR" is CHAR CHARACTER SET NCHAR_CS;
      subtype "NATIONAL CHARACTER VARYING" is VARCHAR CHARACTER SET NCHAR_CS;
      subtype "NATIONAL CHAR VARYING" is VARCHAR CHARACTER SET NCHAR_CS;
      subtype "NCHAR VARYING" is VARCHAR CHARACTER SET NCHAR_CS;
      subtype "NVARCHAR2" is VARCHAR2 CHARACTER SET NCHAR_CS;
      subtype "CHARACTER LARGE OBJECT" is CLOB;
      subtype "CHAR LARGE OBJECT" is CLOB;
      subtype "NATIONAL CHARACTER LARGE OBJEC" is CLOB CHARACTER SET NCHAR_CS;
      subtype "NCHAR LARGE OBJECT" is CLOB CHARACTER SET NCHAR_CS;
      subtype "NCLOB" is CLOB CHARACTER SET NCHAR_CS;
      subtype "BINARY LARGE OBJECT" is BLOB;
      subtype pls_integer is binary_integer;
      type TIME is new DATE_BASE;
      type TIMESTAMP is new DATE_BASE;
      type "TIME WITH TIME ZONE" is new DATE_BASE;
      type "TIMESTAMP WITH TIME ZONE" is new DATE_BASE;
      type "INTERVAL YEAR TO MONTH" is new DATE_BASE;
      type "INTERVAL DAY TO SECOND" is new DATE_BASE;
      SUBTYPE TIME_UNCONSTRAINED IS TIME(9);
      SUBTYPE TIME_TZ_UNCONSTRAINED IS TIME(9) WITH TIME ZONE;
      SUBTYPE TIMESTAMP_UNCONSTRAINED IS TIMESTAMP(9);
      SUBTYPE TIMESTAMP_TZ_UNCONSTRAINED IS TIMESTAMP(9) WITH TIME ZONE;
      SUBTYPE YMINTERVAL_UNCONSTRAINED IS INTERVAL YEAR(9) TO MONTH;
      SUBTYPE DSINTERVAL_UNCONSTRAINED IS INTERVAL DAY(9) TO SECOND (9);
      TYPE UROWID IS NEW CHAR_BASE;
      type "TIMESTAMP WITH LOCAL TIME ZONE" is new DATE_BASE;
      subtype timestamp_ltz_unconstrained is timestamp(9) with local time zone;
      subtype BINARY_FLOAT is NUMBER;
      subtype BINARY_DOUBLE is NUMBER;
      -- The following data types are generics, used specially within package
      -- STANDARD and some other Oracle packages.  They are protected against
      -- other use; sorry.  True generic types are not yet part of the language.
      type "<ADT_1>" as object (dummy char(1));
      type "<RECORD_1>" is record (dummy char(1));
      type "<TUPLE_1>" as object (dummy char(1));
      type "<VARRAY_1>" is varray (1) of char(1);
      type "<V2_TABLE_1>" is table of char(1) index by binary_integer;
      type "<TABLE_1>" is table of char(1);
      type "<COLLECTION_1>" is table of char(1);
      type "<REF_CURSOR_1>" is ref cursor;
      -- This will actually match against a Q_TABLE
      type "<TYPED_TABLE>" is table of  "<ADT_1>";
      subtype "<ADT_WITH_OID>" is "<TYPED_TABLE>";
      -- The following generic index table data types are used by the PL/SQL
      -- compiler to materialize an array attribute at the runtime (for more
      -- details about the array attributes, please see Bulk Binds document).
      type " SYS$INT_V2TABLE" is table of pls_integer index by binary_integer;
      -- The following record type and the corresponding generic index table
      -- data types are used by the PL/SQL compiler to materialize a table
      -- at the runtime in order to record the exceptions raised during the
      -- execution of FORALL bulk bind statement (for more details, please
      -- see bulk binds extensions document in 8.2).
      type " SYS$BULK_ERROR_RECORD" is
              record (error_index pls_integer, error_code pls_integer);
      type " SYS$REC_V2TABLE" is table of " SYS$BULK_ERROR_RECORD"
                                   index by binary_integer;
      /* Adding a generic weak ref cursor type */
      type sys_refcursor is ref cursor;
      /* the following data type is a generic for all opaque types */
      type "<OPAQUE_1>" as opaque FIXED(1) USING LIBRARY dummy_lib
        (static function dummy return number);
      type "<ASSOC_ARRAY_1>" is table of char(1) index by varchar2(1);
      /********** Add new types or subtypes here **********/
      /********** Predefined constants **********/
      BINARY_FLOAT_NAN constant BINARY_FLOAT;
      BINARY_FLOAT_INFINITY constant BINARY_FLOAT;
      BINARY_FLOAT_MAX_NORMAL constant BINARY_FLOAT;
      BINARY_FLOAT_MIN_NORMAL constant BINARY_FLOAT;
      BINARY_FLOAT_MAX_SUBNORMAL constant BINARY_FLOAT;
      BINARY_FLOAT_MIN_SUBNORMAL constant BINARY_FLOAT;
      BINARY_DOUBLE_NAN constant BINARY_DOUBLE;
      BINARY_DOUBLE_INFINITY constant BINARY_DOUBLE;
      BINARY_DOUBLE_MAX_NORMAL constant BINARY_DOUBLE;
      BINARY_DOUBLE_MIN_NORMAL constant BINARY_DOUBLE;
      BINARY_DOUBLE_MAX_SUBNORMAL constant BINARY_DOUBLE;
      BINARY_DOUBLE_MIN_SUBNORMAL constant BINARY_DOUBLE;
      /********** Add new constants here **********/
      /********** Predefined exceptions **********/
      CURSOR_ALREADY_OPEN exception;
        pragma EXCEPTION_INIT(CURSOR_ALREADY_OPEN, '-6511');
      DUP_VAL_ON_INDEX exception;
        pragma EXCEPTION_INIT(DUP_VAL_ON_INDEX, '-0001');
    ..and so it goes on... take a look yourself
    Edited by: BluShadow on 18-Dec-2012 09:32

  • DBMS_Crypto.Encrypt

    Reference to the site:
    http://www.oracle.com/technology/oramag/oracle/05-jan/o15security.html
    I have created get_enc_val function in the database.
    function get_enc_val
    p_in in varchar2,
    p_key in raw
    return raw is
    l_enc_val raw (2000);
    l_mod number := dbms_crypto.ENCRYPT_AES128
    + dbms_crypto.CHAIN_CBC
    + dbms_crypto.PAD_PKCS5;
    begin
    l_enc_val := dbms_crypto.encrypt
    UTL_I18N.STRING_TO_RAW
    (p_in, 'AL32UTF8'),
    l_mod,
    p_key
    return l_enc_val;
    end;
    When i run the following:
    create table test(res_id varchar2(19), res_salary raw(2000));
    insert into test
    (res_id, res_salary)
    values
    ('001',
    get_enc_val (
    '2000', dbms_crypto.randombytes (128))
    System shows error:
    ORA-28239: no key provided
    ORA-06512: at "SYS.DBMS_CRYPTO_FFI", line 3
    ORA-06512: at "SYS.DBMS_CRYPTO", line 10
    ORA-06512: at "BMS.GET_ENC_VAL", line 12
    Can anybody help? Thanks a lot!

    DECLARE
    input_string VARCHAR2(16) := 'tigertigertigert';
    raw_input RAW(128) :=
    UTL_RAW.CAST_TO_RAW(CONVERT(input_string,'AL32UTF8','US7ASCII'));
    key_string VARCHAR2(8) := 'scottsco';
    raw_key RAW(128) :=
    UTL_RAW.CAST_TO_RAW(CONVERT(key_string,'AL32UTF8','US7ASCII'));
    encrypted_raw RAW(2048);
    encrypted_string VARCHAR2(2048);
    decrypted_raw RAW(2048);
    decrypted_string VARCHAR2(2048);
    -- 1. Begin testing Encryption BEGIN
    dbms_output.put_line('> Input String : ' ||
    CONVERT(UTL_RAW.CAST_TO_VARCHAR2(raw_input),'US7ASCII','AL32UTF8'));
    dbms_output.put_line('> ========= BEGIN TEST Encrypt =========');
    encrypted_raw := dbms_crypto.Encrypt(
    src => raw_input,
    typ => DBMS_CRYPTO.DES_CBC_PKCS5,
    key => raw_key);
    dbms_output.put_line('> Encrypted hex value : ' ||
    rawtohex(UTL_RAW.CAST_TO_RAW(encrypted_raw)));
    decrypted_raw := dbms_crypto.Decrypt(
    src => encrypted_raw,
    typ => DBMS_CRYPTO.DES_CBC_PKCS5,
    key => raw_key);
    decrypted_string :=
    CONVERT(UTL_RAW.CAST_TO_VARCHAR2(decrypted_raw),'US7ASCII','AL32UTF8');
    dbms_output.put_line('> Decrypted string output : ' ||
    decrypted_string);
    if input_string = decrypted_string THEN
    dbms_output.put_line('> String DES Encyption and Decryption successful');
    END if; dbms_output.put_line(''); dbms_output.put_line('> ========= BEGIN TEST Hash =========');
    encrypted_raw := dbms_crypto.Hash(
    src => raw_input,
    typ => DBMS_CRYPTO.HASH_SH1);
    dbms_output.put_line('> Hash value of input string : ' ||
    rawtohex(UTL_RAW.CAST_TO_RAW(encrypted_raw)));
    dbms_output.put_line('> ========= BEGIN TEST Mac =========');
    encrypted_raw := dbms_crypto.Mac(
    src => raw_input,
    typ => DBMS_CRYPTO.HMAC_MD5,
    key => raw_key);
    dbms_output.put_line('> Message Authentication Code : ' ||
    rawtohex(UTL_RAW.CAST_TO_RAW(encrypted_raw)));
    dbms_output.put_line(''); dbms_output.put_line('> End of DBMS_CRYPTO tests '); END; /
    error:
    dbms_output.put_line('> Input String : ' ||
    ERROR at line 17:
    ORA-06550: line 17, column 12:
    PLS-00103: Encountered the symbol "." when expecting one of the following:
    constant exception <an identifier>
    <a double-quoted delimited-identifier> table LONG_ double ref
    char time timestamp interval date binary national character
    nchar
    The symbol "<an identifier>" was substituted for "." to continue.
    ORA-06550: line 19, column 12:
    PLS-00103: Encountered the symbol "." when expecting one of the following:
    constant exception <an identifier>
    <a double-quoted delimited-identifier> table LONG_ double ref
    char time timestamp interval date binary national chara
    ORA-06550: line 20, column 15:
    PLS-00103: Encountered the symbol "=" when expecting one of the following:
    constant exception <an identifier>
    <a double-quoted delimited-identifier> table LONG_ double ref
    char time timestamp interval date binary national chara
    ORA-06550: line 26, column 15:
    PLS-00103: Encountered the symbol "." when expecting one of the following:
    constant exception <an iden
    Please help quickly.

  • How to set encoding type for e4x result

    I have a application with front end Flex and Server side App
    in Java. I am using HttpService to communicate to Java application
    (Web). I am sending data in xml format to flex and parsing it as
    e4x format. From service side I am setting the charset as
    windows-1252 and xml encoding is also windows-1252. In Flex I am
    getting some junk characters. But When I post the same http request
    from browser, I am able to view the characters with expected
    encoding.
    Can anybody clue me on getting xml data in required encoding
    type (charset) in Flex.
    Thanks in Advance,
    Gokul Ram.T

    The message is old, but the problem is opened and I believe that many people have troubles with getting appropriate encoding in e4x result.
    I have excactly same problem like Gokul, only difference is that I am trying to get ISO-8859-2 charset. HttpService deffinition looks like this:
    var source:HTTPService = new HTTPService();
    source.method = "POST";
    source.resultFormat = "e4x";
    source.contentType = "text/xml; charset=ISO-8859-2";
    source.headers = {"Content-Type": "text/xml; charset=ISO-8859-2"};
    So I suppose that everything what can be set is set. But still in result XMLthere are no national chars. I also get correct XML when I request it in browser, but requesting by Flex and HttpService makes problem.
    Does anyone have same problem and find out something to handle this?

  • ADF 11g - Right Alt+A Shortcut

    I noticed that in ADF Table input text fields is used shortcut Alt+A. This shortcut it is also polish national char (ą).
    Any solutions for change it?

    Simple script:
    <html>
    <head>
    <script type="text/javascript">
    function wyd(e){
    document.getElementById('kctrl').value=e.ctrlKey;
    document.getElementById('kalt').value=e.altKey;
    document.getElementById('kkey').value=e.keyCode;
    </script>
    </head>
    <body>
    <input type="input" value="type here" onkeyup="wyd(event);" /> <br />
    Ctrl: <input type="text" id="kctrl" /><br />
    Alt: <input type="text" id="kalt" /><br />
    KeyCode: <input type="text" id="kkey" /><br />
    </body>
    </html>If I push Alt+A then onkeyup event returns Ctrl+Alt+A. Probably ADF ignore Alt when checking highlight event in table.
    Edited by: li-on on 2009-12-28 06:41
    Edited by: li-on on 2009-12-28 06:42

  • WMS GetFeatureInfo request return Error

    Hi,
    MapViewer (patchset5 )
    http://.../mapviewer/wms?REQUEST=GetFeatureInfo&VERSION=1.3.0&DATASOURCE=geo_pl&CRS=EPSG:4326&BBOX=20.82,52,21.28,52.38&LAYERS=WA_DZIELNICE&WIDTH=600&HEIGHT=600&INFO_FORMAT=text/xml&QUERY_LAYERS=WA_DZIELNICE&I=300&J=300
    Request return following error:
    The XML page cannot be displayed
    Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later.
    An invalid character was found in text content. Error processing resource 'http://..../mapviewer/wms?RE...
    <NAME>Mokot
    Correct name is Mokotów.
    This problem is coreleted with national character, when column value contains national character ....Temporary I change vales to names without national chars, but its only temporary :-)
    Does anyone solve this problem(and how to) or is a bug?
    BR,
    TM

    This is not helping because it's not really related to a process.
    I'm using the request value to show/hide an item.
    As I'm losing the request value when I submit the page and get the errors, my item is not displayed anymore.
    I will have a look at the url posted by Jari and keep you posted if this helps.
    Uji.

  • ( SOLVED )gnome-terminal, su, sudo, gksu, gksudo does not work

    Hello,
    In my fresh installed gnome3 graphical environment, in gnome-terminal, I can not gain root access.
    I've tried diverse su commands.
    1. su command, ends with:
    su -
    Password:
    su: Authentication failure
    2. sudo command, ends with:
    sudo -l
    [sudo] password for root:
    Sorry, try again.
    [sudo] password for root:
    Sorry, try again.
    [sudo] password for root:
    sudo: 2 incorrect password attempts
    Of course - each time, I typed correct password.
    In my sudoers file, group wheel ( into which belongs user I logged in ) has permissions to execute any command.
    3. gksudo with debug:
    gksudo -ld gnome-terminal
    No ask_pass set, using default!
    xauth: /tmp/libgksu-stbGos/.Xauthority
    STARTUP_ID: gksudo/gnome-terminal/879-0-Bex_TIME0
    cmd[0]: /usr/bin/sudo
    cmd[1]: -H
    cmd[2]: -S
    cmd[3]: -p
    cmd[4]: GNOME_SUDO_PASS
    cmd[5]: -u
    cmd[6]: root
    cmd[7]: --
    cmd[8]: gnome-terminal
    buffer: -GNOME_SUDO_PASS-
    brute force GNOME_SUDO_PASS ended...
    Yeah, we're in...
    sudo: 1 incorrect password attempt
    xauth: /tmp/libgksu-stbGos/.Xauthority
    xauth_env: /var/run/gdm/auth-for-tangram-9JYTNt/database
    dir: /tmp/libgksu-stbGos
    I've been asked for my password, not root, after typing I get "incorrect password attempt", if I type root pwd I get the same.
    4. Same with this command:
    gksu -ld gnome-terminal
    No ask_pass set, using default!
    xauth: /tmp/libgksu-SBPcOB/.Xauthority
    STARTUP_ID: gksu/gnome-terminal/1028-0-Bex_TIME0
    cmd[0]: /usr/bin/sudo
    cmd[1]: -H
    cmd[2]: -S
    cmd[3]: -p
    cmd[4]: GNOME_SUDO_PASS
    cmd[5]: -u
    cmd[6]: root
    cmd[7]: --
    cmd[8]: gnome-terminal
    buffer: -GNOME_SUDO_PASS-
    brute force GNOME_SUDO_PASS ended...
    Yeah, we're in...
    sudo: 1 incorrect password attempt
    xauth: /tmp/libgksu-SBPcOB/.Xauthority
    xauth_env: /var/run/gdm/auth-for-tangram-6RCSoJ/database
    dir: /tmp/libgksu-SBPcOB
    In multi-user-mode I can login to root account.
    Last edited by tangram (2013-12-23 08:42:09)

    tangram wrote:
    Hurrican, ok, there is no need to install antother terminal, as I wrote it did not work also in xterm.
    Yesterday evening, tired and sad that gk(su|sudo) still does not work,
    as the "last chance idea", I logged in into multi-user mode ( init level 3 ) and changed root's password,
    then loged in into graphical mode ( init level 5 ), start gnome-terminal and suddenly ... command "su -" started to work.
    By the way, similar solution ( but with chroot ) has suggested Gulver in his post ( this thread, answer #2 ).
    The question is, why root's password, set during install, after finished installation is recognized in text mode, but not im graphical ?
    First root's password was really simple, like "dog4356", without any national chars.
    You're right. I don't even have xterm installed so I guess I just singled out gnome-terminal and forgot that xterm also wasn't working.
    Forgive me for my shaky advice. Like you I've been super busy, and sweating out a fever of 102 degrees (that's Fahrenheit no my
    blood wasn't boiling ). Anyways, glad you got it working. After reading over the whole thread and thinking about it for a little bit, I
    can't really make a good guess as to what was happening.
    I'm sure you probably had tried this, but you could have typed the password out in the command line so you could see it. If there was
    something wrong with it, it would have shown up there as well. If it was perfectly fine, then it would have been very, very weird.
    The important thing is you got it working.
    Merry Christmas.

  • Question about xsql:set-page-param

    Hi!
    I have construction like this:
    <xsql:set-page-param name="ptk1" value="{@some_value}">
    where {@some_value} contains national characters. And in ptk1 I have only question marks. If I use {@some_value} directly, for example <xsql:query ...> <![CDATA select ... where field={@some_value} ]]> </xsql:query> it works fine. I have
    <?xml version="1.0" encoding="windows-1251" ?> in my xsql page.
    Is it possible to get set-page-param working with national chars?
    Thank you very much.

    You've identified a bug in how parameter values are retrieved. I've filed Bug#1920676 to get this fixed.
    Currently character set conversion is done between the servlet engine's default character set and the character set of the XSQL page template. The bug occurs because the character set conversion is being done in certain circumstances when it is not actually required.
    Will post a status update when we've identified a fix.

  • Edit in procedure and functions

    hi
    I was previously under impression that you cannot use edit in procedure but recently i found this piece of code and it seems it compiles
    create or replace procedure test is charcol char(32767);
    charvaryingvar char varying(32767);
    charactervar character(32767);
    charactervaryingvar character varying(32767);
    nationalcharvaryvar national char varying(32767);
    nationalcharactervaryingvar national character varying(32767);
    ncharvar nchar(32767);
    ncharvaryingvar nchar varying(32767);
    nvarchar2var nvarchar2(32767);
    stringvar string(32767);
    varcharvar varchar(32767);
    varchar2var varchar2(32767);
    begin
         null;
    end test;
    however when i try something like this it does not compile
    create or replace procedure myprocedure
    (l_number number(10),
    l_pre varchar2(10)) is
    begin
         null;
    end myprocedure;
    why i am getting this behaviour

    You are not permitted to explicitly constrain the size of formal parameters in >PL/SQLyes its but the first one also has edit or constraint in its declarations and it compile while the second one is not compiling
    here is the code
    create or replace procedure test is charcol char(32767);
    charvaryingvar char varying(32767);
    charactervar character(32767);
    charactervaryingvar character varying(32767);
    nationalcharvaryvar national char varying(32767);
    nationalcharactervaryingvar national character varying(32767);
    ncharvar nchar(32767);
    ncharvaryingvar nchar varying(32767);
    nvarchar2var nvarchar2(32767);
    stringvar string(32767);
    varcharvar varchar(32767);
    varchar2var varchar2(32767);
    begin
         dbms_output.put_line('with edit');
    end test;
    show errors
    Procedure created.
    the second procedure
    create or replace procedure myprocedure(l_number number(10),l_pre varchar2(10)) is
    begin
         dbms_output.put_line('with edit');
    end myprocedure;
    show errors
    Warning: Procedure created with compilation errors.
    Errors for PROCEDURE MYPROCEDURE:
    LINE/COL ERROR
    1/38 PLS-00103: Encountered the symbol "(" when expecting one of the
    following:
    := . ) , @ % default character
    The symbol ":=" was substituted for "(" to continue.
    1/60 PLS-00103: Encountered the symbol "(" when expecting one of the
    following:
    := . ) , @ % default character
    The symbol ":=" was substituted for "(" to continue.
    I know that edit or precesion is not allowed in procedure, functions but in the first case we have precesion and its compiling.
    any explanation?

  • Email from Flash - non-disabling TFs, encoding problem

    Hi,
    recently I create Flash-based contact form. I have 2 issues:
    1. When user clicks the "Send" button, there is and additional layer over the form - Shape filled with black rectangle, 0.4 alpha and one more with window "Sending in progress". I noticed that it is possible to edit the form fields (these are TextFields with INPUT type). The image below is from my Flash projector - as you can see, there is "cursor" in "message" TF.
    2. This form uses PHP to send emails by email() function. When I use my national chars, they aren't shown in sent email, there are rectangles. My .php file uses UTF-8 encoding and gets data from $_GET array and when I tries to send email from browser (just typing an address and my national chars in it), everything's okay. Is there a possibility to made Flash using UTF-8 encoding?
    Thank you

    OK. Now #1 problem is solved.
    I still have 15 points to hand out
    Edit: I've already found a solution on kirupa forums.

  • (V8) ORACLE8의 CHARACTER SET의 변경에 대하여

    제품 : ORACLE SERVER
    작성날짜 : 1997-08-26
    Oracle8의 Character Set의 변경에 대하여
    Oracle7에서 수행하던 DB의 DB character set(이하 dcs)을 변경하는 방법이
    Oracle8에서는 공식적으로 지원하는 command로 변경되었습니다. O7에서는
    props$ table의 값을 바꿈으로써 dcs를 바꾸던 방법의 결점은 다음과 같습니다.
    1) 새로운 dcs가 올바른 dcs가 아닐 경우, DB를 다시 구동할 수 없슴.
    2) 새로운 dcs가 이전 dcs의 super set이 아닐 경우, 새로운 dcs와의
    character encoding 호환성 문제로 DB에 저장된 data를 올바른 의미
    또는 올바른 값으로 사용할수 없슴.
    3) dcs의 호환성 문제로 DB의 crash
    물론 위의 문제는 dba의 능력에 따라 발생하지 않을 수도 있습니다. 이런 종류의
    모든 문제를 해결하기 위해 O8에서는 dcs와 관련된 table들의 값을 변경하기
    이전에 새로운 dcs가 올바른가를 확인하고, 새로운 dcs가 이전 dcs의 super set
    인가를 확인하여 모든 것이 정상일 때에만 dcs의 값을 변경할 수 있게 하는 절차를
    제공하게 되었습니다.
    여기에서 super set이란 A라는 char set에 있는 모든 character가 B라는 char
    set에서 똑같은 code 값으로 존재할 때 B는 A의 super set이라 합니다.
    즉 한국 환경에서는 다음의 경우가 해당됩니다.
    1) ko16ksc5601은 us7acsii의 super set이다.
    2) utf8(unicode 2.0의 변형)은 us7ascii의 super set이다.
    3) utf8은 ko16ksc5601의 super set이 될 수 없다.
    - utf8의 code range는 ko16ksc5601의 super set이지만, code value는
    같지 않으므로 dcs 변경 시의 super set은 아니다.
    기존의 DB가 us7ascii이고 client 역시 us7ascii를 사용하여 한글 데이타를
    DB에 저장시킨 경우 대부분 ksc5601 encoding scheme을 사용하여 한글을
    입력시킵니다. 이 때 DB에 입력된 "가"는 0xb0a1으로 저장되는데, 이 DB를
    ko16ksc5601으로 변경시키면 ksc5601에서 역시 "가"의 code 값은 0xb0a1이므로
    변경된 DB는 정상적인 동작을 하게 된다.
    그러나, utf8 encoding scheme을 이용하여 "가"를 입력시키면 DB에는 0xeab080
    으로 입력되므로 DB를 ko16ksc5601으로 변경시킨 경우 client에서 이 값을
    access하면 다음의 경우가 발생합니다.
    1) utf8을 지원하는 기계에서 ko16ksc5601을 이용하는 경우
    -> 이전에 입력된 "가"를 볼수 있음
    2) 1)을 제외한 경우 정상적으로 data의 의미를 해석할수 없음.
    즉 이전 DB에 data의 입력 방식이 ksc5601인 경우 DB를 ko16ksc5601으로
    변경하면 아무런 문제 없음. 그리고 이전 DB에 utf8의 입력 방식을 사용한 경우,
    DB를 utf8로 변경하면 문제없음. 즉 한국 환경에서는 us7ascii에서
    ko16ksc5601으로 변경하는 경우와 us7ascii에서 utf8으로 변경하는 두가지
    경우 밖에 존재하지 않는다.
    1) us7ascii ----> ko16ksc5601
    2) us7ascii ----> utf8
    또한 O8에서는 DB의 database character set(dcs) 이외에 national character
    set(ncs) 이라는 secondary character set을 지원합니다. 이것의 특징은
    문자의 길이가 고정되어 있다는 것입니다. 즉, table 생성 시 특정 column을
    nchar 혹은 nvarchar2로 선언하여 입력 시 N'a가'라는 data가 입력되면 이 값은
    내부 처리 시, 저장 시, 외부 출력 시 0xa3e1 0xb0a1이라는 문자 당 고정 길이를
    갖는 값으로 변경된다. 물론 이런 형태의 지원은 성능 향상을 위한 것이다.
    이런 nchar, nvarchar2의 encoding scheme 역시 data base가 생성될 때
    지정되고, DB의 dcs과 같은 방법으로 변경될 수 있다. 한국 환경에서 사용할 수
    있는 ncs는 ko16ksc5601fixed와 ko16dbcsfixed라는 두 가지가 있는데 이것들은
    Oracle 8.0.4부터 지원된다. 그런데 문제는 national char set 변경 시 역시
    super set으로 밖에 변경할 수 없다는 제약이 있는데, 일반적인 설치 시 DB의
    dcs와 같은 값으로 ncs가 지정된다.
    1) ko16ksc5601fixed는 us7ascii의 super set이 아니다.
    2) ko16ksc5601fixed는 ko16ksc5601의 super set이 아니다.
    3) ko16ksc5601fixed는 utf8의 super set이 아니다.
    그러므로 ncs를 ko16ksc5601fixed 혹은 ko16dbcsfixed로 지정하고자 하는
    경우에는 DB의 생성 시 지정할 수 밖에 없다. 즉 "create database ..."에
    반드시 지정되어야 한다.
    또 한가지 고려 사항은 dcs와 ncs의 관계인데, 서로 다른 dcs를 사용하는
    server/server, server/client의 경우 code conversion의 주체는 dcs이다.
    즉 ncs는 dcs의 값으로 변경되어 상대방의 dcs로 변경되고, 이것은 다시 ncs로
    변경되어 DB에 저장된다. 즉 ncs의 code 범위가 dcs보다 크다면 dcs에 포함되지
    않는 ncs의 값은 default replacement character인 ?로 대치되어 전달된다는
    것이다. dcs와 ncs의 관계는 code range가 초점이 된다.
    1) us7ascii(dcs)에 ko16ksc5601fixed(ncs)를 사용할 수 없다.
    2) utf8(dcs)에 ko16ksc5601fixed(ncs)를 사용하면 char를 nchar로 변경 시
    data를 loss을 가져올 수 있다.
    3) ko16ksc5601(dcs)에 ko16ksc5601fixed(ncs)의 사용은 문제 없습.
    4) utf8fixed 형태의 char set은 현재까지 지원되지 않음.
    Oracle8의 Character Set의 변경 시 지원되는 command
    기존 DB의 char set이 us7ascii인 경우 DB char set의 변경은 ko16ksc5601
    혹은 utf8으로 밖에 변경시킬 수 없다.
    svrmgr>
    svrmgr> shutdown
    svrmgr> startup mount exclusive
    svrmgr> alter system enable restricted session;
    svrmgr> alter database open;
    svrmgr> alter database character set KO16KSC5601;
    or
    svrmgr> alter database character set UTF8;
    svrmgr> shutdown
    svrmgr> startup
    svrmgr>

Maybe you are looking for

  • F4 help key does not work in ESS on ITS in Portal

    Hello All, F4 help key is not working in all iviews in ESS in Portal.When i try to press it nothing happens and no pop up appears,kindly please suggest wt might be the cause of this error? Iam tired struggling with this issue and not able to trace ou

  • Acrobat 8.1.2

    I am new to the world of Acrobat 8 updated to 8.12. I note that many items in the toolbar are greyed out and not usable. How do I make these items usable? Please advise soonest. XPro/SP3/IE7 4GB PC3200 RAM AMD 4600+CPU A8N-SLI mtherboard This is the

  • Why does Acrobat Standard 6.0 recognize scanner but Pro 9 will not?

    I am running both programs on an Intel Mac (same machine), 10.5.8 Progam.  My Acrobat Standard 6.0 pulls in the scanner immediately, but my Pro 9 will not recognize the scanner.  Is there something I have to do to get the Pro 9 to recognize the same

  • How to find out if Applicatin Server is running on the server

    Hello, On a unix server, how would I find out if there are Application Servers running? What would I grep for? ps -ef|grep .... Thank you.

  • OS X Server - Client Backups After Upgrade

    My OS X Server 10.6.8, client backup disks for Time Machine are not available under OS X Server 10.8. I can't find where to set up Time Machine for the OS X clients. Any help or suggestions are welcome.