Monday, February 16, 2026

FMW 12C - Upcoming Premium Support End Date & Support TimeLine

 This is for FMW 12C users, or solution provider who built their solution on top of FMW 12C product family. ( It is a big family by the way).

We checked the support lifecycles (Premier → Extended → Sustaining) of Oracle FMW  components against current Oracle documentation. This work confirmed that components in the Oracle Fusion Middleware 12c line will complete their Premier Support phase in December 2026, their Extended Support phase in December 2027, and then enter the Sustaining Support phase.

Below, we share the scope of the support types, the status of the products we use (this is from our perspective, I mean the family is wider) , and the actions that need to be taken in one go.


Feature

Premier Support

Extended Support

Sustaining Support

Scope

Comprehensive: Security patches (CPU), bug fixes, and new certifications.

Limited: Critical patches and maintenance (restricted scope).

No new patches/fixes: Access to existing knowledge base and previous patches only.

Duration

Generally ~5 years

Generally +3 years (varies by product)

Indefinite / Perpetual

Fees

Standard annual maintenance (~22%)

Additional fee (typically a 10–20% uplift/premium applied)

Standard maintenance fee; no new fixes included


Exception to "Market-Driven Support"

If a very old version is still being used (for example, Database 11.2.0.4 or 12.1.0.2), Oracle sometimes offers a fourth layer called Market-Driven Support even after Extended expires. This is a very expensive "lifeline" service that only covers the most critical vulnerabilities.

About "Extended Support fee"

Extended Support fees vary depending on Oracle products/family; field licensing guides indicate a range of 10–20%. so Extended Support is an additional fee, and especially in environments using embedded licenses, it is crucial to clarify whether the relevant extended support fee is included in the existing embedded support agreements.

The following table is prepared for the FMW family products in our focus.. As I mentioned earlier, the whole family is bigger than that, and there are some extras (like ODI 11G) in the list, this is because ODI 11G is still used in the environments around us.

Oracle ProductVersionPremier Support EndExtended Support (Start–End)Sustaining Support (Starts)Required Action
WebLogic Server12.2.1.4December 2026December 2026 – December 2027December 2027 → Indefinite14c upgrade plan should be prepared (before moving to Sustaining).
Oracle Data Integrator (ODI)12.2.1.4December 2026December 2026 – December 2027December 2027 → Indefinite14c migration plan should be prepared.
Oracle Data Integrator (ODI)11gDecember 20182018 – 2021Since December 2021Urgent: Must be consolidated by upgrading from 12c → 14c.
BI Publisher12.2.1.3September 2022September 2022 – June 2023Since June 2023Urgent: Must be replaced with OAS (Oracle Analytics Server).
Oracle Analytics Server (OAS) (incl. BI Publisher capabilities)2025 (8.2) * based on FMW 12.2.1.4Subject to OAS release cycle; Premier 2026 / Extended 2027 for FMW 12.2.1.4 line.—After December 2027 Sustaining for FMW 12cPlan migration to the FMW 14c base with the next version of OAS.
Note that, OAS 2025 (8.2) version requires FMW 12.2.1.4; the corresponding FMW component is supported throughout the OAS version support lifecycle. However, for standalone WLS usage, the general FMW 12c roadmap (2026/2027) remains applicable. [community.oracle.com], [docs.oracle.com].

Assessment of the Current Situation:

December 2026: FMW 12c products will transition out of Premier Support. [oracle.com], [docs.oracle.com]

December 2027: Extended Support concludes. Beyond this date, during the Sustaining Support phase, no new security patches (CPU), bug fixes, or new OS/Browser certifications will be provided. [oracle.com]

From a financial regulation and audit perspective (SA, Symphony Core, Statutory Reporting), remaining on Sustaining Support poses a significant risk. [oracle.com]

Conclusion and Recommendation: 

The Oracle FMW 12c product line is approaching its critical 2026/2027 thresholds. It is essential to finalize the 14c migration plan on a per-product basis and establish a clear implementation roadmap.

