DBA_learner
Member
Hello Team,
I am new to DBA activities and started learning the same. Please help me out with below mentioned queries regarding BI files.
1. When .bi file gets updated. I thought is should be only when we update any DB field and transaction hasn’t completed yet or DB changes are partially committed. I tried this and found that it’s initially updated at the time we connect to the database using command “pro db-name”. So this BI file remained open after DB connection or gets closed after this connection.
2. When .bi file store previous value (before image). As per my understanding, whenever we update a DB field value and transaction is still running then previous value should get stored in .bi file and .bi file should get updated before transaction ends. I tried below mentioned scenario and found that initially .bi gets updated on pause statement but later-on .bi gets updated only when transaction ends (after END of for each customer).
For example:
3. I have taken above scenario and added DO TRANSACTION above this code. BI update with DO TRANSACTION is also non understandable. Sometime .bi gets updated within the transaction (with chunk of records) and sometime only after the transaction.
4. Size of BI file keeps growing whenever we are in a long transaction, so .bi file should get updated (by time) when we keep updating values inside a transaction (that’s not happening). As I observed, .bi file gets updated for chunk of updated records (inside transaction).
5. When transaction ends successfully then what happen to the before images (I think before images should get deleted and space is vacated) and when transaction aborted then when will happen to these bi images (Before images are copied to DB for recovering previous value), Please suggest.
6. Whenever we enable AI images for any database then BI file is automatically truncated, why?
Please suggest.
I am new to DBA activities and started learning the same. Please help me out with below mentioned queries regarding BI files.
1. When .bi file gets updated. I thought is should be only when we update any DB field and transaction hasn’t completed yet or DB changes are partially committed. I tried this and found that it’s initially updated at the time we connect to the database using command “pro db-name”. So this BI file remained open after DB connection or gets closed after this connection.
2. When .bi file store previous value (before image). As per my understanding, whenever we update a DB field value and transaction is still running then previous value should get stored in .bi file and .bi file should get updated before transaction ends. I tried below mentioned scenario and found that initially .bi gets updated on pause statement but later-on .bi gets updated only when transaction ends (after END of for each customer).
For example:
Code:
FOR EACH customer exclusive-lock:
UPDATE customer.name.
PAUSE 100.
END.
3. I have taken above scenario and added DO TRANSACTION above this code. BI update with DO TRANSACTION is also non understandable. Sometime .bi gets updated within the transaction (with chunk of records) and sometime only after the transaction.
4. Size of BI file keeps growing whenever we are in a long transaction, so .bi file should get updated (by time) when we keep updating values inside a transaction (that’s not happening). As I observed, .bi file gets updated for chunk of updated records (inside transaction).
5. When transaction ends successfully then what happen to the before images (I think before images should get deleted and space is vacated) and when transaction aborted then when will happen to these bi images (Before images are copied to DB for recovering previous value), Please suggest.
6. Whenever we enable AI images for any database then BI file is automatically truncated, why?
Please suggest.