SQL Program better than SQL*Plus

Hello
Do you know any program better than SQL*Plus for Oracle Database?
I also know TOAD and SQL Navigator, is there any other
If yes where can I download it ?
Thanks in advance.

Hi Kurt.
RoboSource Control to my knowledge hasn't been developed in recent releases. It is essentially the same product that existed years ago. It works, but does not have a lot of users. Most people, including myself, prefer to use third party products such as Perforce, SVN.
As RoboSource Control is an old product and isn't widely used, I doubt whether anyone has tried using it on SQL Server Express 2012. That is not to say it won't work on it though.

Similar Messages

  • How do i get sql plus to start in something other than command prompt?

    I have just installed oracle 11g enterprise addition. I am use to a different type of editor for the sql plus, the one I am use to comes up in a white area and has drop downs for file, tools, spool, help and so on. You can also open notepad with a shortcut. I like this better than command prompt how do i get this?

    I think you mean sqlplusw.exe which is a Windows executable delivered until Oracle 10.2 but no more delivered with Oracle 11g.
    Mayb you can have a look to SQL Developer http://www.oracle.com/technology/software/products/sql/index.html

  • Error in calling SQL plus program with parameter from Shell script

    This is my Shell script. I am trying to call in the SQL plus program with the parameter and the shell script is registered as a concurrent program.
    PARAMETERS=`echo $1 |tr -d '\"'`
    DB_USER_ID=`echo $PARAMETERS|cut -d" " -f3|cut -d"=" -f2`
    CONN_STRING=$DB_USER_ID
    REQ_DATE=`echo $PARAMETERS|cut -d" " -f9|cut -d"=" -f2`
    timestamp=`date +%m-%d-%y-%H:%M:%S-%Z`
    timestam=`date +%y-%m-%d`
    sqlplus -s $CONN_STRING @ar_statement.sql $REQ_DATE
    chmod 755 statement.sh
    . statement.sh
    My Sql plus program is like this.
    set pagesize 0
    set heading off
    set feedback off
    spool $GEC_TOP/log/ge_ar_statement.sh
    select output_file_name
    from fnd_concurrent_requests
    where trunc(actual_completion_date) = '&2';
    spool off;
    exit;
    When i run the concurrent program, i am getting the following error:
    ar_statement: line 14: REQ_DATE: command not found
    Enter value for 2:
    User requested Interrupt or EOF detected.
    ar_statement.sh: line 1: Enter: command not found
    ar_statement.sh: line 2: User: command not found
    ar_statement
    Program exited with status 127
    I am not strong at Unix Porgamming and i would request someone who can
    help me out as soon as possible.
    I need this solution quickly and thank everyone in advance.
    Thanks.

    Can you put your coding between code statements, like shown in the FAQ. It will be easier to read.
    Looking at your script, my first guess is that crontab will not find your sqlplus since your script does not have $HOME/bin in the $PATH. From what I understand, running .profile in your script will not work either because variables are exported to sub-shells, not to the shell above. You can call your script with a dot like . ./script which means that the script will run like it was typed at the command prompt. But it will be less confusing to define appropriate variables in the script. eg.
    ORACLE_SID=my_instance_name
    ORACLE_HOME=/my_path_to_oracle_home_directory
    LD_LIBRARY_PATH=$ORACLE_HOME/lib
    PATH=$ORACLE_HOME/bin:$PATH
    I remember some slightly different way of coding to handle the sqlplus return codes.
    For instance:
    sqlplus -s /nolog > /dev/null <<-EOF
    connect system/manager
    @ssm.sql
    whenever oserror exit failure
    whenever sqlerror exit failure
    EOF
    sql_err=$?
    if [ $sql_err -ne 0 ]; then
       echo "FAILURE"
    else
       echo "SUCCESS"
    fiThe - in -EOF supresses tab's
    Using connect will prevent ps from showing your login credentials
    In some versions of bash the ending EOF needs to be at the beginning of the line to work.
    Edited by: waldorfm on Jul 14, 2010 7:05 PM
    complaining about putting code between code delimiters and forgot myself ;-)
    Edited by: waldorfm on Jul 14, 2010 7:08 PM
    Btw, if you "source" a script running it like . .script, than an exit in that script will log you out.

  • Got SQL *Plus query output in more than one in a single page

    Hi All,
    I have write a SQL *Plus code for execute one SQL query and registered as concurrent program. But I have got the output more than once in a single page after running the concurrent program. I am not getting what is the my code problem. Please can any one help me.
    This is my SQL code.
    -- These commands are added by applications concurrent manager
    SET TERMOUT OFF
    SET PAUSE OFF
    SET HEADING OFF
    SET FEEDBACK OFF
    SET VERIFY OFF
    SET ECHO OFF
    WHENEVER sqlerror exit failure
    -- set user environment
    SET pagesize 999
    SET linesize 860
    SET appinfo on
    SET tab off
    SET newpage none
    SET heading on
    --SET colsep ','
    -- define heading/footer
    --ttitle -
    -- left currdate -
    -- center 'SSFT Open PO Report' -
    -- right 'Page : ' format 999 sql.pno -
    -- skip 1 -
    -- center 'Organization US / Type Contract Labor / Status - Open' -
    -- skip 2
    --btitle -
    -- skip 1 -
    -- center 'Scansoft Inc. - All information confidential'
    -- define columns
    CLEAR columns
    SET heading on
    COLUMN c1 format a30 heading '"Last Name"' trunc
    COLUMN c2 format a30 heading '"First Name"' trunc
    COLUMN c3 format a50 heading '"Employee Name"' trunc
    COLUMN c4 format a20 heading '"Timecard Number"' trunc
    COLUMN c5 format a40 heading '"Expenditure Batch"' trunc
    COLUMN c6 format a24 heading '"Weekending Date"' trunc
    COLUMN c7 format a24 heading '"Expenditure Item Date"' trunc
    COLUMN c8 format a20 heading '"Expendtrmonth"' trunc
    COLUMN c9 format a20 heading '"Expendtryear"' trunc
    COLUMN c10 format a24 heading '"Sortdate"' trunc
    COLUMN c11 format 999999999 heading '"Task Id"'
    COLUMN c12 format a30 heading '"Task Name"' trunc
    COLUMN c13 format a30 heading '"Task Number"' trunc
    COLUMN c14 format a24 heading '"Closed Date"' trunc
    COLUMN c15 format a30 heading '"Project Name"' trunc
    COLUMN c16 format a30 heading '"Project Number"' trunc
    COLUMN c17 format a30 heading '"Project Status Code"' trunc
    COLUMN c18 format a30 heading '"Expenditure Type"' trunc
    COLUMN c19 format a30 heading '"Expenditure Org Name"' trunc
    COLUMN c20 format 999999999 heading '"Organization Id"'
    COLUMN c21 format a50 heading '"Projmrg"' trunc
    COLUMN c22 format a25 heading '"Role"' trunc
    COLUMN c23 format a24 heading '"Projmrg Start Date"' trunc
    COLUMN c24 format a24 heading '"Projmrg Start Date"' trunc
    COLUMN c25 format a35 heading '"Job Name"' trunc
    COLUMN c26 format a35 heading '"Project Type"' trunc
    COLUMN c27 format 999999999.99 heading '"Quentity"' trunc
    -- define breaks & computes
    --break -
    -- on report skip 2 -
    -- on c30 -
    -- on c20 skip 1
    --compute avg label 'Average' of c210 on report
    -- select statement here
    SELECT papf.last_name || '' c1, papf.first_name || '' c2,
    papf.full_name || '' c3, pea.orig_user_exp_txn_reference || '' c4,
    pea.expenditure_group || '' c5, pea.expenditure_ending_date || '' c6,
    peia.expenditure_item_date || '' c7,
    SUBSTR (TO_CHAR (peia.expenditure_item_date), 4, 3) || '' c8,
    SUBSTR (TO_CHAR (peia.expenditure_item_date), 8, 2) || '' c9,
    TO_DATE (SUBSTR (TO_CHAR (peia.expenditure_item_date), 4, 6),
    'MM/YY'
    || '' c10,
    peia.task_id || '' c11, pt.task_name || '' c12,
    pt.task_number || '' c13, ppa.closed_date || '' c14, ppa.NAME || '' c15,
    ppa.segment1 || '' c16, ppa.project_status_code || '' c17,
    pet.expenditure_type || '' c18, haou.NAME || '' c19,
    haou.organization_id || '' c20, pppv.full_name || '' c21,
    pppv.ROLE || '' c22, pppv.start_date_active || '' c23,
    pppv.end_date_active || '' c24, pj.NAME || '' c25,
    ppa.project_type || '' c26, peia.quantity || '' c27
    FROM pa.pa_expenditures_all pea,
    pa.pa_expenditure_items_all peia,
    pa.pa_tasks pt,
    pa.pa_projects_all ppa,
    hr.per_all_people_f papf,
    hr.hr_all_organization_units haou,
    pa.pa_expenditure_types pet,
    apps.pa_project_players_v pppv,
    hr.per_jobs pj
    WHERE pea.expenditure_id = peia.expenditure_id
    AND peia.task_id = pt.task_id
    AND peia.job_id = pj.job_id
    AND pt.project_id = ppa.project_id
    AND pea.incurred_by_person_id = papf.person_id
    AND pea.incurred_by_organization_id = haou.organization_id
    AND pet.expenditure_type = peia.expenditure_type
    AND ppa.project_id = pppv.project_id
    AND pppv.end_date_active IS NULL
    AND pea.expenditure_ending_date >= SUBSTR (SYSDATE - 545, 1, 9)
    ORDER BY papf.full_name ASC,
    pea.expenditure_ending_date ASC,
    peia.expenditure_item_date ASC;
    --spool off
    Thanks in advance
    --Subhas                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Hi
    Either remove the semicolon (;) or the slash (/) at the end of your query, as both will execute it.

  • Explain plan results are different in SQL Developer than SQL Plus

    My Environment:
    SQL Developer 1.0.0.15.27
    Platform where SQL Developer is running: Windows XP 2002 SP2
    Oracle Database and Client 9.2.0.7
    Optimizer_mode: FIRST_ROWS
    I have the following SQL statement:
    SELECT a1.comp_id
    FROM temp_au_company a0, au_company a1
    WHERE :b2 = a0.temp_emp_code
    AND a0.comp_id = a1.comp_id
    AND a0.sls_terr_code != a1.sls_terr_code
    AND a1.last_mdfy_date > :b1
    When I run an Explain in SQL Developer I get the following access path (which is the one I really want):
    SELECT STATEMENT                          TABLE ACCESS(BY INDEX ROWID) FEDLINK.AU_COMPANY          NESTED LOOPS                                   INDEX(RANGE SCAN)
    FEDLINK.UX2_TEMP_AU_COMPANY
              INDEX(RANGE SCAN) FEDLINK.PX1_COMPANY
    However, when I execute the statement with sql_trace turned on and use tkprof to generate the actual access path, the statement executes as follows (which is WAY more expensive):
    call count cpu elapsed disk query current rows
    Parse 1 0.00 0.00 0 0 0 0
    Execute 1 0.00 0.00 0 0 0 0
    Fetch 1 3.58 6.68 28136 29232 0 0
    total 3 3.58 6.69 28136 29232 0 0
    Misses in library cache during parse: 1
    Optimizer goal: FIRST_ROWS
    Parsing user id: 979 (FEDLINK) (recursive depth: 1)
    Rows Row Source Operation
    0 NESTED LOOPS
    0 TABLE ACCESS FULL AU_COMPANY
    0 INDEX RANGE SCAN UX2_TEMP_AU_COMPANY (object id 49783)
    Notice the FULL access of au_company.
    I understand that SQL Developer has nothing to do with why the statement executed the way it did, but why is the Explain in SQL Developer different than the actual execution plan?
    Added note....when I run the explain in SQL Plus it is the same as the actual execution. Here is the explain from SQL Plus:
    explain plan for SELECT a1.comp_id
    FROM temp_au_company a0, au_company a1
    WHERE '1' = a0.temp_emp_code
    AND a0.comp_id = a1.comp_id
    AND a0.sls_terr_code != a1.sls_terr_code
    AND a1.last_mdfy_date > '01-MAY-2006';
    PLAN_TABLE_OUTPUT
    | Id | Operation | Name | Rows | Bytes | Cost |
    | 0 | SELECT STATEMENT | | 2 | 76 | 2597 |
    | 1 | NESTED LOOPS | | 2 | 76 | 2597 |
    | 2 | TABLE ACCESS FULL | AU_COMPANY | 2 | 42 | 2595 |
    | 3 | INDEX RANGE SCAN | UX2_TEMP_AU_COMPANY | 1 | 17 | 2
    Thanks,
    Brenda

    The explain is different (full scan of au_company in SQL Plus / index access in SQL Developer) even when I use variables in SQL Plus. Here is the output for SQL Plus using variables instead of literals:
    SQL> variable b1 varchar2
    SQL> variable b2 char
    SQL> explain plan for SELECT a1.comp_id
    2 FROM temp_au_company a0, au_company a1
    3 WHERE :b2 = a0.temp_emp_code
    4 AND a0.comp_id = a1.comp_id
    5 AND a0.sls_terr_code != a1.sls_terr_code
    6 AND a1.last_mdfy_date > :b1
    7 /
    Explained.
    PLAN_TABLE_OUTPUT
    | Id | Operation | Name | Rows | Bytes | Cost |
    | 0 | SELECT STATEMENT | | 3184 | 118K| 2995 |
    | 1 | HASH JOIN | | 3184 | 118K| 2995 |
    | 2 | INDEX RANGE SCAN | UX2_TEMP_AU_COMPANY | 3187 | 54179 | 3 |
    | 3 | TABLE ACCESS FULL | AU_COMPANY | 24009 | 492K| 2983 |
    Any other ideas? They should be the same.
    Brenda

  • Connect via SQL*Plus taking more time in Oracle 11 than in 10

    Oracle Version
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    PL/SQL Release 11.2.0.3.0 - Production
    CORE    11.2.0.3.0      Production
    TNS for IBM/AIX RISC System/6000: Version 11.2.0.3.0 - Production
    NLSRTL Version 11.2.0.3.0 - Productioncurrently migrating from
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
    PL/SQL Release 10.2.0.4.0 - Production
    CORE    10.2.0.4.0      Production
    TNS for IBM/AIX RISC System/6000: Version 10.2.0.4.0 - Productio
    NLSRTL Version 10.2.0.4.0 - ProductionOS is AIX 5.3 for Oracle 10 and AIX 6.1 for Oracle 11.
    We are currently in the process of migrating some applications from Oracle 10 to 11. Our admins have setup a new development system for us with an Oracle 11 instance. Regarding performance the new system behaves more or less the same than our old, e.g. when executing SQLs we notice hardly any performance differences and those we find are slightly in favour of the new system.
    But now we discovered that the time it takes to establish a database connection via SQL*Plus is longer on the Oracle 11 system. Running the following code
    sqlplus -s user/pw@database <<END
    quit
    ENDa thousand times takes ~60s under Oracle 10 but ~140s under Oracle 11. This may not seem much but we are running a test framework consisting of a bunch of shell scripts where several thousand connections are openend via SQL*Plus to execute some SQLs, so that even this small time difference results in rather huge difference in total runtime. The SQLs themself require roughly the same time in both databases, as already mentioned above they are in fact slightly faster in Oracle 11.
    To analyze the time difference I ran a trace for the connect with the following parameters in sqlnet.ora
    TRACE_LEVEL_CLIENT=4
    TRACE_UNIQUE_CLIENT=ONand found out that there is a time difference of about 70ms during the connect handshake:
    Oracle 10
    [22-MAR-2013 12:13:09:595] nscon: doing connect handshake...
    [22-MAR-2013 12:13:09:595] nscon: sending NSPTCN packet
    [22-MAR-2013 12:13:09:621] nscon: got NSPTRS packet
    [22-MAR-2013 12:13:09:621] nscon: sending NSPTCN packetOracle 11
    (1) [22-MAR-2013 12:15:26:812] nscon: doing connect handshake...
    (1) [22-MAR-2013 12:15:26:812] nscon: sending NSPTCN packet
    (1) [22-MAR-2013 12:15:26:906] nscon: got NSPTRS packet
    (1) [22-MAR-2013 12:15:26:906] nscon: sending NSPTCN packetUnder Oracle 10 there are 26ms between sending the NSPTCN packet and getting the NSPTRS packet, whereas under Oracle 11 this takes 94ms. I ran the trace again, this time with
    TRACE_LEVEL_CLIENT=16and got the following results for the critical interval:
    Oracle 10:
    [22-MAR-2013 13:17:37:638] nscon: sending NSPTCN packet
    [22-MAR-2013 13:17:37:638] nspsend: entry
    [22-MAR-2013 13:17:37:638] nspsend: plen=218, type=1
    [22-MAR-2013 13:17:37:638] nttwr: entry
    [22-MAR-2013 13:17:37:638] nttwr: socket 9 had bytes written=218
    [22-MAR-2013 13:17:37:638] nttwr: exit
    [22-MAR-2013 13:17:37:638] nspsend: packet dump
    <<packet dump removed>>
    [22-MAR-2013 13:17:37:638] nspsend: 218 bytes to transport
    [22-MAR-2013 13:17:37:638] nspsend: normal exit
    [22-MAR-2013 13:17:37:638] nscon: exit (0)
    [22-MAR-2013 13:17:37:638] nsdo: nsctxrnk=0
    [22-MAR-2013 13:17:37:638] nsdo: normal exit
    [22-MAR-2013 13:17:37:638] nsdo: entry
    [22-MAR-2013 13:17:37:638] nsdo: cid=0, opcode=68, *bl=512, *what=9, uflgs=0x0, cflgs=0x3
    [22-MAR-2013 13:17:37:638] nsdo: rank=64, nsctxrnk=0
    [22-MAR-2013 13:17:37:638] nsdo: nsctx: state=2, flg=0x4005, mvd=0
    [22-MAR-2013 13:17:37:638] nsdo: gtn=10, gtc=10, ptn=10, ptc=2011
    [22-MAR-2013 13:17:37:638] nscon: entry
    [22-MAR-2013 13:17:37:638] nscon: recving a packet
    [22-MAR-2013 13:17:37:638] nsprecv: entry
    [22-MAR-2013 13:17:37:638] nsprecv: reading from transport...
    [22-MAR-2013 13:17:37:638] nttrd: entry
    [22-MAR-2013 13:17:37:665] nttrd: socket 9 had bytes read=8
    [22-MAR-2013 13:17:37:665] nttrd: exit
    [22-MAR-2013 13:17:37:665] nsprecv: 8 bytes from transport
    [22-MAR-2013 13:17:37:665] nsprecv: tlen=8, plen=8, type=11
    [22-MAR-2013 13:17:37:665] nsprecv: packet dump
    [22-MAR-2013 13:17:37:665] nsprecv: 00 08 00 00 0B 00 00 00  |........|
    [22-MAR-2013 13:17:37:665] nsprecv: normal exit
    [22-MAR-2013 13:17:37:665] nscon: got NSPTRS packetOracle 11
    (1) [22-MAR-2013 13:33:40:504] nscon: sending NSPTCN packet
    (1) [22-MAR-2013 13:33:40:504] nspsend: entry
    (1) [22-MAR-2013 13:33:40:504] nspsend: plen=205, type=1
    (1) [22-MAR-2013 13:33:40:504] nttwr: entry
    (1) [22-MAR-2013 13:33:40:504] nttwr: socket 8 had bytes written=205
    (1) [22-MAR-2013 13:33:40:504] nttwr: exit
    (1) [22-MAR-2013 13:33:40:504] nspsend: packet dump
    <<packet dump removed>>
    (1) [22-MAR-2013 13:33:40:505] nspsend: 205 bytes to transport
    (1) [22-MAR-2013 13:33:40:505] nspsend: normal exit
    (1) [22-MAR-2013 13:33:40:505] nscon: exit (0)
    (1) [22-MAR-2013 13:33:40:505] snsbitts_ts: entry
    (1) [22-MAR-2013 13:33:40:505] snsbitts_ts: acquired the bit
    (1) [22-MAR-2013 13:33:40:505] snsbitts_ts: normal exit
    (1) [22-MAR-2013 13:33:40:505] nsdo: nsctxrnk=0
    (1) [22-MAR-2013 13:33:40:505] snsbitcl_ts: entry
    (1) [22-MAR-2013 13:33:40:505] snsbitcl_ts: normal exit
    (1) [22-MAR-2013 13:33:40:505] nsdo: normal exit
    (1) [22-MAR-2013 13:33:40:505] nsdo: entry
    (1) [22-MAR-2013 13:33:40:505] nsdo: cid=0, opcode=68, *bl=2048, *what=9, uflgs=0x0, cflgs=0x3
    (1) [22-MAR-2013 13:33:40:505] snsbitts_ts: entry
    (1) [22-MAR-2013 13:33:40:505] snsbitts_ts: acquired the bit
    (1) [22-MAR-2013 13:33:40:505] snsbitts_ts: normal exit
    (1) [22-MAR-2013 13:33:40:505] nsdo: rank=64, nsctxrnk=0
    (1) [22-MAR-2013 13:33:40:505] snsbitcl_ts: entry
    (1) [22-MAR-2013 13:33:40:505] snsbitcl_ts: normal exit
    (1) [22-MAR-2013 13:33:40:505] nsdo: nsctx: state=2, flg=0x4005, mvd=0
    (1) [22-MAR-2013 13:33:40:505] nsdo: gtn=10, gtc=10, ptn=10, ptc=8155
    (1) [22-MAR-2013 13:33:40:505] nscon: entry
    (1) [22-MAR-2013 13:33:40:505] nscon: recving a packet
    (1) [22-MAR-2013 13:33:40:505] nsprecv: entry
    (1) [22-MAR-2013 13:33:40:505] nsprecv: reading from transport...
    (1) [22-MAR-2013 13:33:40:505] nttrd: entry
    (1) [22-MAR-2013 13:33:40:618] nttrd: socket 8 had bytes read=8
    (1) [22-MAR-2013 13:33:40:618] nttrd: exit
    (1) [22-MAR-2013 13:33:40:618] nsprecv: 8 bytes from transport
    (1) [22-MAR-2013 13:33:40:618] nsprecv: tlen=8, plen=8, type=11
    (1) [22-MAR-2013 13:33:40:618] nsprecv: packet dump
    (1) [22-MAR-2013 13:33:40:618] nsprecv: 00 08 00 00 0B 00 00 00  |........|
    (1) [22-MAR-2013 13:33:40:618] nsprecv: normal exit
    (1) [22-MAR-2013 13:33:40:618] nscon: got NSPTRS packetAny ideas what could be the reason for this time difference? Something in our network configuration or something else?

    With local connections - I do not think a TCP packet send from an IP to the same IP, leaves the interface as an actual wire protocol/signal. If I'm correct, then running local connection tests will be mostly useless in checking the actual network infrastructure.
    Tests 3 and 4 should be showing the same connection times as the same physical network infrastructure is used - only the direction is reversed in the tests.
    I would assume that port settings on the switches and interface settings on the routers treat packets equally in both directions between 2 servers. But this could in part explain the problem if this is not the case. In a case of a router for example, the 1st test's ingress interface is the egress interface of the 2nd test (and vice versa). Configurations can differ substantially between interfaces on the same router. Likewise if there is a firewall - as different rule sets are applied in each test and these rule sets could differ.
    So I would not be too quick to state that this is definitely not a network problem. But I agree that based on the small percentage difference (assuming comparable tests), it does not look like a network issue.
    The next step is to determine what the delay is between the listener accepting the client connection, and the connection being serviced by a dedicated server process.
    This will require listener tracing - tracing the time from when the listener accepted the connection (and parsed the TNS connection string), to handing off the connection to the dedicated server process.
    As a comparison test, you can also test shared server connections. Dispatcher processes (of the db instance) register themselves with the listener. The shared server client hand off is thus done to an existing server process - no need for the Listener to make a kernel call to load and initialise an executable image.
    Shared connections are typically faster than dedicated connections in this respect.
    If there is a major time difference, then it means some kind of issue with the listener dealing with dedicated servers as oppose to dispatcher hand off's. As both connections would have had very similar network transit time - which means the connection time difference is related directly to dealing with a dedicated server connection request and hand off.
    You can also substitute the oracle executable with a wrapper - and troubleshoot the actual dedicated server startup. I've only done this with Oracle XE 10.2 though and with local IPC connections. Unsure how robust this will be for testing purposes via TCP using 11g.

  • GREATER THAN symbol appearing as &gt ; in SQL*Plus

    Version:11.2.0.3
    OS : RHEL 5.4
    We are a Software vedor firm.We have sent our SQL files to our client to execute. But the codes for various procedures and functions were failing
    because, in their SQL*Plus session (in Putty) the LESS THAN character < was appearing as &lt ; and GREATER THAN character > was appearing as &gt ;
    In the original code which we had sent to them has no problems with > or < characters.
    Original code
    Cursor feb_cur IS
      SELECT user_pwid
        FROM carton_hdr_dtl
       WHERE MODIFIED_DATE >= D_Last_Run_Date
       UNION
      SELECT user_pwid
        FROM carton_hdr_dtl_bkp
       WHERE (modified_date >= D_Last_Run_Date OR
              deleted_date >= D_Last_Run_Date);  But in the execution log file sent by our client, I can see &gt ; instead of > character.
    54   Cursor feb_cur IS
    55    SELECT user_pwid
    56        FROM carton_hdr_dtl
    57       WHERE MODIFIED_DATE &gt ;= D_Last_Run_Date
    58       UNION
    59    SELECT user_pwid
    60        FROM carton_hdr_dtl_bkp
    61       WHERE (modified_date &gt ;= D_Last_Run_Date OR
    62              deleted_date &gt;= D_Last_Run_Date);What are they doing wrong? They use putty. We use putty too but we don't have any issues.
    Edited by: Max on Dec 17, 2012 2:42 AM

    Thank you Blushadow, Nicosa for providing this clue.
    I checked with my client. They have put our scripts in Collabnet SVN version control and the implementor DBA will be provided the http URL .
    Apparently SVN is accessed using http protocol and yes you are right it is opened through a browser by typing an URL like below
    http://10.80.16.214:79839/svn/brcf/DBfiles/2012/WMHReleasel8/hrtb_pkt_wave.sqlFor most of the end users , the GREATER THAN character appears as > without any issues . For some users it appears as &gt ; . One potential cause is the difference in Internet Explorer version. They are currently looking into this.
    THANK YOU BLUSHADOW and NICOSA for shedding light on this.
    Hi Nicosa,
    A forum formatting question:
    How did you manage to get &gt_; (without the underscore) printed ? When I tried it the forums editor was converting it to > . This is why I placed a space/underscore between t and semi colon. Is there some escape character ?

  • Query is Slower in PL/SQL than in SQL*Plus ?

    I have a query that executes quiet fast in SQL*Plus (<1 second) but with EXECUTE IMMEDIATE withing an PL/SQL block its performance is really poor (=20 times slower)
    I am using the agregation function WMSYS.WM_CONCAT and I figured out that the poor PL/SQL performance must be related somehow to this function...
    I don't get why in SQL*Plus the query executes that much faster... Any ideas/solutions?
    Thanks!
    My PL/SQL query:
    EXECUTE IMMEDIATE 'INSERT INTO ' || temp_table_opt || '
    SELECT DISTINCT a.hs as HS, a.ht as HT, a.vehicle_id as VEHICLE_ID, c.option_id as OPTION_ID, WMSYS.WM_CONCAT(e.av_checked) as AV,
    d.vehicle_id || '';'' || d.option_code || '';'' || d.option_type || '';'' || d.manuf_name as COMPOUND_KEY
    FROM jumla.ax_vid a, jumla.version b, jumla.equipment c, jumla.option_list d, jaxlink_data.checked e
    WHERE a.hs = SUBSTR(''' || phsht || ''', 1, 2)
    AND a.ht = SUBSTR(''' || phsht || ''', -2, 2)
    AND b.vehicle_id = a.vehicle_id
    AND c.vehicle_id = a.vehicle_id
    AND d.vehicle_id = a.vehicle_id
    AND b.id_106 IN (''2'', ''4'', ''X'')
    AND d.option_type <> ''P''
    AND d.option_id = c.option_id
    AND e.hs = a.hs
    AND e.ht = a.ht
    AND e.schema_id = c.schema_id
    AND e.option_code = d.option_code
    AND e.description = d.manuf_name
    GROUP BY a.hs, a.ht, a.vehicle_id, c.option_id, d.vehicle_id || '';'' || d.option_code || '';'' || d.option_type || '';'' || d.manuf_name';

    > I am using the agregation function WMSYS.WM_CONCAT and I figured
    out that the poor PL/SQL performance must be related somehow to this
    function...
    Wrong.
    Who executes the SQL that is created?
    Answer - does not matter where the SQL comes from, from a PL procedure, Java program, SQL*Plus, TOAD or whatever, the SQL is parsed by the SQL engine, execution plan created by the CBO and stored in the SQL Shared Pool.
    An EXECUTE IMMEDIATE is a PL command that sends the string to the SQL engine to be processed. Just as SQL*Plus sends a string to the SQL engine to be processed.
    So how can the very same SQL be faster from SQL*Plus and slower from somewhere else?
    Nothing to do with where it comes from, but everything to do wrt the session that the SQL is being executed in. Issues such as settings for that session (which can be differ from session to session). Scope. Context. Etc.

  • Fnd_file.put_line(FND_FILE.OUTPUT in Ora Apps in SQL*Plus program

    I have used fnd_file.put_line(FND_FILE.OUTPUT and fnd_file.put_line(FND_FILE.LOG many times for programs registered as PL/SQL Stored Procedure or used in DB Packages to write to the concurrent manager output and log files. No problem doing that. I have a simple program that I was going to register in Oracle Apps as a SQL*Plus script (instead of creating a DB procedure) that contains a PL/SQL block and will use fnd_file.put_line to write the output so it can be seen from the Concurrent Mgr View Requests. When the script runs the fnd_file.put_line(FND_FILE.OUTPUT... doesn't write to the output (or log) file. I am guessing fnd_file.put_line(FND_FILE.OUTPUT is not available to programs registered as SQL*PLUS.
    Is that correct? Am I missing something simple that would allow it to run without creating a DB procedure/package.
    I am testing this with a very simple script just to see if I can get something written to the output and log files.
    SET SERVEROUTPUT ON
    declare
    x varchar2(20);
    Begin
    select 'test'
    into x
    from dual;
    fnd_file.put_line(FND_FILE.LOG,'In the log file');
    fnd_file.put_line(FND_FILE.OUTPUT,'In the output file');
    end;
    Thanks for taking the time to read this and any offers to help

    I think you should post it in the relevant Oracle Apps forum and not here. It seems that - you may have some problem regarding any privileges or missing some property which needs to be configure.
    Regards.
    Satyaki De.

  • Insert more than 4000 characters using sql plus

    I have a SQL script that creates a database. The problem is that some of the fields are longer than 4000 characters in the INSERT statement and Oracle doesn't seem to like it.
    The field is a clob and works fine in the application (i.e. I can insert more than 4000 characters using the app) - how do I achieve this in a SQL script?
    Any help is much appreciated.
    Cheers,
    Steve

    Hi,
    This pl/sql block works absolutely fine in SQL*Plus inserting > 4000 characters into clob column:
    declare
    l_str varchar2(8000);
    l_str1 varchar2(2400) := 'first part of the verly long string...';
    l_str2 varchar2(2400) := 'second part of the verly long string...';
    begin
    l_str := l_str1 || l_str2;
    insert into tmpl values (l_str);
    end;
    So, you'll have to replace inserts with pl/sql blocks in your script.
    Tested in Oracle 8.1.7.0.0
    Regards,
    Andrew Velitchko
    BrainBench MVP for Developer/2000
    http://www.brainbench.com

  • Installation of 11.1.0.5.10 Beta Blows Away SQL PLUS In Other Home

    I had a working 10g R2 client installed and working. Installed 11.1.0.5.10 Beta into a new home. Attempted to run install scripts and determined that SQLPLUS no longer works in the 10g R2 client home. Any ideas? Should I have installed 11.1.0..5.10 beta into the exsiting home?
    Tom

    You may copy the sqlnet.ora and tnsnames.ora two files from your working 10gR2 home (under 10gR2 home's Network\Admin directory) to 11.1.0.5.10 Beta home (under 11.1.0.5.10 Beta home's Network\Admin directory).
    Two possibilities:
    1. use <10gR2 full path>\sqlplus.exe to run the ASP.NET scripts.
    2. if you have ODT installation, you may use it's "Query Window"or "Run SQL*Plus Script" (under Tools menu) to run the ASP.NET scripts

  • Oracle EBS sql*plus concurrent program

    Hello,
    I have created some sql*plus concurrent programs. When I run the query in sql*plus or sql developer the results are as expected but when run as a concurrent program I am getting additional rows in the output. This seems to only occur when there are calls to API's such as ARPT_SQL_FUNC_UTIL.
    get_salesrep_name_number.
    I am not sure where the extra results are coming from since I can't get them in a query but for a small number of cases I am getting unwanted records. I would really like to just have it return the same results as when run outside the context of the concurrent program. Is there any settings I can put in for this? The api's used in the query (function calls) were used since they are taken from standard Oracle views. I would prefer to leave them in as we know they are giving us the correct results and digging into each one to see what it is doing and replacing it with a sub query would take a lot of time.
    I could possibly just change this into a PL/SQL package with utl_file but I would prefer not to go to that effort unless absolutely.
    Any help on this would be much appreciated.

    I have a SQL PLPUS script which generates the CSV file, the problem is whenever I run manually(@c:\future_cost.sql) it's works.
    I am trying to generate this CSV from Concurrent program my request is completed successfully but it is not throughing data into my CSV.What do you mean by concurrent program?
    The more information you provide, the chances of getting accurate answer will increase! :)

  • How to invoke multiple sessions of sql*plus thru pl/sql program

    Hi
    How to invoke multiple sessions of sql*plus thru pl/sql program.
    Thanks

    How to invoke sql*plus in a procedure?????
    I have to invoke more pl/sql sessions?????No you don't "have to".
    Look at what you are trying to do.
    You have a program running inside the PL/SQL engine. This is running nicely inside the Oracle database and is perfectly capable of issuing other SQL statements, PL/SQL programs etc. inside it's nice cosy Oracle environment.
    You are asking for this PL/SQL to shell out to the operating system, run an external application, for which it will have to supply a username and password (are you planning on hard coding those into your PL/SQL?), and then that external application is supposed to run more SQL or PL/SQL against the database.
    a) Why hold all this code external to the database when it can quite happily reside on the database itself and be executed through jobs or whatever.
    b) Consider what would happen if someone were to replace the external application with their own program of the same file name... they'd be able to capture the username and password for connecting to the database, therefore a major security flaw.
    The whole idea of doing what you want through external calls to SQL*Plus is ridiculous.

  • How to issue a SQL*Plus command from PL/SQL program?

    Thanks.

    You can't issue a SQL*PLus command from a PL/SQL program. If you can tell us more about what you are trying to do, perhaps we can offer a substitute.

  • Can't connect to SQL Plus after installation...

    Windows XP (Admin account)
    installed 10g XE
    I have no other ORACLE_HOME or TNS files.
    All services are started
    here is the listener
    STATUS of the LISTENER
    Alias LISTENER
    Version TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Beta
    Start Date 17-NOV-2005 23:34:31
    Uptime 0 days 0 hr. 5 min. 22 sec
    Trace Level off
    Security ON: Local OS Authentication
    SNMP OFF
    Default Service XE
    Listener Parameter File C:\oraclexe\app\oracle\product\10.2.0\server\network\a
    dmin\listener.ora
    Listener Log File C:\oraclexe\app\oracle\product\10.2.0\server\network\l
    og\listener.log
    Listening Endpoints Summary...
    (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=VANDERBI-M8R870)(PORT=1521)))
    Services Summary...
    Service "CLRExtProc" has 1 instance(s).
    Instance "CLRExtProc", status UNKNOWN, has 3 handler(s) for this service...
    Service "PLSExtProc" has 1 instance(s).
    Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
    The command completed successfully
    when I try to connect with SQL PLUS
    SQL*Plus: Release 10.2.0.1.0 - Beta on Thu Nov 17 23:44:45 2005
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    SQL> connect / as sysdba
    ERROR:
    ORA-12560: TNS:protocol adapter error
    I do have the entry in TNSNAMES.ORA
    XE =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = VANDERBI-M8R870)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = XE)
    any ideas?

    The TNS-12154 (ORA-12154) error appears when SQL*Net cannot find the alias specified for a connection in the TNSNAMES.ORA file or other naming adapter.
    Since we can clearly see the XE entry in your TNSNAMES.ORA file from your further post, the message implies that you are not using the TNSNAMES.ORA that contains the entry, or something is changing the lookup so the entry is not found.
    Using a different TNSNAMES.ORA can occur under the following situations:
    1) You have a TNS_ADMIN environment variable or registry entry that points somewhere other than this TNSNAMES.ORA
    2) You are on Windows NT and are using a SQLPLus that is in a different ORACLE_HOME. The WIndows environment forces the use of the networking subsystem in the ORACLE_HOME as the client program (such as SQLPLUS), which defaults to the TNSNAMES.ORA in the home as the client.
    Things I would check:
    - is there another TNSNAMES.ORA anywhere on the system
    - is there a system environment variable called TNS_ADMIN, or is that string found in the registry
    - is there possibly a second SQLPlus.exe (even on a networked drive) that migt be called before the XE - supplied SQLPLUS
    It is also possible to have a SQLNET.ORA impacting the way TNSNAMES.ORA is used. If all else checks out, we should look at the %ORACLE_HOME%\network\admin\sqlnet.ora in detail as well.
    By the way, the Oracle Network Administration docco has two whole chapters devoted to troubleshooting networking issues, from initial config through data errors in the various config files. If you want to track it faster, check out http://download-east.oracle.com/docs/cd/B19306_01/network.102/b14212/troublestng.htm