Friday, February 6, 2026

Erman Arslan's Oracle Forum -- May 1, 2025 - Feb 6, 2026 - "Questions and Answers Series"

Question: How much time do you spend/lose?

Answer: Well, how much time I gain? :)

Remember, you can ask questions and get remote support using my forum.
Just click on the link named "Erman Arslan's Oracle Forum is available now.
Click here to ask a question", which is available on the main page of Erman Arslan's Oracle Blog -- or just use the direct link: 



More that 2400 questions have been posed, sparking over 10,000 comments. Explore the latest discussions and see what valuable knowledge awaits!

Oracle EBS, Cloud, Exadata, ODA, KVM, Oracle Database, OS and all that.

Supporting the Oracle users around the world. 

Let's check what we have for the period Between May 1, 2025 - . Feb 06 2026.


Extract Generating huge trail files due to JAI_TAX_DET_FACTORS table by kvmishra

Timezone upgrade - R12.2 by satish

Unable to update Supplier or Customer Address after upgrading from 12.2.11 to 12.2.15 by UbaidurRehman

Auditing - Oracle 19c database by satish

Peak concurrent users in R12 EBS by satish

Patches in oracle 19c by Arsalan

DBCS - ASM over provisioned by satish

Disk group with external redundancy by satish

RTF Footer Issue by Junaid.Niazi

Issue with RTF If Condition in Footer by Junaid.Niazi

fs_clone fails on secondary nodes with unable to start OHS component error by ky_17

Issue with open form ebs by NguyenThienAn

Migration of physical to vm - licensing by satish

Many SSL errors in OHS and opmn log files by DBAFR62

PDB CDB by Laurel

Concurrent Requests Completing with Error Status in EBS R12 by Rabia

SSO asks password on any connection by big

ADOP Prepare [UNEXPECTED]Patch edition does not exist. by Aldair Anzh

many large sid_p000n.trc by big

SQL not accepting SQL Profile by VinodN

Invoice print requests not completing by VinodN

Custom concurrent program querying FND tables by VinodN

Issue with SYSTEM Tablespace Size in ebs 12.1 by Yahia

EBS 11i migration from aix 6 to oel 6 on oci by soumya

Duplicate by Erman fails by big

Auditing only SQL Developer commands by VinodN

Adop Apply partial patch not restarting by Ahsan0001

AppsLogin/AppsLocalLogin are not working. by Mansoor8810

Internal manager doesn’t start by Samia

adsplicer fails: This is not a valid application id by big

EBS on VM by satish

golden gate replication by Roshan

EBS Database upgrade from 12.1.0.2 to 19c by soumya

Oracle Forms and Reports Cluster in windows by Waseem

RDF based report output is not coming by kvmishra

Monday, February 2, 2026

The Gravity of Context: From Transformers’ Attention to Oracle 26ai

This post will be about AI. We 'll start by going back to early days of transformers, the 2017 moment, the attention mechanism and all that, and in the final we 'll use a metaphorical bridge to connect the Transformer math with Oracle’s in-database applied AI.  Our metaphorical bridge will be "the internal attention mechanisms". A little bit of autonomous database , a little bit about 23AI / 26AI, but we 'll get there... Okay. Let's start and we'll see :)


Let's start with a specific point in time we call the "2017 moment". I'm talking about the release of the Google paper "Attention Is All You Need." Attention mechanisms actually existed as early as 2014 (Bahdanau) , but the 2017 Moment was the declaration of independence. 

*To the architect of the 2017 moment / Ashish Vaswani: thank you for proving that attention is indeed all we need to reshape the world of AI.

While Bahdanau added attention as a support for the old RNNs in 2014, the 2017 paper made the bold claim that we didn't need the RNNs at all -> Attention was all we needed. 

Here we note that; actually, the industry is now moving towards hybrid architectures, to "Attention where you need it." But, I will not get into that. Let's get straight to the point without causing too much confusion.

