LOB Storage in Designer 9i
Hi,
In the help for Designer 9i I found a note
explaining the different parameters which can be set in a LOB storage clause.
Does anybody know where these parameters can be set for a given table implementation?
Regards Bernd
Now, I have found that "the repository reports" tool has predefined documentation reports. When I request a document, the operation never ends. When I kill the tool a word document appears with the information. I don't know if it is a problem of the current design (not complete, incorrect in some way) or if it is a problem of my pc (RAM, Virtual Memory). I can almost assure that it is not the second case but I don't know how to avoid the problem of this hanging of the tool.
Similar Messages
-
LOB Storage definition in Designer
Does somebody know how to specify a
LOB Storage definition in Designer 6i?
Thanks,
MichaelHi Didier - its actually the measure I'm trying tu restrict.
I'm a bit hazy on what I'øm supposed to use as a filter key.
What I'm trying to do is:
1. Create a restricted measuer called BO Amount Curr
2. Which is based on SAP measure Amount
3. The restriction should be based on the dimension L01 Currency
4. where the use selects the desired currency unit at run time.
I suspect that I'm messing up the filter key selection - however, I haven't been able to find a guide on how to use this functionality.
What should be uesd as Filter key - the dimesion you want to filter or the dimension you want to use as filter?
When I use the Filter dimension as filter key - I get an empty query result.
br
Jess -
In "Oracle Database Application Developer's Guide - Large Objects
10g Release 2 (10.2)", Section "Inline and Out-of-Line LOB Storage", it says:
- "LOB values are stored out-of-line when any of the following situations apply: By default. That is, if you do not specify a LOB parameter for the LOB storage clause when you create the table."
Some lines down it says
"Using the default LOB storage properties (inline storage) ".
Does any one known what is the default option?
By outline it means that the LOB data is not in the same page as the other fields data, but it is still in the same tablespace. Isn't that?
Thanksit means that the LOB data is not in the same page as the other fields data,
but it is still in the same tablespace. Isn't that?Nothing better than trying...
TEST@db102 SQL> create table test_lob (a number, b clob);
Table created.
TEST@db102 SQL> select segment_name,segment_type,tablespace_name from user_segments
2 where segment_name = 'TEST_LOB'
3 union
4 select segment_name,segment_type,tablespace_name from user_segments
5 where segment_name in (select segment_name from user_lobs
6 where table_name = 'TEST_LOB');
SEGMENT_NAME SEGMENT_TYPE TABLESPACE_NAME
SYS_LOB0000053644C00002$$ LOBSEGMENT USERS
TEST_LOB TABLE USERS
TEST@db102 SQL> -
Buffer busy waits after cnanging lob storage to oracle securefiles
Hi Everyone
I need help resolving a problem with buffer busy waits in for a lob segment using securefiles for storage.
During the load the application inserts a record into a table with the lob segment and update the record after, populating lob data. The block size on the table space holding the lob is 8 kb and the chunk size on the lob segment is set to 8kb. The average size of the lob record is 6 kb and the minimum size is 4.03 KB. The problem occurs only when running a job with a big number of relatively small inserts (4.03 Kb) in to the lob column . The table definition allow in-row storage and the ptcfree set to 10%. The same jobs runs without problem when using basicfiles storage for the lob column.
According to [oracle white paper |http://www.oracle.com/technetwork/database/options/compression/overview/securefiles-131281.pdf] securefiles have a number of performance enhancements. I was particular interested to test Write Gather Cache as our application does a lot of relatively small inserts into a lob segment.
Below is a fragment from the AWR report. It looks like all buffer busy waits belong to a free list class. The lob segment is located in an ASSM tablespace and I cannot increase freelists.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning option
Host Name Platform CPUs Cores Sockets Memory(GB)
DB5 Microsoft Windows x86 64-bit 8 2 31.99
Snap Id Snap Time Sessions Curs/Sess
Begin Snap: 1259 01-Apr-11 14:40:45 135 5.5
End Snap: 1260 01-Apr-11 15:08:59 155 12.0
Elapsed: 28.25 (mins)
DB Time: 281.55 (mins)
Cache Sizes Begin End
~~~~~~~~~~~ ---------- ----------
Buffer Cache: 2,496M 2,832M Std Block Size: 8K
Shared Pool Size: 1,488M 1,488M Log Buffer: 11,888K
Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~ --------------- --------------- ---------- ----------
DB Time(s): 10.0 0.1 0.01 0.00
DB CPU(s): 2.8 0.0 0.00 0.00
Redo size: 1,429,862.3 9,390.5
Logical reads: 472,459.0 3,102.8
Block changes: 9,849.7 64.7
Physical reads: 61.1 0.4
Physical writes: 98.6 0.7
User calls: 2,718.8 17.9
Parses: 669.8 4.4
Hard parses: 2.2 0.0
W/A MB processed: 1.1 0.0
Logons: 0.1 0.0
Executes: 1,461.0 9.6
Rollbacks: 0.0 0.0
Transactions: 152.3
Top 5 Timed Foreground Events
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Avg
wait % DB
Event Waits Time(s) (ms) time Wait Class
buffer busy waits 1,002,549 8,951 9 53.0 Concurrenc
DB CPU 4,724 28.0
latch: cache buffers chains 11,927,297 1,396 0 8.3 Concurrenc
direct path read 121,767 863 7 5.1 User I/O
enq: DW - contention 209,278 627 3 3.7 Other
?Host CPU (CPUs: 8 Cores: 2 Sockets: )
~~~~~~~~ Load Average
Begin End %User %System %WIO %Idle
38.7 3.5 57.9
Instance CPU
~~~~~~~~~~~~
% of total CPU for Instance: 40.1
% of busy CPU for Instance: 95.2
%DB time waiting for CPU - Resource Mgr: 0.0
Memory Statistics
~~~~~~~~~~~~~~~~~ Begin End
Host Mem (MB): 32,762.6 32,762.6
SGA use (MB): 4,656.0 4,992.0
PGA use (MB): 318.4 413.5
% Host Mem used for SGA+PGA: 15.18 16.50
Avg
%Time Total Wait wait Waits % DB
Event Waits -outs Time (s) (ms) /txn time
buffer busy waits 1,002,549 0 8,951 9 3.9 53.0
latch: cache buffers chain 11,927,297 0 1,396 0 46.2 8.3
direct path read 121,767 0 863 7 0.5 5.1
enq: DW - contention 209,278 0 627 3 0.8 3.7
log file sync 288,785 0 118 0 1.1 .7
SQL*Net more data from cli 1,176,770 0 103 0 4.6 .6
Buffer Wait Statistics DB/Inst: ORA11G/ora11g Snaps: 1259-1260
-> ordered by wait time desc, waits desc
Class Waits Total Wait Time (s) Avg Time (ms)
free list 818,606 8,780 11
undo header 512,358 141 0
2nd level bmb 105,816 29 0
-> Total Logical Reads: 800,688,490
-> Captured Segments account for 19.8% of Total
Tablespace Subobject Obj. Logical
Owner Name Object Name Name Type Reads %Total
EAG50NSJ EAG50NSJ SYS_LOB0000082335C00 LOB 127,182,208 15.88
SYS SYSTEM TS$ TABLE 7,641,808 .95
Segments by Physical Reads DB/Inst: ORA11G/ora11g Snaps: 1259-1260
-> Total Physical Reads: 103,481
-> Captured Segments account for 224.4% of Total
Tablespace Subobject Obj. Physical
Owner Name Object Name Name Type Reads %Total
EAG50NSJ EAG50NSJ SYS_LOB0000082335C00 LOB 218,858 211.50
....Best regards
Yuri KogunHi Jonathan,
I was puzzled by the number of logical reads as well. This hasn't happened when the lob was stored as a basic fille and I assumed that the database is able to store the records in-row when we switched to securefiles. With regards to ASSM, according to the documentation this is the only option when using securefiles.
We did have high number of HW-enqueue waits in the database when running the test with basic files and had to set 44951 event
alter system set EVENTS '44951 TRACE NAME CONTEXT FOREVER, LEVEL 1024' There are 2 application servers running 16 jobs each, so we should not have more than 32 sessions inserting the data in the same time but I need to check wheter jobs can be brocken to smaller peaces. I that case the number of concurrent session may be bigger. Each session is configured with bundle size of 30 and it will issue commit every 30 inserts.
I am not sure how exactly the code does insert, as I've been told it should be straight insert and update I will be able to check this on Monday.
Below is the extract from the AWR reports with top SQL, I could not find any SQL related to the $TS table in the report. The query to the V$SEGMENT_STATISTICS was executed by me during the job run.
?SQL ordered by Elapsed Time DB/Inst: ORA11G/ora11g Snaps: 1259-1260
-> Resources reported for PL/SQL code includes the resources used by all SQL
statements called by the code.
-> % Total DB Time is the Elapsed Time of the SQL statement divided
into the Total Database Time multiplied by 100
-> %Total - Elapsed Time as a percentage of Total DB time
-> %CPU - CPU Time as a percentage of Elapsed Time
-> %IO - User I/O Time as a percentage of Elapsed Time
-> Captured SQL account for 91.3% of Total DB Time (s): 16,893
-> Captured PL/SQL account for 0.1% of Total DB Time (s): 16,893
Elapsed Elapsed Time
Time (s) Executions per Exec (s) %Total %CPU %IO SQL Id
7,837.5 119,351 0.07 46.4 28.3 .7 2zrh6mw372asz
Module: JDBC Thin Client
update JS_CHANNELDESTS set CHANNELID=:1, DESTID=:2, CHANNELDESTSTATUSDATE=:3, ST
ATUS=:4, BINOFFSET=:5, BINNAME=:6, PAGECOUNT=:7, DATA=:8, SORTORDER=:9, PRINTFOR
MAT=:10, ENVELOPEID=:11, DOCID=:12, CEENVELOPEID=:13, CHANNELTYPE=:14 where ID=:
15
7,119.0 115,997 0.06 42.1 23.1 .2 3vjx93vur4dw1
Module: JDBC Thin Client
insert into JS_CHANNELDESTS (CHANNELID, DESTID, CHANNELDESTSTATUSDATE, STATUS, B
INOFFSET, BINNAME, PAGECOUNT, DATA, SORTORDER, PRINTFORMAT, ENVELOPEID, DOCID, C
EENVELOPEID, CHANNELTYPE, ID) values (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :
11, :12, :13, :14, :15)
85.6 2 42.80 .5 98.3 .0 cc19qha9pxsa4
Module: SQL Developer
select object_name, statistic_name, value from V$SEGMENT_STATISTICS
where object_name = 'SYS_LOB0000082335C00011$$'
35.0 111,900 0.00 .2 74.3 7.6 c5q15mpnbc43w
Module: JDBC Thin Client
insert into JS_ENVELOPES (BATCHID, TRANSACTIONNO, SPOOLID, JOBSETUPID, JOBSETUPN
AME, SPOOLNAME, STEPNO, MASTERCHANNELJOBID, SORTKEY1, SORTKEY2, SORTKEY3, ID) va
lues (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12)
34.9 111,902 0.00 .2 63.0 2.6 a0hmmbjwgwh1k
Module: JDBC Thin Client
insert into JS_CHANNELJOBPROPERTIES (NAME, VALUE, CHANNELJOBID, ID) values (:1,
:2, :3, :4)
29.2 950 0.03 .2 95.9 .1 du0hgjbn9vw0v
Module: JDBC Thin Client
SELECT * FROM JS_BATCHOVERVIEW WHERE BATCHID = :1
?SQL ordered by Executions DB/Inst: ORA11G/ora11g Snaps: 1259-1260
-> %CPU - CPU Time as a percentage of Elapsed Time
-> %IO - User I/O Time as a percentage of Elapsed Time
-> Total Executions: 2,476,038
-> Captured SQL account for 96.0% of Total
Elapsed
Executions Rows Processed Rows per Exec Time (s) %CPU %IO SQL Id
223,581 223,540 1.0 22.4 63.7 .0 gz7n75pf57c
Module: JDBC Thin Client
SELECT SQ_CHANNELJOBPROPERTIES.NEXTVAL FROM DUAL
120,624 120,616 1.0 8.1 99.0 .0 6y3ayqzubcb
Module: JDBC Thin Client
select batch0_.BATCHID as BATCHID0_0_, batch0_.BATCHNAME as BATCHNAME0_0_, batch
0_.STARTDATE as STARTDATE0_0_, batch0_.PARFINDATE as PARFINDATE0_0_, batch0_.PRO
CCOMPDATE as PROCCOMP5_0_0_, batch0_.BATCHSTATUS as BATCHSTA6_0_0_, batch0_.DATA
FILE as DATAFILE0_0_, batch0_.BATCHCFG as BATCHCFG0_0_, batch0_.FINDATE as FINDA
119,351 227,878 1.9 7,837.5 28.3 .7 2zrh6mw372a
Module: JDBC Thin Client
update JS_CHANNELDESTS set CHANNELID=:1, DESTID=:2, CHANNELDESTSTATUSDATE=:3, ST
ATUS=:4, BINOFFSET=:5, BINNAME=:6, PAGECOUNT=:7, DATA=:8, SORTORDER=:9, PRINTFOR
MAT=:10, ENVELOPEID=:11, DOCID=:12, CEENVELOPEID=:13, CHANNELTYPE=:14 where ID=:
15
116,033 223,892 1.9 8.0 92.2 .0 406wh6gd9nk
Module: JDBC Thin Client
select m_jobprope0_.CHANNELJOBID as CHANNELJ4_1_, m_jobprope0_.ID as ID1_, m_job
prope0_.NAME as formula0_1_, m_jobprope0_.ID as ID4_0_, m_jobprope0_.NAME as NAM
E4_0_, m_jobprope0_.VALUE as VALUE4_0_, m_jobprope0_.CHANNELJOBID as CHANNELJ4_4
_0_ from JS_CHANNELJOBPROPERTIES m_jobprope0_ where m_jobprope0_.CHANNELJOBID=:1
115,997 115,996 1.0 7,119.0 23.1 .2 3vjx93vur4d
Module: JDBC Thin Client
insert into JS_CHANNELDESTS (CHANNELID, DESTID, CHANNELDESTSTATUSDATE, STATUS, B
INOFFSET, BINNAME, PAGECOUNT, DATA, SORTORDER, PRINTFORMAT, ENVELOPEID, DOCID, C
EENVELOPEID, CHANNELTYPE, ID) values (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :
11, :12, :13, :14, :15)
115,996 115,996 1.0 15.9 75.0 4.5 3h58syyk145
Module: JDBC Thin Client
insert into JS_DOCJOBS (CREATEDATE, EFFDATE, JURIST, LANG, IDIOM, DD, DDVID, USE
RKEY1, USERKEY2, USERKEY3, USERKEY4, USERKEY5, USERKEY6, USERKEY7, USERKEY8, USE
RKEY9, USERKEY10, USERKEY11, USERKEY12, USERKEY13, USERKEY14, USERKEY15, USERKEY
16, USERKEY17, USERKEY18, USERKEY19, USERKEY20, REVIEWCASEID, ID) values (:1, :2
115,440 115,422 1.0 11.5 63.3 .0 2vn581q83s6
Module: JDBC Thin Client
SELECT SQ_CHANNELDESTS.NEXTVAL FROM DUAL
...The tablespace holding the lob segment has system extent allocation and the number of blocks for the lob segments roughly the same as the number of blocks in allocated extents.
select segment_name, blocks, count (*)
from dba_extents where segment_name = 'SYS_LOB0000082335C00011$$'
group by segment_name, blocks
order by blocks
SEGMENT_NAME BLOCKS COUNT(*)
SYS_LOB0000082335C00011$$ 8 1
SYS_LOB0000082335C00011$$ 16 1
SYS_LOB0000082335C00011$$ 128 158
SYS_LOB0000082335C00011$$ 256 1
SYS_LOB0000082335C00011$$ 1024 120
SYS_LOB0000082335C00011$$ 2688 1
SYS_LOB0000082335C00011$$ 8192 117
SELECT
sum(ceil(dbms_lob.getlength(data)/8000))
from EAG50NSJ.JS_CHANNELDESTS
SUM(CEIL(DBMS_LOB.GETLENGTH(DATA)/8000))
993216
select sum (blocks) from dba_extents where segment_name = 'SYS_LOB0000082335C00011$$'
SUM(BLOCKS)
1104536 Below is the instance activity stats related to securefiles from the AWR report
Statistic Total per Second per Trans
securefile allocation bytes 3,719,995,392 2,195,042.4 14,415.7
securefile allocation chunks 380,299 224.4 1.5
securefile bytes non-transformed 2,270,735,265 1,339,883.4 8,799.6
securefile direct read bytes 1,274,585,088 752,089.2 4,939.3
securefile direct read ops 119,725 70.7 0.5
securefile direct write bytes 3,719,995,392 2,195,042.4 14,415.7
securefile direct write ops 380,269 224.4 1.5
securefile number of non-transfo 343,918 202.9 1.3Best regards
Yuri
Edited by: ykogun on 02-Apr-2011 13:33 -
Retrieving LOB Storage Parameter through jdbc
Is there a way to retrieve the lob column's initial and next storage parameter through jdbc?
I need to replicate a table in one database to another database and with tables containing lobs(clobs,blobs),
I need to get the storage parameter values for creating a "Create Table" script on the other database.
tnxIn records.jsp change your line that reads:
out.print("<a href =vdetails.jsp>" + plantno);Change it to:
out.print("<a href =vdetails.jsp?plantno=" + plantno + ">" + plantno);Then you can change your line in vdetails.jsp:
String pla=request.getParameter("something");to
String pla=request.getParameter("plantno");That should be enough to get you started.
You should investigate either the use of a bean or even a custom tag to remove these scriplets from your JSP. -
Freelists parameter in storage definitions Designer 6.0
I have changed the freelists parameter in the storage parametrs. The table schema definition and implementation point to the correct storage parameters, however when I generate the schema, the freelists options are not included, is this a known bug? or do I have to setup something else?
Please can somebody help?
Regards.
Jesmond
nullHi Demet,
Having read your question again I suspect that you are not asking about installation of database but about block sizes for table creation.
You can set those types of properties using the DB Admin tab in the Design Editor. Go to your database -> Users -> Schema Objects -> Table Implementations and double click on the table in question
Rgds
Susan -
LOB Storage Attribute Changed Unexpectedly
Hello All,
I have an Oracle Text application and after testing high volume inserts (100,000 Docs) I noticed the LOB text column's IN_ROW storage attribute changed from out of line to in line storage. This had a negative effect on text search performance and I am positive the table was created and data initially loaded with out of line storage on my LOB.
Does anyone know of any Oracle conditions or situations that would cause this to occur?
Thanks..
JoePlease change nologging in my earlier response to logging.
alter table parttest
modify partition pt_violation_200201
lob(explanation) (nocache logging) -
Version Control System to Storage BIG Design Files
I am designing the architect of a version control system to store big design files across an enterprise. Most of files are ~10MB. But some files (Multi-media) are as big as ~500MB. The employee number is around 3000. The service will be used quite often during the day time. I am wondering that Web Service is a capable technique to handle such problem.
Hi
Is that anybody would like to post his opinion? Or web service is not mature enough for such kind of service.
CuiLu -
Can I design a SOFS-cluster using non-clsutered storage?
Hi.
I've been trying to figure out if I can build a SOFS-cluster with 4 nodes and 4 JBOD cabinets per node for a total of 16 cabinets, like this:
I haven't seen this design though so I'm not sure if it's even possible and if it is, what features do I lose (enclosure awareness, etc)?
Thanks.Yeah, I was in a hurry when I posted my initial question and didn't explain my thought process clearly enough.
Are you saying that you can't build a unified CSV namespace on top of multiple SOFS-clusters, despite MSFT proposing this exact design at multiple occasions?
As for building one-node clusters; it's certainly possible, albeit a bit pointless I suppose unless you want to cheat a bit like I did. :)
The reason I'm asking about this particular design is that the hardware vendor that the customer wants to use for their Storage Spaces design only supports cascading up to 4 JBOD-cabinets in one SAS-chain.
As their cabinets only support at the most 48 TB per cabinet and the customer wants roughly 220 TB usable space in a mirror config that gives us 10 cabinets. On top of this though we want to use tiering to SSD and with all those limitations taken into consideration
we end up with 16 cabinets.
This results in 8 server nodes (2 per 4 cabinets) which is quite a lot of servers for 220 TB of usable disk space and hard to motivate when compared to a traditional FC-based storage solution.
Perhaps not the cost, pizza boxes are quite cheap, but the rack space for 8 1U servers and 16 2U cabinets is quite a lot.
I'll put together a design based on these numbers and see what the cost is though, perhaps it's cheap enough for the customer to consider. :)
Thanks for the feedback.
1) I'm saying we did not ever manage to have unified namespace from multiple SoFS with no shared block storage between all of them, we did not find any references from MSFT how to do this, we did not find any people who had done this either. If you'd search
this particular forum you'll see this question asked many times but not answered (we also did ask). If you'd manage to do this and share some information how I'd appreciate this as we;re still interested. See:
SoFS Scaling
http://social.technet.microsoft.com/Forums/windowsserver/en-US/20e0e320-ee90-4edf-a6df-4f91b1ef8531/scaling-the-cluster-2012-r2
SoFS Architecture
http://social.technet.microsoft.com/Forums/windowsserver/en-US/dc0213da-5ba1-4fad-a5e4-091e047f06b9/clustered-storage-spaces-architecture
Answer from the guy who was presenting this "picture" to public on TechEd:
In this specific example, I started by building up an at-scale Spaces deployment - comprising of "units" of 2-4 servers, attached to 4 SAS JBODs, for a total of 240 disks. As scaling beyond those 240 disks with the 2-4 existing servers would become impractical
due to either port connectivity limitations of the JBOD units themselves, or limitations of the servers due to PCI-E or HBA limitations, further scale is achieved by adding more units to the cluster.
These additional units would further comprise of servers and JBODs, but the underlying storage connectivity (Shared SAS) exists only between servers and JBODs within individual units. This means that each unit would have it's own storage pool,
and it's own collection of provisioned virtual disks. Resiliency of data and creation of virtual disks occurs within each unit.
As there can be multiple units with no physical SAS connectivity between them, Ethernet connectivity between all the cluster nodes and cluster shared volumes (CSV) presents the means to unify the data access namespace between all the cluster nodes regardless
of physical connectivity at the underlying storage level - making the logical storage architecture from a client and cluster point of view completely flat, regardless of how it's actually physically organized. Further, as you are using scale-out file server
atop of CSV (with R2 and SMB 3.0) client connections to the file server cluster will automatically connect to the correct cluster nodes which are attached to the clients’ data.
Data availability and resiliency occurs at the unit level, and these can be extended across units through a workload replication mechanism such as Hyper-V replica, or data replication mechanisms such as DFSR.
I hope this helps clear up any confusion on the above, and let me know if you have any further questions!
Bryan"
2) Sure there's no point as single node cluster is not fault tolerant which compromises a bit whole idea of having a cluster :) Consensus!
3) Idea is nice except I don't know how to implement it w/o third-party software *or* SAS switches limiting bandwidth, and increasing cost and complexity :(
StarWind VSAN [Virtual SAN] clusters Hyper-V without SAS, Fibre Channel, SMB 3.0 or iSCSI, uses Ethernet to mirror internally mounted SATA disks between hosts. -
Azure table storage design for simple social networking
What is the best table design if I want to use Azure Table Service for a simple social networking website?
The website could have millions of users.
Users need to be able to view a list of all other users in the system sorted by the number of mutual connections.
Users must be able to view a list of their connections
User must be able to view content posted by themselves and their connections.
One major design constraint is that Azure table service queries are generally limited to the partition key and row key when there are a large number of records or else they get really slow. Another constraint is that query results are only sorted by the
partition key and then the row key.For your scenario, I think making use of the SQL Azure makes more senses than usage of azure table storage service offering, nature of the data looks more relational in this particular context which is not recommended for table storage model design.
You can get started with SQL Azure at -
http://azure.microsoft.com/en-us/services/sql-database/
Bhushan | Blog |
LinkedIn | Twitter -
Hi,
I am designing a database and want to design it based on 3NF. I have a table and few columns that are not a one to many relation ship. Can I design it in such a way those columns that are not a child to be in few seperate tables, with one to one relationship? Example: My main table is a program table, and I hvae few columns that are Analysis DEsc, Analysis Date and Analysis BY. I want to keep those columns in a seperate table. Please let me know how to design this?
Thanks for your time and help.>
LOBs are always stored at separate locations outside the table structure. The table itself holds just a reference (filepointer?) to this location.
>
Always? No - that is not correct.
The default storage for LOBs is inline. Only LOBs larger than ~4000 bytes are stored out-of-line unless you specify a storage clause.
Each lob locator is about 80+ bytes and 80 bytes can be a substantial percentage of the average row length. For rows of length 400 with a lob locator you can only store fewer than 20 rows in an 8k block. Assuming you could actually store 20 rows per block then without the locator the length is 320 (20% less) so for every 5 rows you have room for a new row so could store 24 rows per block. That is 16% greater rows per block and fewer blocks that need to be manipulated to get the data you really want.
For Data Warehouse applications in particular 16% is huge savings since LOB data access is only a small fraction of the data accessed. So for those applications it is common to separate the lobs completely, almost treating them as dimension columns, and tie them to the main (fact) table by the primary key.
Even for OLTP applications LOB manipulation is often asychronous with the manipulation of the other data so it is relatively easy to create an extra table and not even have to deal with it for the main processing and queries.
See the SecureFiles and Large Objects Developer's Guide
http://docs.oracle.com/cd/B28359_01/appdev.111/b28393/adlob_tables.htm
>
Inline and Out-of-Line LOB Storage
LOB columns store locators that reference the location of the actual LOB value. Depending on the column properties you specify when you create the table, and depending the size of the LOB, actual LOB values are stored either in the table row (inline) or outside of the table row (out-of-line).
LOB values are stored out-of-line when any of the following situations apply:
If you explicitly specify DISABLE STORAGE IN ROW for the LOB storage clause when you create the table.
If the size of the LOB is greater than approximately 4000 bytes (4000 minus system control information), regardless of the LOB storage properties for the column.
If you update a LOB that is stored out-of-line and the resulting LOB is less than approximately 4000 bytes, it is still stored out-of-line.
LOB values are stored inline when any of the following conditions apply:
When the size of the LOB stored in the given row is small, approximately 4000 bytes or less, and you either explicitly specify ENABLE STORAGE IN ROW or the LOB storage clause when you create the table, or when you do not specify this parameter (which is the default).
When the LOB value is NULL (regardless of the LOB storage properties for the column).
Using the default LOB storage properties (inline storage) can allow for better database performance; it avoids the overhead of creating and managing out-of-line storage for smaller LOB values. If LOB values stored in your database are frequently small in size, then using inline storage is recommended. -
Hi,
i´m working still along time with Oracle, but not very often with Lob-Types.
The docs and metalink didn´t helped me very much with the following questions:
1. What is the maximum length of a CLOB Datatype in PL/SQL (long ago it was 32767 Bytes, but now (10.2) ?)
2. Is empty_blob()/empty_clob() still necessary in 10.2? or when do i use it?
3. What is the maximum length of a pl/sql clob datatype when i update a clob column in a table?
declare
c clob;
begin
c:=.......... very long;
update t set col=c where id=1;
end;
4. Does a select in pl/sql return a locator or the data ob the lob (If locator, is there a easy way the read the contents of a clob without dbms_lob.read?)
5. Is there dbms_lob Package faster/better/??? then using insert/update/delete direct on the column?
Thanks
Marco
Message was edited by:
mpatzwahYou may find the following link useful:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/sql_elements001.htm#sthref173
E.g., search for CLOB yields:
CLOB objects can store up to (4 gigabytes -1) * (the value of the
CHUNK parameter of LOB storage) of character data.
If the tablespaces in your database are of standard block size,
and if you have used the default value of the CHUNK parameter
of LOB storage when creating a LOB column, then this is
equivalent to (4 gigabytes - 1) * (database block size).
CLOB objects have full transactional support. Changes made
through SQL, the DBMS_LOB package, or the Oracle Call
Interface (OCI) participate fully in the transaction.
CLOB value manipulations can be committed and rolled back.
However, you cannot save a CLOB locator in a PL/SQL or
OCI variable in one transaction and then use it in another
transaction or session. -
Unable to repair degraded Virtual disks in Storage Spaces under Hyper-V 2012 R2 Core
Hi all,
I am finding myself in the following conundrum. I have a storage pool under Hyper-V Core, with 2 2TB Seagate drives.
One of the drives completely died (wouldn't spin up, tried it in a different box, still to no avail). I sent it in to Seagate for warranty replacement, got the new drive. Installed it and went through the notions of adding it to the pool and retiring the
one that was with "Lost Communication" status.
Tried to repair the virtual disks that are showing as "Unhealthy-Detached", quickly get 100% complete, but the repair didnt work.
The storage pool is in degraded state.
Looks like metadata is corrupted.
Followed this post to upgrade Storage Spaces to latest version:
https://social.technet.microsoft.com/Forums/windowsserver/en-US/eead59e9-5e49-4bb6-8cbb-1dafddd9576b/unable-to-repair-degraded-virtual-disks-in-storage-spaces-2012r2?forum=winserverfiles
Still, to no avail.
Couple of questions:
1) Is the data on the 3 virtual disks in state "Unhealthy: Detached" not recoverable?
2) How can I get the storage pool back to "healthy"?
Any help will be greatly appreciated.
PS C:\corefig> Get-PhysicalDisk | ? OperationalStatus -ne OK | fl
ObjectId : {1}\\HV001\root/Microsoft/Windows/Storage/Pr
oviders_v2\SPACES_PhysicalDisk.ObjectId="{95
42513c-a0d4-11e3-8123-806e6f6e6963}:PD:{7e22
245f-0cf6-11e3-b1db-806e6f6e6963}"
PassThroughClass :
PassThroughIds :
PassThroughNamespace :
PassThroughServer :
UniqueId :
AllocatedSize : 1218696970240
BusType : Unknown
CannotPoolReason : In a Pool
CanPool : False
Description :
DeviceId :
EnclosureNumber :
FirmwareVersion :
FriendlyName : PhysicalDisk-1
HealthStatus : Warning
IsIndicationEnabled :
IsPartial : False
LogicalSectorSize : 0
Manufacturer :
MediaType : UnSpecified
Model :
OperationalStatus : Lost Communication
OtherCannotPoolReasonDescription :
PartNumber :
PhysicalLocation :
PhysicalSectorSize : 0
SerialNumber :
Size : 1999575711744
SlotNumber :
SoftwareVersion :
SpindleSpeed : 0
SupportedUsages : {Auto-Select, Manual-Select, Hot Spare,
Retired...}
Usage : Retired
PSComputerName :
PS C:\corefig> get-physicaldisk
FriendlyName CanPool OperationalS HealthStatus Usage Size
tatus
PhysicalDisk4 False OK Healthy Auto-Select 73.75 GB
PhysicalDisk0 False OK Healthy Auto-Select 1.82 TB
PhysicalDi... False Lost Comm... Warning Retired 1.82 TB
PhysicalDisk2 False OK Healthy Auto-Select 930.75 GB
PhysicalDisk3 False OK Healthy Auto-Select 74.53 GB
PhysicalDisk1 False OK Healthy Auto-Select 1.82 TB
PS C:\corefig> get-virtualdisk -friendlyname 'Data' |FC
class CimInstance#ROOT/Microsoft/Windows/Storage/MSFT_VirtualDisk
ObjectId = {1}\\HV001\root/Microsoft/Windows/Storage/Providers_v2\SPACES_Virt
ualDisk.ObjectId="{9542513c-a0d4-11e3-8123-806e6f6e6963}:VD:{3debf056-01f1-11
e3-b1d6-001fbc081884}{7e2229cf-0cf6-11e3-b1db-001fbc081884}"
PassThroughClass =
PassThroughIds =
PassThroughNamespace =
PassThroughServer =
UniqueId = CF29227EF60CE311B1DB001FBC081884
Access = Read/Write
AllocatedSize = 548413636608
DetachedReason = Incomplete
FootprintOnPool = 1096827273216
FriendlyName = Data
HealthStatus = Unhealthy
Interleave = 262144
IsDeduplicationEnabled = False
IsEnclosureAware = False
IsManualAttach = False
IsSnapshot = False
LogicalSectorSize = 512
Name =
NameFormat =
NumberOfAvailableCopies =
NumberOfColumns = 1
NumberOfDataCopies = 2
OperationalStatus = Detached
OtherOperationalStatusDescription =
OtherUsageDescription =
ParityLayout = Unknown
PhysicalDiskRedundancy = 1
PhysicalSectorSize = 4096
ProvisioningType = Thin
RequestNoSinglePointOfFailure = False
ResiliencySettingName = Mirror
Size = 1099511627776
UniqueIdFormat = Vendor Specific
UniqueIdFormatDescription =
Usage = Other
WriteCacheSize = 0
PSComputerName =
PS C:\corefig> get-virtualdisk -friendlyname 'Backups' |FC
class CimInstance#ROOT/Microsoft/Windows/Storage/MSFT_VirtualDisk
ObjectId = {1}\\HV001\root/Microsoft/Windows/Storage/Providers_v2\SPACES_Virt
ualDisk.ObjectId="{9542513c-a0d4-11e3-8123-806e6f6e6963}:VD:{3debf056-01f1-11
e3-b1d6-001fbc081884}{7e22255e-0cf6-11e3-b1db-001fbc081884}"
PassThroughClass =
PassThroughIds =
PassThroughNamespace =
PassThroughServer =
UniqueId = 5E25227EF60CE311B1DB001FBC081884
Access = Read/Write
AllocatedSize = 743566213120
DetachedReason = Incomplete
FootprintOnPool = 1487132426240
FriendlyName = Backups
HealthStatus = Unhealthy
Interleave = 262144
IsDeduplicationEnabled = False
IsEnclosureAware = False
IsManualAttach = False
IsSnapshot = False
LogicalSectorSize = 512
Name =
NameFormat =
NumberOfAvailableCopies =
NumberOfColumns = 1
NumberOfDataCopies = 2
OperationalStatus = Detached
OtherOperationalStatusDescription =
OtherUsageDescription =
ParityLayout = Unknown
PhysicalDiskRedundancy = 1
PhysicalSectorSize = 4096
ProvisioningType = Thin
RequestNoSinglePointOfFailure = False
ResiliencySettingName = Mirror
Size = 1649267441664
UniqueIdFormat = Vendor Specific
UniqueIdFormatDescription =
Usage = Other
WriteCacheSize = 0
PSComputerName =
PS C:\corefig> get-virtualdisk -friendlyname 'Music' |FC
class CimInstance#ROOT/Microsoft/Windows/Storage/MSFT_VirtualDisk
ObjectId = {1}\\HV001\root/Microsoft/Windows/Storage/Providers_v2\SPACES_Virt
ualDisk.ObjectId="{9542513c-a0d4-11e3-8123-806e6f6e6963}:VD:{3debf056-01f1-11
e3-b1d6-001fbc081884}{7e2238b9-0cf6-11e3-b1db-001fbc081884}"
PassThroughClass =
PassThroughIds =
PassThroughNamespace =
PassThroughServer =
UniqueId = B938227EF60CE311B1DB001FBC081884
Access = Read/Write
AllocatedSize = 39728447488
DetachedReason = By Policy
FootprintOnPool = 79456894976
FriendlyName = Music
HealthStatus = Unknown
Interleave = 262144
IsDeduplicationEnabled = False
IsEnclosureAware = False
IsManualAttach = True
IsSnapshot = False
LogicalSectorSize = 512
Name =
NameFormat =
NumberOfAvailableCopies =
NumberOfColumns = 1
NumberOfDataCopies = 2
OperationalStatus = Detached
OtherOperationalStatusDescription =
OtherUsageDescription =
ParityLayout = Unknown
PhysicalDiskRedundancy = 1
PhysicalSectorSize = 4096
ProvisioningType = Thin
RequestNoSinglePointOfFailure = False
ResiliencySettingName = Mirror
Size = 161061273600
UniqueIdFormat = Vendor Specific
UniqueIdFormatDescription =
Usage = Other
WriteCacheSize = 0
PSComputerName =
PS C:\corefig> get-virtualdisk -friendlyname 'Videos' |FC
class CimInstance#ROOT/Microsoft/Windows/Storage/MSFT_VirtualDisk
ObjectId = {1}\\HV001\root/Microsoft/Windows/Storage/Providers_v2\SPACES_Virt
ualDisk.ObjectId="{9542513c-a0d4-11e3-8123-806e6f6e6963}:VD:{3debf056-01f1-11
e3-b1d6-001fbc081884}{7e2225bc-0cf6-11e3-b1db-001fbc081884}"
PassThroughClass =
PassThroughIds =
PassThroughNamespace =
PassThroughServer =
UniqueId = BC25227EF60CE311B1DB001FBC081884
Access = Read/Write
AllocatedSize = 223606734848
DetachedReason = Incomplete
FootprintOnPool = 447213469696
FriendlyName = Videos
HealthStatus = Unhealthy
Interleave = 262144
IsDeduplicationEnabled = False
IsEnclosureAware = False
IsManualAttach = False
IsSnapshot = False
LogicalSectorSize = 512
Name =
NameFormat =
NumberOfAvailableCopies =
NumberOfColumns = 1
NumberOfDataCopies = 2
OperationalStatus = Detached
OtherOperationalStatusDescription =
OtherUsageDescription =
ParityLayout = Unknown
PhysicalDiskRedundancy = 1
PhysicalSectorSize = 4096
ProvisioningType = Thin
RequestNoSinglePointOfFailure = False
ResiliencySettingName = Mirror
Size = 1759325978624
UniqueIdFormat = Vendor Specific
UniqueIdFormatDescription =
Usage = Other
WriteCacheSize = 0
PSComputerName =Hi omon_77,
You can first refer the following step by step third party article and KB:
Replace Failed Disks and Repair JBODs for Storage Spaces in Windows Server
https://technet.microsoft.com/en-us/library/dn782852.aspx?f=255&MSPPError=-2147217396
Replacing a failed disk in Windows Server 2012 Storage Spaces with PowerShell
https://www.hodgkins.net.au/storage/replace-failed-disk-in-storage-spaces-pool-with-powershell/
Step By Step: How to Replace Faulty Disk In Two-Way Mirrored Storage Tiered Space
http://charbelnemnom.com/2014/09/step-by-step-how-to-replace-faulty-disk-in-two-way-mirrored-storage-tiered-space-storagespaces-ws2012r2/
More information:
Storage Spaces - Designing for Performance
http://social.technet.microsoft.com/wiki/contents/articles/15200.storage-spaces-designing-for-performance.aspx
Storage Spaces Overview
http://technet.microsoft.com/en-us/library/hh831739.aspx
Windows Server Storage Spaces: What is it and why should I use it?
http://curah.microsoft.com/5049/windows-server-2012-r2-storage-spaces-what-is-it-and-why-should-i-use-it
I’m glad to be of help to you!
Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Support, contact [email protected] -
How many LOBs in a table?
Does it make sense having a table with 13 CLOBs? It seems to me that it would be better having not more than one LOB in a table. Do I remember well? In the DB I've been asked to tune and optimize, I've found such situations. Is it terrible or am I mistaken? Thanks!
MichaelS wrote:
LOB's are stored in seperate space outside the table with a LOB pointer stored on the tableNot generally: Inline and Out-of-Line LOB Storage, e.g. the smaller sized lobs can be stored inline.Ooo, yeah, I forgot about the inline ones. Good reminder thanks. -
Oracle RAW / Long / LOBs - Buffer cache?
Hello guys,
i think i have read sometime ago something about that LOBs are not cached in the buffer cache? Is this right?
I also think that i can remember that raw or long are stored in the sga buffer cache?
I can not find any official documentation about that topic... maybe you can help me...
Thanks and Regards
StefanHi,
Depends on whether you are on about temporary lobs or lobs that are persisted as a column. If it's as a column then you have the cache/cache read/nocache option which is part of the lob storage clause. If it's nocache it's not put into the buffer cache and if it's cache it is (and I'm sure you can figure out from this what "cache read" means)
If it's a temporary lob then it exists in the temporary tablespace which if a true temp tablespace (which it should be) will be accessed using direct IO (so not buffered).
An the official documentation is easily found, Oracle wrote a whole manual dedicated to LOBS...
http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14249/toc.htm
HTH
Chris
Maybe you are looking for
-
IPhone and iPad iOS 5.1: Gmail IMAP attachments not downloading
I'm having an issue with Gmail (IMAP) not downloading attachments from myself! (I use Gmail to archive documents, etc). Same issue on my iPhone 4 and iPad 3, both iOS 5.1, using the default mail app with default "Gmail" account (IMAP) set up. They *w
-
Problem indexings hyphenized words in PDFs
Hello everyone on this forum In the new site we are building, I am using Oracle Text to implement the search functionality. I have problems indexings hyphenized words in PDFs. The code I used to create the content table and the Oracle Text index, is
-
After PC repair I am unable to re-install Photoshop Elements 10 from a bundled disc as the Wizard was interupted. The Shared Technologies failed to install. I am using Windows XP Pro. I have been struggling with this problem for 6 weeks now and would
-
I have an app that doesn't open since I downloaded Lion. How can I get it to open without losing the contained files? The app is Invisiblefile.
-
Hello Experts When creating a new material in MM01, I want to sort the field of Material types by "material type codification", and not by "material description" as is by default. I do not find any way to make this. If you could help me I will apprec