Move LOB segment

Oracle 11.0.1.7:
How can I move the lob segment: I am trying this
CREATE TABLE PART_TMP(
  PAYLOAD_ID Number(19,0) NOT NULL,
  created_date timestamp(6),
  pay blob
LOB ("PAY") STORE AS (DISABLE STORAGE IN ROW TABLESPACE EFE_LOB)
PARTITION BY RANGE (payload_id)
interval (2)
SUBPARTITION BY HASH (payload_id)
SUBPARTITIONS 64(PARTITION PART_TMP_p00 VALUES LESS THAN (1));
alter table part_tmp move subpartition SYS_SUBP28243 update indexes; --This works
--But this doesn't work. Is this the right way of moving LOB segment? Looks like Lobs segment doesn't move with above command.
alter table part_tmp move LOB(pay) subpartition SYS_SUBP28243 update indexesI need to move SUBPARTTION and associated LOB SUBPARTITION. Could someone please help?

There is a table which has a LOB and there are lot of deletes and updates happening daily .
I need to shrink the space. When I use:
alter table lob_test modify lob (data) (shrink space);
It throws an error cannot use shrink clause on this table. Table as no function based indexes and segment space management for this tablespace is auto.
Can any one tell what is the best approach to reclaim the space.
Can any one tell can I use the alter table move online or needs downtime.
Thanks

Similar Messages

  • How to move lob segment in partitioned table

    On my Oracle 11.2, I have a partitioned table wich I would like to move to another tablespace
    After invoking script, there's still unmoved lob segment withing table
    CREATE TABLE BONGO.AAA_3
      ID       NUMBER,
      DATUM    DATE,
      OBJEKAT  BLOB
    TABLESPACE BONGODATA_HUGE
    PCTUSED    40
    PCTFREE    10
    INITRANS   1
    MAXTRANS   255
    LOGGING
    PARTITION BY RANGE (DATUM)
      PARTITION P_MAXVALUE VALUES LESS THAN (MAXVALUE)
        LOGGING
        NOCOMPRESS
        TABLESPACE BONGODATA_HUGE
    LOB (OBJEKAT) STORE AS
            (   TABLESPACE  BONGODATA
              ENABLE        STORAGE IN ROW
              CHUNK       8192
              RETENTION
              NOCACHE
              STORAGE    (
                          INITIAL          64K
                          NEXT             1M
                          MINEXTENTS       1
                          MAXEXTENTS       UNLIMITED
                          PCTINCREASE      0
                          FREELISTS        1
                          FREELIST GROUPS  1
                          BUFFER_POOL      DEFAULT
        PCTUSED    40
        PCTFREE    10
        INITRANS   1
        MAXTRANS   255
        STORAGE    (
                    INITIAL          64K
                    NEXT             1M
                    MINEXTENTS       1
                    MAXEXTENTS       UNLIMITED
                    FREELISTS        1
                    FREELIST GROUPS  1
                    BUFFER_POOL      DEFAULT
    NOCOMPRESS
    NOCACHE
    NOPARALLEL
    MONITORING;how to move this lob segment in partitioned table?
    or, is there some package for data move within tablespaces?
    regards

    tnx...
    now, I have another problem..
    I have a nested table within partitioned table, and I'm trying to move it to another tablespace.
    I tried to move child table (of nested type colum), but I didn't succedeed...

  • Move lob segment fails with invalid identifier

    Why does this fail:
    SQL> desc APPLSYS.WF_INBOUND_TABLE
    Name Null? Type
    Q_NAME VARCHAR2(30)
    MSGID NOT NULL RAW(16)
    CORRID VARCHAR2(128)
    PRIORITY NUMBER
    STATE NUMBER
    DELAY TIMESTAMP(6)
    EXPIRATION NUMBER
    TIME_MANAGER_INFO TIMESTAMP(6)
    LOCAL_ORDER_NO NUMBER
    CHAIN_NO NUMBER
    CSCN NUMBER
    DSCN NUMBER
    ENQ_TIME TIMESTAMP(6)
    ENQ_UID NUMBER
    ENQ_TID VARCHAR2(30)
    DEQ_TIME TIMESTAMP(6)
    DEQ_UID NUMBER
    DEQ_TID VARCHAR2(30)
    RETRY_COUNT NUMBER
    EXCEPTION_QSCHEMA VARCHAR2(30)
    EXCEPTION_QUEUE VARCHAR2(30)
    STEP_NO NUMBER
    RECIPIENT_KEY NUMBER
    DEQUEUE_MSGID RAW(16)
    USER_DATA SYSTEM.WF_PAYLOAD_T
    SENDER_NAME VARCHAR2(30)
    SENDER_ADDRESS VARCHAR2(1024)
    SENDER_PROTOCOL NUMBER
    USER_PROP ANYDATA
    SQL> alter table APPLSYS.WF_INBOUND_TABLE move TABLESPACE APPS_TS_TX_DATA;
    Table altered.
    SQL> ALTER TABLE APPLSYS.WF_INBOUND_TABLE MOVE LOB(USER_PROP) STORE AS (TABLESPACE APPS_TS_TX_DATA);
    ERROR at line 1:
    ORA-00904: "USER_PROP": invalid identifier

    user600570 wrote:
    Well, whatever the type happens to be, how to I move this segment?Doesn't the segment move when the corresponding table is moved to new tablespace?
    At least that is what I see.
    SQL> select * from v$version ;
    BANNER
    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 Solaris: Version 10.2.0.4.0 - Production
    NLSRTL Version 10.2.0.4.0 - Production
    SQL> create table t nologging as select * from applsys.wf_inbound_table where 1 = 2 ;
    Table created.
    SQL> select dbms_metadata.get_ddl('TABLE','T') from dual ;
    DBMS_METADATA.GET_DDL('TABLE','T')
      CREATE TABLE "APPS"."T"
       (     "Q_NAME" VARCHAR2(30),
         "MSGID" RAW(16),
         "CORRID" VARCHAR2(128),
         "PRIORITY" NUMBER,
         "STATE" NUMBER,
         "DELAY" TIMESTAMP (6),
         "EXPIRATION" NUMBER,
         "TIME_MANAGER_INFO" TIMESTAMP (6),
         "LOCAL_ORDER_NO" NUMBER,
         "CHAIN_NO" NUMBER,
         "CSCN" NUMBER,
         "DSCN" NUMBER,
         "ENQ_TIME" TIMESTAMP (6),
         "ENQ_UID" NUMBER,
         "ENQ_TID" VARCHAR2(30),
         "DEQ_TIME" TIMESTAMP (6),
         "DEQ_UID" NUMBER,
         "DEQ_TID" VARCHAR2(30),
         "RETRY_COUNT" NUMBER,
         "EXCEPTION_QSCHEMA" VARCHAR2(30),
         "EXCEPTION_QUEUE" VARCHAR2(30),
         "STEP_NO" NUMBER,
         "RECIPIENT_KEY" NUMBER,
         "DEQUEUE_MSGID" RAW(16),
         "USER_DATA" "SYSTEM"."WF_PAYLOAD_T" ,
         "SENDER_NAME" VARCHAR2(30),
         "SENDER_ADDRESS" VARCHAR2(1024),
         "SENDER_PROTOCOL" NUMBER,
         "USER_PROP" "SYS"."ANYDATA"
       ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS NOLOGGING
      STORAGE(INITIAL 40960 NEXT 40960 MINEXTENTS 1 MAXEXTENTS 505
      PCTINCREASE 50 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
      TABLESPACE "APPLSYSD"
    OPAQUE TYPE "USER_PROP" STORE AS LOB (
      ENABLE STORAGE IN ROW CHUNK 8192 PCTVERSION 10
      CACHE
      STORAGE(INITIAL 40960 NEXT 40960 MINEXTENTS 1 MAXEXTENTS 505
      PCTINCREASE 50 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT))
    SQL> select owner, table_name, column_name, segment_name, tablespace_name from dba_lobs
      2  where table_name = 'T' ;
    OWNER                          TABLE_NAME
    COLUMN_NAME
    SEGMENT_NAME                   TABLESPACE_NAME
    APPS                           T
    USER_PROP
    SYS_LOB0000365381C00035$$      APPLSYSD
    SQL> alter table t move tablespace APPLSYSX ;
    Table altered.
    SQL> select dbms_metadata.get_ddl('TABLE','T') from dual ;
    DBMS_METADATA.GET_DDL('TABLE','T')
      CREATE TABLE "APPS"."T"
       (     "Q_NAME" VARCHAR2(30),
         "MSGID" RAW(16),
         "CORRID" VARCHAR2(128),
         "PRIORITY" NUMBER,
         "STATE" NUMBER,
         "DELAY" TIMESTAMP (6),
         "EXPIRATION" NUMBER,
         "TIME_MANAGER_INFO" TIMESTAMP (6),
         "LOCAL_ORDER_NO" NUMBER,
         "CHAIN_NO" NUMBER,
         "CSCN" NUMBER,
         "DSCN" NUMBER,
         "ENQ_TIME" TIMESTAMP (6),
         "ENQ_UID" NUMBER,
         "ENQ_TID" VARCHAR2(30),
         "DEQ_TIME" TIMESTAMP (6),
         "DEQ_UID" NUMBER,
         "DEQ_TID" VARCHAR2(30),
         "RETRY_COUNT" NUMBER,
         "EXCEPTION_QSCHEMA" VARCHAR2(30),
         "EXCEPTION_QUEUE" VARCHAR2(30),
         "STEP_NO" NUMBER,
         "RECIPIENT_KEY" NUMBER,
         "DEQUEUE_MSGID" RAW(16),
         "USER_DATA" "SYSTEM"."WF_PAYLOAD_T" ,
         "SENDER_NAME" VARCHAR2(30),
         "SENDER_ADDRESS" VARCHAR2(1024),
         "SENDER_PROTOCOL" NUMBER,
         "USER_PROP" "SYS"."ANYDATA"
       ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS NOLOGGING
      STORAGE(INITIAL 40960 NEXT 40960 MINEXTENTS 1 MAXEXTENTS 505
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
      TABLESPACE "APPLSYSX"
    OPAQUE TYPE "USER_PROP" STORE AS LOB (
      ENABLE STORAGE IN ROW CHUNK 8192 PCTVERSION 10
      CACHE
      STORAGE(INITIAL 40960 NEXT 40960 MINEXTENTS 1 MAXEXTENTS 505
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT))
    SQL> select owner, table_name, column_name, segment_name, tablespace_name from dba_lobs
      2  where table_name = 'T' ;
    OWNER                          TABLE_NAME
    COLUMN_NAME
    SEGMENT_NAME                   TABLESPACE_NAME
    APPS                           T
    USER_PROP
    SYS_LOB0000365381C00035$$      APPLSYSX
    SQL> drop table t purge ;
    Table dropped.If you want to be able to move the segment to a different tablespace than the table, I guess that is not possible. Oracle only allows LOBs to be stored in separate tablespace than the corresponding table provided they are defined as LOBs explcitly during table creation, unlike the LOB created by oracle internally as a result of column datatype being ANYDATA as in this case.

  • Dropping a Spatial LOB segment

    Hi guys,
    I´m trying to reduce the size of my datafile. but oracle spatial creates a LOB segment in this tablespace and I´m having trouble to move or drop it. Anybody here have any suggestion regarding this ?
    the LOB segment is called SYS_IL0000078552C00003$$
    Thanks in advance,
    Felipe

    Hi Felipe,
    What do you exactly want to do? Reorganizing your tablespace or ...?
    regards, Andreas
    btw: The SYS_IL0000078552C00003$$ you can't rename! The name is different in any database.

  • Problem creating LOB segment

    Hi all,
    I'm working with 11gR2 version in RAC environment with 2 nodes. I'm creating the schemes on my new database with empty tablespaces and 100Mb of initial free space. I'm having an error on the creation of this table:
    CREATE TABLE "IODBODB1"."DOCUMENTOS"
    (     "ID_DOC" NUMBER NOT NULL ENABLE,
         "ID_APP" NUMBER(5,0) NOT NULL ENABLE,
         "ID_CLS" NUMBER(6,0) NOT NULL ENABLE,
         "CREATE_FEC" DATE NOT NULL ENABLE,
         "LAST_MODIFIED_FEC" DATE NOT NULL ENABLE,
         "DOC_NAME" VARCHAR2(100 BYTE) NOT NULL ENABLE,
         "DOC_SIZE" NUMBER NOT NULL ENABLE,
         "DOC_DATA" BLOB NOT NULL ENABLE,
         "CLASE_FORMATO_FORMATO" VARCHAR2(150 BYTE),
         "REGULAR_NAME" VARCHAR2(100 BYTE) NOT NULL ENABLE,
         "USUARIO" VARCHAR2(25 BYTE),
         "USUARIO_LEVEL" VARCHAR2(5 BYTE)
    ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "ODBODB_TBD_DADES"
    LOB ("DOC_DATA") STORE AS BASICFILE (ENABLE STORAGE IN ROW CHUNK 8K PCTVERSION 10 NOCACHE LOGGING STORAGE( BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT))
    PARTITION BY LIST ("ID_APP")
    SUBPARTITION BY RANGE ("ID_DOC")
    PARTITION "PTL_DOCUMENTOS_FICTICIO" VALUES (0) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
    STORAGE(BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "ODBODB_TBD_DADES"
    LOB ("DOC_DATA") STORE AS BASICFILE (ENABLE STORAGE IN ROW CHUNK 8K PCTVERSION 10 NOCACHE LOGGING STORAGE(BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT))
    (SUBPARTITION "PTR_DOCUMENTOS_FICTICIO" VALUES LESS THAN (MAXVALUE) LOB ("DOC_DATA") STORE AS (TABLESPACE "ODBODB_TBL_LOBS" ) TABLESPACE "ODBODB_TBD_DADES" NOCOMPRESS ) );
    PARTITION "PTL_DOCUMENTOS_ALFIMG" VALUES (2) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
    STORAGE(BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "ODBODB_TBD_DADES"
    LOB ("DOC_DATA") STORE AS BASICFILE (ENABLE STORAGE IN ROW CHUNK 32K PCTVERSION 10 NOCACHE LOGGING STORAGE(BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT))
    (SUBPARTITION "STR_DOCUMENTOS_ALFIMG" VALUES LESS THAN (MAXVALUE) LOB ("DOC_DATA") STORE AS (TABLESPACE "BEALFIMG_TBL_ODB" ) TABLESPACE "BEALFIMG_TBD_ODB" NOCOMPRESS )
    The error is:
    ORA-03252: initial extent size not enough for LOB segment
    I can't understand how Oracle can't allocate enough extents to create the LOB segment, and I don't know to which LOB segment it refers because the sqlplus don't mark it with the error.
    Any ideas about this issue?
    Thanks in advance!
    dbajug

    Please, forget this post, I feel dumb... The LOB segment need to have same size of the rest of partition...

  • Truncate table will delete the corresponding LOB segment of table or not ?

    Hi All,
    I have few table with LOB segments, if i fire the truncate table on those table will it purge the LOB segment as well ?
    Approximately how much time will take to truncate 100gb LOB segments.
    Thanks

    903787 wrote:
    Hi ,
    1.Truncate will delete the LOB segment or not ?It won't delete the LOB segments but it should release most of the allocated space.
    >
    2.To reclaim space we need to run the below command, is it correct ?
    ALTER TABLE <table_name> MODIFY LOB (LOB_COLUMN) (SHRINK SPACE);
    Should not be needed in 11.2:
    SQL> select * from v$version;
    BANNER
    Oracle Database 11g Express Edition Release 11.2.0.2.0 - Production
    PL/SQL Release 11.2.0.2.0 - Production
    CORE    11.2.0.2.0      Production
    TNS for 32-bit Windows: Version 11.2.0.2.0 - Production
    NLSRTL Version 11.2.0.2.0 - Production
    SQL> select count(*) from user_segments;
      COUNT(*)
             0
    SQL>
    SQL> create table t(x clob);
    Table created.
    SQL> select segment_name, segment_type, bytes
      2  from user_segments;
    SEGMENT_NAME                             SEGMENT_TYPE            BYTES
    T                                        TABLE                   65536
    SYS_IL0000030908C00001$$                 LOBINDEX                65536
    SYS_LOB0000030908C00001$$                LOBSEGMENT              65536
    SQL>
    SQL> insert into t select lpad(segment_name,8192) from dba_segments;
    6312 rows created.
    SQL> commit;
    Commit complete.
    SQL>
    SQL> select segment_name, segment_type, bytes
      2  from user_segments;
    SEGMENT_NAME                             SEGMENT_TYPE            BYTES
    T                                        TABLE                  393216
    SYS_IL0000030908C00001$$                 LOBINDEX                65536
    SYS_LOB0000030908C00001$$                LOBSEGMENT           53477376
    SQL>
    SQL> truncate table t;
    Table truncated.
    SQL>
    SQL> select segment_name, segment_type, bytes
      2  from user_segments;
    SEGMENT_NAME                             SEGMENT_TYPE            BYTES
    T                                        TABLE                   65536
    SYS_IL0000030908C00001$$                 LOBINDEX                65536
    SYS_LOB0000030908C00001$$                LOBSEGMENT              65536
    SQL>
    SQL> alter table t modify lob(x) (shrink space);
    Table altered.
    SQL>
    SQL> select segment_name, segment_type, bytes
      2  from user_segments;
    SEGMENT_NAME                             SEGMENT_TYPE            BYTES
    T                                        TABLE                   65536
    SYS_IL0000030908C00001$$                 LOBINDEX                65536
    SYS_LOB0000030908C00001$$                LOBSEGMENT              65536
    SQL>

  • Can I make a LOB segment tablespace 'READ ONLY' so no backup?

    Greetings
    Environment: Oracle 11.2.0.3 on Solaris 10.5
    LOB newbie here.
    I am currently supporting a database, but not the application, that is loading fairly large XML files into CLOB columns. Today I have 121 LOBSEGMENTs taking up about 1GB of space and in the same tablespace as the owner table.
    I understand that the CLOB data will not be changing that often.
    My issue is now my RMAN backup is much larger and is filling the mount point where the backup files are stored.
    I'd like to move the LOBSEGMENT objects to a different tablespace, back it up once and mark the tablespace as READ ONLY so it doesn't get backed up every time.
    I am currently doing a full database backup every day and archivelog backups every 4 hours.
    Can I use something like: ALTER TABLE 'X' MOVE LOB 'Y' STORE AS TABLESPACE 'Z' ?
    Is it then possible to alter the 'Z' tablespace to READ ONLY and not affect the user's ability to update the other parts of the table?
    Other alternatives are most welcome!!
    Thanks very much!!
    -gary

    Thanks for the quick response.
    I don't want you to give up, I'd just like some advice from your experience.
    Even though I am working in a test environment I was hesitant to execute the above commands so as not to cause the application to fail as the user is loading the XML data.
    I want the tablespace storing the LOBSEGMENTs to be READ ONLY but I wasn't sure if I could specify just the LOBSEGMENT part of a row to be READ ONLY without causing update problems for the other columns in the table.
    I realize the new LOBSEGMENT tablespace will be READ ONLY and the original tablespace with the rest of the data will remain READ WRITE.
    Also, I'm assuming if the CLOB data ever needs to change I should be able to alter the tablespace back to READ WRITE, have the user make the changes, be sure the new data is backed up and alter the tablespace back to READ ONLY.
    Is this how you would handle the situation?
    Thanks very much!
    -gary

  • User_lobs and user_segments view shows different tablespace for lob segment

    Hi,
    I am trying to move lob in different tablespace for partitioned table.
    I used
    alter table <table_name> move partition <partition_name> lob(lob_column) store as (tablespace <tablespace_name>);
    alter index <index_name> rebuild partition <partition_name> tablespace <tablespace_name>
    ALTER TABLE <table_name> MODIFY DEFAULT ATTRIBUTES TABLESPACE <tablespace_name>
    ALTER INDEX  <index_name> modify default ATTRIBUTES TABLESPACE <tablespace_name>
    Database - 10.2.0.5
    OS- HP Itanium 11.31
    I can see in user_lob_partitions, user_segments and  user_part_tables shows me new tablespace information
    whereas user_lobs and user_part_indexes shows me different information regarding tablespace.
    I checked some documents in metalink but didnt help me.
    I think that I am missing something or doing some step wrong.
    Please help.
    SQL> select partition_name, lob_partition_name, tablespace_name from user_lob_partitions where table_name in ('TRB1_PUB_LOG','TRB1_SUB_ERRS','TRB1_PUB_LOG') ;
    PARTITION_NAME                 LOB_PARTITION_NAME             TABLESPACE_NAME
    S2000                          SYS_LOB_P8585                  USAGE_REORG_TBS
    S2001                          SYS_LOB_P8587                  USAGE_REORG_TBS
    S2003                          SYS_LOB_P8589                  USAGE_REORG_TBS
    S2004                          SYS_LOB_P8591                  USAGE_REORG_TBS
    S2005                          SYS_LOB_P8593                  USAGE_REORG_TBS
    S2006                          SYS_LOB_P8595                  USAGE_REORG_TBS
    S2007                          SYS_LOB_P8597                  USAGE_REORG_TBS
    S2008                          SYS_LOB_P8599                  USAGE_REORG_TBS
    S2010                          SYS_LOB_P8601                  USAGE_REORG_TBS
    S2011                          SYS_LOB_P8603                  USAGE_REORG_TBS
    S2012                          SYS_LOB_P8605                  USAGE_REORG_TBS
    S2013                          SYS_LOB_P8607                  USAGE_REORG_TBS
    S2014                          SYS_LOB_P8609                  USAGE_REORG_TBS
    S2015                          SYS_LOB_P8611                  USAGE_REORG_TBS
    S2888                          SYS_LOB_P8613                  USAGE_REORG_TBS
    S2999                          SYS_LOB_P8615                  USAGE_REORG_TBS
    S3000                          SYS_LOB_P8617                  USAGE_REORG_TBS
    S3001                          SYS_LOB_P8619                  USAGE_REORG_TBS
    S3004                          SYS_LOB_P8621                  USAGE_REORG_TBS
    S3005                          SYS_LOB_P8623                  USAGE_REORG_TBS
    S3006                          SYS_LOB_P8625                  USAGE_REORG_TBS
    S3007                          SYS_LOB_P8627                  USAGE_REORG_TBS
    S3008                          SYS_LOB_P8629                  USAGE_REORG_TBS
    S3009                          SYS_LOB_P8631                  USAGE_REORG_TBS
    S3010                          SYS_LOB_P8633                  USAGE_REORG_TBS
    S3011                          SYS_LOB_P8635                  USAGE_REORG_TBS
    S3012                          SYS_LOB_P8637                  USAGE_REORG_TBS
    S3013                          SYS_LOB_P8639                  USAGE_REORG_TBS
    S3014                          SYS_LOB_P8641                  USAGE_REORG_TBS
    S3015                          SYS_LOB_P8643                  USAGE_REORG_TBS
    S3050                          SYS_LOB_P8645                  USAGE_REORG_TBS
    SMAXVALUE                      SYS_LOB_P8647                  USAGE_REORG_TBS
    32 rows selected.
    SQL> select TABLE_NAME,COLUMN_NAME,SEGMENT_NAME,TABLESPACE_NAME,INDEX_NAME,PARTITIONED from user_lobs where TABLE_NAME in ('TRB1_PUB_LOG','TRB1_SUB_ERRS','TRB1_SUB_LOG') ;
    TABLE_NAME                     COLUMN_NAME                    SEGMENT_NAME                   TABLESPACE_NAME                INDEX_NAME                     PAR
    TRB1_SUB_ERRS                  GENERAL_DATA_C                 SYS_LOB0006703055C00017$$      TRBDBUS1LNN1                   SYS_IL0006703055C00017$$       YES
    TRB1_SUB_LOG                   GENERAL_DATA_C                 SYS_LOB0006703157C00017$$      TRBDBUS1LNN1                   SYS_IL0006703157C00017$$       YES
    TRB1_PUB_LOG                   GENERAL_DATA_C                 SYS_LOB0006702987C00014$$      TRBDBUS1LNN1                   SYS_IL0006702987C00014$$       YES
    SQL> SQL> select unique segment_name ,tablespace_name from user_Segments where segment_name in (select SEGMENT_NAME from user_lobs where TABLE_NAME in('TRB1_PUB_LOG','TRB1_SUB_ERRS','TRB1_SUB_LOG') );
    SEGMENT_NAME                                                                      TABLESPACE_NAME
    SYS_LOB0006702987C00014$$                                                         USAGE_REORG_TBS
    SYS_LOB0006703055C00017$$                                                         USAGE_REORG_TBS
    SYS_LOB0006703157C00017$$                                                         USAGE_REORG_TBS
    SQL> select unique segment_name ,tablespace_name from user_Segments where segment_name in (select INDEX_NAME from user_lobs where TABLE_NAME in('TRB1_PUB_LOG','TRB1_SUB_ERRS','TRB1_SUB_LOG') );
    SEGMENT_NAME                                                                      TABLESPACE_NAME
    SYS_IL0006702987C00014$$                                                          USAGE_REORG_TBS
    SYS_IL0006703055C00017$$                                                          USAGE_REORG_TBS
    SYS_IL0006703157C00017$$                                                          USAGE_REORG_TBS
    SQL> select unique index_name,def_tablespace_name from user_part_indexes where table_name in ('TRB1_PUB_LOG','TRB1_SUB_ERRS','TRB1_SUB_LOG');
    INDEX_NAME                     DEF_TABLESPACE_NAME
    SYS_IL0006702987C00014$$       TRBDBUS1LNN1
    SYS_IL0006703055C00017$$       TRBDBUS1LNN1
    SYS_IL0006703157C00017$$       TRBDBUS1LNN1
    TRB1_PUB_LOG_PK                USAGE_REORG_IX_TBS
    TRB1_SUB_ERRS_1IX              USAGE_REORG_IX_TBS
    TRB1_SUB_ERRS_1UQ              USAGE_REORG_IX_TBS
    TRB1_SUB_ERRS_2IX              USAGE_REORG_IX_TBS
    TRB1_SUB_LOG_1IX               USAGE_REORG_IX_TBS
    TRB1_SUB_LOG_PK                USAGE_REORG_IX_TBS
    SQL> select unique def_tablespace_name from user_part_tables where table_name in ('TRB1_PUB_LOG','TRB1_SUB_ERRS','TRB1_SUB_LOG');
    DEF_TABLESPACE_NAME
    USAGE_REORG_TBS
    Please let me know if some more details required.

    >whereas user_lobs and user_part_indexes shows me different information regarding tablespace.
    do you see different results after starting a new session after the ALTER statements were issued?

  • SOA 11g - XML_DOCUMENT lob segment unable to purge

    Hi All,
    I have SOA 11.1.1.6.0 on Linux x86-64 platform(Oracle Database 11.2.0.3)
    I'm using the Purge script/Procedure as advised in Note “Oracle Fusion Middleware (FMW) SOA 11g Infrastructure Database: Installation, Maintenance and Administration Guide [ID 1384379.1]”
    But this is not purging XML_DOCUMENT LOB segment which has grown too big. This is causing space issues.
    Can somebody advise if they have faced the same issue?
    Thanks,
    Prashanth

    Got it.. was successfull too.
    How To Free Space From LOB Segments in the SOA Schema [ID 1380989.1]

  • Best way to move LOB between database

    I am using Oracle 10.2.0.4. Please share your experience what is the best to move LOBs between databases. Lob size is 40 gb. I have tried using data pump, and parallel insert with nologging but it is taking almost 1 hour to transfer 1 gb.
    Thanks for any suggestion.

    N Gasparotto wrote:
    For data pump I am using impdp over network_link .Would be much more efficient to copy the file accross the network and then run impdp locally. Did you also tried also parallel impdp ?
    Nicolas.Thank I will be trying your suggestion to move the copy. Currently do to space issue I cannot try it but I have already requested for the designated mount point.
    I tried using parallel hint. Our sever had 8 cpu so I tried parallel 16. Although current parallelism was 16 ,
    worker parallelism was 1. They were only 2 workers and other worker was always waiting. In other words, the two workers did not execute simultaneously. So, I guess data pump did not run parallely.
    Should not more than one worker be executing simultaneously for it to run parallel? I did not understand what worker parallelism meant?

  • LOB Segments

    Hi
    How is the size of the LOBSEGMENT caluclated? We carried out an insert of around 50 odd columns into a table that contained a CLOB value, but we observed that LOBSEGMENT value was a very huge figure, around 400mb, though the entire data contained in the table would not exceed 50 mb. The LOBSEGMENT has an intial extent of 65536 bytes. If it goes on increasing, what will be its max limit?
    Initially, when the clobs were being created, we ran out of table space and therefore the rows did not get created. But the LOBSEGMENT was observed to be around 200 mb in size though there were zero rows in the table.
    Also, we did the clob manipulation using DBMS_LOB package and observed that midway during the generation of clob data, the session got killed somehow. And this happened four to five times during the clob creation.
    Please help :-)
    Thanks,
    Vinoj

    You can use DBA_LOBS to link tables and LOB columns:
    select table_name, column_name, segment_name
    from dba_lobs
    where segment_name = <...>The 10 biggest LOB segments with table and column info should be retrieved with:
    select * from (
    select
    l.owner,
    l.table_name,
    l.column_name,
    l.segment_name,
    round(s.bytes/1024/1024) as mb
    from dba_lobs l , dba_segments s
    where l.owner = s.owner
    and l.segment_name = s.segment_name
    order by s.bytes desc
    ) where rownum < 11;If you are using SAP you should contact SAP support to make sure any script is also supported by SAP.
    Edited by: P. Forstmann on 31 oct. 2011 17:29
    Edited by: P. Forstmann on 31 oct. 2011 17:30

  • Should we use LOGGING or NOLOGGING for table, lob segment, and indexes?

    We have some DML performance issue on cf contention over the tables that also include LOB segments. In this case, should we define LOGGING on tables, lob segments, and/or INDEXES?
    Based on the metalink note < Performance Degradation as a Result of 'enq: CF - contention' [ID 1072417.1]> It looks we need to turn on logging for at least table and lob segment. What about the indexes?
    Thanks!

    >
    These tables that have nologging are likely from the application team. Yes, we need to turn on the logging from nologging for tables and lob segments. What about the indexes?
    >
    Indexes only get modified when the underlying table is modified. When you need recovery you don't want to do things that can interfere with Oracle's ability to perform its normal recovery. For indexes there will never be loss of data that can't be recovered by rebuilding the index.
    But use of NOLOGGING means that NO RECOVERY is possible. For production objects you should ALWAYS use LOGGING. And even for those use cases where use of NOLOGGING is appropriate for a table (loading a large amount of data into a staging table) the indexes are typically dropped (or at least disabled) before the load and then rebuilt afterward. When they are rebuilt NOLOGGING is used during the rebuild. Normal index operations will be logged anyway so for these 'offline' staging tables the setting for the indexes doesn't really matter. Still, as a rule of thumb you only use NOLOGGING during the specific load (for a table) or rebuild (for an index) and then you would ALTER the setting to LOGGING again.
    This is from Tom Kyte in his AskTom blog from over 10 years ago and it still applies today.
    http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:5280714813869
    >
    NO NO NO -- it does not make sense to leave objects in NOLOGGING mode in a production
    instance!!!! it should be used CAREFULLY, and only in close coordination with the guys
    responsible for doing backups -- every non-logged operation performed makes media
    recovery for that segment IMPOSSIBLE until you back it up.
    >
    Use of NOLOGGING is a special-case operation. It is mainly used in Datawarehouse (OLAP systems) data processing during truncate-and-load operations on staging tables. Those are background or even offline operations and the tables are NOT accessible by end users; they are work tables used to prepare the data that will be merged to the production tables.
    1. TRUNCATE a table
    2. load the table with data
    3. process the data in the table
    In those operations the table load is seldom backed up and rarely needs recovery. So use of NOLOGGING enhances the performance of the data load and the data can be recovered, if necessary, from the source it was loaded from to begin with.
    Use of NOLOGGING is rarely, if ever, used for OLTP systems since that data needs to be recovered.

  • LOB segment size is 2 times bigger than the real data

    here's an interesting test:
    1. I created a tablespace called "smallblock" with 2K blocksize
    2. I created a table with a CLOB type field and specified the smallblock tablespace as a storage for the LOB segment:
    SCOTT@andrkydb> create table t1 (i int, b clob) lob (b) store as
    t1_lob (chunk 2K disable storage in row tablespace smallblock);
    3. I insert data into the table, using a bit less than 2K of data for the clob type column:
    SCOTT@andrkydb> begin
    2 for i in 1..1000 loop
    3 insert into t1 values (mod(i,5), rpad('*',2000,'*'));
    4 end loop;
    5 end;
    6 /
    4. Now I can see that I have an average of 2000 bytes for each lob item:
    SCOTT@andrkydb> select avg(dbms_lob.getlength(b)) from t1;
    AVG(DBMS_LOB.GETLENGTH(B))
    2000
    and that all together they take up:
    SCOTT@andrkydb> select sum(dbms_lob.getlength(b)) from t1;
    SUM(DBMS_LOB.GETLENGTH(B))
    2000000
    But when I take a look at how much is the LOB segment actually taking, I get a result, which is being a total mystery to me:
    SCOTT@andrkydb> select bytes from dba_segments where segment_name = 'T1_LOB';
    BYTES
    5242880
    What am I missing? Why is LOB segment is being ~2 times bigger than it is required by the data?
    I am on 10.2.0.3 EE, Solaris 5.10 sparc 64bit.
    Message was edited by:
    Andrei Kübar

    thanks for the link, it is good to know such thing is possible. Although I don't really see how can it help me..
    But you know, you were right regarding the smaller data amounts. I have tested with 1800 bytes of data and in this case it does fit just right.
    But this means that there is 248 bytes wasted (from my, as developer, point of view) per block! But if there is such an overhead, then I must be able to estimate it when designing the data structures. And I don't see anywhere in the docs a single word about such thing.
    Moreover, if you use NCLOB type, then only 990 bytes fits into a single 2K chunk. So the overhead might become really huge when you go over to gigabyte amounts...
    I have a LOB segment for a nclob type field in a production database, which is 5GB large and it contains only 2,2GB of real data. There is no "deleted" rows in it, I know because I have rebuilt it. So this looks like a total waste of disk space... I must say, I'm quite disappointed with this.
    - Andrei

  • Title animation repeats when I move the segment

    Hiya,
    I'm very new to FInal Cut Pro X.
    I have made a title with the lens flare animation. I set two keyframe markers to make the text enlarge before disappearing. It worked perfectly. Until...
    I moved the segment and the animation went haywire. The animation now starts two or three times before the segment has finished playing.
    I can't move the segments at all without this happening. My only option seems to be to decide exactly where I want the segment before I work on it. Which can't be correct.
    Can anybody help, please?
    Thank you.

    Hi Tom!
    Thanks for replying.
    Here are two screenshots showing the keyframes I set for one of the titles. I'm using the Lens Flare titles.
    When I move the completed title along the timeline it adds extra keyframes in seemingly random positions, which I then have to delete manually. Otherwise they make the individual titles repeatedly flare and change size. Working with six titles is almost impossible because they all behave similarly when I shift them along.
    I feel that it might be to do with the fact that the keyframes are stuck to the timeline and not the title segments, but I just don't know
    Thanks for your support,
    Bart

  • Largest tables... LOB Segment

    HI,
    ina CRM system, we would liket to start a data archiving project... but the 10 largets tables are lob segment.... so how can approch the project in this case?
    Regards.

    Hi,
    Note 1438410  explicity indicates:
    No documentation is available. We take no responsibility for the
    correctness of the scripts and we will not provide any support for
    these.
    what you have to do is to read the script and figure out how to use it.
    However, I have executed the script you mention on the sqlplus prompt and it does not request any sql_id.
    Probably you refer to other script.
    Nevertheless, the sql_id is an unique identifier for statements (that may or may be in the V$CURSOR) there are statements that retrieve information from the cache or from the history or ...
    Usually you identify first an statement you want to analyze, and then you analyze it. Sometimes using the scripts on the mentioned note.
    Other times some of those scrips can provide you with the information of "what" sql_ids look at, etc.

Maybe you are looking for

  • Not getting application in Java Web Start

    Hello Sir, I wanted to run an application using Java Web Start. So, I created a jnlp file and i have mentioned the necessary jar files and the main class file. when I clicked on the jnlp file, the application is running in the Server using Java Web S

  • Save multiple waveform graphs and data in one Excel File

    Hi there, I managed to save data from waveform graph into excel file and saving the plot into excel but individually. I'm aiming to save both the data and the plot in an excel file. May I know how do I do it? I've tried using the Write to Measurement

  • Ironet 1600 is arranged for multiple SSid ?

    Hi, I want to buy nr. 2 aironet 1600 for my house (one at first floor, the other on the second floor). I want to turn off the wifi of the router and turn on only the signal of the cisco 1600. It's possible ? I have to set differents channels ? I want

  • WebGui disable Browser Symbol

    Hello ! How I can fade the Browser Symbol borders ? With the old ITS i write a JavaScript in login..html <script language="JavaScript">     function openZK2() {         F1= window.open('https://www.xx.de/scripts/wgate/webgui/!', 'ZK2', 'location=no,

  • Value not getting resetted for Node inside Node

    Hi All I have created the node structure as below A (Value Node) |_ID (value attribute) |_B (Value Node)     |__Val (Value Attribute for Node B) Now the code is as follows for(i = 0 ; i < n ; i++ ){ Ele Aele = createElement Aele.setID("1")     nodeA.