The paper "Attention Is All You Need" did exactly what the title said. Before that, we (of course not the actual "we", the AI models) were stuck in the linear age, processed one word at a time, left to right, and it was slow. The memories these models had was short, and subject-specific processing couldn’t be parallelized. They couldn't scale it. But! the 2017 paper showed we could build an entire architecture using only attention, and it fundamentally reset the AI timeline. It provided the ability to seeing sentences as a big, interconnected web of context.

I will explain this with my favorite example. The excuse of the young students (not those from Turkey, but most likely those from America.. An old one, there must be some modern versions now :)
That is, the sentence "The Dog ate my homework"

So, just like in the old days of RNNs, models tried to carry the entire past context in a single, ever-changing hidden state. However, as the sentence grew, that memory faded, and the model would often lose track of the subject by the time it reached the end. If the model fails to explicitly link the word my back to dog across that distance, an error becomes almost unavoidable...

I mean let's imagine we give the input "The dog ate my" to the model and want it to tell us what's the next word should be... The word "my" itself doesn't make the model to choose the word "homework" easily. 

In fact the model gets lost here. So what I want to emphasize is that, in order to be able to guess the correct word,  ("homework" in this case), the model should  attend back to the word "dog". So, it is like catching the context.. Without the context, you generate wrong answers, or you get lost. You need to have a complete understanding of the sentence and somehow indirectly grasp the context from it.

Okay we begin with the transformer, but what is it? Well.. The Self-Attention Mechanism is the key. The Transformer is essentially just a efficient frame built specifically to let the attention mechanism run properly at scale. 

With Attention, transformer  becomes a machine that can see every word in a sentence simultaneously. And what's going on in the background is mathematics.. The cool math tricks made these things appear as they are.. In the example above, the Transformer creates a direct mathematical link between the word my and the word dog instantly.

Here, it's more about vector math. The vectors are being massaged... The vectors corresponding to the words are being related and massaged together, and the final vector is no longer the same vector it was when it started; it somehow becomes related to the previous vectors, and from this point on the next word is predicted more easily and accurately. That's basically what's happening.

Let's go a little far, let’s look under the hood to see how it actually works  The logic of Transformer is based on the high-speed dance of three vectors: Query (Q), Key (K), and Value (V).

Query: When the Transformer processes the word "my", it uses the vector generated for that token. So the Query vector asks: "Who in this sentence is relevant to me?" Every Key vector answers: "Here's what I offer." The dot product measures compatibility..!

Key : Every other word ("The", "dog", "ate" ...) has a Key vector. Its like an identity card.. These are for describing what they offer to the sentence.

So, we calculate a dot-product (a well known matrix operation. note that there are other methods as well) between query and key (Hint: Query vector of token “my” is compared against key vectors of all tokens) and run the scores through a Softmax function, which squashes the numbers into probabilities. 

If the word 'dog' gets a high score, the model focuses its attention there. But! this does not mean the model looks only at the word dog.. But we can say that, the value vector of “dog” contributes the most to the resulting representation.

Dot-products measures how close vectors are. So if they are close/aligned in vector space, a large number, high score is obtained from dot-product.

Softmax converts these to probabilities. I mean, it takes these numbers and compresses them all between 0 and 1. It makes their sum equal to 1.

An example for score(s) and softmax finale:
-----------------------
"My" is the focus, so we calculate dot-product of "my" with other words.

Scores: [The: 1.2, dog: 5, ate : 3.5, my: 2] 

Actually what happens is; Query of "My" -Dot Product- Key of "Dog" = 5 (High! Because "my" is looking for an owner, and "dog" is an object that can be owned.).. Note that, this is just for the analogy, actually transformers do not encode semantic intent like ownership, the model does not know why vectors align... :)

After Softmax : [The: 0.02 , dog: 0.75 , ate: 0.18 , my: 0.05]

Decision: I need to focus on the word "dog" 75% of the time (This is the attention!), when processing the word "my".
-----------------------

