SQL*PLUS Alternative

Hi,
I am looking for a user-friendly alternative for SQL*Plus.
Is there any oracle or 3rd party product that help me tp develop PLSQL procedures?
I like to have syntax colouring, and having breakpoint and trace scripts. Something like SQL Server Query Analyser would be perfect.
Any help would be apperceived,
Alan

You can find many freeware and shareware PL/SQL Developer /Editor softwares on the net.
Some of the most useful once are:
T.O.A.D. from Quest Software(http://www.brothersoft.com/TOAD_Download_3074.html)
PL/SQL Developer
(http://www.download.com/PL-SQL-Developer/3000-10255_4-8591498.html)
PL/SQL Editor
(http://www.dkgas.com/oraedit.htm)
and many more

Similar Messages

  • Sql * plus 9 is not able to connect oracle 7 database

    Today I have installed oracle 9i release 2 and found that the sql * plus provided with is unable to connect oracle database version 7. But before that we were able to connect the oracle 7 database well.
    Any one having a clue on that...?
    Is it a product bug...?
    If so then please provide me some alternative solution clue or patch download link. Please remember in any condition currently it is not possible discard my oracle 7 database.
    With Regards.
    Soumen.

    No, it is not a bug. You just cannot connect with Ora9i R2 SQL*Plus to an Ora7 database.You cannot create a DB link between the two database either, if you are planning on doing that.
    A solution is to install Ora8 client, which can connect to both Ora9 and Ora7 database (but a db link will stil be impossible).

  • Using Internet enabled SQL*Plus

    I' d like to use this feature just as it is describe in the document from Luan Nim.
    I wrote a simple test_sql.sh that work very well under unix.
    # test utilisation sqlplus sous Web
    #! /usr/bin/sh
    # . $HOME/.profile
    echo Content-type: text/html
    # Mise en place des variables
    ORACLE_HOME=/oracle/u01/app/oracle/product/9i/
    export ORACLE_HOME
    ORACLE_SID=oracle_sid
    export ORACLE_SID
    #export TNS_ADMIN
    #NLS_LANG=FRENCH_FRANCE.WE8ISO8859P1
    #export NLS_LANG
    #echo $ORACLE_HOME
    #echo $ORACLE_SID
    # Execution de sqlplus
    #echo $ORACLE_HOME/sqlplus -M \"html on\" user/pwd@$ORACLE_SID @./test_sql.sql
    sqlplus -M "html on" -S user/pwd@$ORACLE_SID @./test_sql.sql
    When calling it from Web Browser (IE5) I get the following error :
    403 - Forbidden
    You don't have permission to access cgi-bin directory ?
    How can I do ?

    It looks like your web server is not configured to handle
    CGI scripts. Does your web server documentation give steps
    to configure CGI? Sometimes simple example CGI scripts
    are included. Once these are working, then we can help
    setting up a SQL*Plus CGI.
    If you are using Apache, check the httpd.conf file for the
    ExecCGI option. See if you can get the "printenv"
    demonstration CGI script working. Then move your SQL*Plus
    CGI shell script to the same directory, and try it there.
    Don't forget to echo a blank line after the "Content-type:
    text/html", else the CGI output will not be interpreted
    correctly.
    The SQL*Plus 9.2 UG&R has an example of a Perl CGI script
    for calling SQL*Plus:
    http://otn.oracle.com/docs/products/oracle9i/doc_library/release2/server.920/a90842/ch8.htm#1005951
    The iSQL*Plus web-based interface does most of the things
    done by a CGI based call to command-line SQL*Plus. Its
    "Dynamic Reports" feature is very similar to getting a CGI
    script to return a report from a static .SQL file. If you
    (i) have Oracle 9.2 (or 9.0 on Windows) installed (ii) don't
    mind getting HTML pages back, then it may be a better
    alternative to CGI. (Note the SET MARKUP HTML PREFORMAT OFF
    command can be used to give traditional character aligned
    text, but there will still be HTML page headers and
    footers).
    -- CJ

  • Reading package contents in SQL Plus

    Hi,
    I'd asked a similar question last week, but didn't see it responded to with a proper reply.
    Ive created a package in SQL Plus, and much like you use the DESCRIBE command to see info on tables that are created, I'd like to see the contents and script of my package to verify some contents of it.
    How can I do that? Or can I do that?
    I've read this:
    http://download-west.oracle.com/docs/cd/A87860_01/doc/appdev.817/a77069/08_packs.htm#4376
    But it doesn't explain within how to go about doing that if indeed that is possible at all. Would anyone that knows if this can be done please reply with the way to do it?
    Thanks!

    Hi,
    You can query USER_SOURCE (or ALL_SOURCE, at your choice) to get what you need.
    Consider:
    SQL> create or replace package small is
      2    procedure Test;
      3  end;
      4  /
    Package created.
    SQL> create or replace package body small is
      2
      3  procedure Test is
      4  begin
      5    null;
      6  end;
      7
      8  end;
      9  /
    Package body created.We just created simple package, for demonstration purposes. Now, we're about to view its source:
    SQL> column text format a100
    SQL>
    SQL> select line, text
      2    from user_source
      3   where name = 'SMALL'
      4     and type = 'PACKAGE'
      5   order by line;
          LINE TEXT
             1 package small is
             2   procedure Test;
             3 end;
    SQL> select line, text
      2    from user_source
      3   where name = 'SMALL'
      4     and type = 'PACKAGE BODY'
      5   order by line;
          LINE TEXT
             1 package body small is
             2
             3 procedure Test is
             4 begin
             5   null;
             6 end;
             7
             8 end;
    8 rows selected.
    SQL>Alternatively, you can make use of DBMS_METADATA package.
    Regards.

  • Help:SQL plus

    Hi,
    I am new to Oracle installation. I recently installed 8i on my windows 98 computer. After completing, I am unable to log into Sql plus using either SYSTEM and Manager or SCOTT and TIGER. I will appreciate any insight on this. Also, I am wondering how whether I can configure net8 for a stand alone computer. Thanks in Advance.

    Could you (some other reader) please walk me through how to set the environment variables
    Oracle_HOME and ORACLE_SID? Alternatively help me find the necessary documentation. Thanks

  • SQL*PLUS mouse scroling not working..

    Hi,
    I am facing one problem in SQL*Plus tool, and couldn't find solution. Please help me.
    I have set the line size 9999. When i select the data from table (or dual) which is having more line size that the screen size, some of the part is displayed on screen that the rest have been cut. I cannot scroll the screen horizontally to see the rest part of the output. If i set the line size 80, the whole output is displayed in wrapped style.
    Is there any other configuration or settings i need to do.. Please let me know what i am missing..
    Regards,
    Dipali.

    Aman, Amar and Jaffy,
    Thanks for your reply.
    Aman, yes dear, i can use DOS prompt, but i am using SQL*Plus tool and facing problem it. Instade of looking for alternative i want to solve this problem.
    Jaffy, i go through the index of the book given in the link by you. But didn't find the topic related to my problem.
    Aman, I tried to increase the screen buffer size from environment dialogue box. When i tried for first time, i was asked to disconnect from database. I did that, increased the buffer width to 10000 and keep the lenght untouchd (1000) and set the line size to 9999. Then i connected to DB and checked it and i got what i wanted :).
    But when i tried for next time, i was not getting that..It was behaving strange.. when i set the buffer size 10000, it showed message that 'screen buffer lenght must be between 80 to 1000' and when i set it to 1000 it showed 'screen buffer lenght must be between 80 to 2000' !!!!
    I am still trying.....
    Thank you.. :)
    Dipali.

  • Standalone sql* plus

    ****New to this, sorry for silly questions*****
    I've managed to install 9ias andgot it up and running. I can access it via sql* plus if I'm on the machine on which 9ias is loaded.
    I wan't to check that I can access the database via the network. I can't seem to find a standalone of sql* plus. Obviously I don't want to install 9ias on another machine, just so I can get sql* plus on it. Can I get sql *plus on it's own so that I can install it on a client machine.
    As an alternative, I've tried to connecting using DataViewer Pro, but get an error message saying that various dll's were not found an I need to check that my oracle client installed properly. Can anyone tell me what this means. Is the client something I need to install on the client machine or on the server to allow the client to access it?
    Thanks

    When you do a database install one of the options is to install client software instead of a database install. You'll find sqlplus there plus a few other tools that'll be installed.

  • IF statement in SQL*Plus - how to do it

    Hi,
    In SQL*Plus script, I would like to keep conditional checking (IF statement) and proceed. For example, whatever is done in PL/SQL block below, want to do the same in SQL*Plus script, I know partly it can be done using VARIABLE keyword, conditional checking can be done using DECODE in SELECT statement, but I want to carry out a more complex requirement, hence I want to use IF statement somehow in SQL*Plus.
    Another question, how to do spooling in PL/SQL script, it can be done using UTL_FILE, any other option is there to achieve this.
    declare
    v_ind_count int;
    begin
    select count(1) into v_ind_count from user_indexes where index_name = 'index_object_name';
    IF v_ind_count > 0
    THEN
    dbms_output.put_line('index found');
    ELSE
    dbms_output.put_line('index does not exist');
    END IF;
    end;
    /

    Hello,
    SQL*PLUS has no scripting language. It can only execute SQL and PL/SQL scripts. There are some commands like SPOOL or SET but no commands for conditional statements. You should describe your requirements, maybe we can find a way.
    Or you can search the forum, maybe your question has already been answered
    [Google for SQL*PLUS + condition|https://www.google.de/search?q=site%3Aforums.oracle.com+"SQL*PLUS"+condition]
    # {message:id=4189517}
    # {message:id=4105290}
    how to do spooling in PL/SQL scriptFrom within PL/SQL you can use dbms_output, the spool has to be started by the calling SQL script when it is executed in SQL*PLUS. Or you can use utl_file, but then you can only write to a server directory, not into a client file. To give an advice we need more information about what you want to do.
    Regards
    Marcus

  • Apex 4.0 - Can see view data in SQL*Plus but no data in Object Browser

    Hi There,
    I have just started using Apex 4.o and migrated some apps. I have an issue with a report, but see the same issue with Object browser, which is easier to describe.
    I have a view:
    create or replace view V_PLJ_USERDEF_CODES (
             CODE_SET_ID,
             CODE_SET_CODE,
             CODE_SET_DESC,
             CODE_ID,
             CODE_SYS_CODE,
             CODE_VALUE,
             CODE_DESC,
             DISPLAY_SEQ,
             DISPLAY_FLAG,
             LANGUAGE_CODE) as
      select CS.CODE_SET_ID,
             CS.CODE_SET_CODE,
             CS.CODE_SET_DESC,
             C.CODE_ID,
             C.CODE_SYS_CODE,
             C.CODE_VALUE,
             C.CODE_DESC,
             C.DISPLAY_SEQ,
             C.DISPLAY_FLAG,
             C.LANGUAGE_CODE
        from PLJ_CODES C,
             PLJ_CODE_SETS CS
       where C.CODE_SET_ID         = CS.CODE_SET_ID
         and CS.CODE_SET_TYPE_CODE = SYS_CONTEXT('PLJUMPSTART','C_USERDEF_CODE_SET');This returns data in SQL*Plus, but no data in Object Browser OR report region based on this view.
    Workspace parses in the same schema as tested in SQL*Plus.
    If, in report, I swap out view, and use underlying table - no problem.
    Any ideas -
    thanks
    P

    Hi all,
    Thanks for getting back so promptly.
    It just seems weird to me, as tables are just fine, but not views.
    In the underlying schema:
    SQL> sho user
    USER is "ICSREPORTING"
    SQL> select count(*) from plj_codes;
      COUNT(*)
           107
    SQL> select count(*) from v_plj_userdef_codes;
      COUNT(*)
            29And in the APEX schema
    SQL> sho user
    USER is "APEX_040000"
    SQL> select count(*) from icsreporting.plj_codes;
    select count(*) from icsreporting.plj_codes
    ERROR at line 1:
    ORA-00942: table or view does not exist
    SQL> select count(*) from icsreporting.v_plj_userdef_codes;
    select count(*) from icsreporting.v_plj_userdef_codes
    ERROR at line 1:
    ORA-00942: table or view does not exist
    SQL>However, in SQL browser, I can see the data in PLJ_CODES but in V_PLJ_USERDEF_CODES, just the message "This view has no data". Indeed, it is like this for all views.
    I even explicitly granted access to APEX_040000 but no good.
    In fact, I would like to know more about how Apex gets access to do DML against the underlying parsing schema(s).
    This is a little frustrating though. It worked just fine in lots of apps in version 2.1 to 3.2
    Am I missing something
    paul
    p.s I knew there would be a question about the context, but I had already checked that. :)
    Edited by: PJ on Nov 19, 2010 4:09 AM

  • Can not query PQH_BUDGET_DETAILS in SQL*Plus

    Hi!
    I can see the Positions in the Forms-Mask within EBS.
    I want to write a concurrent Programm which queries some data form the positions-table.
    If i klick on "Help > Diagnostics > Examine" and select "system.last_query" i can see, that the data comes from a view called: "PQH_POS_BUDGETS_V".
    But if i try to query this view in SQL*Plus, it is empty.
    So i had a look at how this view is build, and i found, that the base tables should be PQH_BUDGETS and PQH_BUDGET_DETAILS.
    How can i query the position_id in PQH_BUDGET_DETAILS in a concurrent program or an self-writen BI Publisher Report?
    If i try to query in SQL*Plus it's empty.
    Who can help me with this issue?
    Thank you for your help!
    Best regards,
    Thomas

    Hi!
    Thats great!
    Thank you very much!
    Best regards,
    Thomas

  • SQL*Plus - how to suppress the SQL in a spool file

    This is my SQL*Plus script. I thought I had solved the problem, but it is back now and I don't know what I am missing. But I don't want the query at the top of the file.
    SET SERVEROUTPUT ON
    SET MARKUP HTML ON -SILENT
    SET ECHO OFF
    SET PAGESIZE 33
    SET TERMOUT OFF
    Spool C:\DuaneWilson.xls
    SELECT *
    FROM RPT_DS1_CNT_CAT_vw
    WHERE ROWNUM <=100
    ORDER BY CVBI_KEY;
    SET MARKUP HTML OFF
    SET ECHO ON
    SET PAGESIZE 20
    SET TERMOUT ON
    SET SERVEROUTPUT OFF

    It turns out when I run the script with the @ or Start with the file name, there is no SQL put out to the file. But when I just copy the text out of the file and run it at the prompt, the SQL appears in the output file. In reference to the -SILENT, I put that in after the MARKUP statement and got an error. Maybe I don't know where that goes. And I am not sure why there is a difference if it is run as a script or just pasted to the buffer. At least it should be the same in the output file, I would think.

  • Checking Module to Prevent SQL Plus usage on Database

    I have a question regarding logon triggers checking against SYS_CONTEXT('USERENV', 'MODULE'). I created a logon trigger that looks for SYS_CONTEXT('USERENV', 'MODULE') = 'SQLPLUS.EXE'
    and if it matches then it only allows specified users to log in to the database. This code works but I am confused as to why when I check SYS_CONTEXT('USERENV', 'MODULE') after I login in
    shows SQL*Plus which clearly does not match my IF statement in my logon trigger.
    Second issue. If I rename sqlplus.exe to jeff.exe and run it I am abled to log in to the database as a non DBA user. But the module still shows as SQL*Plus. Why is this?
    Database Version: 11.2.0.2 64bit
    OS: Windows Server 2003 R2
    Client: 11.2.0.1
    /*********************Create Trigger******************************/
    CREATE OR REPLACE TRIGGER application_check_al
      after logon ON database 
    DECLARE
      l_username VARCHAR2(20);
      l_module   VARCHAR2(20);
    BEGIN
      l_username := SYS_CONTEXT('USERENV', 'SESSION_USER');
      l_module   := UPPER(SYS_CONTEXT('USERENV', 'MODULE'));
      IF l_module LIKE 'SQLPLUS.EXE' AND
         l_username NOT IN ('SYS', 'SYSTEM', 'DVOWNER', 'DVMGR') THEN
        raise_application_error(-20001, 'SQLPLUS ACCESS RESTRICTED FOR NON DBA USERS');
      END IF;
    END application_check_al;
    /*********************Run SQLPLUS******************************/
    SQL*Plus: Release 11.2.0.1.0 Production on Wed Mar 7 12:22:23 2012
    Copyright (c) 1982, 2010, Oracle.  All rights reserved.
    Enter user-name: jeffc@dev
    Enter password:
    ERROR:
    ORA-00604: error occurred at recursive SQL level 1
    ORA-20001: SQLPLUS ACCESS RESTRICTED FOR NON DBA USERS
    ORA-06512: at line 10
    Enter user-name: system@dev
    Enter password:
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining, Oracle Database Vault
    and Real Application Testing options
    system@dev> select sys_context('USERENV','MODULE') from dual;
    SYS_CONTEXT('USERENV','MODULE')
    SQL*Plus
    SQL>

    jeff81 wrote:
    That doesn't make sense. Why am I able to log in when I renamed the exe? And why does the module still show as SQL*Plus?You are right - it does not make sense. The idea that Oracle might perhaps set module to SQLPLUS.EXE on executable start, and then re set from SQLPLUS.EXE to SQL*Plus after connect, or in glogin.sql, to ensure it is consistent across all operating system never crossed my mind.
    You might want to refer to Support Note "SQL*Plus Session/Module is Not Showing in V$SESSION" [ID 1312340.1] to see whether anything in there helps. I'm pretty sure http://docs.oracle.com/cd/E11882_01/server.112/e16604/ch_twelve040.htm#i2698573 doesn't help much, though.
    I'd certainly be raising it with Support as a potential security challenge, to get that potential hole closed.
    Edited by: Hans Forbrich on Mar 7, 2012 2:23 PM
    I wonder whether Oracle put that capability in there - if an untained SQLPLUS.EXE, it tells you that it is SQLPLUS.EXE, but if renamed it tells you 'SQL*Plus'? Specuklation, but it is one thing I might do to subtly raise the flag. Best bet - ask Support.
    Edited by: Hans Forbrich on Mar 7, 2012 2:29 PM

  • Cannot see table in sql developer or sql plus

    I have created a record in application designer. I have then built the table. I can close the record and then find it again in application designer. But if I go to sql plus or sql developer, I cannot see it. Am I missing a step?

    You probably can see all the tables of sysadm because someone else give you proper grant for that on existing sysadm's objects.
    For the new or modified object (drop+create) you should :
    1. connect as sysadm and run
    grant select on new_table_name to your_own_user;2. connect with your own user and run
    create synonym new_table_name for sysadm.new_table_name;Then you'll be able to query that table without using schema name alias.
    Some admin have also a ddl trigger to make it automatically.
    You could also work through a role and public synonym if more than one user needs to access sysadm's objects.
    Nicolas.

  • Oracle10g Developer Suite - Application Development - SQL Plus Login Info

    I have installed Oracle10g Developer Suite and when I am trying to login into the sql*plus environment the username scott with the passcode tiger is not working. I have Oracle9i Enterprise Edition Release 9.2.0.1.0 as the database.
    Can anyone help me in setting up the username and password to login into Sql*plus Release 10.1.0.4.2

    It sounds like you may be new to Oracle and its products. I would recommend doing some reading.
    Oracle 9.2 Net Services Admin Guide
    http://download-west.oracle.com/docs/cd/B10501_01/network.920/a96580/toc.htm
    Oracle Developer Suite Installation Guide
    http://download-west.oracle.com/docs/cd/B25016_06/doc/dl/core/B16012_03/toc.htm
    You create the "login" information when you install the database. If you are not the person who performed the installation, you will need to contact them or install it again. Also, be aware that the SCOTT schema is disabled by default in newer database versions for security reasons.
    The tnsnames.ora and sqlnet.ora files can be found in the ORACLE_HOME\network\admin directory. This is the same for all Oracle products that use Sql-Net for database connections. You can also use the TNS_ADMIN environment variable to point to a pre-existing tnsnames.ora file (see previously mentioned documents).
    The tnsnames.ora entry will be unique to your database and its listener however here is an example:
    ORCL =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = someServer.com)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = orcl)
    )

  • Oracle:JDBC Call returns no results, SQL*Plus returns 1 record, Please help

    Any help would be greatly appreciated.
    Running 9.2.0.5.0, and using latest 9.2 JDBC 1.4_g drivers in thin mode.
    Execute the following query from SQL*Plus and it returns one row, from JDBC using a PreparedStatement, I get no results. Here's the query, table def, record, etc.:
    Query:
    SELECT
    ID_WEB_FRM,ID_WEB_SIT,CDE_LVL_1_FUNC,
    CDE_LVL_2_FUNC,NUM_WEB_FUNC_PG,NUM_WEB_PG_ID
    FROM
    WEB_FRM
    WHERE
    ID_WEB_FRM = ' '
    OR
    (ID_WEB_SIT = 'test' AND CDE_LVL_1_FUNC = ' '
    AND CDE_LVL_2_FUNC = 'u2T' AND NUM_WEB_FUNC_PG = 1
    AND NUM_WEB_PG_ID = 0)
    Record returned from SQL*Plus:
    ID_WEB_FRM ID_WEB_SIT CDE CDE NUM_WEB_FUNC_PG NUM_WEB_PG_ID
    NfRRmc5XZu test u2T 1 0
    Both in the data returned and the query, there are no blanks, but they are a single space instead (hard to see in message here).
    Java code:
    int count = 1;
    findDBNameStatement.setString(count++," ");
    findDBNameStatement.setString(count++,form.getSiteID());
    findDBNameStatement.setString(count++," ");
    findDBNameStatement.setString(count++, form.getFunctionID());
    findDBNameStatement.setInt(count++,form.getPageNumber());
    findDBNameStatement.setInt(count++,form.getSectionNumber());
    ResultSet resultSet = findDBNameStatement.executeQuery();
    ResultSetMetaData metaData = resultSet.getMetaData();
    resultSet.next() returns false
    DB table:
    CREATE TABLE web_frm (
    ID_WEB_FRM varchar2(10) NOT NULL,
    ID_WEB_SIT varchar2(20) NOT NULL,
    NAM_WEB_FRM varchar2(40),
    TXT_EMAIL_SUBJ varchar2(50),
    CDE_LVL_1_FUNC char(3),
    CDE_LVL_2_FUNC char(3) NOT NULL,
    NUM_WEB_FUNC_PG int NOT NULL,
    NUM_WEB_PG_ID smallint NOT NULL,
    DTE_WEB_FRM_EFF date NOT NULL,
    DTE_WEB_FRM_TRM date,
    CDE_VLDT_RUL char(3),
    DTE_LAST_EXPRT date,
    TXT_CNFRMN_MSG varchar2(4000),
    IND_UPDT_ALWD char(1) NOT NULL,
    TXT_RECAP_HDR varchar2(4000),
    TXT_RECAP_FTR varchar2(4000),
    CDE_WEB_OBJ char(3),
    NUM_MAX_FRM_WIDTH number(4,0),
    IND_RECAP_PG char(1) NOT NULL,
    IND_CNFRM_PG char(1) NOT NULL,
    IND_DSPL_CNFRM_NUM char(1) NOT NULL,
    CNT_SUBM_MAX int,
    TXT_CHCE_ADD_MSG varchar2(255),
    TXT_CHCE_MOD_MSG varchar2(255),
    TXT_WEB_HDR varchar2(4000),
    TXT_WEB_FTR varchar2(4000),
    TXT_WAIT_LIST_MSG varchar2(255),
    FORMOBJECTHEIGHT int NOT NULL,
    FORMOBJECTWIDTH int NOT NULL
    ALTER TABLE web_frm ADD ( CONSTRAINT PK_web_frm PRIMARY KEY (ID_WEB_FRM));
    ALTER TABLE web_frm ADD ( CONSTRAINT UK_web_frm UNIQUE (ID_WEB_SIT,CDE_LVL_1_FUNC,CDE_LVL_2_FUNC,NUM_WEB_FUNC_PG,NUM_WEB_PG_ID)) ;
    Thanks,
    Matt

    That's not quite right. From the javadocs:
    next
    public boolean next()
    throws SQLException
    Moves the cursor down one row from its current position. A ResultSet cursor is initially positioned before the first row; the first call to the method next makes the first row the current row; the second call makes the second row the current row, and so on.
    If an input stream is open for the current row, a call to the method next will implicitly close it. A ResultSet object's warning chain is cleared when a new row is read.
    Returns:
    true if the new current row is valid; false if there are no more rows
    Throws:
    SQLException - if a database access error occurs

Maybe you are looking for