Maybe you are looking for

  • Microphone doesn't work when unplugged and plugged in

    I was trying to record something the other day and was wondering why I had to have the gain on the microphone turned up so high. After a while I figured out that audacity was recording with my internal microphone (dell laptop). I tried using the exte

  • I can't roundtrip from Aperture 3.3.2 to Photoshop!

    Hi, I am having significant problems with Aperture and Photoshop interaction. As a working professional photographer it is a serious issue that is causing me real stress and it is commercially important that I rectify it quickly. After extensive test

  • I need a formula to convert a date into an integer (for use in Lookout)

    I have a DATA logger with the following: 40001 = 4 (2004) 40002 = 2 (February) 40003 = 5 (5th) 40004 = 13 (1:00pm) 40005 = 12 (12 minutes) Lookout requires a date that it understands (eg. January 1, 1900). All I need is a basic formula to convert the

  • Apple TV and Netflix

    I just bought an Apple TV because I was told I could watch Netflix. On hooking it up I found that only rentals were available and none of the free content. I enjoy watching old foreign language films that are free on Netflix. How can we make this hap

  • Custom field in enjoy transaction

    Hi, How to add a custom field in enjoy transaction. In my case iam concerned with EBAN- Me51n - Purchase Req. can we configure from field selection groups, if we have the field in EBAN. I doubt , but i would like to hear from you  guys too. Thanks Sa