As for the finalization, we multiply these scores by the value vectors.. So, to get the contextualized vector for "my", we multiply each value vector by its score and sum them all up. The result is a new vector and "dog" contributes the most to to it. I mean dog contributes the most to the contextualized representation..
(remember -> 75% after softmax). 

So, the word "my" doesn't go alone when it moves to the next layer. 

The model takes the value vector of the word "dog," multiplies it by 0.75 (meaning it takes the value vector of dog with almost full strength), and then adds the value vector of "ate," scaled by 0.18. It even looks at the word "the" with its tiny weight of 0.02, and the result becomes : "my" is no longer just "my"; its like having my' (my prime) in hand, a dynamic, contextualized vector that has been mathematically pulled toward the dog and influenced by the act of eating.

This allows the model to predict the word "homework" in the next step, knowing that the word "my" is related to "dog" and the act of eating.

Okay.. This is like massaging, and it happens over and over through multiple layers. Each layer refines the meaning, making the vector more context-aware as it moves toward the final prediction. (Note that: this is not like the biological reasoning; it's an iterative mathematical refinement where each layer assigns better statistical weights based on the surrounding context )

By the time data flows through the transformer layers, the word "my" has been literally reshaped by the context of the "dog"'. The Transformer is the architecture that allows this massage to happen across billions of words at the same time. It doesn't care about the order of the words initially. It processes the entire context at once. However, it uses positional encoding to understand the sequence and keep the story straight, And it doesn't just do one message at a time; it runs multiple versions of this attention (Multi-Head Attention) in parallel, layers deep, to refine the meaning until the alignment is spot-on.


So far so good. Let's take a look at the training phase a little bit. There we see weights.. In the training phase, the model doesn't store the final vectors; it stores weights. When those weights are hit by a word, they produce the vectors. So, training adjusts the weights so that the resulting vectors point in the right direction. Training isn't just about guessing; it’s about adjusting the weights so that the resulting vectors point in the right direction at runtime. 

Okay.. The weights are important, they indirectly result vectors and result things like where they point and their alignment. Vectors are there in the beginning, but they are not static. 

In the training, weights are learned that will produce good vectors. So during the runtime, we get input, we already have weights, and using these two, contextual vectors are computed fresh.

For instance; the word "bank" transforms into completely different vectors in the case of the following 2 sentences; "I went to the bank to withdraw money" and "I sat on the river bank".

These new, contextual vectors are calculated at runtime. There's no pre-existing vector of "riverbank" in memory; the model constructs that meaning instantly, using the weights of the surrounding words.

In other words; the word "bank" doesn't have a stored "river" version or "money" version. The weights know how to construct the right vector based on context at runtime.

Anyways; during the training of the model, the model guesses answers.. Cross-Entropy Loss function takes place here.. If the probability that is given by the model for the correct answer is low, the loss is high. At this stage, back propagation kicks in by regarding the loss (the loss tells you how much it missed the target) and It takes actions to update weights so that future vector representations align more closely with the desired outputs. So, in other words, indirectly, those actions are taken to bring vectors that need to be close together closer together. ( this is very high level, but! I won't go any deeper here)


Now we have arrived at the point where we will cross our metaphorical bridge, where we will connect our subject to the Oracle.

Oracle didn't just watch the 2017 revolution, they built the new database with the result of it. The ability to perform AI tasks directly within the database was introduced in Oracle 23AI, and further improved in 26AI. 

In fact, we conducted RAG (Retrieval-Augmented Generation) studies with 23AI, created Sales Assistant solution using Oracle Vector Space and RAG, implemented software solutions for speech-to-SQL demos.

*To the pioneer of RAG / Douwe Kiela: thank you for giving AI a reliable memory and leading the charge as the ultimate hallucination reducer.

Since Oracle Database 23AI , the Vector is a native data type. That similar math and approach we just explained is now happening directly inside the database kernel.

By performing In-Database Vector Search, we can feed the transformer’s context window with rock-solid facts, effectively becoming Hallucination Killers through RAG (Retrieval-Augmented Generation). Note that, actually RAG doesn't eliminate hallucinations but reduces them :)

Anyways; I mean by implementing RAG on the Vector data that sits inside the Oracle Database, we basically say: "Do not guess! Use this data!"

It is an important unification of AI (Vectors, and DB integrated GEN-AI with RAG) , Graph and Native JSON in the context of Converged Oracle Database. With 23 AI and now with the evolved version: 26AI, Oracle goes beyond traditional database logic and has the ability to run inference-related AI operations directly within the database. 

This means that instead of constantly moving data to external AI environments ( or to things like vector databases), we can now perform core AI operations within Oracle itself. In older versions (like 19C) , when these types of processing is required: we needed to export data to a ML environment, run Python, TensorFlow, or OCI Data Science jobs externally.  Then we needed to push the results back into Oracle. In 26AI (actually started with 23AI), this changes completely.

Now the database itself understands vector data, offers AI-oriented SQL syntax, and includes built-in packages for inference, embeddings, and vector search.


In addition to that, Oracle 26 AI offers support for open table formats, reinforcing its converged database strategy. Actually, this is not a new thing, but 26AI i is the version that matures and standardizes this feature. That is,  Oracle can natively integrate with Apache Iceberg and Apache Parquet, allowing you to store or access data in these universal formats. You can create a table (connected to the Iceberg in the backend) using DDL as part of the Oracle database and query iceberg data directly inside an Oracle database session using SQL. (Interesting, isn't it?).


So, Oracle can seamlessly integrate Iceberg by directly querying it without the need for importing or moving the data. We can even join this external Iceberg table with a relational Oracle table.

For instance;

Oracle Session / SQL:

SELECT
    c.customer_id,
    c.first_name,
    c.last_name,
    c.email,
    s.segment,
    s.risk_score
FROM sys.customers_iceberg c --> data retrieved from iceberg / queries iceberg table.
LEFT JOIN sys.customer_segments s --> data retrieved from relational Oracle database table
  ON s.customer_id = c.customer_id
ORDER BY c.customer_id;

This means significantly reduced data movement and less complex ETL processes. The philosophy "query the data where it lives" is fully applied here, making it a truly AI-native Database. It's worth a try... (Read for more:
https://www.oracle.com/tr/database/ai-native-database-26ai/)"


Let's wrap things up, and before we finish, I'd like to remind you of Kepler.

In general, we must do what Kepler did with the stars! Kepler didn't just look at the stars and say, "If this is here today, it must be there tomorrow." Kepler changed the game by discovering the underlying laws that governed them.

In this case, having AI inside the database may be considered as the Kepler Moment for enterprise data. 

While the Transformer models are the engines of generation, Oracle provides the high-speed vector engine for retrieval. Same dot-product and similarity search operations that allow a transformer to find the 'dog' in a sentence are now happening directly inside the database. 

So, it is a Keplerian shift: the database is no longer a passive storage room; it's an active participant that understands the gravitational pull between our data points. We are moving from "What happened?" to "What is the underlying pattern?"

Of course, a new turning point is still needed. Let's see when that turning point from 2017 will come again. 

Therefore, I would like to conclude my writing with these words;

In a broader context, I think we should be waiting for a new fundamental shift, maybe another 2017 Moment, a fundamental shift that will take the AI world beyond the limits of sophisticated pattern matching. We should be looking for an architectural leap where reasoning, causal understanding, and the essence of human experience are no longer just simulated, but are inherently woven into the very fabric of the model.

Saturday, January 17, 2026

Exadata X11M / X11M-Z / Naming, Elasticity, RoCE and all that

Recently dived into a new project with newest Exadata(s) inside :) and today, I wanted to share you a quick info about the newest Exadata naming based on the elasticity we have, and then I will remind you the power of Exadata by revisiting things like the Game Changer : RDMA, and the mantra : "The fastest I/O is the I/O that never happens."

Okay. First the naming, and the elasticity.. These days we see Exadata X11M-Z systems in the field.. Well, for years, we dealt with eighth rack configuration, which, let's be honest, were often just quarter racks with some cores and disks software-locked in earlier generations / historically (Note that this is true for X5, and X4.. But! for X7, and onwards Eighth Rack database servers have one of the CPUs removed, so no change for them).  

Anyways, now, all Exadata X11M systems are offered as flexible configurations, starting with at least two database servers and three storage servers. So we can start with an economical and flexible configuration using Exadata X11M-Z database and storage servers, and later if needed we can expand the system by adding more X11M-Z servers or larger X11M servers. As a result, the fixed Eighth Rack configuration is not required and is no longer available. So it is more elastic now. Of course you can built something like eight rack or quarter rack. But! know that: quarter/half/full: These names are now simply nicknames describing how full the cabin is, not official product codes.

However; still if you check the data sheet, you may see some quarter rack configuration. But! when you check it carefully, you see it there in two different ways:

Standard Quarter Rack, and Z-Series Quarter Rack.

In other words, Quarter Rack has become a term that refers to the minimum occupancy rate inside the cabinet, rather than a hardware model.

Okay, so far so good..

Alright, let's dive deep into the internals, focusing on the fast OLTP capabilities and the magic of RDMA and Persistent Memory. 

You may already know the mantra: "The fastest I/O is the I/O that never happens." But what if you have to do I/O? What if every microsecond counts? This is where Exadata isn't just fast; it’s architecturally brilliant, especially for OLTP workloads.

We often talk about Smart Scan and its analytical powers, offloading terabytes of data processing to storage. But for OLTP, where individual transactions need sub-millisecond response times, a different feature of Exadata takes place. That is the RDMA and the intelligent use of Persistent Memory (PMEM).

Most of the time, we see traditional Storage system fall short...Think about a typical OLTP transaction: a single row update or a quick lookup by primary key.. These tasks are like searching a needle in the haystack.. Actually sometimes this phrase is not enough to describe the hardness of it.. Let's say we are looking for a particular needle in a stack of needles :)

 In a traditional architecture, even for a single block read, we (in the background) issue an I/O request through the operating system, and then we wait for the storage controller to process it. The data travels over the SAN network. Then, our database server's OS receives it, handles interrupts, and context switches. Finally, we get our data in our Oracle database instance.

Each of these steps adds latency. So, thousands of transactions, these delays (although there are micro) create significant bottlenecks. This is where Exadata's features comes into play.

With RDMA / Remote DMA / Remote Direct Memory Access, what happens is, we bypass the Kernel, and we go directly to the memory...

So, Exadata completely re-engineers this critical path for OLTP I/O. Instead of the database server's CPU and OS being involved in every single I/O operation, Exadata leverages RDMA over RoCE interconnect.

With RDMA, the database server can directly access memory on the Exadata Storage Cells, and it gets the data it needs with only a minimal CPU involvement on Storage Cell's CPU or OS.

So, basically it bypasses the kernel, which means less context switching, fewer interrupts. 

Okay.. Let's visit the subject of Persistent Memory (PMEM). Well, Exadata Storage Servers come equipped with PMEM, a revolutionary technology that sits between DRAM and Flash. 
It's like DRAM but persistent like Flash. Exadata intelligently caches frequently accessed OLTP data blocks in this PMEM. When the database server needs a block that's in the PMEM cache of a Storage Cell, it uses RDMA to read it directly. You see the benefit, right? The power of Exadata is not only due to having a fast storage; it's intelligent, again! -> software and hardware engineered to work together!

In this blog post, I focused only on some of the key features and put them forward in the OLTP context, by I think we all already know the other well known features like Smart Scan and Storage Index.
These are still there, making Exadata a worlds one of the fastest database machine for dealing with hybrid workloads, as it is capable of handling both OLTP and OLAP simultaneously without compromise.

Understanding these underlying mechanisms always excites me , and these things are not just academic, it's crucial for delivering real-world results.

Until next time, keep optimizing, keep questioning, and keep digging into those internals.

Feel free to share your thoughts here and your questions on my forum: http://ermanarslan.blogspot.com.tr/p/forum.html