Detection of parameter NLS_LANG clientside in SQL * more script

Our company has developed an application that uses an Oracle database as backend. Companies can purchase our application and run it against their own installation of Oracle.

A new version of our application often requires an update to the Oracle database schema.
As well as from new application files, we send our customers an update.sql script, they must run to their database using SQL * more.
This update script can contain international characters such as é for example:
UPDATE SHOPS SET DESCRIPTION = 'Café'
WHERE SHOP_ID=1
Save us the SQL script file in the windows-1252 encoding the character e is encoded by 0xE9 in the script file.

When the ADMINISTRATOR runs him upgrade script is set NLS_LANG =. WE8MSWIN1252 it works perfectly.
When the ADMINISTRATOR has set the NLS_LANG = US7ASCII the e is replaced by an exclamation mark the upside. Other NLS_LANG settings can also be embarrassing.

To avoid this, we give very clear instructions. However, nobody reads. This raises two questions:

(A) is there a way to prevent this problem, so I do not the parameter NLS_LANG by the DBA to run the upgrade script depend on?
(B) otherwise: is there a way to test the NLS_LANG setting in the script and give up if it's not WE8MSWIN1252?

Info:
Database is 10.2.0.3/10.2.0.4 and sometimes 10.2.0.5, always the database character set WE8MSWIN1252.
Client software: I don't know what are the uses each s/n, but it will be mainly the software client 10g
Client OS: Some DBA will run the script from Windows, others of some varieties of Unix. I can't control that.

(A) is there a way to prevent this problem, so I do not the parameter NLS_LANG by the DBA to run the upgrade script depend on?

Yes. Use the UNISTR function to encode strings with Unicode, for example UNSITR('\00e9') exhausts to code 'e '. The set conversion implicit character in the set to the national character of database character set will do. You can use the ASCIISTR function to simplify the creation of arguments to UNISTR based on the input text.

-Sergiusz

Tags: Database

