Skip to Main Content

Oracle Database Discussions

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Oracle In-Memory option - size limitations. How does it work?

user8332725Oct 21 2021 — edited Oct 21 2021

I'm considering using Oracle In-Memory (dual store) and have some questions about the SIZE limitation (INMEMORY_SIZE):

  1. Is it limited to 16GB? Or it is unlimited (up to server RAM capacity) while the 16GB limit is when no special license is acquired (base level)
  2. What happens if the data going to the In-Memory Columnstore exceeds INMEMORY_SIZE
    2. a. A transaction commit will fail?
    2. b. A transation will not fail, but message will be returned and then a) a Query will run over IM columnstore will return not complete values (scan only IM)?; or b) a Query will run on both IM columnstore + disk rowstore and then merge?; or c) a Query will run only on IM Columnstore which will evict from memory some portion of data and then load from disk next relevant block of the table (so the IM Columnstore is actually a type of Columnar Buffer cache)?
    Thanks

Comments

Hello,
You mentioned that the unique constraint is on the doctor_id,name so the update statement might be trying to change the p1_patient_name to a value that was already inserted. During the execution of the update statement try to check what value of p1_patient_name is getting set.

Eslam_Elbyaly

Impossible. The name, doctor_id already exists. It can't exist if there's a similar name, doctor_id

Eslam_Elbyaly

I tried commenting the "IF :P1_PATIENT_ID IS NULL...." part, and the weird part is that the ARP process threw error " ORA-01407 - can not change test.patient_id to null". Which means that it issues update statement with p1_patient_id set to null when it's not. I am sure it's not because I even changed it to a number item instead of a hidden one and it has a value.
If I do not comment the "IF....." part, and disable the unique constraint in patient table, I get a new record inserted, which means that the "IF..." part executes. It's a very weird thing to happen!

Eslam_Elbyaly

The message in Arabic means, p1_patient_id must have a value. See p1_patient_id below has a value!
image.png

Eslam_Elbyaly

I found the culprit and I can assure you it's definitely a bug @john-snyders-oracle. There's a "loseFocus" DA on p1_patient_name with the same code of the "onUpdate" DA(Set value> select statement - I mentioned it in the main question)...
select id from patient where name = :p1_patient_name ;
. I created it because user could write the name instead of choosing it from the lov. In this case, the "onUpdate" DA won't fire.
I am focusing on the first item in the page which is p1_patient_id. The lose focus trigger fires when click SAVE because the cursor is in p1_patient_id then. The weird thing is that, even if it fires, it should set the value of p1_patient_id again not setting it to null. Plus it's not get set to null. I can still see the value in p1_patient_id.
When I set the lose focus DA to Never, the error did not show anymore.
I think this assures it's a very bad bug. The question now is, is there a workaround?
P.S. I don't think this problem exists on APEX 22.1.3 on apex.oracle.com. I tried it but not sure if I mimicked it correctly.

1 - 5

Post Details

Added on Oct 21 2021
0 comments
230 views