String DBMS_OUTPUT buffer limit

Hellou everyone

DECLARE
y varchar2 (32000): = RPAD('x',1000,'*'); -WORK
z varchar2 (32000): = RPAD('x',1001,'*'); -DOES NOT WORK
BEGIN
dbms_output.put_line (length (y));
dbms_output.put_line (y);
dbms_output.put_line (length (z));
dbms_output.put_line (z);
END;

I need a part of debugging and code when the string is Length > 1000 then error pops up:

ORA-06502: PL/SQL: digital or value error: character string buffer too small
ORA-06512: at "SYS." DBMS_OUTPUT", line 148
ORA-06512: at line 2

I don't know if there is some limmitation for the length of the string in put_line in documentation is the obly buffer size
I tried to use dbms_output.enable (1000000) - but the same result

I tried to use DBMS_OUTPUT. GET_LINE, but no results :(
I can insert the value to the table or file, but I want to know why this limitation.

I was looking on the forum but have not found anything.

Thanks for the reply.

Zoffo

What version of Oracle are you using? This information must be in each original position. Before 10 g dbms_output had a documented length 255 bytes limit.

You posted pl/sql runs without error on my 10.2.0.5 system:

MPOWEL01@UT1> @t15
1000
x*******************************************************************************
********************************************************************************
********************************************************************************
********************************************************************************
********************************************************************************
********************************************************************************
********************************************************************************
********************************************************************************
********************************************************************************
********************************************************************************
********************************************************************************
********************************************************************************
****************************************
1001
x*******************************************************************************
********************************************************************************
********************************************************************************
********************************************************************************
********************************************************************************
********************************************************************************
********************************************************************************
********************************************************************************
********************************************************************************
********************************************************************************
********************************************************************************
********************************************************************************
*****************************************

PL/SQL procedure successfully completed.

HTH - Mark D Powell.

PS - set serveroutput size 1000000 included before your pl/sql code

Edited by: Mark D Powell on 31 August 2012 06:16

Tags: Database

Similar Questions

  • monitor the dbms_output buffer

    Database Oracle 10.2.0.4

    I have a way to control what a session is dbms_output buffer?

    A developer used dbms_output.put_line as a technique of 'connection' and now I'm trying to find a way to see what the application connects.

    Any hel appreciated.

    Concerning

    Claire wrote:
    Database Oracle 10.2.0.4

    I have a way to control what a session is dbms_output buffer?

    N ° wait that the PL/SQL code ends & control is returned to the client.

  • How to print got string in buffer in a table at the front end?

    Hello. I want to print the string obtained in buffer in a table opposite end. I play serial with a machine, where I'm supposed to place an order to get the answer. The machine I'm trying to communicate has 6 cylinders, when I pass command 'b', it sends the values of the bottles as a string. Example: when 'b' is passed, I get "b 50.8 54.8 60.2 65.3 57.0 61.6" in buffer. I want to put these values in a table at the front end. Can you please give a tip / solution to my problem? I have attatched the vi. Thank you.

    Hi Madara77,

    Table is an array of shots, first think about how you can get the array from the string above,

    Here you need to parse the string correctly, for the string "b 50.8 54.8 60.2 65.3 57.0 61.6"

    1. remove the space first and the last, removal of b , (use the subset of the string function ( )

    2. now you have ' 50.8 54.8 60.2 65.3 57.0 61.6.

    3. now try to get the table on top of the string based on usage worksheet of array of strings

    (a) use the delimiter as space constant.

    Table 2D b) array type as a string

    Now, just wire this scoreboard table.

    It will be useful.

  • by programming the string value upper limit of table 3.1 teststand

    I'm relatively new to using Testand... so I would be grateful for all the help:

    I created an array of strings using an ActiveX/COM action: PropertyObject.NewSubProperty (lookupString, valueType, EnTableau, typeName, options)

    It creates an empty array of strings [0.empty]. How to programmatically set the upper bound of the array (for example the table of strings [0.8])

    Due to my requirements of the application, I have to use Teststand 3.1

    Thank you in advance,

    Ellas1

    Hello

    I think TS 3.1, you should always use the TS API PropertyObject.SetDimensions (later of TS that has been replaced by an array property), or you can use SetNumElements if it is a 1 d array. Of course, you can order these operate using TestStand.

  • Mulitpart post http to download images and string parameters

    It is the first time I use http multipart post to download files. I download the two parameters of string (token source) and a captured image of terminal BlackBerry. I tried the following code but it gives me error.

    I don't know if it's the right way to create the MULTIPART post request.

    StringBuffer buffer = new StringBuffer();
    String boundary = "--@#$--";
    byte[] image = byte[] from camera.getsnapshot;
    
    buffer.append(boundary+"\r\nContent-Disposition: form-data;name=\"token\"\r\n"+token+"\r\n");
    buffer.append(boundary+"\r\nContent-Disposition: form-data;name=\"source\"\r\n"+"Blackberry"+"\r\n");
    buffer.append(boundary+"\r\nContent-Disposition: form-data;name=\"file.jpg\";filename=\""+ filename+"\""+"\n" +     "Content-Type:image/jpeg"+"\n"+ "Content-Transfer-Encoding: binary" + boundary +"\r\n" +new String(image));
    buffer.append("\r\n" + boundary + "\r\n");
    
    String string = new String(buffer);
    
    byte[] post = string.getBytes();
    
    HttpConnection connection = (HttpConnection)Connector.open(url);
    
    connection.setRequestMethod(POS);
    
    connection.setRequestProperty(HttpProtocolConstants.HEADER_CONTENT_TYPE,
        HttpProtocolConstants.CONTENT_TYPE_MULTIPART_FORM_DATA+
        ";boundary="+boundary);
    
    connection.setRequestProperty(HttpProtocolConstants.HEADER_CONTENT_LENGTH,String.valueOf(post.length));
    connection.setRequestProperty("User-Agent", "Profile/MIDP_2.0 Configuration/CLDC-1.0");
    OutputStream postStream =connection.openOutputStream();
    postStream.write(post,0,post.length);
    postStream.close();
    

    If someone has done this before, your help would be very appreciated

    Finally worked,

    private final String boundary = "akfdskdjfkl";
    private final String lineend = "\r\n";
    private final String twoHyphens = "--";
    
    OutputStream pos = connection.openOutputStream();
    
    pos.write(twoHyphens.getBytes());
    pos.write(boundary.getBytes());
    pos.write(lineend.getBytes());
    
    pos.write("Content-Disposition: form-data;   name=\"authenticity_token\"".getBytes());
    pos.write(lineend.getBytes());
    pos.write(lineend.getBytes());
    pos.write(app.userAccount.getUser_auth_token().getBytes());
    pos.write(lineend.getBytes());
    
    pos.write(twoHyphens.getBytes());
    pos.write(boundary.getBytes());
    pos.write(lineend.getBytes());
    
    pos.write("Content-Disposition: form-data; name=\"source\"".getBytes());
    pos.write(lineend.getBytes());
    pos.write(lineend.getBytes());
    pos.write("blackberry".getBytes());
    pos.write(lineend.getBytes());
    
    pos.write(twoHyphens.getBytes());
    pos.write(boundary.getBytes());
    pos.write(lineend.getBytes());
    
    String filename = "blackberry" + filepath;
    pos.write("Content-Disposition: form-data; name=\"Filedata\"; filename=\"".getBytes());
    pos.write(filename.getBytes());
    pos.write("\"".getBytes());
    pos.write(lineend.getBytes());
    
    pos.write("Content-Type: image/jpeg".getBytes());
    pos.write(lineend.getBytes());
    pos.write(lineend.getBytes());
    
    pos.write(image, 0, image.length);
    
    pos.write(lineend.getBytes());
    
    pos.write(twoHyphens.getBytes());
    pos.write(boundary.getBytes());
    pos.write(twoHyphens.getBytes());
    pos.write(lineend.getBytes());
    

    Formatted string is vital, accurate use of hyphens, limit, and new line must be ensured.

  • How to capture (or redirect) dbms_output customer?

    I work in a home business and I am accessing a remote database using a program called Developer SQL solyp. I have to get data in PLSQL stored procedures. The data is output procedures by dbms_output. The problem is I don't think a way to this customer to capture the dbms_output buffer, or an equivalent of "set serveroutput on ' for SQL * more. I can see the results of normal SQL queries but not procedures PLSQL.

    I don't have permission to install other clients of DB.

    I have not authorized to change procedures to generate the output other than that dbms_output.

    My question is how do I capture the output of the procedures of the customer?

    Is it possible to redirect the output of the dbms_output to standard output for a session? or even for the whole DB?

    Equivalent to ' set serveroutput on "non-specific to sQL * more?

    * dbms_output. Enable makes no difference, it allows only dbms_output it does not redirect.

    * Redirect to a file on the DB server does not work, I don't have access to the file system on the DB server.

    DBMS_OUTPUT. Simple Put_line writes data in the DBMS_OUTPUT buffer. He twisted it to something similar to sysoutput or syserror, so there is nothing to redirect. Customer must read DBMS_OUTPUT buffer and, for example, it displays on the screen. So check solyp SQL Developer docs to see how to do this. For example, in SQL Navigator, you must click on the button "tunn serveroutput on / off. And if the solyp SQL Developer does not really support DBMS_OUTPUT, you could create something like:

    create or replace

    function get_dbms_output_lines

    return the sys. OdciVarchar2List

    pipelined

    is

    v_line varchar2 (4000);

    number of v_status;

    Start

    loop

    dbms_output.get_line (v_line, v_status);

    out when v_status = 1;

    pipe row (v_line);

    end loop;

    end;

    /

    The function is created.

    SQL > exec dbms_output.enable

    PL/SQL procedure successfully completed.

    SQL > start
    2 for v_i in 1.10 in loop
    3 dbms_output.put_line ('Line' | v_i);
    4 end of loop;
    5 end;
    6.

    PL/SQL procedure successfully completed.

    SQL > select *.
    table 2 (get_dbms_output_lines)
    3.

    COLUMN_VALUE
    -----------------------------------------------------------------

    Line 1
    Line 2
    Line 3
    Line 4
    Line 5
    Line 6
    Line 7
    Line 8
    Line 9
    Line 10

    10 selected lines.

    SQL >

    Don't forget, of the above will work if the line size does not exceed 4000 bytes (SQL limit).

    SY.

  • dbms_output. Enable (buffer_size = > NULL)

    Hello

    I'm reviewing the PL/SQL Packages of documents and reference Types
    11g Release 1 (11.1).
    B28419-03

    There is a section that says:
    ...
    Type SET SERVEROUTPUT ON in SQL * Plus has the effect of the call
    DBMS_OUTPUT. ACTIVATE (buffer_size = > NULL);
    no limit on the output.
    ...

    When I test using an anonymous block, buffer_size, NULL produces no output.
    set serveroutput on
    
    begin
    dbms_output.put_line('Foo');
    end;
    /
    Product output as expected.
    begin
    dbms_output.enable(buffer_size => NULL);
    dbms_output.put_line('Foo');
    end;
    /
    Produces no output.

    Not what I expected. Can someone explain what I am doing wrong?

    All Poodles are dogs, but not all dogs are poodles. SET SERVEROUTPUT ON does more than DBMS_OUTPUT. ACTIVATE (buffer_size-online NULL); She:

    (a) dbms_output allows session
    (b) reads and displays the contents of the dbms_output buffer after the execution of each statement

    While DBMS_OUTPUT. ACTIVATE (buffer_size-online NULL); allows dbms_output just for the session.

    SY.

  • How to read formatting excel worksheet as an array of strings

    I use the report tool to read an excel spreadsheet in an array of strings of LV.  It works fine except that it reads the precision of digital cells (~ 10 digits of precision).

    In my workbook I have displayed accuracy the value 2.  Is it possible to read the table such that it is displayed instead of the way it is stored internally?  (BTW, I understand how to do this)

    manually by parsing the string array and limit myself to the accuracy but would prefer to use excel itself to determine accuracy)

    sachsm,

    This should allow you to get the text from a cell or a range of cells.  Sort of do a "paste special" 'values '.

  • Reg: DBMS_OUTPUT. PUT_LINE

    All,

    I have a package with couple of procedures and functions.

    I placed a few statements dbms_output.put_line to check the stream from where to where the control happens. I can test the individual procedures enabling the DBMS_OUTPUT option in SQL Developer / TOAD.

    If I want to test the package flow, level of enforcement (ex say: I clicked on the "SUBMIT" button), where can I see the output displayed using the DBMS_OUTPUT.

    Sorry, if I'm not clear. Please help me.

    Thank you

    It depends on the tool that you use to be able to read from the buffer. Some tools such as SQL Developer are able to read, others not.

    Here is a thread with the source code that shows how read and display the dbms_output buffer in a java console.

    http://asktom.Oracle.com/pls/asktom/f?p=100:11:0:P11_QUESTION_ID:45027262935845

    If your client is an application of apex, you simply call apex_debug.log_dbms_output (http://docs.oracle.com/cd/E37097_01/doc/doc.42/e35127/apex_debug.htm#BCGDICFE). The new version of the apex being dbms_output aware (as Tom calls it).

  • Run time output of DBMS_OUTPUT. PUT_LINE

    I would like to know why DBMS_OUTPUT. Put_line output gives only after the end of the execution of the procedure. I wonder why Oracle has not provided a package for the output of the run time.

    user10566312 wrote:
    I would like to know why DBMS_OUTPUT. Put_line output gives only after the end of the execution of the procedure. I wonder why Oracle has not provided a package for the output of the run time.

    It's because of the client server architecture.

    SQL and PL/SQL processes run on the database server.
    The database server has no access to clients, or screen keyboard, so cannot accept entries to the client keyboard, or write the output to the screen of the client.
    When the client software issues a statement to the database, it uses something like for example of SQL * more to establish a connection to the database, submit this request to the database and then waits for the request to complete, eventually return some results from that (e.g. the results of a SQL query).
    DBMS_OUTPUT does not write to any screen... it puts just the data that you specify in the DBMS_OUTPUT buffer. It is then up to the client software to request the contents of this buffer, but the client software cannot do that when the request he made was finished (only a single statement between client and server can be converted at any time). That's why you issue your request so the output once the query is complete.

    Oracle provides a way for you to run output at the time, if you want to start doing things with the DBMS_PIPE package, etc., although for the follow-up of the execution, I have a package that writes my 'output' to a table on the database by using an autonomous transaction and then the content of this table can be viewed from a second session While the first session is still being requested process. Similarly, you may have your 'exit', writes to a file on the database server using something like UTL_FILE and then you would be able to view the contents of this file running, as long as you open and close the file and make sure file buffers have been empty etc.

    DBMS_OUTPUT is not the tool to use if you want to display the output of the run time. It's not a fault of Oracle, it's just your lack of understanding of what tools do this work. ;)

  • Reg: try to insert * dbms_output. PUT_line ('hi') * in the table.

    Hi all
    Try inserting dbms_output. PUT_line ('hi') in the table.

    DOF of the table is:
    create table test_result (tab varchar2 (30), varchar2 (2000)) of the State;


    The code is:

    DECLARE
    A1 VARCHAR2 (1000);
    BEGIN
    A1: = dbms_output. PUT_line ('hi');
    INSERT INTO test_result VALUES ('PRASAD', dbms_output. PUT_line ('hi'));
    END;

    Get the error message like:
    Error from the 1 in the command line:
    DECLARE
    A1 VARCHAR2 (1000);
    BEGIN
    A1: = dbms_output. PUT_line ('hi');
    INSERT INTO test_result VALUES ('PRASAD', dbms_output. PUT_line ('hi'));
    END;
    Error report:
    ORA-06550: line 4, column 8:
    PLS-00222: no function with name 'PUT_LINE' does exist in this scope
    ORA-06550: line 4, column 2:
    PL/SQL: Statement ignored
    ORA-06550: line 5, column 53:
    PL/SQL: ORA-00904: invalid identifier
    ORA-06550: line 5, column 1:
    PL/SQL: SQL statement ignored
    06550 00000 - "line %s, column % s:\n%s".
    * Cause: Usually a PL/SQL compilation error.
    * Action:


    Thanks in advance.

    If you try to capture the data of the output as DBMS_OUTPUT buffer. Put_line written to, then you must use the procedure GET_LINE in the same package.

    for example

    SQL> ed
    Wrote file afiedt.buf
    
      1  DECLARE
      2    A1 VARCHAR2(1000);
      3    status number;
      4  BEGIN
      5    dbms_output.enable;
      6    dbms_output.PUT_line('hi') ;
      7    dbms_output.get_line(a1, status);
      8    INSERT INTO test_result VALUES('PRASAD',a1);
      9* END;
    SQL> /
    
    PL/SQL procedure successfully completed.
    
    SQL> select * from test_result;
    
    X          Y
    ---------- ----------
    PRASAD     hi
    
    SQL>
    
  • Dynamic cursor Type strong?

    I am currently using Oracle 11.2 G and I was wondering if you can declare a dynamic cursor as a strong Ref Cursor type or it may be declared as weak type ref cursor? Now, if she can only be declared as a weak type Ref Cursor, is it possible to avoid having to explicitly declare the type names and field being returned by the cursor? Sense, is any way to avoid having to do something like that...
    TYPE example_rec IS RECORD
    (
     col1 VARCHAR2,
     col2 NUMBER,
     col3 NUMBER,
     etc...
    )
    Instead, I was wondering if I could just set the fields and their types by defining them as a TABLE OF THE ref cursor?

    I wonder if this is possible is because I have a large number of fields returned in my cursor, and I was hoping on not having to type each person and its type. In addition, I think this would make maintenance easier.

    user652714 wrote:
    No, not quite. I ask if I can create a strong dynamic type Ref cusors. Here is a Pseudo code:

    DECLARE
    TYPE test_rec IS TABLE OF test_cur%ROWTYPE; -- i'm wondering if i can do something like this
    --'The code below is what I am TRYING TO AVOID'
    TYPE test_cur IS REF CURSOR;
    TYPE test_rec IS RECORD
    (
    col1 VARCHAR2,
    col2 NUMBER,
    col3 NUMBEr
    )
    

    Is not possible.

    Let's say you would set an TEST_REC as above. How would refer to the members of the structure of your code? This type could describe anything like projection of the cursor could be anything - a unique column, to a 100 columns. A combination of columns that can include data types of the LOB of tables nested SQL types defined by the user.

    So, how can you refer to these columns in the structure of table TEST_REC ? Guess?

    A new concept - all SQL statements are parsed, stored and executed as sliders. REF CURSOR, cursors implicit, explicit cursors and so on, are CLIENT interfaces to the created SQL cursor. Each of these interfaces to client cursor works in a specific way and provide a set of specific features.

    Next concept - to extract a SQL cursor, the client code NEEDS to know the structure of the projection of this cursor SQL. The code needs to know the number and types of data in the columns returned by the cursor.

    The customer may address the issue in two ways.

    Statically. In other words, at the time of coding, SQL projection, returned by this SQL cursor is known. The developer can thus use some thing like + % RowType % + to indicate to the compiler that record structure to define. The compiler parses the SQL cursor in the code, describes the projection of SQL and compiles this projection of SQL as the static structure in the code.

    + % RowType + in this regard is as a #define of C macro. He tells the PL/SQL compiler to describe the cursor SQL projection, then produced a PL/SQL, based on the record structure.

    Dynamically. This means at the time of coding, SQL, returned by this SQL cursor is unknown. In this case the compiler has no idea at compile time what structure will be returned by the cursor. Compiled source code may not define a static structure for this cursor SQL - the SQL cursor may return any kind of structure. The source code needs to use the same approach as what the compiler does when it comes to SQL static cursors.

    The source code needs to analyze the cursor, describe the SQL cursor and then pick dynamically by the cursor. Client cursor interface that supports this approach is DBMS_SQL. No ref Cursor.

    Keep in mind that these static and dynamic methods to describe how the code consumes the cursor - extraction of rows in the cursor.

    A static method (where the projection of SQL is known) however apply to the TWO instructions static SQL and dynamic SQL statements. You can use dynamic SQL statements in your code, but a rule which stipulates that, regardless of the SQL code is waiting for a specific static SQL projection of this SQL cursor.

    The dynamic method (where the projection of SQL is unknown) is 'real' dynamic SQL - as the projection of SQL and are all two dynamic SQL code.

    Examples of Basic code:

    // STATIC SQL CURSOR
    SQL> create or replace procedure FooProc is
      2          cursor  c is select object_id, object_name from user_objects;
      3          type    TBuffer is table of c%RowType;
      4          buffer  TBuffer;
      5  begin
      6          open c;
      7          loop
      8                  fetch c bulk collect into buffer limit 100;
      9                  DBMS_OUTPUT.put_line( buffer.Count||' row(s) fetched.' );
     10                  exit when c%NotFound;
     11          end loop;
     12          close c;
     13  end;
     14  /
    
    Procedure created.
    
    SQL>
    SQL> exec FooProc
    100 row(s) fetched.
    43 row(s) fetched.
    
    PL/SQL procedure successfully completed.
    
    // STATIC SQL PROJECTION, BUT DYNAMIC SQL CURSOR
    SQL> create or replace procedure FooProc( c in out sys_refcursor ) is
      2          E_CURSOR_ERROR  exception;
      3          pragma exception_init( E_CURSOR_ERROR, -00932 );
      4          type    TRecord is record(
      5                          name varchar2(30),
      6                          value varchar2(100)
      7                  );
      8          type    TBuffer is table of TRecord;
      9          buffer  TBuffer;
     10  begin
     11          loop
     12                  fetch c bulk collect into buffer limit 100;
     13                  DBMS_OUTPUT.put_line( buffer.Count||' row(s) fetched.' );
     14                  exit when c%NotFound;
     15          end loop;
     16          close c;
     17  exception when E_CURSOR_ERROR then
     18          close c;
     19          raise_application_error(
     20                  -20000,
     21                  'Cursor projection contains an invalid data structure.'
     22          );
     23  end;
     24  /
    
    Procedure created.
    
    SQL> var c refcursor
    SQL> exec open :c for select object_id, object_name from user_objects;
    
    PL/SQL procedure successfully completed.
    
    SQL> exec FooProc( :c );
    100 row(s) fetched.
    43 row(s) fetched.
    
    PL/SQL procedure successfully completed.
    
    SQL> exec open :c for select object_id, object_name, created from user_objects;
    
    PL/SQL procedure successfully completed.
    
    SQL> exec FooProc( :c );
    BEGIN FooProc( :c ); END;
    
    *
    ERROR at line 1:
    ORA-20000: Cursor projection contains an invalid data structure.
    ORA-06512: at "BILLY.FOOPROC", line 19
    ORA-06512: at line 1
    
    // DYNAMIC SQL AND DYNAMIC SQL PROJECTION
    SQL> create or replace procedure FooProc( sqlSelect varchar2 ) is
      2          c               integer;
      3          rc              integer;
      4          colCnt          integer;
      5          fetchCnt        integer;
      6          projection      DBMS_SQL.DESC_TAB;
      7  begin
      8          --// ceate and parse the cursor
      9          c := DBMS_SQL.open_cursor;
     10          DBMS_SQL.parse(
     11                  c,
     12                  sqlSelect,
     13                  DBMS_SQL.native
     14          );
     15
     16          rc := DBMS_SQL.execute( c );
     17
     18          --// describe the sql projection
     19          DBMS_SQL.describe_columns( c, colCnt, projection );
     20
     21          --// the sql projection's fields/columns
     22          DBMS_OUTPUT.put_line( 'SQL projection:' );
     23          for i in 1..colCnt loop
     24                  DBMS_OUTPUT.put_line( '- '||projection(i).col_name );
     25          end loop;
     26
     27          --// fetch and process
     28          fetchCnt := 0;
     29          loop
     30                  rc := DBMS_SQL.fetch_rows( c );
     31                  exit when rc = 0;
     32                  --// use DBMS_SQL.column_value() to read fetched row's columns
     33                  fetchCnt := fetchCnt + 1;
     34          end loop;
     35          DBMS_OUTPUT.put_line( fetchCnt||' row(s) fetched.' );
     36
     37          DBMS_SQL.close_cursor( c );
     38  end;
     39  /
    
    Procedure created.
    
    SQL>
    SQL> exec FooProc( 'select object_id, object_name from user_objects' );
    SQL projection:
    - OBJECT_ID
    - OBJECT_NAME
    143 row(s) fetched.
    
    PL/SQL procedure successfully completed.
    
  • How to find the status of lines (modified or not)

    Hello

    Is it possible to find if a line status is modified (but not committed) and user who made the change?
    Avoid locking if we want to check if there is a line in our select statement can cause the deadlock.

    your response is so much appreciated

    In this case, you can skip all the locked rows. This is a clause without papers prior to Oracle 11 g. The following code illustrates the approach:

    // we create a test table with 10 rows
    SQL> create table footab as
      2  select rownum as FOO_ID, object_name as VALUE from all_objects where owner = 'SYS' and rownum  < 11;
    
    Table created.
    
    // we create a procedure that will pretend to be another session trying to update the table, while
    // we are busy updating some rows (it is an autonomous transaction)
    SQL> create or replace procedure UpdateFoo is
      2          pragma autonomous_transaction;
      3
      4          cursor c is
      5          select
      6                  f.*
      7          from    footab f
      8          for update
      9          skip locked;
     10
     11          type TBuffer is table of c%rowtype;
     12          buffer TBuffer;
     13  begin
     14          -- an ugly loop hack used to demonstrate what it can lock
     15          -- and updating those rows
     16          open c;
     17          loop
     18                  fetch c bulk collect into buffer limit 100;
     19
     20                  for i in 1..buffer.Count
     21                  loop
     22                          dbms_output.put_line(
     23                                  'row:'||i||
     24                                  ' id:'||buffer(i).foo_id
     25                          );
     26
     27                          update footab
     28                          set value = lower(value)
     29                          where foo_id = buffer(i).foo_id;
     30                  end loop;
     31
     32                  exit when c%NotFound;
     33          end loop;
     34          close c;
     35          commit;
     36  end;
     37  /
    
    Procedure created.
    
    // the contents of our table
    SQL> select * from footab;
    
        FOO_ID VALUE
    ---------- ------------------------------
             1 DUAL
             2 SYSTEM_PRIVILEGE_MAP
             3 TABLE_PRIVILEGE_MAP
             4 STMT_AUDIT_OPTION_MAP
             5 RE$NV_LIST
             6 STANDARD
             7 DBMS_STANDARD
             8 USER_REGISTRY
             9 ALL_REGISTRY_BANNERS
            10 V_$BH
    
    10 rows selected.
    
    // we lock and update row 5 - and we do not commit
    SQL> update footab set value='UPDATED' where foo_id = 5;
    
    1 row updated.
    
    // the other session's transaction runs, attempting to update all rows -
    // but skip any rows that are already lock (row 5 in this case)
    SQL> exec UpdateFoo
    row:1 id:1
    row:2 id:2
    row:3 id:3
    row:4 id:4
    row:5 id:6
    row:6 id:7
    row:7 id:8
    row:8 id:9
    row:9 id:10
    
    PL/SQL procedure successfully completed.
    
    // what can we see now in the test data?
    SQL> select * from footab;
    
        FOO_ID VALUE
    ---------- ------------------------------
             1 dual
             2 system_privilege_map
             3 table_privilege_map
             4 stmt_audit_option_map
             5 UPDATED
             6 standard
             7 dbms_standard
             8 user_registry
             9 all_registry_banners
            10 v_$bh
    
    10 rows selected.
    
    // we commit our transaction
    SQL> commit;
    
    Commit complete.
    
    // if the other session transaction runs now, it will find all rows
    // available for update
    SQL> exec UpdateFoo
    row:1 id:1
    row:2 id:2
    row:3 id:3
    row:4 id:4
    row:5 id:5
    row:6 id:6
    row:7 id:7
    row:8 id:8
    row:9 id:9
    row:10 id:10
    
    PL/SQL procedure successfully completed.
    
    // contents of the test data after its update
    SQL> select * from footab;
    
        FOO_ID VALUE
    ---------- ------------------------------
             1 dual
             2 system_privilege_map
             3 table_privilege_map
             4 stmt_audit_option_map
             5 updated
             6 standard
             7 dbms_standard
             8 user_registry
             9 all_registry_banners
            10 v_$bh
    
    10 rows selected.
    
    SQL> 
    
  • HP Pav 1EA 15-ab219TX: download stops at 320Mo

    Hi all

    Recently I bought HP Pav 15 - ab219TX cell phone 1EA. Save this model is really good.

    But I noticed that in this cell, maximum I can download files of 320 MB size (or) it stops at 320 MB if the files are located in a larger size. (Please note there is that any problems with Torrentz download regardless of their size).

    I used different browsers as Firefox, Chrome, Safari, IE. Also, I used download managers such as Orbit, IDM, download mgr etc. But the question is always the same. Please someone help me know what exactly is the issue and helps me get this sort.

    Thnaks,

    Aashish

    AashishHP wrote:

    Thank you very much for the solution. After cleaning of temporary files and increase the space, the download is now stop at 640 MB instead of 320... (IE his double now).

    Something else I am missing out?

    You may need to get the browser support page and see where you can remove the buffer limit or increase it to allow you to download it. If at this point, it is no longer a matter of user hp but a browser you need to communicate with them on this subject.

  • Acquire more than 2047 samples with the PXI-4461 instaled in SMU-1073

    Hi all, I would ask you for help with the buffer limit.

    I intend to buy digitizer PXI-4461 and he instal in SMU-1073 chassis, namely control via MXI Express of Labview installed on a separate computer.

    What I need:

    -to acquire data of a single channel of AI, but at least a sequence of 20 kS by a acquire task, in some situations until 200kS by a task to acquire.

    The question:

    - I can gain more than 2047 samples in a single sequence, like 200kS, with the PXI-4461 installed in SMU-1073?

    Internal buffer of the PXI-4461 is reserved to 2047 samples. So I'm not sure if Labview can download remotely via MXI Express the data in the buffer of the PXI-4461 via MXI Express fast enough without any affection of the sampling program.

    -in the case, this PXI-4461 with SMU-1073 isn't the right combination, what chassis and a controller can do?

    Thanks much for the reply

    Jan

    It will work for you.

    The on-board buffer 2047-sample is used only as a backup if the flow of data to the PC host (via MXI Express in this case) is not fast enough... that it will be (explained below).  DAQmx transfers data from the buffer of the device to the host PC as fast as he can and, in ideal conditions, should not save the buffer 2047 much at all.

    Let's just say you get 110 MB/s (randomly from a MXI data sheet) flow on your MXI connection.  The 4461 has 2 analog inputs, which will be at 24 bits, we just round 32-bit in case it transfers the data in this way.

    4 bytes/sample (32 bit) x 200,000 s/s x 2 (channels) = 1.6 MB/s, which is well below the 110 MB/s, which will make the MXI link.

    clear as mud?

    Germano-

Maybe you are looking for

  • Pavilion G6-23391nr: cannot restart or start my computer hp laptop

    I have a pavilion hp G6, and since yesterday, I was unable to boot or reboot my laptop.  I tried unplugging everything, remove the battery and pressing the power button for 15-20 seconds and then reconnect the AC power chsarger and the battery withou

  • XP limited account will not be printed

    I have Windows XP 32-bit family running on my HP desktop computer.  I recently had cause to reset my user account permissions using subinacl.exe dittos. Run this routine has solved the problem I had with my administrator account does not.  However, i

  • File Shreader

    I'm looking for a file shreader which is free and covers all the aspects trash etc file shreading has one good reputable sites links please not cnet have had major problems in tha past.

  • Transport impression stuck

    Because I can't contact support as it says that the portlet is down so I post here. Printer: HP all in one single 4620 After unpacking my printer to use, I found that the print carriage was stuck on the right side, unable to move or be moved manually

  • Information of incoming calls of blackBerry Smartphones

    I have a Bold 9700 on AT & T.  When I receive a call from someone in my Contacts, his name appears on the display while the phone rings, but their location (e.g., home, work, Mobile) does not work.  After the call, the call log shows the location cal