Oracle equivalent of DECRYPT_CHAR() in DB2

Dear All,
We are working in a migration project. We are migrating ODI interfaces from DB2 to Oracle.
The function DECRYPT_CHAR() is used in one of the procedure script. I could not able to find oracle equivalent of DECRYPT_CHAR() function.
Could you anyone please provide any pointers on this.
Thanks a lot in advance.

Hi,
As per my experience, there is NO direct function reside for this in Oracle, rather it has inbuild packages to do decryption and encryption but still you need to create a user defined function in your schema.
Thanks,
Guru

Similar Messages

  • Connecting via Datasource - Oracle equivalent to DB2DataSource

    Hi
    Have anybody use to connect to oracle via Datasource (using JNDI rather using driver managers) for J2EE (no EJB) development ? (I use WSAD 5.0)
    I had in DB2 there is a class called "DB2DataSource " coming from a package COM.ibm.db2.jndi.DB2InitialContextFactory..
    By digging into Oracle documents in their site they said use following to get InitialContextFactory...
    import com.evermind.sql.DriverManagerDataSource;
    import com.evermind.server;
    Also I included jndi.jar in the project.
    Still I am getting error for above two packages. Where does these packages reside.
    (I have oracle 9i free downloaded version installed)
    What is OC4J ?
    Oracle also said JNDI will beloaded by OC4J.
    Thanks
    Mei

    Hi all
    Thanks for not responding to my question.
    I found that the oracle equivalent package was,
    import oracle.jdbc.pool.OracleDataSource;
    I am all set..
    Mei..

  • What is the Oracle equivalent of the Microsoft Access FIRST function?

    Using: Oracle 10gR2 RAC on SUSE Linux 9 (10.2.0.3)
    In the process of converting a Microsoft Access database to Oracle, an Access query is using the FIRST function.
    What is the Oracle equivalent of the Microsoft Access FIRST function?
    In the attempt to convert, the Oracle FIRST_VALUE function was used. However, the same results was not achieved.
    Thanks,
    (BLL)
    Query:
    h2. ACCESS:
    SELECT
         TRE.GCUSNO,
         UCASE([DCUSNO]) AS DCUSNO_STD,
         *FIRST(UCASE([DNAME])) AS DNAME_STD*,
         *FIRST(UCASE([DADDR])) AS DADDR_STD*,
         *FIRST(UCASE([DCITY])) AS DCITY_STD*,
         TRE.DSTATE,
         FIRST(TRE.DZIP) AS DZIP,
         TRE.DREGN,
         TRE.DDIST,
         TRE.DSLSMN,
         TRE.DCHAIN,
         TRE.MARKET,
         TRE.MKTPGM,
         TRE.EUMKT
    FROM
         TRE
    GROUP BY
         TRE.GCUSNO,
         UCASE([DCUSNO]),
         TRE.DSTATE,
         TRE.DREGN,
         TRE.DDIST,
         TRE.DSLSMN,
         TRE.DCHAIN,
         TRE.MARKET,
         TRE.MKTPGM,
         TRE.EUMKT;
    h2. ORACLE:
    SELECT DISTINCT
    TRE.GCUSNO,
    UPPER(TRIM(TRE.DCUSNO)) AS DCUSNO_STD,
    UPPER(TRIM(TRE.DNAME)) AS DNAME_STD,
    UPPER(TRIM(TRE.DADDR)) AS DADDR_STD,
         FIRST_VALUE(UPPER(TRIM(TRE.DNAME)) IGNORE NULLS) OVER (ORDER BY TRE.GCUSNO) AS DNAME_STD,
         FIRST_VALUE(UPPER(TRIM(TRE.DADDR)) IGNORE NULLS) OVER (ORDER BY TRE.GCUSNO) AS DADDR_STD,
         FIRST_VALUE(UPPER(TRIM(TRE.DCITY)) IGNORE NULLS) OVER (ORDER BY TRE.GCUSNO) AS DCITY_STD,
    TRE.DSTATE,
    TRE.DZIP,
    FIRST_VALUE(UPPER(TRIM(TRE.DZIP)) IGNORE NULLS) OVER (ORDER BY TRE.DZIP ASC) AS DZIP,
    TRE.DREGN,
    TRE.DDIST,
    TRE.DSLSMN,
    TRE.DCHAIN,
    TRE.MARKET,
    TRE.MKTPGM,
    TRE.EUMKT
    FROM CRM.TREUP100R TRE
    GROUP BY
    TRE.GCUSNO,
    UPPER(TRIM(TRE.DCUSNO)),
    TRE.DNAME,
    TRE.DADDR,
    TRE.DCITY,
    TRE.DSTATE,
    TRE.DZIP,
    TRE.DREGN,
    TRE.DDIST,
    TRE.DSLSMN,
    TRE.DCHAIN,
    TRE.MARKET,
    TRE.MKTPGM,
    TRE.EUMKT;

    A slight correction to odie's post. I think you want min not max to replicate the Access first function, but see below to be sure. So:
    min(upper(trim(tre.dname))) keep (dense_rank first order by tre.gcusno) as dname_std
    user10860953 wrote:How does one ignore null values?The min and max functions will ignore nulls automatically, so if there is a null value in tre.dname, it will not be be returned, unless all of the values are null. For example:
    SQL> WITH t AS (
      2     SELECT 65 id, 'ABCD' col FROM dual UNION ALL
      3     SELECT 37, 'DEFG' FROM dual UNION ALL
      4     SELECT 65, 'DEFG' FROM dual UNION ALL
      5     SELECT 65, null FROM dual UNION ALL
      6     SELECT 70, null FROM dual UNION ALL
      7     SELECT 70, null FROM dual UNION ALL
      8     SELECT 37, 'ABC' from dual)
      9  SELECT id,
    10         MIN(col) keep (DENSE_RANK FIRST ORDER BY id) min_dname_std,
    11         MAX(col) keep (DENSE_RANK FIRST ORDER BY id) max_dname_std
    12  FROM t
    13  GROUP BY id;
            ID MIN_ MAX_
            37 ABC  DEFG
            65 ABCD DEFG
            70John

  • Looking for the oracle equivalent of T-SQL 'SELECT TOP n'

    Hi,
    I'm looking for the Oracle equivalent of T-SQL 'SELECT TOP n'
    and can't find any. There is SAMPLE(n) function but it supposed
    to pick up random values and I'm not sure if it's possible to
    make it select top values. Please help 8-)
    Thanx

    Hi Marina.
    Oracle does not have a functionality like SQL Server for TOP
    selection. The ROWNUM option should be used with great care and
    you may get unreliable results.
    Try looking at Metalink
    Doc ID: 291065.999
    Doc ID: 267329.999
    - They discuss this issue, and solutions.

  • Oracle equivalent of MySql commands and code.

    Hi,
    Does anyone know the Oracle equivalent of the following? I'm not a DBA and my DBA doesn't know MySQL. TIA
    Assign access rights: login as root user to mysql:
    mysql -uroot -pYourSecretPassword
    On some MySQL installations, the root user has no password, in that case drop
    the -p parameter.
    Then grant the necessary access rights using the following commands: (this will
    automatically create the users)
    GRANT ALL ON daisyrepository.* TO daisy@"%" IDENTIFIED BY "daisy";
    GRANT ALL ON daisyrepository.* TO daisy@localhost IDENTIFIED BY "daisy";
    (The localhost entries are necessary because otherwise the default access rights
    for anonymous users @localhost will take precedence.)
    and create the database using:
    CREATE DATABASE daisyrepository;
    jack

    GRANT ALL ON daisyrepository.* TO daisy@% IDENTIFIED
    BY "daisy";This means:
    GRANT ALL privileges
    ON all tables and views in schema 'daisyrepository'
    To user daisy from any host.
    There are several problems in translation to Oracle:
    1) Oracle has a few more privs than MySQL, in part because there are a few more object types. You need to be more restrictive than 'GRANT ALL';
    2) Oracle does not support wild cards or patterns grants against a schema's objects. You need to specify each object individually;
    3) Oracle users are database users, not host users, so daisy@% does not make any sense at all. You specify the database user name, or perhaps group users into roles and specify the role name.
    This is discussed in the SQL Reference manual, in the 'GRANT' chapter, for each version of the database. The docs are at http://docs.oracle.com
    Have fun :-p

  • Oracle equivalent of...

    What is the oracle equivalent of a sql datatype bigint as an IDENTITY column with identity seed 1 and identity increment 1. I am very new to oracle so I am using TOAD to create this table. So im just looking for a KEY field such as an ID field that just creates its own number every time data is entered into any column.
    Kind of like ACCESS's autonumber field. Where or what datatype in TOAD do I select for this and tell it that it should automatically create the next ID number.
    For example I insert 4 rows
    "Jon"
    "Bob"
    "Steve"
    "Mark"
    The result in the table should be:
    1 Jon
    2 Bob
    3 Steve
    4 Mark
    (the numbers are automatic)...If I delete steve then it becomes
    1 Jon
    2 Bob
    4 Mark
    (gaps are of course OK since this is just an identity column).
    Thanks,
    Jon
    PS: Is there a way toi change my oracle forum password ? I cant seem to find that either.

    You can use a sequence and insert it in a trigger :
    TEST@db102 SQL> create sequence test_seq nocache;
    Sequence created.
    TEST@db102 SQL> create table test(c1 number not null , c2 varchar2(50));
    Table created.
    TEST@db102 SQL> create or replace trigger test_trig
      2  before insert on test
      3  for each row
      4  begin
      5     select test_seq.nextval into :new.c1 from dual;
      6* end;
    TEST@db102 SQL> /
    Trigger created.
    TEST@db102 SQL> insert into test(c2) values('Jon');
    1 row created.
    TEST@db102 SQL> insert into test(c2) values('Bob');
    1 row created.
    TEST@db102 SQL> insert into test(c2) values('Steve');
    1 row created.
    TEST@db102 SQL> insert into test(c2) values('Mark');
    1 row created.
    TEST@db102 SQL> select * from test;
            C1 C2
             1 Jon
             2 Bob
             3 Steve
             4 Mark
    TEST@db102 SQL>                                                      

  • Oracle equivalent of SQL - URGENT

    UPDATE tblA A INNER JOIN tblB B ON (A.TRAN_REF_NO = B.TRAN_REF_NO) AND (A.LINE_TYPE = B.LINE_TYPE) SET A.FLAG = 'U'
    WHERE B.UPDT_ACT_CD='I'. This SQL works fine in SQL Server.
    I need an Oracle equivalent of the above SQL that will work with 9i. It's very urgent, I tried some syntax and everything was hit with error.

    Hi,
    UPDATE PRE_STG_FIF_GL_CROSS_REF A INNER JOIN STG_FIF_GL_CROSS_REF B ON (A.TRAN_REF_NO = B.TRAN_REF_NO) AND (A.LINE_TYPE = B.LINE_TYPE) AND (A.COST_RETAIL_FLAG = B.COST_RETAIL_FLAG) AND (A.TRAN_CODE = B.TRAN_CODE) AND (A.LOCATION = A.LOCATION) AND (A.SUBCLASS = B.SUBCLASS) AND (A.CLASS = B.CLASS) AND (A.DEPT = B.DEPT)
    SET B.DR_CCID = A.DR_CCID, B.DR_SEQUENCE1 = A.DR_SEQ1, B.DR_SEQUENCE2 = A.DR_SEQ2, B.DR_SEQUENCE3 = A.DR_SEQ3, B.DR_SEQUENCE4 = A.DR_SEQ4, B.DR_SEQUENCE5 = A.DR_SEQ5, B.DR_SEQUENCE6 = A.DR_SEQ6, B.DR_SEQUENCE7 = A.DR_SEQ7,B.CR_CCID = A.CR_CCID, B.CR_SEQUENCE2 = A.CR_SEQ2, B.CR_SEQUENCE3 = A.CR_SEQ3, B.CR_SEQUENCE4 = A.CR_SEQ4, B.CR_SEQUENCE5 = A.CR_SEQ5, B.CR_SEQUENCE6 = A.CR_SEQ6, B.CR_SEQUENCE7 = A.CR_SEQ7, B.LST_UPDT_ID = A.Userid, B.LST_UPDT_DTTM = A.Date_Time
    WHERE ((B.UPDT_ACT_CD)='I' Or (B.UPDT_ACT_CD)='U')
    I migrated the above access query to below oracle query and it gives me an error.
    UPDATE STG_FIF_GL_CROSS_REF c
    SET
    DR_CCID,
    DR_SEQUENCE1, DR_SEQUENCE2, DR_SEQUENCE3, DR_SEQUENCE4, DR_SEQUENCE5, DR_SEQUENCE6, DR_SEQUENCE7,
    CR_CCID,
    CR_SEQUENCE1, CR_SEQUENCE2, CR_SEQUENCE3, CR_SEQUENCE4, CR_SEQUENCE5, CR_SEQUENCE6, CR_SEQUENCE7,
    LST_UPDT_ID,LST_UPDT_DTTM
    ) =
    SELECT A.DR_CCID,
    A.DR_SEQ1,A.DR_SEQ2,A.DR_SEQ3,A.DR_SEQ4,A.DR_SEQ5, A.DR_SEQ6,A.DR_SEQ7,
    A.CR_CCID,
    A.CR_SEQ1,A.CR_SEQ2,A.CR_SEQ3,A.CR_SEQ4,A.CR_SEQ5, A.CR_SEQ6,A.CR_SEQ7,
    A.USERID,A.DATE_TIME
    FROM xrfsys.PRE_STG_FIF_GL_CROSS_REF A,STG_FIF_GL_CROSS_REF B WHERE
    B.TRAN_REF_NO = A.TRAN_REF_NO AND
    B.LINE_TYPE = A.LINE_TYPE AND
    B.TRAN_CODE = A.TRAN_CODE AND
    B.LOCATION = A.LOCATION AND
    B.SUBCLASS = A.SUBCLASS AND
    B.CLASS = A.CLASS AND
    B.DEPT = A.DEPT AND
    B.COST_RETAIL_FLAG = A.COST_RETAIL_FLAG)
    WHERE (c.UPDT_ACT_CD='I' Or c.UPDT_ACT_CD='U')
    It throws,ORA-01427: single-row subquery returns more than one row. Please help me to convert this access query to oracle equivalent. The sub query returns multiple records. There are 7 unique records between the two tables and they are returned as output of sub query.

  • Oracle equivalent of SQL IDENTITY Column

    Is there an Oracle equivalent of the MS SQL and Sybase IDENTITY column that creates an automatically incrementing number for each row added?
    Thanks in advance.
    Andy Llewellyn
    [email protected]

    Oracle has what's called a sequence but it's not actually a column in a table. It's a database object that generates
    a sequential number. Here's a simple example of how it works. You can look in the manual for more information.
    SQL> create sequence tt start with 1 nocache;
    Sequence created.
    SQL> create table test(c1 varchar2(1),c2 number);
    Table created.
    SQL> insert into test values('A',tt.nextval);
    1 row created.
    SQL> /
    1 row created.
    SQL> commit;
    Commit complete.
    SQL> select * from test;
    C C2
    A 1
    A 2

  • How does Oracle Database compare with IBM DB2?

    Hi
    thank you for reading my post
    How Does ORACLE Database compare with IBM DB2 ?
    Which one has better performance with similar workload?
    Which one perform better on System Z hardware and z/OS?
    Is there any document that compare these two product?
    Thanks.

    Hi
    The below link may useful to you.
    http://www.oracle.com/technology/deploy/availability/pdf/CWP_HA_Oracle10gR2_DB28.2.pdf
    With best regards
    Shan

  • Oracle Equivalent user

    Hi,
    OS: IBM-AIX
    Oracle: Oracle10g 10.2.0.3.0
    I created Oracle user with relavent groups. With logging in as oracle user, I can perform DBA activities.
    My senario is that, I have to create oracle equivalent user say (neworacle). So I have created neworacle user in unix and assigned Oinstall and dba groups.
    I try to login as 'neworacle' user and try to take export of a schema.
    I get the following error
    Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
    With the Partitioning, OLAP and Data Mining options
    ORA-31626: job does not exist
    ORA-31633: unable to create master table "USR.SYS_EXPORT_SCHEMA_05"
    ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
    ORA-06512: at "SYS.KUPV$FT", line 863
    ORA-01116: error in opening database file 5
    ORA-01110: data file 5: '/oracle/oradata10g/unbdb/DXML01.dbf'
    ORA-27092: size of file exceeds file size limit of the process
    Additional information: 131071
    Additional information: 944529
    Are this errors cause due to exporting dump through a new user 'neworacle'?
    Is it possible to perform oralce activities using 'neworacle'?
    Thanks in advance
    KSG
    Edited by: KSG on Dec 3, 2009 11:57 AM

    KSG wrote:
    Issue solved.
    I gave datafile access permission to the neworacle user
    and ulimit to unlimited
    Why did you need to give access to datafile 5 to the new user? In fact to change my question to a statement. You should not have had any need to give access to the datafiles to any users.The oracle account should own them and that manages all access to them.
    John
    www.jhdba.wordpress.com

  • Oracle equivalent for OBJECTPROPERTY

    Hi Friends,
    I want the oracle equivalent for the following sql code,
    Select @Command = 'IF OBJECTPROPERTY(object_id('''+ @TableName + '''), ''TableHasForeignRef'') = 1
                              DELETE FROM ' + @TableName + '
                          ELSE
                              TRUNCATE TABLE ' + @TableName
    EXEC sp_MSForEachTable @CommandI have tried to find out, but no use. Please help me.
    Thanks,
    Ram.

    Ram wrote:
    I have tested a table which has foreign key. But the count returned from the query is 0.
    Have I implemented your query in the right way?Same like in SQL Server, Oracle does not allow truncating table if it has a PK or UK which is referenced by FK. There are no issues truncating table with FK. Again, it is table with PK/UK where you might not be able to truncate if that PK/UK is referenced by FK. And SQL Server property TableHasForeignRef = TRUE means there is a FK (on a different table or maybe even on same table if it is self-referencing FK) which is referencing PK/UK on a table in question. Query I suggested returns 1 if table has a PK or UK which is referenced by FK. Otherwise it returns 0. So if, in your case, table MY_TABLE owned by user DBO_XYZ has just FK, 0 is correct and you can truncate it. If it would return 1, you would not be able to truncate and would have to delete.
    SY.

  • Oracle equivalent of SQL DTS package

    In process of migrating SQL database to Oracle database what is Oracle equivalent of SQL DTS package???

    Data transformation services are something totally different, that have nothing to do with migration process. Can you please be more specific with your question? If you really want an answer, then you can consider the conversion phase....
    But, again, there is no reason to compare these two.
    If you want you can read about Oracle's data warehouse concepts, probably ETL is the true answer to your question

  • Oracle equivalent of DB2 DIGITS function

    IBM DB2 has a DIGITS SQL function that returns a character-string representation of a number, with the following properties:
    The result of the function is a fixed-length character string representing the absolute value of the argument without regard to its scale. The result does not include a sign or a decimal character. Instead, it consists exclusively of digits, including, if necessary, leading zeros to fill out the string.
    For example, for a NUMBER(6,2) column with value -6.28, the string '000628' is returned.
    Is there an equivalent SQL function available in Oracle 10g? Or if there's no equivalent, how can this be done in Oracle 10g?

    So, looks like behavior of DIGITS function depends not only on the value of the parameter passed, but also on the datatype of the actual parameter (implicitly derived from the datatype of the column name being passed).
    In other words, you can not simply call DIGITS (-6.18) because the result could be different for different precision/scale combinations:
    NUMBER(6,2) -> 000618
    NUMBER(3,2) -> 618
    NUMBER(6,3) -> 006180
    I don't think Oracle has a mechanism of accessing the datatype of the actual argument from within the function (?)
    So, you would need to pass the precision and scale of the argument datatype separately:
    create or replace function digits (n number, precision number, scale number) return varchar2 as
    begin
    return lpad (abs(n)*power(10,scale),precision, '0');
    end;
    SQL> select digits (-6.18, 6, 3) from dual;
    006180
    SQL> select digits (-6.18, 3,2) from dual;
    618
    SQL> select digits (-6.18, 6,2) from dual;
    000618
    To replace DIGITS in your DB2 code, you would need to build a conversion that would look up the precision and scale of the column for each call and substitute them into the call accordingly.

  • Can't install Oracle 8i or 9i but DB2 installs fine on SUSE 7.3

    I have tried installing Oracle 8.1.6 & 8.1.7 on SUSE 7.3 and each time the install program crashes.
    I've tried installing 9i on SUSE 7.3 and when it finally installs and I try to create a database I get OUT of Memory errors and that fails.
    When I tried IBM's DB2 for Linux it installed just fine, no problems. I don't want to have to learn DB2 but looks like Oracle is no help....
    Anybody know how to succesfully install Oracle on Suse 7.3 or later? If not I guess I'll have to learn DB2.

    Have you checked the website of SuSe ?
    http://www.suse.com/us/support/oracle/index.html
    Have you enough swap space (about 1 Gb) and enough free space in your temporary directory (400 Mb) ?
    Installing from CD-Roms instead of copied versions on the hard-disk will also reduce the memory consumption (this was the case on my pc).

  • "for XML path "  Oracle equivalent of this SQL expression

    SELECT TheID,
    REPLACE(
    RTRIM(
    SELECT StudentID + ' '
    FROM StudentinSchoolLocation TL
    WHERE (LocationID = Results.LocationID)
    FOR XML PATH ('')
    ) AS StudentIDs,
    What is the equivalent of 'For XML path' used above
    The goal is to get a concatenated list of the group by columns. Like where ever the location is same , get the studentIds and make a comma seperated list of all ids for common location
    Works perfectly in SQL.
    Thank you

    Hi,
    user6287828 wrote:
    The goal is to get a concatenated list of the group by columns. Like where ever the location is same , get the studentIds and make a comma seperated list of all ids for common locationThat's called "String Aggregation"
    [AskTom.oracle.com|http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:2196162600402] shows several different ways to do it.
    I recommend the first one, the user-defined function STRAGG, which you can copy from that page.
    On Oracle 10 (and up) you may have a similar function, WM_CONCAT (owned by WMSYS), already installed.
    WM_CONCAT is not documented, so you may not want to use it in your Production applications.
    STRAGG is not so convenient if the order of items in the concatenated string is important.
    In that case, use XMLAGG or SYS_CONNECT_BY_PATH, as shown later in the asktom page.
    MODEL can also do ordered string aggregation.

Maybe you are looking for

  • Acrobat Distiller 9 Error - Cannot Print PDF

    When I try to print PDFs from any browser or piece of software, try to open Distiller directly, or even scan to PDFs, I receive the following error: Unable to create the temporary folder. Error: 5 - Access is denied. I have had no problems until Mond

  • Export raw excel dato to fill-able PDF

    Hi Guys Im new to the forum and this is my first thread - I really hope you can help me (sorry for my english, its been a while since i've been using it). I would like to be able to export raw data from Excel to a PDF file, which is fill-able / edita

  • Flash crashes on simulate download

    create a recangle shape. convert it to movieclip symbol: object1. name the instance of object1 "main". enter the movie clip "main". create another shape. convert it to button symbol: button1. name this instance "btn1" exit the "main" movieclip and go

  • Error 1004, 1013,

    i am using iphone 4 (GSM)(FACTORY UNLOCKED). I was using IOS 4.2.1 but i updated it to 4.3.2 but in end some error 1004 came and my phone stuck in dfu mode.. so i google about solution... and i found tinyumbrella software.. i used it for exit dfu mod

  • How can I get the participant password?

    Would someone please help me and get the participant password in ALBPM 5.7 or 6.0 enterprise just like get the participant ID (Participant.id).:-)