New to Oracle DB/SQL

Hi everyone,
Can anyone recommend some good books/links to prepare for certification like DB SQL Expert?
Thank you.

Twitter wrote:
Hi everyone,
Can anyone recommend some good books/links to prepare for certification like DB SQL Expert?
Thank you.http://www.oracle.com/pls/db112/homepage?remark=tahiti
http://www.amazon.com/Effective-Oracle-Design-Osborne-ORACLE/dp/0072230657/ref=sr_1_2?ie=UTF8&qid=1334506168&sr=8-2

Similar Messages

  • How to do it? Need help in syntax - new to Oracle syntax

    create or replace
    PROCEDURE "SP_SAMPLE_data" (prodName in VARCHAR2) AS
    where_criteria char(100);
    BEGIN
    if prodName = 'A' then
    I want to build the where criteria string as “product_name in (‘iPod’,’iPad’)”
    else
    I want to build the where criteria string as “product_name = directly read from the passed variable(prodName)”
    end if;
    select *
    from “MySchema”.”MyTable”
    where where_criteria concatenated here – do not know how to concatenate;
    END SP_SAMPLE_data;
    New to Oracle PL/SQL syntax.
    Oracle 10gR2

    You could try someting like this
    create or replace procedure SP_SAMPLE_data (prodName in VARCHAR2) AS
       where_criteria char(100);
       sql_stmt varchar2(1000);
    BEGIN
       if prodName = 'A' then
          -- I want to build the where criteria string as "product_name in ('iPod','iPad')"
          where_criteria := 'product_name in (''iPod'',''iPad'')';
       else
          -- I want to build the where criteria string as
          -- "product_name = directly read from the passed variable(prodName)"
          where_criteria := 'product_name = '''||prodName||'''';
      end if;
      sql_stmt := 'select * from MySchema.MyTable'||where_criteria;
    END SP_SAMPLE_data;I added SQL_STMT variable as I am not sure what do you want to do with SQL statement once it is created. Do you plan to execute it in the procedure or pass it back to the calling environment? If you need to pass it back, then specify SQL_STMT as out parameter.

  • Hi, i am new to oracle, SQL DEVELOPER:- ERROR:- ORA-01918

    Hi,
    I am new to oracle, and i have installed Oracle database 12c enterprise edition, and oracle jdeveloper 12c for adf web application development,
    I created a database and a new connection in it using sql developer, however while trying to create new user with the name db1 by right clicking on other users. by following the instructions in oracle documentation site. i get the error that new user db1 doesnt exist, and gives error:- ORA-01981. i even tried by changing the username as i thought may be it doesnt support alphanumeric name, but still i get the same error.
    So please tell me how to create a new user. is there any way to get out of this ora:-01918, as i googled and it says this is a bug.
    My os is win 7 x64(amd processor ).
    Thank you
    Baldwin

    A new user (called a schema in Oracle) is created using the CREATE USER SQL command. You need to be signed in as the SYS schema/user or as a schema that has been granted the rights to create schemas.
    12c database comes in two basic flavours. Container database (containing pluggable databases). Standard database. If connected to a container database, you cannot create standard user schemas - you need to be connected to a pluggable database.
    Also, your question has no relevance to either the SQL or PL/SQL languages - the subject matter of this forum. Please repost your question to a more appropriate forum dealing with SQL-Developer issues.

  • New To Oracle.. Needs Help:: Conversion from SQL Server to Oracle 11g

    I am new to Oracle 11g and badly need the conversion of SQL Server Functions to Oracle.. Sample Pasted Code not working .. end with error.. pls help
    Create Table TempT (ID1 Varchar (10),
    ID2 Varchar (10)
    CREATE OR REPLACE PACKAGE GLOBALPKG
    AS
    TYPE RCT1 IS REF CURSOR;
    TRANCOUNT INTEGER := 0;
    IDENTITY INTEGER;
    END;
    CREATE OR REPLACE FUNCTION fTempT
    i IN VARCHAR2 DEFAULT NULL
    RETURN GLOBALPKG.RCT1
    IS
    REFCURSOR GLOBALPKG.RCT1;
    BEGIN
    OPEN REFCURSOR FOR
    SELECT TT.*
    FROM TempT TT
    WHERE (fTempT.i = ''
    OR TT.ID1 = fTempT.i)
    RETURN REFCURSOR;
    END;
    CREATE OR REPLACE FUNCTION fTempTF
    i IN VARCHAR2 DEFAULT NULL
    RETURN GLOBALPKG.RCT1
    IS
    REFCURSOR GLOBALPKG.RCT1;
    BEGIN
    OPEN REFCURSOR FOR
    SELECT *
    FROM TABLE(fTempT(i))
    RETURN REFCURSOR;
    END;
    LAST FUNCTION ENDs WITH ERROR
    Error(13,7): PL/SQL: ORA-22905: cannot access rows from a non-nested table item

    2. The major purpose is to get a simplest way to create a parameterized function who can return a table like output. 2nd function has no use instead i was testing the result of First Function like thisIf you just want to select from a select, you should use a view not a function.
    1. which program is more help ful for writing and executing queries bcoz after using Query Analyzer of Microsoft It seems difficult to work on SQL Developer.
    sqlplus? If you are having difficulty learning new tools because of an old one you used, probably best to forget the old one and concentrate on learning the new one because it will be different. This goes for the database itself also.
    2. Can DMLs be used within a Function.Yes, you just can't execute the function in another SQL statement if it modifies data and this is a good thing.
    3. Can temporary tables be used within a function.Unfortunately yes, but they shouldn't be unless you are in a slowest application competition.
    5. Each Function which is a Table Function must be accompanied with Type Definitions?? its a bit longer way of doing the things than SQL ServerThat is why it is better to use views instead, is there any reason you want a select that you can select from inside a function?
    SQL Server for last 9 years thats why i refer this toolThat is not in itself a problem, if you try and do what you did in SQLServer in Oracle, that will be a problem though.

  • WHILE Loop - NEW TO ORACLE & SQL

    I was assigned a task to loop through an organization heirachy drill until a certain a value is reached. What I mean by this is that I have to select three fields from a ORGN table to find the correct ORGN_CODE: ORGN_CODE, ORGN_CODE_PRED, ORGN_ID.
    I need to be able to check if ORGN_ID = 'CONVERT'.
    If it is true, then I need run another select statement where ORGN_CODE_PRED = ORGN_CODE. Then I check if ORGN_ID = 'CONVERT' again. Eventually, ORGN_ID <> 'CONVERT' and I have successfully drilled down to the correct ORGN_CODE Level. I'll then need to create a new field and insert the value into a table
    I can run a basic query but when it comes to this functionality, I'm rather new. Here is my select statement to bring in the data the first time.
    select ftvorgn_orgn_code as ORG_CODE,
    ftvorgn_orgn_code_pred as PREDECESSOR,
    ftvorgn_user_id as NEXT_PREDESSOR
    from ftvorgn
    The way "I think" I need to do this is like this:
    Declare
    MyORG Integer
    MyValue Char(10)
    Declare ORG_CURSOR for
    select ftvorgn_orgn_code as ORG_CODE,
    ftvorgn_orgn_code_pred as PREDECESSOR,
    ftvorgn_user_id as NEXT_PREDESSOR
    from ftvorgn
    Declare NEW_ORG_CURSOR for
    select ftvorgn_orgn_code as ORG_CODE,
    ftvorgn_orgn_code_pred as PREDECESSOR,
    ftvorgn_user_id as NEXT_PREDESSOR
    from ftvorgn
    where ftvorgn_orgn_code = MyORG
    Open ORG_CURSOR
    Fetch Next from ORG_CURSOR
    WHILE (NOT SURE WHAT GOES HERE)
    Begin
    If NEXT_PREDECESSOR = 'CONVERT'
    set MyORG = ORGN_CODE
    set MyValue = 'CU'||ORGN_CODE
    {Have to work on code to insert into table}
    ELSE
    set MyORG = ORGN _CODE
    Open NEW_ORG_CURSOR
    Fetch Next from NEW_ORG_CURSOR
    WHILE (NOT SURE WHAT GOES HERE)
    Begin
    If NEXT_PREDECESSOR = 'CONVERT'
    set MyORG = ORGN_CODE
    set MyValue = 'CU'||ORGN_CODE
    {Have to work on code to insert into table}
    Else
    set MyORG = ORGN _CODE
    Open NEW_ORG_CURSOR
    Fetch Next from NEW_ORG_CURSOR
    End
    End
    Close ORG_CURSOR
    Close NEW_ORG_CURSOR
    Deallocate ORG_CURSOR
    Deallocate NEW_ORG_CURSOR
    GO
    I can only imagine how horrible this looks to average ORACLE DB/SQL programmer and would appreciate any help on this. I'm scheduled from some training down the road, but for now I'm trying to learn on my own.
    Thanks for any constructive feedback and input.

    I've tried this code with the following results:
    select ftvorgn_orgn_code, ftvorgn_orgn_code_pred, ftvorgn_user_id,
    substr(sys_connect_by_path(ftvorgn_orgn_code,'-'),2) as path
    from ftvorgn
    connect by ftvorgn_orgn_code = prior ftvorgn_orgn_code_pred
    start with ftvorgn_ORGN_CODE = '530340' and ftvorgn_user_id <> 'CONVERT'
    FTVORGN_ORGN_CODE     FTVORGN_ORGN_CODE_PRED     FTVORGN_USER_ID     PATH
    530340     F00602     SUAGUILA     530340
    F00602     E00602     CONVERT     530340-F00602
    E00602     D00602     CONVERT     530340-F00602-E00602
    D00602     C00598     CONVERT     530340-F00602-E00602-D00602
    C00598     B00595     CONVERT     530340-F00602-E00602-D00602-C00598
    B00595     A00002     MERROSS     530340-F00602-E00602-D00602-C00598-B00595
    A00002          CONVERT     530340-F00602-E00602-D00602-C00598-B00595-A00002
    C00598     B00595     GBLACK77     530340-F00602-E00602-D00602-C00598
    B00595     A00002     MERROSS     530340-F00602-E00602-D00602-C00598-B00595
    A00002          CONVERT     530340-F00602-E00602-D00602-C00598-B00595-A00002
    Message was edited by: bjm
    I then changed the code to the following and got the following results:
    select substr(path,1,instr(path,'-')-1) base, substr(path,instr(path,'-',-1)+1,length(path)-instr(path,'-',-1)) top
    from (
    select substr(sys_connect_by_path(ftvorgn_orgn_code,'-'),2) path
    from ftvorgn
    connect by ftvorgn_orgn_code = prior ftvorgn_orgn_code_pred
    start with ftvorgn_orgn_code = '530340' and ftvorgn_orgn_code_pred <> 'CONVERT'
    BASE     TOP
         530340
    530340     F00602
    530340     E00602
    530340     D00602
    530340     C00598
    530340     B00595
    530340     A00002
    530340     C00598
    530340     B00595
    530340     A00002
         530340
    530340     F00602
    530340     E00602
    530340     D00602
    530340     C00598
    530340     B00595
    530340     A00002
    530340     C00598
    530340     B00595
    530340     A00002
    Message was edited by:
    This is my current code and results. I still can not capture when ftvorgn_user_id <> 'CONVERT' after the initial start with....do I need to include a where statement inside this query??
    select substr(path,1,1) as bottom_level, min(substr(path,-1,1)) as vp, ftvorgn_orgn_code, ftvorgn_orgn_code_pred, ftvorgn_user_id from (
    select ftvorgn_orgn_code, ftvorgn_orgn_code_pred, ftvorgn_user_id, substr(sys_connect_by_path(ftvorgn_orgn_code,'-'),2) as path
    from ftvorgn
    connect by ftvorgn_orgn_code = prior ftvorgn_orgn_code_pred
    start with ftvorgn_orgn_code = '530340' and ftvorgn_orgn_code <> ftvorgn_orgn_code_pred and ftvorgn_user_id <>'CONVERT')
    group by substr(path,1,1),ftvorgn_orgn_code, ftvorgn_orgn_code_pred, ftvorgn_user_id
    BOTTOM_LEVEL     VP     FTVORGN_ORGN_CODE     FTVORGN_ORGN_CODE_PRED     FTVORGN_USER_ID
    5     0     530340     F00602     SUAGUILA
    5     2     A00002          CONVERT
    5     5     B00595     A00002     MERROSS
    5     8     C00598     B00595     CONVERT
    5     8     C00598     B00595     GBLACK77
    5     2     D00602     C00598     CONVERT
    5     2     E00602     D00602     CONVERT
    5     2     F00602     E00602     CONVERT

  • New to oracle report builder

    Dear all;
    Please pardon me. I am new to oracle report builder and I am trying to accomplish the following. First and foremost please find my pl/sql queries below. Kindly note, all the queries have been tested and I just need to be able to input those queries into the report builder. Thank you.
    create or replace package test1 is
    type r_cursor is ref cursor;
    function report(company_name in varchar2) return r_cursor;
    end test1;
    create or replace package body test1 is
    function report(company_name in varchar2) return r_cursor as
    my_r_cursor r_cursor;
    begin
    if(company_name = 'ALL COMPANIES') THEN
    open my_r_cursor for
    select t.t_id, t.t_description from t1 t;
    return my_r_cursor;
    elsif(company_name != 'ALL COMPANIES') THEN
    open my_r_cursor for
    select t.t_id, t.t_description from t1 t
    where t.t_id = company_name;
    return my_r_cursor;
    end if;
    end;
    end test1;
    create table t1
    t_id varchar2(200) not null,
    t_description varchar2(250),
    primary key(t_id)
    insert into t1
      (t_id, t_description)
    values
      ('CITI', 'PROFIT: 2.2Billion');
    insert into t1
      (t_id, t_description)
    values
      ('GE', 'PROFIT: 1Billion');
    insert into t1
      (t_id, t_description)
    values
      ('JPMORGAN','PROFIT: 0');Now, I am trying to create a simple report in oracle report builder. The interface for generating for this report is basically, there is a dropdownlist where by the user picks a company name from the dropdownlist and clicks on the go button, this should then generate a report with the above query shown in the package. How can this be achieved? All help will greatly be appreciated.

    Hi,
    first of all you need strong typed ref cursor, oracle reports need to detect witch are the columns returned by your cursor.
    so first you create your package
    create or replace package test1
    as
    TYPE t_record IS RECORD ( company_number PLS_INTEGER--TABLE_NAME.COLUMN_NAME%TYPE
    , company_desc VARCHAR2(150)--TABLE_NAME.COLUMN_NAME%TYPE
    TYPE T_REF_CURSOR IS REF CURSOR RETURN t_record;
    procedure report(company_name in varchar2 ,cur_out OUT t_ref_cursor) ;
    end test1;
    show errors
    create or replace package body test1
    is
    procedure report(company_name in varchar2 ,cur_out OUT t_ref_cursor)
    is
    my_r_cursor T_REF_CURSOR;
    begin
    if(company_name = '1')
    THEN
    open my_r_cursor for
    select 1 as t_id, 'description' ast_description from dual
    else
    open my_r_cursor for
    select 2 as t_id, 'description2' as t_description from dual
    end if;
    end;
    end test1;
    show errors
    then, in your report you create a ref cursor query :
    function QR_1RefCurDS
    return test1.t_ref_cursor
    is
    C_return test1.t_ref_cursor;
    begin
         test1.report(1,C_return);
    RETURN(C_return) ;
    end;
    hope this helps you !
    E

  • Forms installation problem - how do I create a new default Oracle home?

    I am new to Oracle so please forgive my utter ignorance. My impression of Oracle because of how an installation
    has to be done is taking a nosedive. I thought Microsoft was bad with all the re-booting but the explanation that I
    read in Anubhav Seth's post about installing Dev 6i before 8i and the suggestion (not a requirement) to format the
    harddisk and reinstall Windows just leaves me with my jaw hanging open. I'm having a little trouble swallowing that
    one.
    Here's my situation... I'm running 8i at home and I am using it for the Oracle courses that I am taking at a local
    university. So 8i with its SQL*Plus has been all I have needed to date. Now we have a project to do that involves forms.
    So I go to the OTN page for downloads and downloaded file 6irel2nt.exe which is 264 MB in size. This file, I assume,
    has forms in it -- what else I don't know because things are not explained all that well on the web site or I don't know
    where to look (which implies poor organization of the web pages).
    I run the 6irel2nt.exe file and end up with 11,128 new files on my computer. That's nice. I run the setup file and a step or
    two into it it complains that my 'Ora81' home is already being used and that I need to install it into another Oracle Home.
    Now I'm trying to find out how I create another Oracle Home. I perform a search in GOOGLE on "creat default Oracle
    home" and basically get nowhere. My $50+ "Oracle 8i A Beginner's Guide" from Oracle Press mentions Oracle Home
    on one page (pg. 170) but is completely useless in this case. My $184 worth of Oracle University manuals (which
    are really PowerPoint slides) is useless too. My next step will be to comb through the FAQs. All this because I cannot
    believe that I have to totally uninstall one product to get another to install and then reinstall the first one. That is INSANE!
    If I have gone way off track please feel free to blast me but if this is true then all I can say is that the folks at Oracle need
    a lesson in KISS (Keep It Simple Stupid)! Computers and computer software are supposed to make our lives simpler
    not complicate the holy hell out of them. I'll get off my soapbox now. Sorry about the whining.

    I ended up uninstalling 8i and then I installed Dev 6i (Forms) and then I reinstalled 8i. I had some problems
    installing Dev 6i because of this error "path.vrf(86): Unbound variable 'path_too_long_prompt'". Right after this error
    appears I get a dialog that states, "The Oracle Installer cannot update the system path variable to %new_path%
    because it is too long. Please restrict your system path to 127 characters and make sure D:\Oracle\OraWin95\bin
    is included in your path."
    The path D:\Oracle\OraWin95 was what I set up for this installation.
    What I did to work around this problem was this...
    (1) Go to Start - Accessories - System Tools - System Information.
    (2) Click on the Tools menu
    (3) Select System Configuration Utility
    (4) Select the Autoexec.bat tab
    (5) I added D:\Oracle\OraWin95\bin to my PATH variable and unchecked the checkbox next to one of the several
    lines that I have that build my PATH variable. (I have several PATH lines that simply add a path to the system
    variable %path%). After the installation is complete you can go back and turn back on the paths that you had disabled.
    After installing 8i I did have a problem connecting to the database. I got this error:
    Error: ORA-01034 Oracle not available
    I believe this happened because I had forgotten to turn back on some of my PATH information that I mentioned
    earlier. After checking one of my PATH variables and rebooting, this problem disappeared.
    When reinstalling 8i and when the installation asks for an SID and you enter the SID you had used in the original
    installation you may get a notice that says the SID already exists. I think this happens because the uninstall does not
    clean up the registry totally, so I entered a different one. Later on, after the installation has been completed and you
    are connecting to your database, you will be prompted to select an SID -- just make sure that you select the SID from
    the latest installation.
    I should've mentioned first that in preparing for this whole ridiculous exercise I created a directory under my Oracle
    directory that I was going to use as the new 'Oracle home.' So I guess that's all one has to do to create a new Oracle
    home -- just have another directory ready to install 'stuff' into.
    All in all, this a pretty asinine exercise. Oracle really needs to fix this mess. I honestly thought Microsoft was bad but
    this takes the cake. I wonder if SQL Server is this screwed up.

  • How do i find out  what is the data type of a column of a Table in oracle or SQL?

    a) What if i want to find out the  Datatype of a specific column in the Table.
    b) How do i find the Column Datatypes?
    Can anyone please help me. I am new to oracle and Trying to Learn some stuff

    Hi,
    How about doing
    SQL> desc <table_name>
    SQL> desc emp
    Name                                      Null?    Type
    EMPNO                                     NOT NULL NUMBER(4)
    ENAME                                              VARCHAR2(10)
    JOB                                                VARCHAR2(9)
    MGR                                                NUMBER(4)
    HIREDATE                                           DATE
    SAL                                                NUMBER(7,2)
    COMM                                               NUMBER(7,2)
    DEPTNO                                             NUMBER(2)

  • Oracle.xml.sql.OracleXMLSQLException when using OracleXMLQuery getXMLDOM()

    Hi!
    I am trying to reuse a code in JDeveloper to get XML from a query. I have copied the code from a method and created a new method with the copied code and changed it. The problem is that when I run the old code I now get following error:
    Ett oförväntat fel har inträffat: Application: FND, Message Name: FND_GENERIC_MESSAGE.
    Tokens: MESSAGE = oracle.xml.sql.OracleXMLSQLException: Det här objektet har stängts.
    Vill du inte att objektet ska stängas automatiskt mellan anropen kan du granska metoden 'keepObjectOpen()'.;
    This means in english something like:
    An unexpected error accoured: Application: FND, Message Name: FND_GENERIC_MESSAGE = oracle.xml.sql.OracleXMLSQLException: This object is closed. If you don't want the object to close automatically between calls you can check method 'keepObjectOpen()';
    the code I'm running is:
    public String punchoutSomething()
    throws Exception
    StringBuffer sqlForXml =new StringBuffer("select pv.*"
    +", cursor(select * from XXPOS_PUNCHOUT_TABLE2 c where c.vendor_id=pv.vendor_id) as contacts"
    +" from XXPOS_PUNCHOUT_TABLE1 pv where vendor_id in (");
    // add all ids
    SuppSummVOImpl vendorView = getSuppSummVO();
    Row row;
    int punchoutCnt=0;
    // vendorView.reset();
    Row[] selectedRows = vendorView.getFilteredRows("SelectStatus","Y");
    for(int i=0;i<selectedRows.length;i++)
    if(punchoutCnt>0)
    sqlForXml.append(",");
    sqlForXml.append(((Number)selectedRows.getAttribute("VendorId")).toString());
    punchoutCnt++;
    if(punchoutCnt==0)
    sqlForXml.append("-1"); // make sql valid, will not return rows
    sqlForXml.append(")");
    // System.out.println(sqlForXml); // DEBUG
    OADBTransaction tx = (OADBTransaction)getOADBTransaction();
    OracleXMLQuery xq = new OracleXMLQuery( tx.getJdbcConnection()
    , sqlForXml.toString()
    xq.setRaiseException(true); // in case of error raise an exception (default
    // is to generate an error document
    xq.setEncoding("UTF-8"); // not necessary?
    xq.useLowerCaseTagNames();
    xq.setRowsetTag("vendors");
    xq.setRowTag("vendors_row");
    //System.out.println(xq.getXMLString()); // DEBUG
    XMLDocument suppl = (XMLDocument)xq.getXMLDOM();
    XSLProcessor xslt = new XSLProcessor();
    InputStream sheetStream = this.getClass().getResourceAsStream("mystylesheet.xsl");
    if(sheetStream==null)
    throw new Exception("Could not load stylesheet");
    XSLStylesheet sheet = xslt.newXSLStylesheet(
    sheetStream
    StringWriter serialize = new StringWriter();
    xslt.processXSL(sheet,suppl,new PrintWriter(serialize));
    String returnXML = serialize.getBuffer().toString();
    // System.out.println("X:"+returnXML); // DEBUG
    sheetStream.close();
    return returnXML;
    ===================
    i've copied the same code into another method and only changed the sql-statment to be used and the stylesheet to use to transform the xml. Is something wrong with that?
    Another question: if the xsl refers to a xsd but wihtout any path where should it be?
    Thanks for the help,
    Patricia

    Actually, having looked at Metalink, seems that although this message may be accurate and correct,
    it has been 'introduced' as part of the 9i JDBC driver.
    So, I used the 8i JDBC driver I happened to have instead and that worked fine.

  • (V9I) ORACLE 9I NEW FEATURE : ORACLE FLASHBACK

    제품 : ORACLE SERVER
    작성날짜 : 2002-11-01
    (V9I) ORACLE 9I New Feature : ORACLE FLASHBACK
    ==============================================
    PURPOSE
    Oracle9i 새로운 기능인 Flashback 의 등장으로 Commit 된 Transaction 에 대해
    특정 시점의 과거 DATA를 Query가 가능함으로써 Self-service repair 기능이 향상되었다.
    다음 Flashback query 기능과 Setup 방법 및 실제 Data Recovery 에 관한 내용에 대해 알아보도록 한다.
    Explanation
    Flashback : 새로운 기능인 Flahback 은 과거 시점의 consistent view 를 볼 수있는
    기능으로 system time or systme change number(SCN) 기반 read-only view이다.
    다음은 Flashback 기능을 사용하기 위해 미리 설정해야할 부분에 대해 알아보도록 한다.
    1) 반드시 Automatic Undo Management 에서만 가능
    (initSID.ora file이나 spfile에 다음 파라미터가 auto로 설정)
    UNDO_MANAGEMENT = AUTO
    2) Rentention interval 을 두어 해당 time 동안은 inactive rollback 이라 하더라도
    overwrite 되지 않도록 유지(초단위)
    SQL> ALTER SYSTEM SET undo_retention = 1200;
    UNDO_RETENTION 을 지정한 다음 실제 적용을 위해 5분정도 기다려야 한다.
    3) DBMS_FLASHBACK package를 이용하여 Flashback 기능을 enable 시킨다.
    SQL> call dbms_flashback.enable_at_time('9-NOV-01:11:00:00');
    Example1. Flashback setup 과 date/time 설정
    1) Undo tablespace 생성
    SQL> create undo tablespace UNDOTBS datafile
    '/database/901/V901/undotbs01.dbf' size 100M;
    2) intiSID or spfile 에 다음 파라미터 적용
    undo_management=auto
    undo_retention=1200
    undo_tablespace=UNDOTBS
    3) dbms_flashback exeucte 권한 grant
    SQL> connect / as sysdba
    Connected.
    SQL> grant execute on dbms_flashback to testuser;
    Grant succeeded.
    4) test table 생성
    SQL> connect testuser/testuser;
    Connected.
    SQL> create table emp_flash as select * from scott.emp;
    Table created.
    SQL> select count(*) from emp_flash;
    COUNT(*)
    15
    5) table 생성후 5분 정도 waiting -> table delete
    SQL> delete from emp_flash;
    15 rows deleted.
    SQL> commit;
    Commit complete.
    SQL> select count(*) from emp_flash;
    COUNT(*)
    0
    6) flashback 활성화
    SQL> execute DBMS_FLASHBACK.ENABLE_AT_TIME(sysdate - 5/1440);
    PL/SQL procedure successfully completed.
    SQL> select count(*) from emp_flash;
    COUNT(*)
    15
    SQL> execute DBMS_FLASHBACK.DISABLE;
    PL/SQL procedure successfully completed.
    SQL> select count(*) from emp_flash;
    COUNT(*)
    0
    Example2. Flashback 으로 잃어버린 data recovery
    1) test user 생성
    SQL> connect testuser/testuser;
    Connected.
    SQL> create table emp_recover as select * from scott.emp;
    Table created.
    SQL> select count(*) from emp_recover;
    COUNT(*)
    15
    2) delete table
    SQL> VARIABLE SCN_SAVE NUMBER;
    SQL> EXECUTE :SCN_SAVE := DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER;
    PL/SQL procedure successfully completed.
    SQL> PRINT SCN_SAVE
    SCN_SAVE
    6.4455E+12
    SQL> select count(*) from emp_recover;
    COUNT(*)
    15
    SQL> delete from emp_recover;
    15 rows deleted.
    SQL> commit;
    Commit complete.
    SQL> select count(*) from emp_recover;
    COUNT(*)
    0
    3) flashback 이용한 data recover
    SQL> DECLARE
    2 CURSOR FLASH_RECOVER IS
    3 select * from emp_recover;
    4 emp_recover_rec emp_recover%ROWTYPE;
    5 begin
    6 DBMS_FLASHBACK.ENABLE_AT_SYSTEM_CHANGE_NUMBER(:SCN_SAVE);
    7 open FLASH_RECOVER;
    8 DBMS_FLASHBACK.DISABLE;
    9 loop
    10 FETCH FLASH_RECOVER INTO emp_recover_rec;
    11 EXIT WHEN FLASH_RECOVER%NOTFOUND;
    12 insert into emp_recover
    13 values
    14 (emp_recover_rec.empno,
    15 emp_recover_rec.ename,
    16 emp_recover_rec.job,
    17 emp_recover_rec.mgr,
    18 emp_recover_rec.hiredate,
    19 emp_recover_rec.sal,
    20 emp_recover_rec.comm,
    21 emp_recover_rec.deptno);
    22 end loop;
    23 CLOSE FLASH_RECOVER;
    24 commit;
    25 end;
    26 /
    PL/SQL procedure successfully completed.
    SQL> select count(*) from emp_recover;
    COUNT(*)
    15
    Reference Document
    Note. 174425.1
    Note. 143217.1
    Note. 179851.1

    I 'm sorry I can not offer the correct figure since I'm an easy-to-forget guy.
    Below is extracted from other's post. wish it helps.
    Oracle Security Server ---> 2 questions
    High Availability Technology ---> 4 questions
    LogMiner Enhancements -> 1 question
    Backup & Recovery Enhancements ---> 3 questions
    Data Guard ---> 3 questions
    Resource Manager Enhancements ---> 2 questions
    Online Operations Enhancements ---> 3 questions
    Segment Management (Part I) ---> 4 questions
    Segment Management (Part II) ---> 3 questions
    Performance Improvements ---> 4 questions
    Scalable Session Management ---> 2 questions
    Real Application Clusters ---> 2 questions
    File Management ---> 4 questions
    Tablespace Management ---> 4 questions
    Memory Management ---> 3 questions
    Enterprise Manager Enhancements ---> 2 questions
    by the way, I just found an enthusiast (roxylo
    ) posted a book about the 9i new features. It surely will help

  • Please help me. I'm new to Oracle.

    Hello all
    I'm Sean and new to Oracle and wana purse learning Oracle Forms&Reports but to start I need to also learn Oracle DataBase as well.
    Please I know you're all busy but HELP me to fix this problem and start learning Oracle.
    I've installed oracle DB 10G. XE. without any problem and have been using it everyday BUT I just installed Oracle SQL Dev v. 1.2.1.... and can't creat a new connection. (it's all installed in my compaq laptop using Win XP SP 3).
    I've been reading all the comments in forums but I'm still stuck. PLEASE SOME ONE HELP ME.
    Learning from all you guys comment I looked at my Listener.ora and it looks like this:
    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = C:\oraclexe\app\oracle\product\10.2.0\server)
    (PROGRAM = extproc)
    (SID_DESC =
    (SID_NAME = CLRExtProc)
    (ORACLE_HOME = C:\oraclexe\app\oracle\product\10.2.0\server)
    (PROGRAM = extproc)
    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
    (ADDRESS = (PROTOCOL = TCP)(HOST = Shawn_COMPAQ)(PORT = 1521))
    DEFAULT_SERVICE_LISTENER = (XE)
    and my sqlnet.ora looks like this:
    # This file is actually generated by netca. But if customers choose to
    # install "Software Only", this file wont exist and without the native
    # authentication, they will not be able to connect to the database on NT.
    SQLNET.AUTHENTICATION_SERVICES = (NTS)
    The tnsnames.ora looks like this:
    XE =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = SHAWN_COMPAQ)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = XE)
    EXTPROC_CONNECTION_DATA =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
    (CONNECT_DATA =
    (SID = PLSExtProc)
    (PRESENTATION = RO)
    ORACLR_CONNECTION_DATA =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
    (CONNECT_DATA =
    (SID = CLRExtProc)
    (PRESENTATION = RO)
    from looks of it comparing to what I have seen in ppl's comments and copy&past of files in forums, my 3 files all looks weird and I guess it missing lot of things.
    when I try to create a new connection to see built-in schema (HR) all though it's unlocked but sql dev can't establishes a connection.
    In New \ Select database connection window for following fields iI put:
    Hostname = localhost:1521:orcl (I 've tried just putting localhost)
    Port = 1521
    SID = orcl
    In my browser when I am in home page of DB 10g XE the URL reads: http://127.0.0.1:8080/apex/f?p=4500:1000:4313426409493576
    When i put hostname = localhost (or either 127.0.0.1) and port = 1521 and SID = orcl, I'm getting error :
    status: failure-listener refused the connection with following error - ORA-12505, TNS: listener doesn't currently know of SID given in connect descriptor The connection descriptor used by client was: localhost:1521:orcl .
    When I just change the Port to 8080 I get the error:
    Status: failure-Io Exception: Got minus one from a read call.
    By default DB 10g XE installed in: C:\oraclexe\app\oracle\product\10.2.0\.............
    and all the mentioned files (3 files mentioned above) are in: C:\oraclexe\app\oracle\product\10.2.0\server\NETWORK\ADMIN
    Please I know you're all busy but HELP me to fix this problem.
    God bless you.
    tnx
    Sean

    Thanks a lot.
    Yes. It works well now.
    In it's documentation it says put orcl for SID but never thought to try default xe.
    You're the man.
    tnx

  • Oracle to SQL server connection - not working

    Hi Friends,
    OS version : R Linux EL5
    Oracle version : 10.2.0.4
    i had followed http://www.databasejournal.com/features/oracle/article.php/10893_3442661_2/Making-a-Connection-from-Oracle-to-SQL-Server.htm document and modified tnsnames.ora, listener.ora files in HS directory.
    when i tried to start new listener, its throwing following error
    *+[oracle@viadbscph802v admin]$ lsnrctl start LISTENERMSCRM_CONFIGDSN+*
    LSNRCTL for Linux: Version 10.2.0.4.0 - Production on 30-MAR-2010 08:35:08*
    Copyright (c) 1991, 2007, Oracle.  All rights reserved.*
    Starting /opt/oracle/protas/product/10.2.0/db/bin/tnslsnr: please wait...*
    TNSLSNR for Linux: Version 10.2.0.4.0 - Production*
    System parameter file is /opt/oracle/protas/product/10.2.0/db/network/admin/listener.ora*
    Log messages written to /opt/oracle/protas/product/10.2.0/db/network/log/listenermscrm_configdsn.log*
    TNS-01151: Missing listener name, LISTENERMSCRM_CONFIGDSN, in LISTENER.ORA*
    Listener failed to start. See the error message(s) above...*
    my listener.ora entry is as below
    *+[oracle@viadbscph802v admin]$ more listener.ora+*
    +# This is a sample listener.ora that contains the NET8 parameters that are+
    +# needed to connect to an HS Agent+
    LISTENERMSCRM_CONFIGDSN =*
    +(ADDRESS_LIST=+
    +(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1522))+
    +(ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY)))+
    SID_LIST_LISTENER=*
    +(SID_LIST=+
    +(SID_DESC=+
    +(SID_NAME=MSCRM_CONFIGDSN)+
    +(ORACLE_HOME=/opt/oracle/protas/product/10.2.0/db)+
    +(PROGRAM=hsodbc)+
    +)+
    +)+
    +#CONNECT_TIMEOUT_LISTENER = 0+
    when i do tnsping, it is showing following error
    *+[oracle@viadbscph802v admin]$ tnsping mscrm_configdsn+*
    TNS Ping Utility for Linux: Version 10.2.0.4.0 - Production on 30-MAR-2010 08:49:32*
    Copyright (c) 1997,  2007, Oracle.  All rights reserved.*
    Used parameter files:*
    TNS-03505: Failed to resolve name*
    my tnsnames.ora entry is as below
    *+[oracle@viadbscph802v admin]$ more tnsnames.ora+*
    +# This is a sample tnsnames.ora that contains the NET8 parameters that are+
    +# needed to connect to an HS Agent+
    +#hsagent  =+
    +#  (DESCRIPTION=+
    +#    (ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))+
    +#    (CONNECT_DATA=(SID=hsagent))+
    +#    (HS=)+
    +#  )+
    MSCRM_CONFIGDSN  =*
    +(DESCRIPTION=+
    +(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1522))+
    +(CONNECT_DATA=(SID=MSCRM_CONFIGDSN))+
    +(HS=OK)+
    +)+
    my GLOBAL_NAMES is set to flase
    Please help me in resolving this problem.
    i have a doubt, should we have oracle client software to be installed on machine which is running sql server?
    thanks in advance

    [oracle@viadbscph802v admin]$ lsnrctl status LISTENERMSCRM_CONFIGDSN
    LSNRCTL for Linux: Version 10.2.0.4.0 - Production on 30-MAR-2010 14:38:32
    Copyright (c) 1991, 2007, Oracle. All rights reserved.
    Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=viadbscph802v)(PORT=1522))
    STATUS of the LISTENER
    Alias LISTENERMSCRM_CONFIGDSN
    Version TNSLSNR for Linux: Version 10.2.0.4.0 - Production
    Start Date 30-MAR-2010 12:41:17
    Uptime 0 days 1 hr. 57 min. 15 sec
    Trace Level off
    Security ON: Local OS Authentication
    SNMP OFF
    Listener Parameter File /opt/oracle/protas/product/10.2.0/db/network/admin/listener.ora
    Listener Log File /opt/oracle/protas/product/10.2.0/db/network/log/listenermscrm_configdsn.log
    Listening Endpoints Summary...
    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=viadbscph802v.no.via.as)(PORT=1522)))
    (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY)))
    Services Summary...
    Service "MSCRM_CONFIGDSN" has 1 instance(s).
    Instance "MSCRM_CONFIGDSN", status UNKNOWN, has 1 handler(s) for this service...
    The command completed successfully
    [oracle@viadbscph802v admin]$ tnsping MSCRM_CONFIGDSN
    TNS Ping Utility for Linux: Version 10.2.0.4.0 - Production on 30-MAR-2010 14:38:40
    Copyright (c) 1997, 2007, Oracle. All rights reserved.
    Used parameter files:
    Used TNSNAMES adapter to resolve the alias
    Attempting to contact (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1522)) (CONNECT_DATA=(SID=MSCRM_CONFIGDSN)) (HS=OK))
    OK (0 msec)
    below are listener.ora and tnsnames.ora entries
    LISTENERMSCRM_CONFIGDSN =
    (ADDRESS_LIST=
    (ADDRESS=(PROTOCOL=tcp)(HOST=viadbscph802v)(PORT=1522))
    (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY)))
    SID_LIST_LISTENERMSCRM_CONFIGDSN =
    (SID_LIST=
    (SID_DESC=
    (SID_NAME=MSCRM_CONFIGDSN)
    (ORACLE_HOME = /opt/oracle/protas/product/10.2.0/db/)
    (PROGRAM=hsodbc)
    MSCRM_CONFIGDSN =
    (DESCRIPTION=
    (ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1522))
    (CONNECT_DATA=(SID=MSCRM_CONFIGDSN))
    (HS=OK)
    )

  • NEW FEATURE:AUTOTRACE IN SQL*PLUS 3.3(EXECUTION PLAN)

    제품 : SQL*PLUS
    작성날짜 : 2003-10-07
    NEW FEATURE:AUTOTRACE IN SQL*PLUS 3.3
    ======================================
    Autotrace는 SQL*Plus 3.3부터 지원하는 New feature로서 기존에는 init.ora에
    SQL_TRACE=TRUE를 setting 후 얻어진 trace file을 TKPROF란 utility를
    이용하여 SQL 문의 수행 경로, 각종 통계 정보를 얻었다.
    그러나, SQL*Plus 3.3부터는 이것을 간단히 처리할 수 있는 방법을 제공한다.
    1. SQL*Plus를 실행하여 scott user로 접속한 후, plan table을 생성한다.
    #sqlplus scott/tiger
    SQL>@$ORACLE_HOME/rdbms/admin/utlxplan
    2. 다음에 sys user에서 PLUSTRACE란 ROLE을 만든다.
    SVRMGR>connect internal;
    SVRMGR>create role plustrace;
    SVRMGR>grant select on v_$sesstat to plustrace;
    SVRMGR>grant select on v_$statname to plustrace;
    SVRMGR>grant select on v_$session to plustrace;
    SVRMGR>grant plustrace to dba with admin option;
    SVRMGR>grant plustrace to scott;
    비고) 위의 grant 문은 client에 SQL*Plus 3.3이 install되어 있는 경우
    C:ORAWIN95\PLUS33\PLUSTRCE.SQL이라는 script에 기록되어 있다.
    다음과 같이 실행해 주면 된다.
    1> connect sys/manager
    2> @$ORACLE_HOME/sqlplus/admin/plustrce.sql
    3> grant plustrace to scott;
    3. 다음에는 scott user로 connect하여 작업한다.
    #sqlplus scott/tiger
    SQL>set autotrace on
    SQL>select * from emp;
    Execution Plan
    0 SELECT STATEMENT Optimizer=CHOOSE
    1 0 TABLE ACCESS (FULL) OF 'EMP'
    Statistics
    389 recursive calls
    5 db block gets
    53 consistent gets
    12 physical reads
    0 redo size
    1049 bytes sent via SQL*Net to client
    239 bytes received via SQL*Net from client
    4 SQL*Net round-trips to/from client
    0 sorts (memory)
    0 sorts (disk)
    13 rows processed
    4. 참고로 set autotrace에는 여러가지 option을 부여해 작업할 수도 있다.
    예)set autotrace on => Explain plan and statistics.
    set autotrace on explain => Explain plan only.
    set autotrace traceonly => select된 결과는 빼고 trace만 display
    시킴.
    set autotrace on statistics=> sql statement execution statistics.
    5. 서버 버젼과 상관없다.
    Server가 7.2 version 이하일지라도 clinet에 SQL*Plus 3.3이 install되어
    있으면 client에서 sqlplus 3.3을 구동시켜 server에 접속하여 위와 같이
    작업하면 무리없이 작업이 가능하다.
    Reference Documents
    <Note:43214.1>

    Hi Roman,
    I don't have an Oracle 9.2 database readily available, but it works fine on 10g XE. Please note 3.1 is not certified with 9i:
    http://www.oracle.com/technetwork/developer-tools/sql-developer/certification-096745.html
    Regards,
    Gary
    SQL Developer Team

  • Tnsping not working from oracle to sql

    hi
    i need to connect sql server 2005 on windows server from my oracle database 10.2 on hpux
    before doing this setup on unix server to windows server
    i m testing it on my local windows xp system where oracle is installed and trying to connect to remote sql server
    so 1 i configured ODBC drivers for sql server
    2. then i have alterd initfile under dir $ORACLE_HOME/hs/admin/
    with this parameter
    # This is a sample agent init file that contains the HS parameters that are
    # needed for an ODBC Agent.
    # HS init parameters
    HS_FDS_CONNECT_INFO = Test1
    HS_FDS_TRACE_LEVEL = off
    # Environment variables required for the non-Oracle system
    #set <envvar>=<value>
    3 i configured listener. ora file and added this entries in listener.ora file under dir $ORACLE_HOME/network/admin/
    # listener.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\network\admin\listener.ora
    # Generated by Oracle configuration tools.
    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
    (PROGRAM = extproc)
    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    (ADDRESS = (PROTOCOL = TCP)(HOST = 01hw172211)(PORT = 1521))
    LISTENERTEST1 =
    (ADDRESS_LIST=
    (ADDRESS=(PROTOCOL=tcp)(HOST=01hw172211)(PORT=1522))
    (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY)))
    SID_LIST_LISTENERTEST1=
    (SID_LIST=
    (SID_DESC=
    (SID_NAME=TEST1)
    (ORACLE_HOME = C:\oracle\product\10.1.0\db_1)
    (PROGRAM=hsodbc)
    where 01hw172211 is the host where oracle is installed and TEST1 Is the sql database
    4 then i configured tnsnames. ora file under dir $ORACLE_HOME/network/admin
    ORCL =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 01hw172211)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = orcl)
    EXTPROC_CONNECTION_DATA =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    (CONNECT_DATA =
    (SID = PLSExtProc)
    (PRESENTATION = RO)
    TEST1 =
    (DESCRIPTION=
    (ADDRESS=(PROTOCOL=tcp)(HOST=01hw172211)(PORT=1522))
    (CONNECT_DATA=(SID=test1))
    (HS=OK)
    where ORCL is oracle database on local system 01hw172211 and TEST1 is SQL SERVER database
    5 then i start the new listenertest1 listener ... listener started successfully
    6 then i checked tnsping test1 ... but it is faild..
    can any body tell me what is wrong in above procedure for connecting from oracle to sql ... in step no. 4 there is a TEST1 CONNECT discriptor where I have used HOST=local system where oracle is installed.. is it correct OR i have to specifiy HOST=sql server host name.

    hi
    i need to connect sql server 2005 on windows server from my oracle database 10.2 on hpux
    before doing this setup on unix server to windows server
    i m testing it on my local windows xp system where oracle is installed and trying to connect to remote sql server
    so 1 i configured ODBC drivers for sql server
    2. then i have alterd initfile under dir $ORACLE_HOME/hs/admin/
    with this parameter
    # This is a sample agent init file that contains the HS parameters that are
    # needed for an ODBC Agent.
    # HS init parameters
    HS_FDS_CONNECT_INFO = Test1
    HS_FDS_TRACE_LEVEL = off
    # Environment variables required for the non-Oracle system
    #set <envvar>=<value>
    3 i configured listener. ora file and added this entries in listener.ora file under dir $ORACLE_HOME/network/admin/
    # listener.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\network\admin\listener.ora
    # Generated by Oracle configuration tools.
    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
    (PROGRAM = extproc)
    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    (ADDRESS = (PROTOCOL = TCP)(HOST = 01hw172211)(PORT = 1521))
    LISTENERTEST1 =
    (ADDRESS_LIST=
    (ADDRESS=(PROTOCOL=tcp)(HOST=01hw172211)(PORT=1522))
    (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY)))
    SID_LIST_LISTENERTEST1=
    (SID_LIST=
    (SID_DESC=
    (SID_NAME=TEST1)
    (ORACLE_HOME = C:\oracle\product\10.1.0\db_1)
    (PROGRAM=hsodbc)
    where 01hw172211 is the host where oracle is installed and TEST1 Is the sql database
    4 then i configured tnsnames. ora file under dir $ORACLE_HOME/network/admin
    ORCL =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 01hw172211)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = orcl)
    EXTPROC_CONNECTION_DATA =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    (CONNECT_DATA =
    (SID = PLSExtProc)
    (PRESENTATION = RO)
    TEST1 =
    (DESCRIPTION=
    (ADDRESS=(PROTOCOL=tcp)(HOST=01hw172211)(PORT=1522))
    (CONNECT_DATA=(SID=test1))
    (HS=OK)
    where ORCL is oracle database on local system 01hw172211 and TEST1 is SQL SERVER database
    5 then i start the new listenertest1 listener ... listener started successfully
    6 then i checked tnsping test1 ... but it is faild..
    can any body tell me what is wrong in above procedure for connecting from oracle to sql ... in step no. 4 there is a TEST1 CONNECT discriptor where I have used HOST=local system where oracle is installed.. is it correct OR i have to specifiy HOST=sql server host name.

  • Differences between being an Oracle and SQL DBA?

    Sorry to post this here, but I need so insight and don't know any Oracle DBA's. As posted here before, Ive been a MSSQL DBA for about 6 years and want to broaden my skill set. One of my ideas is to learn Oracle. For the record, I do realize that my teaching myself wont open up hundreds or Oracle DBA jobs, but Im hoping to land a "mostly SQL with a little Oracle" gig somewhere. Ive successfully installed Oracle on Linux, and now need to make a decision on if to proceed or not. Any insights from people that have worked with both platforms would be especially helpful, but all thoughts are definately welcomed. So now my questions:
    1. Why are Oracle DBA's paid more than SQL DBA's? It must be something skill specific? What is it?
    2. Will this trend likely continue as newer versions of Oracle are released that are easier to manage?
    3. With that extra cash, is there typically more hours involved? I dont mind working a bit extra if needed, but I do have little ones that I'd like to watch grow up.
    4. Are there typically differences in the job responsibilities between Oracle and SQL DBA's? The changing trend these days is to include DTS/ Analysis Services/ Reporting Services all under the DBA umbrella. Do Oracle DBA's typically have the same type of stuff?
    5. If I do continue down this path, it would probably be far easier for me to learn on Windows than *nix. Is this a valid thing to do, or should I not bother? I've been told that it's still worth while, but have real reservations about needing to tell an interviewer "I've only used it on Windows".
    I realize this is all subject to personal experiences and feelings, but don't know how else to figure this stuff out without asking.
    TIA, ChrisR

    By SQL DBA, I assume you mean SQL Server DBA. SQL is 'Structure Query Language' and is not a specific product, no matter how much the Microsoft community might wish to usurp the term. <g>
    There are mauy reasons for this, including the Oracle vs Microsoft mindset that has been nurtured over the years. For many managers, 'Oracle is solid, reliable and expensive' whereas 'Microsoft SQL Server is cheap, not necessarily as reliable, but good enough'.
    Whether true or not is irrelevant, these are direct quotes from some of my customers.
    My remaining answers are based on my personal experience, and may only be valid in my area. (Yes, things are VERY regional.)
    >
    1. Why are Oracle DBA's paid more than SQL DBA's? It
    must be something skill specific? What is it? Often, an Oracle DBA is a trained DBA. SQL Server DBAs seem to be decent developers who are [or have been stuck] doing DBA work.
    I find that SQL Server DBAs who are truly capable of handling all of {backup, recovery, troubleshooting, security, development, disaster recovery, audit, locking, configuration, RAID and disk, upgrade, migration and porting (to name a few)} competently are generally paid comparable to Oracle DBAs.
    However, I also find there are extremely few true SQL Server DBAs.
    >
    2. Will this trend likely continue as newer versions
    of Oracle are released that are easier to manage?Yes.
    Although Oracle administration is easier, DBAs are now expected to handle more instances, and adminstrator across more servers, and are expected to be competent in more of the feature capabilities.
    There is NO reduction in the amount of work. The 'easier to manage' stuff simply means being more efficient.
    >
    3. With that extra cash, is there typically more
    hours involved? I dont mind working a bit extra if
    needed, but I do have little ones that I'd like to
    watch grow up.
    A blatant observation: Oracle tends to be used in more mission critical environments, and SQL Server in department support environments. Mission critical tends to be watched closer, and require 'fast aqnd competent' response. Pager duty seems to be more prevelant in Oracle positions - department server crashes can be handled by a reboot in the morning.
    4. Are there typically differences in the job
    responsibilities between Oracle and SQL DBA's? The
    changing trend these days is to include DTS/ Analysis
    Services/ Reporting Services all under the DBA
    umbrella. Do Oracle DBA's typically have the same
    type of stuff?Many SQL Server 'DBAs' I know personally are 'super developers' but not really DBAs.
    Observation: DBAs are often very 'repeatable' detail oriented, whereas developers are 'get it done' oriented. Very different mentailties, both very important.
    >
    5. If I do continue down this path, it would probably
    be far easier for me to learn on Windows than *nix.
    Is this a valid thing to do, or should I not bother?
    I've been told that it's still worth while, but have
    real reservations about needing to tell an
    interviewer "I've only used it on Windows". Oracle is quite operating system independant. Pick your poison.
    SQL Server is quite operating system dependant. Some else picks your poison.
    There is no shame in saying to an interviewer that you have a strong competence in Oracle but only experience in Windows. A good potential employer will often provide appropriate additional training to a suitable, honest, candidate.
    >
    I realize this is all subject to personal experiences
    and feelings, but don't know how else to figure this
    stuff out without asking.
    I strongly encourage you to contact locals rather than ask in these forums. Check whether there is an Oracle User Group close to you, and meet and chat with the members. Ditto for SQL Server. (You can find out by contacting respective sales reps.)
    The above is NOT a dismissal of SQL Server capabiltites or SQL Server DBAs. (Some close friends are extremely competent with SQL Server.) It is just a set of personal observations.

Maybe you are looking for