Data block usage
Hi Everyone,
Say i have a block allocated for a table as
| D|D|D|D|D|E|E|D|D|E|
where D respresents data(filled space) and E represents Empty space.
Now if a I insert a row which does not fit in contigious empty space in the block. The empty space in the block (non contigious) space is enough for the the row. Will oracle move the data and bring the empty space together and insert the
row in the contigous block or not
Can someone explain this.
NC wrote:
[url http://docs.oracle.com/cd/E11882_01/server.112/e25789/logical.htm#CNCPT89012]Coalescing Fragmented Space
Good choice of reference note.
A little item that's not in the manual is that the operation gets recorded under the statistic "heap block compress". For a more details look, here's a blog note I wrote some time ago: http://jonathanlewis.wordpress.com/2010/03/30/heap-block-compress/
Regards
Jonathan Lewis
Similar Messages
-
How to reduce the number of data blocks used by table
Hi,
I was trying to reduce the space usage of a particular table of my apex application which stores blob content and therefore deleted many records from it.
However, the data block usage remained the same as before.
I have tried to 'analyze' the table and validate the structure,but am unable to overcome this problem.
Could someone throw some light on what needs to be to reduce the number of data blocks used by this table?
Best Regards,
Priya JetleyPriya:
It is likely that the BLOB content defined in your table is being stored 'Out-of-Line'. This means that the LOB columns are stored in segments of their own. These then are the segments that may need shrinking.
http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14249/adlob_tables.htm#i1006363
Varad -
Data Concurrency and Consistency ( SCN , DATA block)
Hi guys, i am getting very very very confused about how oracle implement consistency / multiversioning with regards to SCN in a data block and transaction list in the data block..
I will list out what i know so you guys can gauge me on where i am..
When a SELECT statement is issued, SCN for the select query is determined. Then Blocks with higher SCN are rebuilt from the RBS.
Q1) The SCN in the block implied here - is it different from the SCNs in the transaction list of the block ? where is this SCN store ? where is the transaction list store ? how is the SCN of the block related with the SCNs in the transaction list of the block ?
Q2) can someone tell me what happen to the BLOCK SCN and the transaction list
of the BLOCK when a transaction start to update to a row in the block occurs.
Q3) If the BLOCK SCN reflects the latest change made to the block and If the SCN of the block is higher then the SCN of the SELECT query, it means that the block has change since the start of the SELECT query, but it DOESNT mean that the row (data) that the SELECT query requires has changed.
Therefore why cant ORACLE just check to see whether the row has changed and if it has, rebuilt a block from the RBS ?
Q4) when ORACLE compares the BLOCK SCN, does it only SCAN for the BLOCK SCN or does it also SEARCH through the TRANSACTION LIST ? or it does both ? and why ?
Q5) is transaction SCN same as Transaction ID ? which is store in the RBS , the transaction SCN or ID ?
Q6) in short i am confuse with the relationship between BLOCK SCN, transaction list SCN, their location, their usage and relationship of the BLOCK SCN and transaction list when doing a SELECT, their link with RBS..
any gurus clear to give me a clearer view of what is actually happening ?Hi Aman
Hmm agreed.So when commit is issued , what happens at that time?Simply put:
- The SCN for the transaction is determined.
- The transaction is marked as committed in the undo header (the commit SCN is also stored in the undo header).
- If fast cleanout takes place, the commit SCN is also stored in the ITL. If not, the ITL (i.e. the modified data blocks) are not modified.
So at commit, Oracle will replace the begin scn in the ITL with this scn
and this will tell that the block is finally committed is it?The ITL does not contain the begin SCN. The undo header (specifically the transaction table) contains it.
I lost here.In the ITL , the scn is transaction SCN or commit scn?As I just wrote, the ITL contains (if the cleanout occured) the commit SCN.
This sounds like high RBA information?What is RBA?
Commit SCNThis is the SCN associated with a committed transaction.
Begin SCNThis is the SCN at which a transaction started.
Transaction SCNAs I wrote, IMO, this is the same as the commit SCN.
Also please explain that what exactly the ITL stores?If you print an ITL slot, you see the following information:
BBED> print ktbbhitl[0]
struct ktbbhitl[0], 24 bytes @44
struct ktbitxid, 8 bytes @44
ub2 kxidusn @44 0x0009
ub2 kxidslt @46 0x002e
ub4 kxidsqn @48 0x0000fe77
struct ktbituba, 8 bytes @52
ub4 kubadba @52 0x00800249
ub2 kubaseq @56 0x3ed6
ub1 kubarec @58 0x4e
ub2 ktbitflg @60 0x2045 (KTBFUPB)
union _ktbitun, 2 bytes @62
b2 _ktbitfsc @62 0
ub2 _ktbitwrp @62 0x0000
ub4 ktbitbas @64 0x06f4c2a3- ktbitxid --> XID, the transaction holding the ITL slot
- ktbituba --> UBA, used to locate the undo information
- ktbitflg --> flags (active, committed, cleaned out, ...)
- _ktbitfsc --> free space generated by this transaction in this block
- _ktbitwrp+ktbitbas --> commit SCN
HTH
Chris -
This isn't a knock on those folks who have chosen to block all data, but I'm just curious as to why it's such a big deal?
I've had my KIN TWOm for about three weeks. I use data quite a bit for things like e-mail, weather radar, sports scores, Google searches, etc. I've never tried to block data, and very rarely use airplane mode. I simply check to make sure the WiFi connection is active before I sync e-mail or bring up the browser. If I'm in a longer browser session, I might check the WiFi signal once in a while during the session to make sure it hasn't dropped.
In the three weeks I've had the phone, I've accumulated just under 4MB of Verizon network data usage. I have the $10/75MB data plan, but even at $2/MB, that would be just eight bucks. Hardly worth losing sleep over. And on those infrequent occasions where I do need to check e-mail or access the web when WiFi is not available, I can still do it. I have never seen a data charge for usage when I verified that WiFi was active.
Checking WiFi is really simple. Just pull up the dashboard and make sure the WiFi symbol is shaded dark blue, not gray. Also, if you're at a different location than the last time you used WiFi, you should go to the WiFi settings page and make sure the phone is connected to the right WiFi network -- and that it actually says, "Connected to <name of network>". If it just lists the network, but doesn't say "Connected to...", then it's not connected.
Anyway, it's a lot faster/simpler than it sounds.
I know that some people are in situations where their kids (or someone else) has access to the phone. But otherwise, I'm just curious why so many users go to the extreme of disabling data altogether?The reason I have data blocked is because the Wifi will drop it's signal in the middle of loading pages alot with this phone. So then if I had the 3g service it would pick it up and I would not even know. This is a common problem; if you look thru the forums there are countless people who have had this happen to them. One person even had a bill for $7000 (yes I typed that right). However, since you have the $10 plan then in your situation of course you don't want data blocked. However, for people who don't want any data plan it only makes sense to block any chance of accumulating data charges then there is no way to get usage charges. Also, it only takes a minute to block it online and you can still send/receive pics and videos.
-
System Automatically Disable Data Block
I always have my account Data Block enabled so that I will not be charged data usage. When I have the new Kin TwoM set up, I did not know the Data Block was automatically disabled without noticed. I thought that the phone was using home WiFi until I saw the data usage was 70MB. For $2 per MB, it is $140. Verizon is so rediculous to do this kind of trick.
ouch. sorry to hear that.
when i activated my kin via the website, i read in the new term sheet that my data block were not there. so after activating i immediately checked and blocked it again. i think because of this, i am now constantly checking #3282 and online account because like in your case, i wouldn't want to be charged for that much of money just because somehow it is "unblocked".
maybe u can explain your case to the customer service ppl? -
so i just got my new kin two and went on my verizon and tried to black my data so i didnt get charged. i blocked mobile web but didnt see the block all data option. i went bak later that night and saw that i had incured .08mb of data. no big deal i just want to get this solved so i dont have to worry about data. so i went back in and found the block all data option. now when i try and look ad my data usage it says its not available.
now here is the part that confuses me.... when i turn off wifi and try to go on the browser it still works fine. i tryed deleting cookies history files ect and it still works fine. if all data is being blocked and wifi is off how is this still working?If all data blocking is enabled you shouldn't be able to access the internet from the device. Please PM me and i will be glad to look into your account to get this resolved right away.
Thank you -
Data blocks in forms 6i, can not see the data
i have built an application in forms with some data blocks. the blocks a connect to some tables in the db. i have built them connectd as "system". but when i run the applicatio as user x i can do select, insert, update, delete, but i can not se the records in the datablocks (they are empty), but i can do all transactios. why?
First of all, developing from the System schema is not a good idea.
Who owns the tables your form is connecting to? The table owner should create a public synonym for each table name, and also needs to grant user x access to the table. -
I can not put the data of a field(LONG RAW) consulted into a item of a data block
I want to query a field that is LONG RAW(it's a image) and put the data into a item of a data block (in Forms Builder), when i write ":BLOCK.FOTO:=vfoto" i recieve this errors: "bad bind variable ....". How can i put the data of field of my DB and put the data in a item of a data block(in Forms Builder)?.
I can store a image in a table of my DB, but i want to query a image stored in my DB and put it into anothers table, all this on FORMS BUILDER.You have to base the image item on a base table and use EXECUTE_QUERY on that block. You can't do a direct select in PL/SQL into the item
-
Insert and update a data block which is based on view--urgent help required
Hi experts,
I created a view(A_VIEW) which is based on a union select. I have created a data block A_VIW_BLOCK which is based on this view. I need to insert/update one of the base tablesfor A_VIEW through this data block. I also need to be able to make a query through all the fields in the view.
The questions are:
1.Can it be done at all?
2. What properties need to be set?
3. If can't be done, what the best approach to achieve this?
Thanks in advance!!
Michaelhi
try something like this.
CREATE TABLE demo_tab (
person_id NUMBER(3),
first_name VARCHAR2(20),
last_name VARCHAR2(20));
CREATE OR REPLACE VIEW upd_view AS
SELECT * FROM demo_tab;
INSERT INTO demo_tab
(person_id, first_name, last_name)
VALUES
(1, 'Daniel', 'Morgan');
INSERT INTO demo_tab
(person_id, first_name, last_name)
VALUES
(2, 'Helen', 'Lofstrom');
COMMIT;
SELECT * FROM upd_view;
UPDATE upd_view
SET person_id = person_id * 10;
SELECT * FROM upd_view;
desc user_updatable_columns
SELECT table_name, column_name, updatable, insertable, deletable
FROM user_updatable_columns
WHERE table_name IN (
SELECT view_name
FROM user_views);
SQL> create table dummy (f1 number);
Table created.
SQL> create view dummy_v
2 as
3 select f1 from dummy
4 union all
5 select f1 from dummy;
View created.
SQL> create trigger dummy_v_it
2 instead of insert
3 on dummy_v
4 for each row
5 begin
6 insert into dummy values (:NEW.f1);
7 end;
8 /
Trigger created.
SQL> insert into dummy_v values (1);
1 row created.
SQL> select * from dummy_v;
F1
1
1
SQL> select *
2 from user_updatable_columns
3 where table_name = 'DUMMY_V';
OWNER TABLE_NAME COLUMN_NAME UPD INS DEL
FORBESC DUMMY_V F1 NO NO NOforms settings.
Enforce Primary Key - No
Query Allowed - Yes
Query datasource Name - V_TSFDETAIL
Insert Allowed - Yes
Update Allowed - Yes
Delete Allowed - Yes
Locking Mode - Automatic
Key Mode - Automatic
do not forget to create synonyms.
hope this helps.
sarah -
Unable to change stock posting date at usage decision while inspecting HUs
If we were using materials without WMS it's simple: thereu2019s a button in the screen for stock posting by which we're able to change document date and posting date; but we're using WM and the screen is slightly different: the button I'm referring it's gone!
So, how to change the posting date at posting stock in QA11 when we're using handle units? Some end-user told me that in version 4.7 this was possible. I don't think so ...unless there was something customized at WM IMG...or maybe they were using a USER EXIT to bring a pop-up window for this (I'm starting to believe that this was implemented..). This is the first time I work with HUs, so I don't know how to manage this.
Anyone?
Seba
Edited by: Sebastian Sniezyk on Apr 3, 2009 10:16 AMI solved it in this topic: Changing posting date at usage decision for handle units. How?
-
Multiple data blocks on the same canvas
Forms newbie question:
Is it possible to have 2 data blocks with two different sets of transactional triggers (ON-UPDATE, ON-LOCK, etc.) on the same canvas?
I've got an example where i've got two data blocks (one sourced from a view, and one that is a CTL block) on the same canvas. The block sourced from the view is working fine. When I make updates, they are reflected, etc. But, i've got one field in the control block that I need to update from as well, and I can't seem to get it (or any of the CTL block items) to show up as "updateable", regardless of the set_item_property....theyre always grayed out.
Do i need to take the user to a new canvas to be able to utilize the update of the ctl field?A second canvas is not needed. Normally, control-block items are always updateable, so there is something going on in your form to prevent it.
> I can't seem to get it (or any of the CTL block items) to show up as "updateable",
regardless of the set_item_property....theyre always grayed out.
What... Is there code someplace in the form that sets them to Enabled, false? If that is the case, then to get them working again, besides setting Enabled to true, you also must set Updateable and Navigable to Property_True. (This is documented at the end of the on-line help on Set_Item_Property.) -
Oracle Forms - How can I create a Data Block with query
Dear friends I have a question, I couldn't do this..
I have a sql query, I want to show the datas of the query.. How can I do this. ?
Data Block Wizard wants a table, view or stored procedure, but I have a query, how can I create a data block with my query.. I m waiting your helps..? Please...
SemihHi,
You have two options
1. create a view and base the block on the view
2. create a block with a query Data Source Type of 'FROM clause query'
Hope this helps
Neil -
Multiple Selection from a data block
Hello,
I have a data block returning the names and surnames of employees. Can I select multiple rows from that data block?
Thank youYou could put a checkbox on the row and if it is ticked then interpret this as a selected row.
Sometimes it is useful to store this type of selection in some type of structure like a record group or index by table and process those rows rather than read the data block -
How to call two data blocks at a time.
hi all
i want to call two data blocks at a time on function when button pressed.
how can I it?
many thanksMany thanks that you people reply,
I am working in oracle form developer 6i and database 10g.
I have a form that have three data blocks,
first block have text boxes and search button,and next two blocks display records on the basis of search criteria that is inserted in the first block and when is clicked on save button.
the data that is to b displayed is from two different tables.
i used Go_block('my_block')
and call other block with the same method.
kindly guide me how can i do it.
Thanks in advance -
Manipulating data from a ref cursor in the data block of a form
I am using Oracle Forms 10g. I have a ref cursor which returns columns A, B, C, D, E where B, C, D, E are values. The "Query Data Source Name" attribute in the datablock contains "CCTR_Extract_pkg.cctr_refcur". The "Column Name" attribute of item A contains "A", item B contains "B", etc. All of these columns are displayed on the form and it all works perfectly.
I have a new request, the users would like a 6th column displayed - column F - where it equals D - B.
Is there any way of doing this in the form only or do I need to change the ref cursor to accomodate the new column and then the form?
If it can be achieved in the Form (only) - then how do I reference the 2 columns?
Thanks in anticipation
Michael
Edited by: user8897365 on 24-Aug-2011 10:32Is there any way of doing this in the form only or do I need to change the ref cursor to accomodate the new column and then the form? The REF_CURSOR is the data source of your block so you will have to modify the CCTR_Extract_pkg package and cctr_refcur REF_CURSOR.
If it can be achieved in the Form (only) - then how do I reference the 2 columns?After you have modified your database package, I recommend you run the Data Block Wizard on your block and let Forms detect the 2 new columns. You can do this manually, but it is safer to let Forms do it for you. If you want to do it manually, open the Query Data Source Columns property and add your new columns.
Hope this helps,
Craig B-)
If someone's response is helpful or correct, please mark it accordingly.
Maybe you are looking for
-
Hi, I want to hide a column when i select Hide option from a popup menu and again bring it back when i select show option again from the popup menu. How to get this done?
-
Can I get the Write window in the foreground when called from another application?
When windows applications create a new message through thunderbird (quickbooks wants to send an invoice for example) the new message appears in the background and bothers the user who prefered the way outlook would pop up newly created messages in th
-
i hookwed up macbookair to hdtv using apple supplied cable. I can see my screensaver on tv but cant get netflix on the big screen..
-
Data corruption in input processor
Hi, We have class scoped variables in the input processor. What is happening is that when userA and userB are trying to access the screen concurrently userA's class scoped variables start showing data of userB. Does anyone know if the webflow framewo
-
ArrayList will grow and shrink implicitly
Hi, I have an ArrayList which is going to hold 1000 elements, hence I have defined the List as :- List list = new ArrayList(1000); If the number of elements is less than 1000 , in such case whether the ArrayList will shrink implictly and similarly if