Similar Questions

  • SQL * more: how to avoid asking them & 1?

    I use a parameter within a SQL Script more to set a value for the creation of different environments.
    DEFINE _env = '&1'
    The parameter & 1 is used. However, a NULL value is allowed. But if this parameter is not defined, sql * more guests to enter something for & 1. How can we avoid this?

    SQL use
    sqlplus user/password@database @test_parameter.sql
    
    SQL> exit
    
    Verbunden mit:
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    With the Partitioning, Oracle Label Security, OLAP, Data Mining,
    Oracle Database Vault and Real Application Testing options
    
    "Geben Sie einen Wert f³r 1 ein:"
    
    SQL> prompt Env&_env.
    Env
    SQL>
    I'm looking for an easy way avoid the message < font color = "red" > "enter a value for 1:" < / police > if no parameter is added.
    If a parameter is added, this message does not appear.
    sqlplus user/password@database @test_parameter.sql _TST
    example script
    -- set environment 
    ------------------
    -- Allowed values are 
    -- "_DEV" = Development 
    -- "_TST" = Test
    -- "" = Production)
    set verify off
    
    DEFINE _env = '&1'
    
    begin 
      if '&_env' is null 
        or regexp_like ('&_env', '_[[:alnum:]]{3}') then 
         null; --ok
      else
        raise_application_error(-20000,'Parameter 1 (''&_env'') has wrong value. Must start with _ and only 3 letters or be empty.' );
      end if;
    end;
    /
    
    set echo on
    
    prompt env&_env.
    Published by: Sven w. March 15, 2012 16:40

    When you want to call it "parameterless" give a string empty (two single quotes) like this:

    sqlplus user/password@database @test_parameter.sql ''
    
  • SQL * more wild returned data String - spaces (required) are abandoned in character data

    Does anyone know how to preserve the credibility of a string returned by using SQL * more variable substitution for use in a title column.

    I am under SQL * more script and the output of the securities. I need to find out the name of the company (in the text name of the legal entity). However, the substitution variable returns / outputs the data to the correct record, but corrupts the content of the returned string by spaces dropping (necessary)?

    In the script below, I tried several combinations to include using a technique of faking the output as a formula in Excel. It is very effective with the attack anywhere to Oracle/Microsoft problem at the output to Excel. For some varieties in solution, there are two methods to fill the Legal_Entity_Name which each produce the same corrupt result. I use method 2 because it's a little more friendly.

    The output is directed to a local directory C:... If you try to run this script... note the output in the script path is c:\Ora_scripts\Corrupt_Example.xls coil;

    In the database, EBS R12, the correct output should be: Industrias Selkirk of Mexico S de RL de CV . (IN THE SCRIPT, THE SAME SELECT STATEMENT IS USED AS THE MAIN QUERY - IT PRODUCES A CORRECT RESULT).

    However, data is corrupted to: IndustriasSelkirkdeMexico.

    Here's a testable script:

    --@C:\Ora_Scripts\Corrupt_String_Script.SQL

    trigger the echo

    went to CHECK

    moved the markup html off the coast of the coil

    Leave your COMMENTS

    Set trimspool on

    delete columns

    clear breaks

    clear the buffer

    Disable CALCULATED

    TOPIC on the value

    set PAGESIZE 50000

    Set LINESIZE 500

    NewPage 0 value

    set TERMOUT off

    -The variable definitions Section.

    Undefine g_Registration_Id

    Set g_Registration_Id = 12033;

    Cancel the Instance definition;

    Set the Instance = "XXXXXX";

    Undefine Time_Stamp;

    Define Time_Stamp = "DD-Mon-YYYY hh ';

    Undefine sv_Legal_Entity_Name

    Bnd_Legal_Entity_Name variable Char (75)

    Variable bnd_Registration_Id number

    --

    -Fill in the title and the title of the data items.

    -Company name get - method 1

    / * Start

    Select xrg. Alternate_Registered_Name in: bnd_Legal_Entity_Name

    of apps.xle_registrations xrg

    where xrg. Source_Table = "XLE_ENTITY_PROFILES."

    and xrg. Registration_Id = & g_Registration_Id;

    End;

    /

    -Transfer the value of the variable binding to the variable substitution

    Column sv_Var_1 sv_Legal_Entity_Name noprint new_value

    Select: bnd_Legal_Entity_Name double sv_Var_1;

    */

    --

    -Company name method retrieves 2

    Run: bnd_Registration_Id: = & g_Registration_Id;

    Column sv_Legal_Entity_Name sv_Legal_Entity_Name FORMAT A75 noprint new_value

    -Try in the form of Excel formula - no luck!

    -Select ' = ' ' | xRG. Alternate_Registered_Name | «"«as sv_Legal_Entity_Name»»»

    Select xrg. Alternate_Registered_Name as sv_Legal_Entity_Name

    of apps.xle_registrations xrg

    where xrg. Source_Table = "XLE_ENTITY_PROFILES."

    and xrg. Registration_Id =: bnd_Registration_Id;

    --

    Column Instance_Col by Instance NOPRINT new_value

    Select the name as Instance_COL in apps. Fnd_Apps_System;

    --

    Column Time_Stamp_Col new_value Time_Stamp NOPRINT

    Select to_char (sysdate, "Mon-DD-YYYY HH24:MI:SS) as Time_Stamp_Col

    From Dual;

    --

    the forage value off markup html on spool

    coil c:\Ora_scripts\Corrupt_Example.xls;

    TTITLE-

    Skip - 0

    'Arguments' left... »-

    Jump - 1

    Center & sv_Legal_Entity_Name-

    Jump - 1

    Right ' run: ' Time_Stamp-

    Center "it is a centered string constant;

    Jump - 2

    -Various declaration of Variables.

    the forage value off markup html on spool.

    HEAD ' < title > example string of corrupt < /title >.

    < style type = "text/css" >-

    table {background: white; do-size: 80% ;}} -

    Th {background: #ccc ;}} -

    TD {padding: 0px ;}} -

    < / style > '

    --                        Mainline query                                      --

    -REPLICATE THE SELECT USED TO DERIVE THE LEGAL_ENTITY_NAME TO THE TITLE

    Select xrg. Alternate_Registered_Name

    of apps.xle_registrations xrg

    where xrg. Source_Table = "XLE_ENTITY_PROFILES."

    and xrg. Registration_Id = & g_Registration_Id;

    -Liquidation of script.

    spool off;

    moved the html markup;

    Here is output (open in Excel):

    Arguments...
    IndustriasSelkirkdeMexico
    It is a centered string
    constant
    Run: 14 October 2014 10:10:45
    ALTERNATE_REGISTERED_NAME
    Industrias Selkirk of Mexico S of CV RL

    Hello

    Just use double quotes... First test: with x.sql container

    trigger the echo

    delete columns

    TOPIC on the value

    set PAGESIZE 50000

    Set LINESIZE 500

    NewPage 0 value

    set TERMOUT off

    -The variable definitions Section.

    Undefine sv_Legal_Entity_Name

    Column sv_Legal_Entity_Name sv_Legal_Entity_Name FORMAT A75 noprint new_value

    TTITLE-

    Skip - 0

    'Arguments' left... »-

    Jump - 1

    Centre '& sv_Legal_Entity_Name ' -.

    Skip 1

    SELECT 'test ttitle' FROM dual;

    running the script, providing a ttitle (slightly different from yours ;-), I have):

                                                                                                       Industrias Belgica ;-) Selkirk

    ' TESTINGTTITLE

    --------------

    test ttitle

    Best regards

    Bruno Vroman.

  • SQL * more question: unprinted despite SET ECHO ON command

    RDBMS Version: 11.2.0.4

    OS: Oracle Linux 6.4 (bash shell)

    I'm kinda a newbie to SQL * more.

    Here's a SQL * Plus script embedded in bash script that scales multiple data files. This script has been run on the DB server side.

    #! / bin/bash

    export ORACLE_SID = ORCL1

    echo "resize Datafile began to" 'date '.

    sqlplus "/ as sysdba" < < EOF

    set echo on

    Set of feedback on

    ALTER DATABASE DATAFILE '+ DATA/brfcsprd/datafile/manh_audit_lob.338.834340223' resize 25g;

    ALTER DATABASE DATAFILE '+ DATA/brfcsprd/datafile/manh_audit_lob.337.834340223' resize 25g;

    ALTER DATABASE DATAFILE '+ DATA/brfcsprd/datafile/manh_audit_lob.336.834340225' resize 25g;

    ALTER DATABASE DATAFILE '+ DATA/brfcsprd/datafile/manh_audit_lob.335.834340225' resize 25g;

    ALTER DATABASE DATAFILE '+ DATA/brfcsprd/datafile/manh_audit_lob.334.834340225' resize 25g;

    ALTER DATABASE DATAFILE '+ DATA/brfcsprd/datafile/manh_audit_lob.333.834340225' resize 25g;

    ALTER DATABASE DATAFILE '+ DATA/brfcsprd/datafile/manh_audit_lob.332.834340227' resize 25g;

    quit smoking

    EXPRESSIONS OF FOLKLORE

    echo "resize Datafile ended in" 'date '.

    As you can see, the SQL * more script contains ON SET ECHO ON and PUT your COMMENTS.

    But in the logfile (see below), I don't see every ALTER DATABASE DATAFILE... command printing. I see that ' altered database.'  printing messages.

    I executed the script to nohup as

    nohup resize.sh > MyResize2.log &

    $ cat MyResize2.log

    DataFile resize started at Sun Dec 29 00:09:45 MYT 2013

    SQL * more: Production of the 11.2.0.4.0 on Sun Dec 29 00:09:45 version 2013

    Copyright (c) 1982, 2013, Oracle.  All rights reserved.

    Connected to:

    Oracle Database 11 g Enterprise Edition Release 11.2.0.4.0 - 64 bit Production

    With partitioning, Real Application Clusters, Automatic Storage Management, OLAP,.

    Options of Data Mining and Real Application Testing

    SQL > SQL > SQL > SQL > SQL >

    Database altered.

    SQL >

    Database altered.

    SQL >

    Database altered.

    SQL >

    Database altered.

    SQL >

    Database altered.

    SQL >

    Database altered.

    SQL >

    Database altered.

    Hello

    ECHO applies only to the SQL commands * Plus reads through the @ or the STARTUP command, no statements you type directly in the SQL > prompt or read the bash script statements.

    Try to create a separate file, containing only the command ALTER DATABASE in a separate file (let's call it alter_database.sql for now) and call it from your script bash, like this:

    #! / bin/bash

    export ORACLE_SID = ORCL1

    echo "resize Datafile began to" 'date '.

    sqlplus "/ as sysdba".<>

    set echo on

    Set of feedback on

    @whatever/alter_database

    quit smoking

    EXPRESSIONS OF FOLKLORE

    echo "resize Datafile ended in" 'date '.

  • SQL with parameter in SQL more value

    Hi the master Oracle,


    I have a request as described below that you run on SQL more.


    Select object_name, object_type from USER_OBJECTS WHERE last_ddl_time between trunc (sysdate)-1 and sysdate;


    I tried this script to be set, when I run it then SQL should ask two values.
    If I do not give any value then script should use by default as SYSDATE.

    Someone could please let me know how to do this?



    Kind regards
    Sandeep Sutar
    select object_name
          ,object_type
      from user_objects
    where trunc(last_ddl_time) between trunc(to_date(nvl(&1,sysdate))) -1 and to_date(nvl(&2,sysdate))
    
  • Problem with the new line when you manually run a procedure in SQL * more

    The procedure below works fine in SQL * more when all EXEC < procedure_name > (parameter1, parameter 2,...); is placed on a single line
    SQL > exec cust_admin_util.create_schema (P_SCHEMA_NAME => 'SCOTT_01', P_SCHEMA_PWD => 'scott123', P_TBS_NAME => 'TRAG_TBS', p_temptbs_name => 'TEMP' );
    
    PL/SQL procedure successfully completed.
    I wanted to perform the same procedure with readability. So, I put each parameter on a separate line and try to run. But it's the slightest mistake out.
    SQL > exec cust_admin_util.create_schema
    (
    P_SCHEMA_NAME => 'TESTUSR_01',
    P_SCHEMA_PWD => 'scott123',
    P_TBS_NAME => 'TRAG_TBS',
    p_temptbs_name => 'TEMP'
    );BEGIN cust_admin_util.create_schema; END;
    
          *
    ERROR at line 1:
    ORA-06550: line 1, column 7:
    PLS-00306: wrong number or types of arguments in call to 'CREATE_SCHEMA'
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored
    
    
    SQL >   2    3    4    5    6    7
    P_SCHEMA_NAME => 'TESTUSR_01',
    *
    ERROR at line 2:
    ORA-00928: missing SELECT keyword
    No work around for this?

    Tom wrote:

    No work around for this?

    BEGIN
    cust_admin_util.create_schema
    (
    P_SCHEMA_NAME => 'TESTUSR_01',
    P_SCHEMA_PWD => 'scott123',
    P_TBS_NAME => 'TRAG_TBS',
    p_temptbs_name => 'TEMP'
    );
    END;
    /
    

    SY.

  • SQL * MORE using command START - please help me understand

    Hello dear friends,

    I encountered a problem that I don't understand. Could you please explain to me what wrong with my logic.

    I created the file called DUMMY.sql sql
    the file context is:

    SELECT a model
    OF dummy_tbl
    WHERE dummy_col = & dummy_var;

    I'm going to SQL * Plus DB version (10.2.0.4.0).

    I command promt: MODEL of STARTING 1
    and waits * & dummy_var * must be replaced by * 1 * and query executed as described in Oracle SQL * MORE reference ([http://download-west.oracle.com/docs/cd/B12037_01/server.101/b12170/ch6.htm#sthref1058 | http://download-west.oracle.com/docs/cd/B12037_01/server.101/b12170/ch6.htm#sthref1058]).

    But instead, I'm getting enter the value for dummy_var:

    Please help me understand

    Thanks in advance.

    You must use 1 & instead of & dummy_var.

    The number refers to the position of the parameter to use; 1 is the first parameter & 2 would be a second parameter and so on.

    SELECT dummy
    FROM dummy_tbl
    WHERE dummy_col=&1;
    
  • SQL * more the 'timing' in SQL Developer command

    I installed SQL Developer version 4.1.1.19. In the sql worksheet, how can I use SQL * more order 'timing' in a script to see a time elapsed SQL? The "Timing" on 'set' did not return any info after running SQL, and 'calendar beginning mon_timer' back 'command Timing is obsolete. Help, please.

    Thank you

    • As you can see, there is no calendar information in the script output log.
    • Then I tried on the discussion forum, found it can be enabled in "tool > preference > Database > startup script" and set as startup script:

    Set serveroutput on

    set timing on

    • However, 2 questions are:
    1. the calendar that he returned is NOT the elapsed time of my stored procedure to run. He simply choose the 2 time points its time, before and not after MS point run. Set timing on is therefore not a solution for me.
    2. He did not follow the instructions in the startup script. After that I put the calendar in the startup script, stop & restart SQL Developer, same laptop charging, timing still on. The only way to turn off now is to configure it to NOT use

    any startup script.

    • Then I developed my own coding as a solution:

    3. control of the COIL

    VAR bv_start_ts VARCHAR2 (30)

    VAR bv_end_ts VARCHAR2 (30)

    VAR bv_elps_ts VARCHAR2 (30)

    DECLARE

    v_start_ts VARCHAR2 (30);

    BEGIN

    SELECT TO_CHAR (SYSTIMESTAMP, 'yyyymmddfxDyhh24miss.ff6') INTO v_start_ts FROM DUAL;

    : bv_start_ts: = v_start_ts;

    END;

    /

    IMPRESSION bv_start_ts

    EXEC pmsmmi.rpt.rpt_ethncty_race_smry (15);

    DECLARE

    v_end_ts VARCHAR2 (30);

    BEGIN

    SELECT TO_CHAR (SYSTIMESTAMP, 'yyyymmddfxDyhh24miss.ff6') INTO v_end_ts FROM DUAL;

    : bv_end_ts: = v_end_ts;

    END;

    /

    IMPRESSION bv_end_ts

    EXEC: bv_elps_ts: = TO_CHAR (TO_TIMESTAMP (: bv_end_ts, 'yyyymmddfxDyhh24miss.ff6')-TO_TIMESTAMP (: bv_start_ts, 'yyyymmddfxDyhh24miss.ff6'), 'hh:mi:ss.ff6');

    IMPRESSION bv_elps_ts

    SPOOL OFF

    • Then I got what I want, the answer is in the 'PRINT ': bv_elps_ts

    SQL > VAR bv_start_ts VARCHAR2 (30)

    SQL > VAR bv_end_ts VARCHAR2 (30)

    SQL > VAR bv_elps_ts VARCHAR2 (30)

    SQL > DECLARE

    v_start_ts VARCHAR2 (30);

    BEGIN

    SELECT TO_CHAR (SYSTIMESTAMP, 'yyyymmddfxDyhh24miss.ff6') INTO v_start_ts FROM DUAL;

    : bv_start_ts: = v_start_ts;

    END;

    /

    PL/SQL procedure successfully completed.

    Elapsed time: 00:00:00.031

    SQL > PRINT bv_start_ts

    BV_START_TS

    -----------

    20150702Thu112617.775545

    SQL > EXEC pmsmmi.rpt.rpt_ethncty_race_smry (15)

    PL/SQL procedure successfully completed.

    SQL > DECLARE

    v_end_ts VARCHAR2 (30);

    BEGIN

    SELECT TO_CHAR (SYSTIMESTAMP, 'yyyymmddfxDyhh24miss.ff6') INTO v_end_ts FROM DUAL;

    : bv_end_ts: = v_end_ts;

    END;

    /

    PL/SQL procedure successfully completed.

    Elapsed time: 00:00:00.062

    SQL > PRINT bv_end_ts

    BV_END_TS

    ---------

    20150702Thu112630.805786

    SQL > EXEC: bv_elps_ts: = TO_CHAR (TO_TIMESTAMP (: bv_end_ts, 'yyyymmddfxDyhh24miss.ff6')-TO_TIMESTAMP (: bv_start_ts, 'yyyymmddfxDyhh24miss.ff6'), 'hh:mi:ss.ff6')

    PL/SQL procedure successfully completed.

    SQL > PRINT bv_elps_ts

    BV_ELPS_TS

    ----------

    + 00:00:13.030241000 000000

    SQL > SPOOL OFF

  • SQL * more substitution vs bind variable question

    Hi all, I am trying to automate some SQL within SQL codes * more script that is triggered by a script .bat, the only parts that change are Dates...

    example:

    create table blah as

    Select * from table

    WHERE DATE between start_date and END_DAY;

    the DATE is a numeric field, YYYYMMDD

    The script runs always at the beginning of a new week, so a Monday, unless a public holiday, then a Tuesday.

    The END_DAY is * always * last Friday and I realized that:

    variable L_FRIDAY char (15);

    Start

    Select to_char (next_day(sysdate-7,'FRIDAY'), 'YYYYMMDD') as Last_Friday in: double L_FRIDAY;

    end;

    /

    The thing is that I get an error when I try to use the binding variable?

    create table blah as

    Select * from table

    WHERE DATE between start_date and: L_FRIDAY;

    Then once I found the end date, I was going to use add_months(L_FRIDAY,-12) for previous 12 months for the start_date...

    When I tried to use a variable Substitution I could just hard code the date, but I can not or do not know how to set the value of this exec to the variable?

    Help!

    :-)

    Basically my research reveals that - Bind variables are not allowed for operations of data definition, use substutions instead of bind variables

    I need an automated way to find the END_DAY which is last Friday and START_DATE that is 12 months before Friday and refer to those in the SQL without errors.

    Hello

    Kodiak_Seattle wrote:

    Hi all, I am trying to automate some SQL within SQL codes * more script that is triggered by a script .bat, the only parts that change are Dates...

    example:

    create table blah as

    Select * from table

    WHERE DATE between start_date and END_DAY;

    the DATE is a numeric field, YYYYMMDD

    The script runs always at the beginning of a new week, so a Monday, unless a public holiday, then a Tuesday.

    The END_DAY is * always * last Friday and I realized that:

    variable L_FRIDAY char (15);

    Start

    Select to_char (next_day(sysdate-7,'FRIDAY'), 'YYYYMMDD') as Last_Friday in: double L_FRIDAY;

    end;

    /

    The thing is that I get an error when I try to use the binding variable?

    create table blah as

    Select * from table

    WHERE DATE between start_date and: L_FRIDAY;

    Then once I found the end date, I was going to use add_months(L_FRIDAY,-12) for previous 12 months for the start_date...

    When I tried to use a variable Substitution I could just hard code the date, but I can not or do not know how to set the value of this exec to the variable?

    Help!

    :-)

    Basically my research reveals that - Bind variables are not allowed for operations of data definition, use substutions instead of bind variables

    I need an automated way to find the END_DAY which is last Friday and START_DATE that is 12 months before Friday and refer to those in the SQL without errors.

    Or SQL * more bind variable or variable substitution can be DATEs.  The best you can do is set a different type, as a string, representing a date.  A string as June 19, 2015"represents a date, but so strings like 'SYSDATE' and ' SYSDATE - 7', so you can do something like this:

    SET l_friday = ' NEXT_DAY ((SYSDATE-7), 'FRIDAY').

    DEFINE start_date = "ADD_MONTHS (& l_friday, - 12)"

    SELECT & start_date AS t_n

    , & l_friday AS l_f

    OF the double

    ;

    Output (when executed on 25 June 2015):

    L_F T_N

    ----------- -----------

    June 19, 2014 19 June 2015

  • Special characters could not load DB via SQL * MORE

    Hi, I have a pl as .accidentally sets sql script which will insert data in database. The question is there are some records are missing and these missing records contains a special character: Sansao and Strasse. The strange was if I run the script via F5 (Toad), all data can be inserted successfully but run through SQL * MORE (Toad), all records that contain special characters are not inserted.

    Anyone here know why it didn't load these special characters via SQL * MORE?

    Probably because you have given unicode (multi byte charsets) you read with a customer of standard single-byte character set.

    It's SILLY to loading data using SQL * more. It's the wrong tool used for loading the data. It does not support the bind variable. It doesn't support liaison in bulk. It does not support direct path inserts. It is not SQL * Loader.

  • Choose one in SQL Developer fails - SQL * more work

    Hi all

    I have the HS to MySLQ connection works correctly and most of the requirements I have in regards to the data works.


    However, I "only able to test my procedures and functions in SQL * more." IN SQL Developer 4.0.0.12 there is always a problem and questioning of the results are never displayed.

    Thanks in advance for any advice.

    Sincerely

    JS

    Hello Mike,.

    I use Oracle XE 11.2.0.2 x 64 on Linux. Using the MySQL ODBC 5.3.4 connection.

    I've just upgraded the SQL Developer to version 4.0.3 (released September 2014) and the problem seems to be resolved because I'm able to query the MySQL database and get the results.

    However, there is something I don't like all the whitespace added, whether in SQL Developer 4.0.3 in SQL * more.

    Here's the query I tested:

    Select "host", "User", "Password" in "user"@MYODBC5;

  • SQL more how to stop script after the exception of the DDL

    Hello

    I have script .sql, which I managed by SQL * more.

    Some migration of data and database structure changes were made in the script.

    So, I use a lot of distinct calls:

    @script_name.sql

    @script_name_1.sql

    @script_name_2.sql

    ...

    Some of the scripts contains DDL as create table or column.

    contains some declare blocks (DML).

    Is it possible to stop the script after an exception has occurred?

    Thank you, Olga.

    Hi, Olga.

    You can use the SQL * more order

    WHENEVER SQLERROR EXIT

    to tell SQL * more to stop the execution of orders and immediately disconnect after any exception SQL is triggered.

    I don't know of anyway to stay connected, but to stop script execution, after an error.

  • SP2-0642: SQL * more internal error of State 2165

    Hello

    I was faced with the question with sqlplus suddenly in 11.2.0.3 throw version on solaris 10 OS, it was working fine until today. No changes made on this (11.2.0.3.Q3) oracle home, but new ORACLE HOME installed by Server DBA (shared server) with the Q4 patch.

    -bash-3, $2 sqlplus / as sysdba

    SP2-0642: SQL * more internal error state 2165, context 4294967295:0:0

    Impossible to continue

    As explained in metalink note: 396154.1, I set NLS_DATE_FORMAT, but it doesn't seem to work

    also, I've checked the timezone as explained in the blog file, but the file timezone.dat does not exist in 11.2.0.3 version and all the files in $ORACLE_HOME/oracore/zoneinfo/have permissions of reading to the dba group

    http://arjudba.blogspot.com/2010/07/non-Oracle-user-hits-SP2-0642-or-SP2.html

    -bash - $3.2 ls - ltr

    30942 total

    -rw - r - r - 1 oracle dba readme.txt 6068 7 June 2010

    -rw - r - r - 1 oracle dba 31525 June 7, 2010 timezdif.csv

    -rw - r - r - 1 oracle dba 351525 Aug 21, 2011 timezone_9.dat

    -rw - r - r - 1 oracle dba 302100 August 21, 2011 timezone_8.dat

    -rw - r - r - 1 oracle dba 286815 Aug 21, 2011 timezone_7.dat

    -rw - r - r - 1 oracle dba 286217 Aug 21, 2011 timezone_6.dat

    -rw - r - r - 1 oracle dba 286310 Aug 21, 2011 timezone_5.dat

    -rw - r - r - 1 oracle dba 286264 Aug 21, 2011 timezone_4.dat

    -rw - r - r - 1 oracle dba 286651 Aug 21, 2011 timezone_3.dat

    -rw - r - r - 1 oracle dba 274900 August 21, 2011 timezone_2.dat

    -rw - r - r - 1 oracle dba 344448 Aug 21, 2011 timezone_14.dat

    -rw - r - r - 1 oracle dba 344425 Aug 21, 2011 timezone_13.dat

    -rw - r - r - 1 oracle dba 345024 Aug 21, 2011 timezone_12.dat

    -rw - r - r - 1 oracle dba 345356 Aug 21, 2011 timezone_11.dat

    -rw - r - r - 1 oracle dba 345637 Aug 21, 2011 timezone_10.dat

    -rw - r - r - 1 oracle dba 274427 Aug 21, 2011 timezone_1.dat

    -rw - r - r - 1 oracle dba 801410 Aug 21, 2011 timezlrg_9.dat

    -rw - r - r - 1 oracle dba 616723 Aug 21, 2011 timezlrg_8.dat

    -rw - r - r - 1 oracle dba 601242 Aug 21, 2011 timezlrg_7.dat

    -rw - r - r - 1 oracle dba 586750 Aug 21, 2011 timezlrg_6.dat

    -rw - r - r - 1 oracle dba 587487 Aug 21, 2011 timezlrg_5.dat

    -rw - r - r - 1 oracle dba 531137 Aug 21, 2011 timezlrg_4.dat

    -rw - r - r - 1 oracle dba 527717 Aug 21, 2011 timezlrg_3.dat

    -rw - r - r - 1 oracle dba 507957 Aug 21, 2011 timezlrg_2.dat

    -rw - r - r - 1 oracle dba 791430 Aug 21, 2011 timezlrg_14.dat

    -rw - r - r - 1 oracle dba 782475 Aug 21, 2011 timezlrg_13.dat

    -rw - r - r - 1 oracle dba 785621 Aug 21, 2011 timezlrg_12.dat

    -rw - r - r - 1 oracle dba 787272 Aug 21, 2011 timezlrg_11.dat

    -rw - r - r - 1 oracle dba 792894 Aug 21, 2011 timezlrg_10.dat

    -rw - r - r - 1 oracle dba 493675 Aug 21, 2011 timezlrg_1.dat

    drwxr-xr-x 2 oracle dba 30 Sep 8 05:03 big

    drwxr-xr-x 2 oracle dba 30 Sep 8 05:03 little

    Please suggest alternatives to troubleshoot

    Thank you

    Sol.beach thanks for the reply, I'm able to correct the problem. In fact the PATH variable has put in .profile of export PATH = $PATH: $ORACLE_HOME/bin and the value is lower.

    -bash-3, $ 2 echo $PATH

    /Apps/Oracle/product/9.2.0.8.2009Q4/bin:/usr/ccs/bin:/usr/sbin:/usr/bin:/bin:.:/ bin:/opt/bin:usr/CSS/bin:/usr/ucb:/usr/local/bin:/apps/Oracle/product/11.2.0.3.2014Q3/bin

    I changed as export PATH = $ORACLE_HOME/bin: $PATH and now it works fine. It seems to be a problem with the old Oracle Home, also present in the PATH variable before the bin to the current address of Oracle Home Directory.

    -bash-3, $ 2 echo $PATH

    /Apps/Oracle/product/11.2.0.3.2014Q3/bin:/apps/Oracle/product/9.2.0.8.2009Q4/bin:/usr/ccs/bin:/usr/sbin:/usr/bin:/bin:.:/ bin: / opt/bin: css/usr/bin: / usr/ucb: / usr/local/bin

    Concerning

  • Database demo of vision: how to access the database through SQL * more?

    I'm totally new in this space, so forgive my beginner questions.

    What I want to do, is to integrate EBS with APEX. To get there I downloaded (of delivery) and installed the Vision database unique node in a VirtualBox. To do this, I followed this video on YouTube: https://www.youtube.com/watch?v=8JgxMDPsd6s

    Now I want to install APEX and for this I need to access my database as SYS. Now for my questions:

    1. How can I use SQL * more in the VirtualBox?

    2. What is the default password for SYS with this demo database?

    Thanks, Alex

    File under $ORACLE_HOME and the owner is the user 'oracle '.

    You will need to source the file VISION_ebs.env , and then deliver "env | fate"and you should see the set env variables. You can connect as sysdba.

    Thank you

    Hussein

  • Cannot access SQL more from other than the Oracle users

    Hello

    I installed Oracle 11 g R2 on Red Hat 6. My problem is that I can't access sqlplus from other than the oracle users.

    I put the PATH, the ORACLE_HOME and ORACLE_SID to the correct values.

    Session1

    Connect as: oracle

    [email protected] password:

    Last login: Sun Aug 24 01:24:46 192.168.202.1 2014

    [oracle@localhost ~] $ echo $PATH

    /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/Home/Oracle/bin:/Home/Oracle/app/Oracle/product/11.2.0/dbhome_1/bin

    [oracle@localhost ~] $ echo $ORACLE_HOME

    /Home/Oracle/app/Oracle/product/11.2.0/dbhome_1

    [oracle@localhost ~] $ echo $ORACLE_SID

    ORCL

    [oracle@localhost ~] $ sqlplus

    SQL * more: Production release 11.2.0.1.0 Sun Aug 24 03:17:32 2014

    Copyright (c) 1982, 2009, Oracle.  All rights reserved.

    Enter the user name:

    Session2

    Connect as: nada

    [email protected] password:

    Last login: Sun Aug 24 02:31:49 192.168.202.1 2014

    [prithwish@localhost ~] $ export PATH=$PATH:/home/oracle/app/oracle/product/11.2.0/dbhome_1/bin

    [prithwish@localhost ~] $ export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_1

    [prithwish@localhost ~] $ export ORACLE_SID = orcl

    [prithwish@localhost ~] $ echo $ORACLE_HOME

    /Home/Oracle/app/Oracle/product/11.2.0/dbhome_1

    [prithwish@localhost ~] $ echo $ORACLE_SID

    ORCL

    [prithwish@localhost ~] $ echo $PATH

    /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/Home/Prithwish/bin:/Home/Oracle/app/Oracle/product/11.2.0/dbhome_1/bin

    [prithwish@localhost ~] $ sqlplus

    -bash: sqlplus: command not found

    I guess that I could not access sqlplus as the Nada the user has no access to X11R6

    [prithwish@localhost ~] $ cd...

    [Host prithwish@localhost] $ ls - ltr

    Total 8

    drwx-. 30 oracle oinstall 4096 23 August 23:51 oracle

    drwx-. Nada Nada 4096 24 August to 02:33 27 Mathieu

    [Host prithwish@localhost] $

    My question is, although quite stupid, that double

    (1) I have to change the permissions of the directory oracle of 755 for any other user to access the sqlplus?

    (2) why is the user directory under the folder created with permissions of 700, even when the umask is set to 002? Change the permissions of the directory under/Home oracle will cause security problems?

    My apologies for being naïve. It's the first time I installed Oracle under UNIX

    Kind regards

    Prithwsh

    Actually, the default procedure is NOT to install oracle to X11R6, but in/opt/oracle. or maybe/usr/local/oracle.

    This is what you're going to be recommended in the installation documentation, and in doing so, don't forget to run rootpre.sh and root.sh, I never had security problems and could run Oracle from any account.

    Sybrand Bakker

    Senior Oracle DBA

Maybe you are looking for