Basic doubt on BLOB/CLOB

In Oracle 10g, the max size for BLOB/CLOB is mentioned as 4GB.
If i store a binary file of size 2MB in a BLOB field, will it block the whole 4GB (4096MB) space for this. Or as like Varchar only the actual file size is used and leave the remaining 4094 MB as free.
Please clarify.

Could not resist it... here's a docu link to info about new LOB handling.

Similar Messages

  • ORA-22275 :invalid LOB locator specified error while loading BLOBs/CLOBS.

    Hello All,
    I am trying to load BLOB/CLOB data from a client oracle DB to the oracle db on our side,we are using ODI version 10.1.3.5.6,which reportedly has the issue of loading BLOB/CLOBS solved.I am using
    The extraction fails in the loading stage when inserting data into the C$ table with the following error.
    "22275:99999 :java.sql.BatchUpdateException:ORA-22275:Invalid LOB locator specified".
    Kindly let me know how I can resolve this issue as the requirement to load this data is very urgent.
    Thanks,
    John

    One alternate way can be done out of ODI as ODI is still not able to resolve this issue. You can trim these fields (CLOB/BLOB) and push this data as separate fields into ODI and at the reporting end you can again concatenate them.
    May be this may solve your problem ....it solved mine.
    --XAT                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Yest we can store BLOB,CLOB

    Hi,
    it is possible to strore the BLOB , CLOB and BFILES IN THE ORACLE8 and above DATABASE.
    For this you can take the help of the DBMS_LOB package.
    regards,
    khaleel

    How do you propose to do that? You are limited to 255 bytes per cell in Excel. If you come up with a scheme to lay down blocks of data and some way to uniquely ID them, then yes, you can; but you have to overcome that 255 byte boundary per cell before you can do much.
    A CLOB can be stored as a string, but once again... there is that max character boundary to overcome in Excel.

  • Display BLOB/CLOB image data in OBIEE 11g

    Dear Gurus,
    I want to display employee profile picture in dashboard, the image data was saved as blob/clob image.
    How to configure and display it in obiee?
    Regards
    JOE

    Hi
    Thanks for your quick response.
    actually im not using EBS, im just using publisher with OBIEE 11g.
    if explain step by step what you wrote first replay-
    Let i have a table with one BLOB column.
    1) first load blob data to my table
    2) create data model from oracle publisher.
    3) change the xdm file with above tagline , my xdm file is in below link-
    C:\mw_bi_home\instances\instance1\bifoundation\OracleBIPresentationServicesComponent\coreapplication_obips1\catalog\SampleAppLite\root\shared\zia%2exdm
    i don't know is that right step? because if i re-open the xdm file after change by your given tagline its shows error.
    I will grateful to you please give me a little explanation which file i can put the following tagline.
    _<fo:instream-foreign-object content-type="image/jpg"><xsl:value-of select=".//IMAGE_ELEMENT"/></fo:instream-foreign-object>_
    Thanks again and waiting your feedback -
    @zia

  • Losing NATIONAL CHARACTERS(blob- clob- table). unistr?

    Hello!
    I have a problem with national characters. My example is as follows:
    1. A csv file is uploaded from disk to htmldb_application_files
    2. This BLOB is then converted to CLOB with dbms_lob.converttoclob()
    3. Data from this CLOB is copied to PL/SQL array.
    4. From PL/SQL array to table in database.
    The problem: Either data copied to table in database loses national characters (display strange characters instead of national), or if I set my national character set id as an argument of dbms_lob.converttoclob() function I have an error - says that file is inconvertible.
    What is wrong? How can I solve my problem? Can unistr() help somewhere? Any ideas?
    Tom

    Duplicate posting, being addressed at:
    losing NATIONAL CHARACTERS(blob->clob->table). unistr?

  • 10g BLOB/CLOB can we store more than 4k in SQL

    Dear Friends
    I know we had issues with BLOB and CLOB storing more than 4k in Oracle 8i using SQL. Is it the same in 10g BLOB/CLOB can we store more than 4k in SQL?
    Please help me with some documentationw which explains these aspects with CLOB and BLOB in 10g
    Thanks
    Farouk

    Thanks for your help,
    I understand we can store blobs more than 4k in 10g using DBMB_LOG but there is a constraint in 8i that using SQL u can store directly only 4k and using a bind variable in PL/SQL we can store upto 32K. Is that the same in 10g or can we store directly using sql more than 4k?
    Thanks
    Farouk

  • BLOB-- CLOB-- BLOB conversion reducing length of BLOB

    Hi,
    I am using the following BLOB-->CLOB and CLOB-->BLOB conversion functions :
    CREATE OR REPLACE FUNCTION blob_to_clob (blob_in IN BLOB)
    RETURN CLOB
    AS
         v_clob CLOB;
         v_varchar RAW(32001);
         v_varchar1 VARCHAR2(32001);
         v_start     INTEGER := 1;
         v_buffer INTEGER := 32001;
    BEGIN
         DBMS_LOB.CREATETEMPORARY(v_clob, TRUE);
         FOR i IN 1..CEIL(DBMS_LOB.GETLENGTH(blob_in) / v_buffer)
         LOOP
         DBMS_LOB.READ(blob_in,v_buffer,v_start,v_varchar);
    DBMS_LOB.WRITEAPPEND(v_clob, utl_raw.length(v_varchar), v_varchar);
         v_start := v_start + v_buffer;
         END LOOP;
    RETURN v_clob;
    END blob_to_clob;
    CREATE OR REPLACE FUNCTION clob_to_blob (clob_in IN CLOB)
    RETURN BLOB
    AS
         v_blob BLOB;
         v_varchar RAW(32001);
         v_varchar1 RAW(32001);
         v_start     INTEGER := 1;
         v_buffer INTEGER := 32001;
    BEGIN
         DBMS_LOB.CREATETEMPORARY(v_blob, TRUE);
         FOR i IN 1..CEIL(DBMS_LOB.GETLENGTH(clob_in) / v_buffer)
         LOOP
         DBMS_LOB.READ(clob_in,v_buffer,v_start,v_varchar);
    DBMS_LOB.WRITEAPPEND(v_blob, utl_raw.length(v_varchar), v_varchar);
              v_start := v_start + v_buffer;
         END LOOP;
    RETURN v_blob;
    END clob_to_blob;
    I am using these functions to convert image files, stored as BLOB to CLOB for intermediate storage, and then converting them back to BLOB. In this process, I see a loss of information when the image is converted from CLOB to BLOB ...which is seen by using dbms_lob.getlength() .Using the following sql query:
    select dbms_lob.getlength(file_body),
    dbms_lob.getlength(blob_to_clob(file_body)),
         dbms_lob.getlength(clob_to_blob(blob_to_clob(file_body)))
    from my_table where image_id in (8819)
    i see that returned length is usually half in the 3rd column, i.e. for dbms_lob.getlength(clob_to_blob(blob_to_clob(file_body))). There is no change in length for 1st and 2nd columns. Could you please let me know why length is getting lost in the CLOB to BLOB conversion ? Thanks.

    Thanks for replying.
    This is required because we have to store images in ldt files using FNDLOAD, whiich only supports CLOB, not BLOB. I understand that images stored in binary formats should be stored in BLOB only, but I am exploring the possibility of converting BLOB format to CLOB and then back to BLOB without loss of information. Any pointers in this regard are appreciated. Thanks !

  • BLOB/CLOB field issue

    Hi All,
    We have a requirement where there are BLOB/CLOB fields in the database containing word documents/gifs/
    pdf files which need to pulled in the report as attachments. The attachments then need to be opened using the
    respective applications like MS word etc.
    Please let me know if this is feasible and if Oracle BI EE supports BLOB/CLOB data types. Are there any projects
    which have implemented similar requirements?
    Thanks in advance
    Regards,
    Andy

    This can be done, but might need lot of work. Have you taken a look at this, especially first one.
    http://oraclebizint.wordpress.com/2007/12/10/oracle-bi-ee-101332-displaying-blob-images-using-plsql-gateway/
    http://oraclebizint.wordpress.com/2007/11/12/oracle-bi-ee-101332-working-with-clob-fields/
    - Madan

  • Basic Doubts

    Hello Experts,
    Please any one of them clarify my some of the Basic doubts
    1.Reg ODS activation failure in Process chain,I know how to correct incase if ods activation failed.I want to know,What could be the reason for failure and in background whats happening(Techincally)
    2.Reg Attribute change run failure in process chain,what could be the reason.(technically)
    3.Whats is the purpose of trfc and what we have to check in SM58.
    4.What is the diff between the IDOC(transfer method) and Idoc which is used to transfer the data in PSA transfer method..(For ex - If i am using the PSA transfer method,even there to transfer the datapackets,we are using Idoc)
    5.Some of the time,I am getting the error like this"Non updated idoc in source system and error mesg from the source system/Business warehouse.
    This mean,what could be the reason.(Frequently i am getting the above errors and If i used the repeat option,It has been corrected and loaded succesfully)
    6.How many datasources can be assigned to one Infosource(Is any limit is there)
    I request you to advise on the above doubts and I will assign the points.
    Thanks in advance
    Regards
    Kumar

    Hi,
    1. During the month end procedures and week ends the number of records will be more rather than the week days, so the data packages defined will run for long time, so we will be getting Time out error, we have to manually activate the data packages.
    2. if you r not using Attribute change run, then your Master data(text, attribute, hierarchy wont get activated when you run a process chain)
    .so it is mandatory that once you fill the master data u have to activate those, for that we need Attribute change run.
    3. tRFC calls which transfer IDocs use the function module IDOC_INBOUND_ASYNCHRONOUS at reception If an IDoc in the sending system has been passed to tRFC (IDoc status "03"), but has not yet been input in the receiving system, this means that the tRFC call has not yet been executed.
    In the standard SAP system, if tRFC errors occur, a background job is generated to re-establish the connection. In certain circumstances this could result in a large number of background jobs being started that completely block background processing. To cancel a background job if tRFC errors occur use program RSARFCEX to restart tRFC.we go for SM59 transaction for this.
    Choose Destination ® tRFC Options and select the option Suppress Background Job at Comm. Error. 
    4. PSA :
    The data is sent directly from the source system to the BW and it  is stored in the PSA (Persistent Staging Area), we can update  automatically/manually to corresponding Info providers .The transfer type here is called the TRF (Transactional Remote Function).
    IDOC :
    The data is packed into IDocs by the source system and sent to the Business Information Warehouse. In BW the data is saved persistently and intransparently in the IDoc store. we have some prerequisite here to use this method ,Transfer  transfer structure must not have more than 1000 Bytes in the character format.
    6. One datasource can be assigned to one info source.

  • Oracle Business INtelligence -installation, basic doubts

    can i shoot oracle BI installation related basic doubts, and other issues that may arise in this forum ???

    if it's enterprise edition.. you can post here..
    Business Intelligence Suite Enterprise Edition

  • Redologs basic doubt

    Hi,
    version is 10g, no archive log mode.....
    I have one basic doubt. please bare with me..... I have gone through documents..but still some doubts...
    One person asked me this doubt, when a long running transaction is going on , there is no commit, lot of redo activity is there, if we dont commit, those changed information is gone, when the redo log files are over written, is it true???? he asked like that,
    My answer is like below.......
    There is a long running transaction going on ( insert the data into one table).
    Redo log files are 10 MB size ( 2 Redo log groups with 2 members each).... when insertion is going on, changes are entering into redo log files. stil there is no commit.....
    (a) one redo log file got filled up
    (b) next log switch
    (c) next redo logfile got filled up
    see here still there is no commit
    (d)next system uses first redo log switch and overwrites the data in redo log file
    So, when coming to my doubt, all un commited data already written to data files and when we rollback, those data which is written in datafiles will be rolled back by using undo information in undo files.
    am i right????
    all the new information wile insertion, that data is written into datafiles. old data is written to undo files. when we roll back
    Please correct me, if my undestanding is wrong......
    Edited by: oraDBA2 on Oct 23, 2008 12:53 PM

    Dear friend,
    Oracle's Redo Log
    Each Oracle database has a redo log. This redo log records all CHANGES made in datafiles. The redo log makes it possible to replay SQL statements.
    Before Oracle changes data in a datafile it writes these changes to the redo log.
    As Oracle rotates through its redo log groups, it will eventually overwrite a group which it has already written to. Data that is being overwriten would of course be useless for a recovery scenario. In order to prevent that, a database can (and for production databases should) be run in archive log mode. Simply stated, in archive log mode, Oracle makes sure that online redo log files are not overwritten unless they have been savely archived somewhere.
    THUS, to ANWSER YOUR QUESTION: If Archive Log is ON, your LONG-RUNNING uncommited transaction is generating large volumes of ARCHIVE LOGS !!!!!
    ALSO:
    LGWR writes the redo log buffers to disk. The background process in charge for archiving redo logs is ARCn (if automatic archiving is enabled.)
    In order to find out in which mode the instance runs, one can use archive log list from within sql plus.
    Log Buffer: All changes that are covered by redo is first written into the log buffer. The idea to first store it in the memory is to reduce disk IO. Of course, when a transaction commits, the redo log buffer must be flushed to disk, because otherwise the recovery for that commit could not be guaranteed. It is LGWR (Log Writer) that does that flushing.
    Determining amount of generated redo log
    select
    n.name, t.value
    from
    v$mystat t join
    v$statname n
    on
    t.statistic# = n.statistic#
    where
    n.name = 'redo size';
    See also the package redo_diff
    RBA (Redo Byte Address)
    The RBA consists of three parts and is ten bytes long:
    * Log sequence number
    * Block number within this sequence
    * Offset within this block
    The location of each redo log entry is identified through an RBA. The RBAs are important for dirty db blocks in the buffer cache.
    Determining optimal redo log size
    The optimal size of redo log files can be queried with
    select optimal_logfile_size from v$instance_recovery;
    Good luck!

  • Very basic doubt regarding transporting abap developments

    Hi All,
    It may be very basic doubt, But I need an answer.
    If we develop some objects in the development and transported them to quality and for some reason some errors occured and the for correction of the errors we created some more requests and ported them to Quality.
    the number of requests are say more than 15. and if we lost track of sequece of the requests to be ported to production.
    How can we overcome this problem?
    Can we create a new transport request by right clicking the package (of course all the objects are in only one package) , this will solve the purpose. I mean to say if we transport this single request to quality then to production, all the things will get transported?
    Please give your valuable inputs..
    Thanks and Regards
    KK

    Hi All,
    I really appreciate all your quick replys.
    My question is if we create a new request from the package in SE80, can we leave the old requests,
    That is if I transport a request say req 2 of domain for solving the dependency error of the previous request say req1 ( of data element ). and again transport req 1 after transporting req 2, this will solve the dependency problem. Like this if some dependency related issues are there and we lose track of sequence of request which needs to be transported, what could be the ideal solution?
    So I mean to ask that if I create a new request for the package in SE80, will all the developments will be included in the request or do we need to follow the sequence only?
    Thanks and regards
    KK

  • Handling BLOB & CLOB

    Hi all,
    Can anyone please tell me how to handle BLOB and CLOB using java? ie how to retrieve BLOB & CLOB data from the database?
    Thanx in advance,
    Regards,
    Mani

    Starting with version 1.2 the ResultSet interrface manages BLOB and CLOB types: you can use the following methods:
    resultSet.getBlob(int i)
    resultSet.getClob(int i)
    This is what you needed?

  • Oracle Apps - 9iAS : Basic doubts

    Hello,
    I am new to Oracle Apps and 9iAS
    I have few basic doubts regarding the integration of these
    Can anybody please clarify...
    The middle tier of Orcale Apps is the 9iAS Application Server.
    Read that Oracle9i AS Components are :
    - J2EE and Internet Applications (sub-components are Oracle HTTP Server, OC4J, Web services etc)
    - Portals
    - Wireless
    - Web cache
    - Business Intelligence
    - E-Business Integration
    Read that middle tier of Oracle Apps has following servers
    - Web server
    - Forms server
    - Concurrent Processing server
    - Reports server
    - Discoverer server (optional)
    - Admin server
    So, all the components of 9iAS are installed with Oracle Apps ?
    If only some, then which are those ?
    Where do Concurrent Processing server, Reports server etc come from as these are not the components of 9iAS ?
    Are these very specific to Oracle Apps only ?
    As the core database administration knowledge is required for Apps administration (for managing database tier), isn't the 9iAS knowledge required (for managing the middle tier) ?
    If yes, then upto what level ?
    Knowing about Oracle HTTP Server, Apache server, Web cache, OC4J etc etc is required ?
    Please suggest some links / documents related to all these ?
    I found a couple of them on metalink & OTN, but not very useful !
    Thanks

    9iAS consist of Apache and an Oracle database on the middle tier.
    The other components come from the developer suite.
    http://otn.oracle.com/software/products/forms/index.html

  • Application Server and Oracle Apps - basic doubts

    Hello
    I am pretty new to Oracle 9iAS and Oracle Apps 11i
    Please clarify my basic doubts
    Read that Oracle9i AS Components are :
    - J2EE and Internet Applications (sub-components are Oracle HTTP Server, OC4J, Web services etc)
    - Portals
    - Wireless
    - Web cache
    - Business Intelligence
    - E-Business Integration
    Read that middle tier of Oracle Apps has following servers
    - Web server
    - Forms server
    - Concurrent Processing server
    - Reports server
    - Discoverer server (optional)
    - Admin server
    My doubts are -
    1. When Oracle Apps 11i is installed, Oracle 9iAS becomes the middle tier of it
    Yes / No / Partailly ?
    2. If partially, then only the 'J2EE and Internet Applications' component is installed
    Yes / No / Partially ?
    3. If partially, then Web server (Oracle HTTP Server) and Forms server come from Oracle 9iAS and Report Server, Concurrent Processing server, Admin server etc seperate components only specific to Oracle Apps 11i ?
    Yes / No
    Please let me know the answers with the explanation
    Thanks a ton

    Oracle Applications 11i uses Oracle 9iASv1 (10222, specifically) as the underlying midtier technology stack. The latest release of 11i (11.5.10), to be released this summer, can leverage specific features of Oracle AS 10g (904), namely SSO authentication and OID user management, Portal, and Discoverer. This capability will be backported to 11i releases 11.5.8 and 11.5.9, and is currently available now to limited customers through the Early Adopter program. When installed in this configuration, there is a 9iASv1 tech stack installed as part of the 11i installation, and a separate AS 10g installed for SSO, OID, Portal, Discoverer, and any other AS products the customer may be using. Aside from SSO, OID, Portal, and Disco, 11i does not yet run on other components of 9iAS or 10g (e.g., OC4J). Applications plans to move to 10g as the underlying tech stack in a future release.
    John

Maybe you are looking for