00:12
Hi, all. Welcome. we'll just give it a few minutes till we start the webinar. Thank you for waiting. Hi, guys. Thanks for joining. Just give it another minute or so to allow people to join.
00:45
Thank you. Hi, guys. we're just on the hour. We'll just give it one more minute or so to allow people to join. Thanks for waiting. Thanks, guys, for joining. Just give it a, a few more moments, and then
01:59
we'll start. Right. We've got a good number of attendees joined now, so we'll make a start. Hi, everyone. I hope you're all well. I'm Zahid Anwar, Tech Member Advocate at the UKOUG.
02:25
I'll be your host today. It's a real privilege to welcome the recently awarded EMEA Sorry, UKOUG Leader of the Year, Ron Ekins, Director, Field Solution Architect, EMEA and Latin America for Everpure. He'll be talking about modernizing to Oracle 26ai without risk. Any questions, please do put in the Q&A section.
02:48
I'll be monitoring that, and if there's appropriate moment, I will interrupt Ron, and he'll answer live. otherwise, we'll answer at the end in the Q&A section. Without further ado, over to you, Ron. Well, thank you, Zahid. So, today's session, Unlock AI Capabilities:
03:04
Risk-Free Oracle 26ai Database Upgrades. So that's the agenda, and we'll, we'll talk about Introduce Everpure. It's probably a new name to many of you. then hopefully you're all aware of Oracle AI Database 26ai, but I'll, I'll talk about the, the state of the nation there.
03:23
And then if it's right for you, the steps you may wanna consider about how you could implement Oracle AI Database 26ai, talking about maybe several phases, the assessment, the planning test, and then the execution. Okay. So, that's me. so, ron@everpuredata.com.
03:44
Got a new e- email address, so I'm getting used to using that. there's my Bluesky and Twitter handle, my Oracle Ace Director QR code in the top right corner. I have a very active blog at ronekins.com, which you, if you wanna visit that and subscribe, that'd be great, and follow that.
04:01
I also have a GitHub repository where I like to share code, when I do a conference, I often upload the examples there. As you can see, I'm an Oracle Ace Director, and as Everpure, we are also, an Oracle partner. We're also a part of the Oracle User Group, and I had the pleasure, of attending the,
04:23
annual Community Awards last week. fantastic, event. Really well done, by t- the committee there. Thank you for putting on a wonderful evening. and I'm still smiling, still grinning.
04:34
You can see that lovely smile on my face there. I was fortunate to receive a, nomination, for Speaker of the Year and Leader of the Year, and pick up awards in both of those categories. So got bronze in Speaker and Leader of the Year, so thank you for everyone that contributed to that. And, I will definitely be attending the, the
04:55
event next year. And, if you want a, the chance to, to dress up smart and have some great food and wonderful company, yeah, I definitely recommend the Community Awards night. So, so Everpure's a new name. We were formerly Pure Storage.
05:13
we're an Oracle partner. there's the link there. we are a technology partner. We're n- we're not a reseller of Oracle technology. We don't sell Oracle licenses or hardware, but what we do do is work closely from a, from an engineering point of view to make sure that all of our solutions work in the Oracle
05:32
ecosystem, so whether that be Oracle Linux, Solaris, and the databases. Like, we've, we've validated and tested those all on our solutions. One of the reason for the rename is just to, from Pure Storage to, Everpure is to reflect the change of our organization. We're no So we built our reputation on being the best storage platform, but more and more
05:58
we are going into different use cases, so enabling AI, so database workloads, AI workloads, and all other workloads. And this is done through our architecture built upon our, traditional FlashArray and FlashBlade products, but also our intelligent control plane, and giving us this way of managing all data, structured, unstructured data on the edge, on premises, in the cloud.So
06:24
what is Oracle AI Database 26c AI, and is it enterprise ready? So I was part of the beta program, and it's been around for quite a while. so it's the latest version of the Oracle Database. It's got three hundred new features, has a big focus on artificial intelligence, AI, but also developer productivity.
06:45
So, if you haven't looked at, twenty-six AI, it's probably really good to look at the release notes, see if there's anything there that, your business take value out of. AI vector search is probably the, the, the highlight. it's the one that's got all of the focus, but there are lots of other technologies in there, which drive developer productivity.
07:08
So, but the AI side, the ch- the ability to store, vectors in your database, use install a model in the database and generate embeddings are, are all new features which are only available in twenty-six AI. some other features of those three hundred developer features are being, backported into nineteen C, but if you want the latest and greatest, twenty-six AI is definitely the way
07:34
to go. Availability, it was GA in January, so it's been out a, a couple of quarters now, and we've, just had the, the second, update on that. so available on premises, in the cloud, through OCI, AWS, Azure and GCP.
07:58
only, Linux at the moment, X8664, so, we're still waiting for Solaris and AIX. but they are the, the dominant versions. So when people ask, "Is it enterprise ready?" Well, actually, a lot of our developers have been using it, w-in the industry. you know, when we go to community events, we do see developers have been talking about
08:18
twenty-six AI or twenty-three AI, as it was then, and have been using this on their laptop for the free edition, to get ahead of the development curve. So lots of experience, lots of knowledge in the industry already of that. So it's a mature release, it's been widely tested. before it was released o-on premises, it was available in the cloud on, on engineer
08:37
platforms as well. So it's a very mature release, and it's been around, you know, for several years now. So the focus-- So the name twenty-three AI gives you an idea of how long it's been around for. Twenty-three AI is, is no longer a thing. We don't really talk about twenty-three AI.
08:57
It's been, if you look at all the documentation, it's all been reworked as twenty-six AI. So twenty-six AI is the name to use. It's a new release. so it's, it's there, it's available and go for it. The current release is twenty-three dot twenty-six dot two.
09:12
So you can see we've still got that twenty-three tie in there. that will If this is the banner message, that will be updated in the future. But at the moment, the naming standard is gonna be twenty-three, twenty-six and then the, the release, so dot two for the second quarter. and then later in the year, we'll see dot three come out.
09:34
So should you be using twenty-six AI or should you stay on nineteen C? And, and that's a business decision. you need to look at the features and see whether you're driving that. but if we do look at the release, we can see that, you know, here we are in twenty twenty six, nineteen C has got a long support, life cycle to still and then with extended support
09:54
going right out into, twenty thirty-two, and I wouldn't be ex, surprised if that's extended past that for, e-business suite and other customers. twenty-six AI is the long-term sup, support release. twenty-one C was an innovation release, which is gonna come out of support. So if you're on twenty-one C, you need to be looking at moving to twenty-six AI soon.
10:16
start your regression testing and moving towards that. If you are nineteen C, you can defer the decision, but if you wanna take advantages of some of those new features, they won't be available in nineteen C, so you'll have to move to twenty-six AI. So how can we get there?
10:34
So let's think about the stages. So we really wanna assess our environment today, look at the business value, plan the upgrade, consider what we need to get in place to do that. Think about your testing, so from an application point of view, from an infrastructure point of view, from a process point of view, you know, maybe test your
10:51
backups, test your cloning scripts, anything you have today, and then execute and operate the, the environment once you've upgraded. So from assessment, you've got database versions. one of the things that twenty-six AI mandates is pluggable databases. Are you using those today in nineteen C?
11:11
If not, you might want to do that now, so you take one, one obstacle away. Look at the business requirements infrastructure needs for this. So assessment phase, what would we typically talk about there? So capture the number of database versions, configurations, as in traditional or pluggable, and really discuss that with the business.
11:32
Do they have, AI requirements? Are they looking to enrich your structured data with unstructured data? there may be AI projects which are running in other areas of the business that you haven't come across yet. But, you know, have that wider discussion. What is the plan to, to enrich your, your Oracle data?
11:51
AI vector search and the applications that, that are sitting on top of that. The-- Lots of developers are looking at these features and are looking at modernizing their applications to take advantage of those. Once you've done that assessment, you looked at the business requirements, you really, really need to document those to help generate the business case for the database upgrade.
12:10
Database upgrade technically is one part, but also there's all the business testing, the regression testing, the application testing that needs to take place. So we need to, we need to create a business case. We need to identify who's gonna do it and whether there's any budget for the resources, plus any infrastructure requirements.
12:26
So have we got enough infrastructure to support additional environments? If we are running a production nineteen C databaseUh, we've probably got development test and support environments for those in a DR environment. So we probably need some parallel environments to give us additional capacity to do the, the regression testing. So what infrastructure do we have today, and
12:45
what do we need to going forward? the AI side will generate database growth. it will create different queries, so there's gonna be different IO patterns and maybe more demands on our storage platform and our infrastructure, so we need to take that into account as well. So consider compute, network,
13:02
block storage capacity. Then if we're looking at AI and the unstructured data, where is that gonna come from? Do we need to invest in file or object storage? 26 supports both of those. So databases are no longer block only, or NFS fil- shared file systems.
13:19
We can also use object storage, and that really is probably the way to go for, unstructured data. Have you got access to any assessment tools? Have you got a way of helping you do this, to look at all your estate, and understand what you have? So you can develop your own SQL reports, maybe use, OEM and, or control and look at those sort of reports there, but really you need to
13:43
have that business assessment across the, the estate to understand what you have. so maybe asset databases will help there as well. So some considerations from the database and storage point of view. You know, how the database of bed is being maintained, you know? Will they be done insert, update, database triggers, bulk updates?
14:05
creating embeddings is an expensive operation, so we don't wanna do these all the time. What about if the, the LLM gets updated, do we have to go back and update all of the, embeddings, recalculate those? How will that done? So we've got to understand how we're gonna operate in the, the new world.
14:21
And where will they be stored? Will they be inside the database? Will they be external? How much additional storage will be required? If they're exter- inside the database, there's a vector data type, and they're stored as LOBs. but if they're outside, we use a shared NFS file system or S3 object storage. So we need to understand that.
14:39
We understand if we're having stuff outside the database, external tables, then how do we make sure that we have a consistent backup, that we actually take a snapshot or we do a backup and we, we protect all of the components of our database? So it's more than just where it's stored, it's also how it's governed, access controls. When we have something inside the database, we can leverage all of the
15:01
security that database has. We have something outside, we've got other vulnerabilities what we need to consider. Database and server impact. If we're doing this additional workload, what additional CPU is gonna be required? So when we're looking at embeddings and creating those, you know, we can offload those
15:18
to external GPU file, we can do them inside the database, so that the database isn't overwhelmed by embeddings. it's actually only a single thread. But if you want to do this, and get a more performant solution, but you don't want to send your data to the cloud, Oracle now provide the private AI service container.
15:40
so I did a blog at the beginning of the month, getting started with the Oracle private AI service container, which walks you through how to install this. So from our database, we can call this service, so all your data lives inside your data center, so it doesn't actually leave your, your premises and create any security concerns. Vectors and external tables.
16:03
So 26 provides ability to store vectors externally, and for large data sets, where there's complex AI workloads, this is probably something which is highly recommended. very convenient. We get lots of the features that are from the object storage from a protection point of view, that is built into objects, from a configuration, from a locking point of view, and the security side.
16:29
So really good, good features in it. And historically we always thought of object storage being slow, that's no longer the case. It's, it's a really good option now for external tables. CSV, Parquet, Avro, ORC, and Delphis all supported as vector data types for external tables.
16:48
Ron, can I just interrupt? a question from myself. You mentioned minimize impact on the database server. How much impact have you seen in your experience? is it a lot? Is it a little?
17:01
It, it has Yeah, I mean, the, the database server has a single thread, it's limited on that, but you In the same way doing RMAN backup, you have to determine what the overhead is, depending on the size of the data. and I've got some numbers here about, how much the database grows. but when I've done some, and the it depends on the model as well.
17:21
I've had small dataset, two hundred thousand rows, and it can take forty minutes to, on a small machine to create the embeddings. Wow. So you don't wanna do that too often. Single-threaded, so it doesn't overwhelm the server. But if you had that on a separate one, you could take that workload
17:37
off the database server. 'Cause you are really using database CPU and CPU licenses to do non-database work, if you think about generating the embeddings. So if we can offload that sideways, that gives you CPU back to do your database work. What if you have a very beefy database server, like Exadata?
17:57
Is it, is it- Yeah, yeah, you, you may find that, that, that's, that's that'd be fine. but, yeah, I would, I would test it depending on the datasets and the size. If you're doing it, on every install, and on every update, it won't be all data that we're having embeddings on, the, the impact would be lower. It's more about when you're doing bulk loads than- Yeah sort of.
18:21
Okay. Perfect. Thank you. So we think about sizes, they get big. AI models have dimensions. We talk about a power of two. So, seven six eight, one thousand twenty-four. The, the larger the number, the more dimensions, the more sophisticated the
18:38
model.So we can think about really small ones at three eighty-four, seventy-six, one thousand and twenty-four. And there is a difference between performance and accuracy. So the, the larger the dimensions, the more accurate it's gonna be, but it's also gonna put more demands on our compute, and GPU. So not every server has a GPU, so that's gonna have more CPU requirements.
19:00
So it There is a si-- trade-off. smaller dimensions are faster, require less storage, less memory, but might not actually provide you the, the, the insight you're looking for. So where speed's critical, start slow. But if you're looking for, providing higher quality on semantic searches, then you're
19:23
probably looking at larger dimensions. So start small, experiment through testing, and then understand the impact of using larger dimensions. But this is where, as database, professionals, we need to be speaking to the developers to understand what dimensions they're looking at, what models they're using, because it may be
19:42
accessing their models is, is tricky. How are they gonna control those? Are they going to, take those from Hugging Face and download those on demand? What about the configuration control of those? Are they gonna be able to download those, and install those in the database?
19:57
what's the impact of managing the model and, the number of dimensions? How are they gonna manage configuration control? So lots of, lots of questions when we look at the embeddings. So example here of a two hundred row table. So, these are using the ONX targets.
20:15
so that is a, a format that we can use to transfer models. So I've got four models here. couple of them the same size, three eighty-four. and we can see those, there's the name. So these are all text-based models.
20:31
So a forty-one meg table. So L6, L12, so different versions, so different number of layers. Six layers and twelve layers. Same number of dimensions, and we can see them, the table size. Doesn't ma-- The model's slightly different, that's the size there in megabytes, but the
20:48
table size didn't really change. More dimensions, five hundred and twelve up to five twenty-eight. Seven hundred and sixty-eight dimensions, seven hundred and ninety-two. so in the, the latest, container, the private A container, it has a model with a thousand and twenty-four.
21:07
So, over the next, week or so, I think I might play with that and see what the impact is, is of going up to a thousand and twenty-four. But you can see just in that small example, a forty-one meg table has, been considerably increased just by the fact of adding the, the vectors on that. So think about tooling, you know, how are you gonna assess this?
21:33
so, Everpure, we have an assessment tool, so if you give me a load of Oracle AWR reports, we can load this into a, a platform. it produces some, recommendations, some assessments about readiness. gives you reports on your IO, your storage usage. So you can use that if you've got AWRs reports, you know, you can look at that yourself.
21:55
There is stuff you can glean from that for about are you using encryption, are you using compression? you might need to run, run some sundry queries around that. But also we if you've got a long enough period, we can see like a heat map of when your systems is busy. So lots of information that we can glean from an AWR report.
22:11
So that's something that you might wanna look at is, look at your databases, use your AWRs, use those to identify the, the versions and whether they're containers, whether they're RAC. understand what your estate looks like. So that's all part of the assessment, then we're about planning. So we move to planning, we wanna really look at how are you gonna do the upgrade.
22:32
There are different ways of approaching that. what environments will you need? We've got the budget, we've secured that in the assessment phase, but provisioning new environments, performing the, the upgrade task and all the prerequisite tests, ex-- steps. You may want to, decouple those, so move to, container databases and plugables
22:51
before, you even embark on twenty-six, just so you're, you're future-proofed. And then have you got the resource in the business to do the test? have you got a fully resourced plan? Have you got a communication plan? Who do you need to know?
23:05
Who do you need to get on board to do the regression testing from the application line of business side? So plan, so always start with a fully resourced test and communication plan. if you're doing it in isolation as a technical upgrade, you may find that you introduce changes in the optimizer, which impacts the application, impacts reports.
23:29
So we should always make sure that we get the application owners involved in the testing to make sure that their application behaves the way they expect it to behave. do we need an additional environments list? So how are you provisioning additional environments? When we're looking at doing an upgrade project or an implementation project, really, we need
23:45
the ability to have more environments than we would do in a business as usual environment. Oracle typically sees twelve environments for, upgrade and implementation projects, so you, you might have that sort of demand. So UAT environments, development environments, test environments, performance environments, integration environments. So many different environments and multiples
24:06
of those. So have you got the capacity? Have you got the ability to spin up those on demand? So yeah, development test, QA, pre-UAT, UAT, and the list goes on. How are you gonna cut over? How-- W-when, there are many organizations that have, blackout periods and, you can't do an upgrade maybe at quarter end, you can't do
24:27
it at year end, or maybe you have to avoid a, you're a, a gaming company, and you have to avoid the World Cup, or you're a retailer, and you have to avoid, Black Friday sales or, uh-There are different times of the year where you can do your you can't do, activities, so you have to agree your cut-over methodology and when, and that should all be part of your plan and your communication plan.
24:52
In your plan, also, at this stage, we really wanna capture our baseline performance. What does good look like today? if we do an upgrade, and then we start testing, but we've got nothing to compare to, we don't know whether we've improved the situation or made it go worse. So, you know, capture that, understand what you look like today.
25:09
Upgrade activities, you know, patching your current environment, converting to, pluggable databases, highly recommended. So what can you upgrade from to? So 19c to 26ai, straight upgrade. 21 to c to 26ai, we can do that in one job as well.
25:30
23ai, as I say, it wasn't really a new release, it was just a, an update, so that is the October RU to that, and then you become 26ai, and, you're, you're, you're okay. If you're not on 19c or 21c, you have some different considerations. But if you are, you don't have to go to 23ai first. For 12c, 18c, you're gonna have to take a different path.
26:00
as always, look at the I've got the URL at the bottom down there, look at the Oracle, release, guidelines, and it gives you direction, 'cause it does change, with updates about where you can go. So if you're on anything before, release two, 12c, you're then gonna have to go through a couple of steps to get there. but hopefully no one's running Oracle 11g still, or, release one of, 12c.
26:29
But if you are, you're gonna have to, look at those notes and make sure that you go through all the upgrades and all the steps to make sure you have a successful upgrade. So once you understand the process and the steps, let, let's think about provisioning new environments. so one of the, the solutions we have for in our con- intelligent control plane
26:49
is a component called Fusion, and this lets us do consistent deployments. So as a database professional, I can define what a, a workload looks like. That's the term, it's the template that we talk about. So I create an Oracle template. in that configuration, I say, what are my protection requirements, what are my quality
27:09
of service, any tags, number of database volumes, log volumes, FOA. So I can define what an environment looks like. So this means that when a storage and infrastructure team provide me an environment, I know exactly what it looks like, and all of my environments are the same. and the, the automation component takes this and deploys this onto my storage platform.
27:34
So let's see that in action. So here I have created a template with database volumes, so I want it a set number, default, a minimum, number of sizes, and I can set some rules out. So these can be fixed, or they can be between a range. So I define all my rules here.
27:54
I've said, okay, default size, five hundred gig in my lab, minimum two fifty, maximum seven fifty. and I can say how many. I want four as default, but I can go above that, but a minimum, is two. Do I want any parameters? so for me, does the database include encrypted data is quite an interesting point.
28:11
So I can add that as a parameter, which I can then prompt, and provide that through the rest APIs or the, the web UI. So I define this, and then once I have my template in place, I can then create the workload. so this is the web UI. This could also be the, a rest API or Ansible playbook doing this, but it's quite easy to
28:32
see, and it's in the, UI. So that's, that's what I've done. So I've created my workload, and then, this is what it looks like. So I go into my FlashArray here. so you don't have to be a storage administrator, to do this, so you, you A
28:47
storage administrator can do it for you. So I've got my preset here. I've set number of database volumes, business units. I've set some, some protection around this, around, replication and snapshots. so it works An Oracle workload.
29:03
and once I've I'm, I'm happy with my template, I can create a presets and create my workload. So I navigate to the, the presets, create a workload. So I've got Oracle standards, so I could have different ones. I could have one for, different platforms, all having, different requirements. And what it's gonna do, the intelligent control plane is gonna make a recommendation
29:25
about where this should be deployed in the enterprise. So this is gonna go, So it's making a recommendation on a FlashArray in Staines, which is, part of London. So there I've said that, and I'm happy with that recommendation. I'll take that array where it thinks that there's capacity, and it's the best place for
29:42
it, and I'll create a workload. And that workload's created, and that's created all of my volumes, and if I go into that workload, I can see that I've got my volumes, I've got my log files. They're the sizes I've specified. It's got a snapshot, and a protection groups for all of the database.
30:00
So there's no chance that as a s- as a DBA that I've had an environment created without the, the snapshot, protection group set up or replication set up or schedule set up. So all that's done for me. And if I want quality of service, that's been done as well. If I create it, I wanna be able to destroy it as well during a test phase, during an upgrade,
30:18
and we can do this. So this will destroy all of the volumes if you agree to it, so I get confirmation, and this will tidy up the environment. So this can be fully automated through rest, and I say also for Ansible if you want to do it that way. And there I've, I've, I've eradicated, I've deleted it. So you made a mistake, it would only It goes
30:37
into a, a bin, which you can recover for twenty-four hours. If I eradicate it, I can take it away straight away. So that's, that's some way I can help deploy environments to, my databases.One feature that you may have not used is Auto Upgrade. So Auto Upgrade is a great tool.
30:58
It's Oracle's preferred recommended way of patching and, doing upgrades. so you may have used opatching previously, but I've If you haven't used Auto Upgrade, it's definitely worth having a look at. it's available on all platforms, and it's, it's a great tool, really powerful. so it allows you to have consistent templates, download patches, and you can have a
31:24
configuration file, which you can use lots of environments. And I do this across all my environments in my lab. if you have any qu- you know, if you haven't used it before, visit the, Oracle documentation and have a look. There's also lots of really good blogs out there about the use of Auto Upgrade.
31:40
So here we download it, so I'm using, Wget here to pull it back from, OTN. you need Java installed, so make sure the version of Java is compliant, and you've got the Auto Upgrade, you've got the latest version. So confirm that Java's working and Auto Upgrade's compliant. once that's done, we can use this to download all our patches.
32:03
So we no longer have to visit MOS and download patches individually. Auto Upgrade knows what patches your database needs. you specify the versions, the module, where you want them to be downloaded, log location. you have to create a key store with your MOS credentials so it can log on for you. But this will, this will download all of your patches.
32:24
And that's it. Simple one line here to pull back all my patches for a nineteen C or a twenty-six AI database. We can also use Auto Upgrade to create an Oracle home. So, I've got the configuration file here, and this will create me an Oracle home, without having to run DBC, and it can also apply the patches onto it.
32:48
So this is all during the pat- the, before we even start our testing. So we wanna prepare our environments. We create, the new, some new database volumes. We present to our database server. we've installed an Oracle home.
33:00
But what about our production database? Are we in a place where we can start the upgrade? So analysis mode is an option we can use, and this is a read-only, task. So you can do this on your production database or your source database, and use up- Auto Upgrade to do this as well.
33:17
So it's not gonna change anything, it's not gonna do any inserts or updates or deletes, so you're, you can safely run this on production. But if you don't have the ability to run it in production, you could take a clone of your production environment and run that on that. So it gives you some of, some recommendations, about, configuration issues, and things
33:35
you may need to check. So mode analysis, with our Auto Upgrade JAR file and our configuration file. So here's one here. I'll say what database I wanna run it on, my Oracle home, and there's a target Oracle twenty-three. So I've got a, an upgrade script here.
33:51
So I've laid this out where I wanted my database to go. which database, do you wanna fix? And let's just see analysis mode run. So I've got script here, analysis. So it's logging on to, using the key store.
34:06
Auto Upgrade starts. I can list jobs all, and this runs for It's refreshing every seven seconds. It's lo-looking at prechecks in my database, looking at the database con-configuration. And, you know, this is a, the supported way for Oracle to do this. At the end of this, you'll get a, Once the prechecks are finished, you'll get And there's
34:27
different stages, they're all documented. Once this is finished, you'll get a output, which you can read as text file or HTML. So there I've got some log files, and I can look at those log files or copy the, the HTML file to my desktop, look at it in a browser. And this is what the, the state's HTML.
34:45
So prechecks has been successful. There's state time, how long it ran for, and I've got a log directory, so I can see the individual databases. But what I wanna see is yes, was it good, was it successful, and then review the logs. So if my production database is compliant, is ready to go, so database version with nineteen
35:04
thirty, after upgrade, we'll go twenty-three twenty-six, and it believes that there shouldn't be any upgrade issues. So that's really positive. So I'm good to start to go into the test phase. Ron, we have a question. When we go to test Yes. Someone's asked, assume you can take a non-CDB to CDB.
35:21
So do you wanna talk through that process, please? Yeah. So Auto Upgrade will help you do that as well. that's part of the upgrade process. So, for me, I would probably recommend doing that before you go to twenty-six, if at all possible, so you, you reduce your upgrade time.
35:39
but yeah, you can have that as part of the upgrade steps. it will do that assessment. It will make that recommendation that you are, you know, you're, you're running a traditional database, and that needs to be upgraded. the, the more you can do in advance of your cut over, the easier your cut over is gonna be.
35:59
So, you know, whether that be from a patching point of view, you wanna upgrade your production environment where possible, have all the, the, latest and greatest patches in there from a security point of view. you obviously And if you can go to con- a container database, you can also la start looking at all of your, your processes you have today.
36:19
They could be cloning processes, could be a backup process. The more you can preload all that work, the easier it's gonna be for your cut over, and, testing. So when we look at testing, you know, we wanna clone our production environments. We wanna, we wanna do the upgrade, then tune the process.
36:36
So what I would typically hear, talking about rinse and repeat, so we wanna have a way of doing automated database clones. You are gonna do this many times, so you want to tune the upgrade process on a clone, so you have the ability to, once you've done that upgrade, roll it back and repeat.Uh, you don't necessarily wanna take a copy from production every time.
36:59
So if you've got the ability to take a storage snapshot, you can take a snapshot before you do the upgrade, and then do that. So you can do that test during the technical upgrade process, tune that process, understand how long it's gonna take. Create additional environments to do performance testing. look at some of your long-running SQL
37:15
statements, how long they run before, how long they run after. Compare those against your baseline figures. have you got any regressions going in there? Get the business involved, do application regression testing, testing business reports and, web UI.
37:30
And then from the DBA, from the database team, maybe with your backup partners, you know, tech up, check that your backup and restore process still work. If you're using a backup partner, Commvault, Veeam, et cetera, you know, Arc, do those tools, are they working the way you expect them to work? if you have upgraded from the traditional container databases, what does that mean for
37:51
your backup then as well? So look at all of those components. I'd also include there your database cloning. if you've scripted your database cloning, you know, your Is that still the same? so, you know, bring all that into play, practice, practice and practice. you know, rinse and repeat until you get the right outcomes, so from a testing point of
38:13
view, but also from an upgrade point of view. So this is the process I normally talk about. So we've got our 19c database there, so really wanna s- create a baseline. then we wanna do all the prerequisites, do the upgrade, and then take a snapshot. There's those circles I've got there, those purple circles are me
38:34
taking a storage snapshot. you also may have to consider about if you've got production data, do you have to do any data masking or obscuration? so often we, in a regulated environment, you'll take a production copy, you'll do some masking, then take another snapshot and create another copy, and then you'll work on the, the
38:51
clean version. so that's just an addition step. But once you've got your baseline, your clean version, maybe have to enter some workflow tables, do some obscuration masking. Once you've got your version, then you can do the upgrade. And then take steps.
39:08
what I would always recommend there, and speak to your storage platform team, if you haven't got access already, you know, being able to take a snapshot between every test, scenario gives you the ability to roll right back to the beginning if you found there's a problem with the upgrade, or if you're doing application testing, go back to step one, back to step two. If you get to step five, and there was a
39:28
problem with some of the setup, you might go back one step, you might go back two steps. You found you've gone too far back, you wanna be able to roll forward. But if you can do this, this process and have this iterative, you're gonna have, better outcomes. So, you know, use, use the technology to help you with the upgrade process.
39:47
You know, reset right back at the beginning if there's a problem with the upgrade, if you've identified some regressions that you wasn't expecting, or just repeat the test, and then tune the process until you get the outcomes. So I've got a, an Ansible playbook I wrote, called Rapid Clone Automation, which you can download from GitHub.
40:06
and this gives you a full, fully automated, it can run command line or from a web UI, if you've got the Ansible automation engine, which Oracle bundles as well, or you can run Ansible AWX, which is an open source version of that. So there's the link there. I've upgraded it to support the Oracle Home. So here I've got an option now.
40:26
I'm doing a command line so you can see it. So OH refresh equals True. So the Ansible playbook is gonna manage the whole environment. so I've got a 19c database in the back. I'm limited to one server, because it's an Ansible playbook, it can
40:38
run across my whole estate. I can run against every database or per individual database. So the first thing I do is shu- shut the database down. I then unmount the database volumes, or ASM disk groups. I've taken a storage snapshot of my production environment.
40:52
I overwrite those. I'm actually overwriting the Oracle Home. I did find that you had some cloning issues if your Oracle Homes are slightly different, if you've got different patch levels in your development and testing environment, so I've refreshed those. What I do on the target server is create or
41:10
recreate, the, the diag, the audit directories, CDump, UDump, so that if there's a, if there's a new server, it's new configurations, there's nothing missing. I then start the database up. So I've taken a production storage snapshot. I then overwrite in my development database volumes, and I'll bring the database up.
41:30
So my Ansible playbook is, designed to, to be dynamic. It takes parameters in about your database name, whether you want the Oracle Home refreshed, but also it discovers itself. So it brings the name, the database up as the original name, as your production name. This was a CDB1.
41:48
I then interrogate the database to find the database structure, and then run queries against that to, to generate SQL dynamically, to do the rename of the data files. So I rename the database directory, so I've got it from UO2, I would say CDB1 to CDB2. fast recovery area, CDB1 to CDB2.
42:08
So that Ansible playbook's doing that. Then I'm gonna do this inside the database. And you can see the database now, name has come up as CDB2, so I've used the Oracle nid, feature to do that. one of the features I can do in Ansible is have that, list at the end
42:23
to show me the runtime. So all the time there was on the, the Oracle side. So the actual storage snapshot, and the creating the overwrite was instant. It's just a metadata operation. Doesn't matter the size of the database, whether it be ten gig, a hundred gig, ten
42:37
terabytes, a hundred terabytes, all the time there for that, the rename, the database, and the query is down to the database server. So now I've got a development environment, I've provisioned some volumes, I provisioned an Oracle Home, and I've got a database there, a copy of my production database. We can start testing. We can start doing the regression testing.
43:02
Uh-You'll do this many times. You know, don't leave that phase until you got the, the outcomes, test your backups, test your, your application, sign off from the business. understand what any post-tuning process. So while you're doing that test, once you're in twenty-six AR, you may find that you need
43:22
to add some additional configurations for twenty-six AR. You may find that you need some, some, some tune, some, some queries. So all of that needs to be part of your plan for the execution. So before you start, secure your production environment. so this could be a, a database backup, and that's, And you may be
43:40
doing a, a nightly backup. But also what I would recommend here, if you have the ability in your storage platform, is to take a snapshot not just of your database, but your Oracle home, all your binaries, your application binaries. So in the event of a disaster, you could revert back to a, a known point.
43:58
So before you do your cutover, before you execute the database upgrade, secure the environment. So back up storage snapshots, VMware snapshots. you know, choose your, your method of securing it, and then you can start your upgrade op, job. If you've done this in your test environment,
44:18
you know, you will know how long it takes. You'll understand the steps. You'll know how it's tracking. So you use the, AutoUpgrade, list job function to, to see that, form the upgrade, and then look at any additional configuration and tuning.
44:33
So for AutoUpgrade, we use a deploy mode to do this. So we've used You're getting really familiar now with AutoUpgrade, so it's the Java file again with a configuration file, and rather than, mode analyze or patch, we're using mode deploy. So same configuration file here.
44:52
I've gone from nineteen to twenty-three, so there's my two Oracle homes. I've specified the SID, CDB two. I'm doing this to my development database. I start AutoUpgrade, and it goes in there in the top, top right corner screen, you can see it moving through. It starts on this, the roots container
45:12
database, and it goes through the database. And we can see the progress there, three percent, six percent, and we can use the, AutoUpgrade, console to check the progress. I've just got that running in the top right corner. And, on my lab environment, it took, nearly an hour, to do an upgrade.
45:30
So you do have to plan this. You'd have to schedule that, you know, in a production environment, the next state environment with lots more compute or, a large, server, you know, it's gonna be a lot quicker. once that's finished, you'll get a status. So, you'll get the job number.
45:52
so this is job one zero one, or whether it's the log files for that, or I can navigate to the directory. So this is all in my configuration file where I want my upgrade scripts to go, my status, my log files. so you get status finished, failed, restore pending. So what we want there is one, finished.
46:08
So failed isn't good. If it's failed, we've got to investigate then we have to correct it. This is why we want to do all that work up front in your development testing, so you have better chance to get a, a nice clean job at the end. So if you've got a clean environment in production because you've done all the
46:23
pre-work, you've gone to container databases, hopefully you'll have a positive outcome. So we can see now that it's moved off the container database. It's now on to PDB one, and then it's going on to the seed database. So it goes through all the pluggable databases. So, it's upgrading CDB, the, the seed database and the pluggable database
46:42
one at the same time. this is a nineteen c database that's gone to tw-- that's already multi-tenant, but only have one pluggable database. So up to twenty-three percent, and eventually, by the, video editing, you can see the time's moving on, the start time, and, it's refreshing, thirty-one, thirty-six.
47:04
so you've got to be patient. you've got to build this into your test plan. You've got to underst- the business. What does this mean? you know, how many of i-- how many of these can you do in parallel? a-and I think probably looking at probably an application per application.
47:21
and there we can see now we're in, the upgrade phase. Status is running eighty percent more. And eventually, that will finish, and you'll get that screenshot at the bottom. So let's let that finish off. So D-CDB state, PDB, and if you look in the, documentation, it will tell you at what
47:45
all the state statuses are and the meaning of them. But really, we're looking here for the, the seed database and the PDB database both go to upgraded to a hundred percent. Let's check any question in the chat box. And that's finished. That's good.
48:07
So we can now look at the log file, and you get a detailed report. So here we can see my database was nineteen thirty. after the upgrade, it's twenty-three twenty-six dot one. and there's the states that we saw in the, the screen on the, on the right-hand side it was going through. It did the, pre-upgrade, the pre-checks, the,
48:27
fixes, and the upgrade and post steps. All of this is, goes through, and then you get the start time, end time for each operation, the duration, individual log files for each stage, and the status, which is obv-- super critical if you're doing a production upgrade. We want success on every step.
48:45
If you haven't got any, if you've got any failures, you know, that might, depending on how severe it is, it might be a, back to the beginning, or you can go into LSJ, and resume the job, and after you've fixed the, the activities. But you've got the check reports there, and each one of these can either be text or HTML. So that's what I wanted to sh-share with you today, is how we can use the Oracle tool in
49:09
the AutoUpgrade to do a, a database upgrade, but also have a wider discussion, with your...... storage team, your infrastructure team, your developers understand the business requirements around AI. consider what the impact that's gonna have on your application.
49:30
even if you're not taking the AI features, you may wanna make some contingency plans that they're gonna be doing additional work in the future. So understand that, and work closely with them. understand how many environments you're gonna need for your development test. when they start turning on the, the vector searches, you're gonna have to track that over
49:50
the period of time to see what they're doing, discuss that with the business. what you don't want is an application release suddenly turns on a feature, and then you suddenly find that your database is ten times bigger or some of your tables are 20 times bigger. So y- you know, you, you need to be working jointly with your developers, jointly with
50:09
your infrastructure teams, telling them, giving them notice that you maybe need additional compute, additional storage. explain to the business when you're gonna do this work, can you have some support on the regression testing, on the application testing? maybe you have to speak to the, application team to create some application service.
50:27
So it all comes down to the planning stage, so work out who you need in your plan, communicate with them, set some milestones, some deliverables, agree with the business when you can have a window to do these upgrades. And, hopefully if you, if you use the technology, use the, auto-upgrade, use your infrastructure, to give you that recovery point, that snapshot, stability to
50:54
create clones, to re-secure your environment, you'll have a positive experience and a successful upgrade. So any questions? Thank you very much, Ron. That was really good. Really appreciate it. yeah, that brings us to the Q&A section now. So if you've got any questions, if you're brave, put your hand up.
51:11
We can unmute you, you can ask live, or alternatively you can ask in the Q&A panel. right, let me go over the questions. So let me just make sure going over the answered ones. so yeah, presentation slides will be shared at the end of the presentation. So that'll come out shortly.
51:30
next question was about, will it ever be available for Windows? I did give a brief answer, but if you wanted to say a few words about that. Will, will 26 AI be available for Windows? Yes. it's not a large market for Oracle, but I don't I haven't seen any, any notice saying that it's no longer gonna be supported.
51:54
So I would expect I'm expecting a 26 AI, but I'm also expecting an AIX and Solaris version, but I haven't got any idea. did you, you, did you ask that yourself, Sahid? Have you heard something that is- Yeah, I asked Mike Dietry and Dom, and they said yes, all flavors that are currently supported will eventually.
52:12
Yes. When, they didn't say, but they will eventually. Yeah. And, and, and that's my, understanding of that. It's, it's, if you go to the, the MOS site, which is earlier in the slides, if you follow the release schedule there, it's not available it's not supported today, but it doesn't it's, it but it hasn't said discontinued.
52:30
So I believe it will be there, but I would imagine that Windows will be behind AIX and Solaris. AIX is probably the next one because it's probably just, the number of customers doing that. But by far now, most customers are running X eighty-six, and that's, and that's fine, and that's been available since the beginning of
52:48
the year. Yeah. Correct. we already answered the CDB to non-CDB to CDB, so one open question is, "Are there any licensing or CPU core calculation changes when moving from nineteen C to twenty-six AI on non-Oracle clouds like AWS EC2?" No.
53:09
So there's no, particular licensing changes for twenty-six AI from nineteen C. However, if you embrace the multi-tenancy and you want to have more than three pluggable databases, that is a costed option. so yeah, that, that's a database option. But if you're just saying we are you're doing what you do today and you have you've gone
53:32
from traditional to a single pluggable database, no change. but do take into account, especially if you're running this cloud, if you're running the, LLM in that database, your database will be a lot busier. So that might be a reason to actually move that workload onto a different, virtual machine.
53:56
Thank you. no other questions at the moment, but if anyone wants to ask questions, please do. This is your opportunity to ask Ron. I'll ask you a question. How many customers do you see going to twenty-six AI? How many s- I Because nineteen C's such, such
54:21
a long support, horizon out there, I think it's only gonna be by demand. I Oracle is gonna continue to patch and support nineteen C, so I don't see a big rush for, for twenty-six AI from a security point of view, but it will come from a, a business demand point of view. SQL Server twenty twenty-five came out, end of last year with, vector support.
54:54
Postgres database also has, vector support. So, it's becoming not when or should we, it's we must. So, I think, it's gonna be driven by applications, the abilities that you have to, do semantic searches in your application. Change is the way we think about data.
55:17
for, for years, we've, we've bought tables and we've bought, where clauses and filtering. Now we're having being able to ask our database questions-You know, more human, language. if we think about, taking our next stage with, using natural language to create SQL, and people with MCP servers, you don't You can run an MCP server against 19c, but if
55:43
you're looking at Select AI, where you can talk to your database and that generates SQL in the command, I think there's lots of reasons why people will be upgrading, 26AI. and I'm aware of people already doing it. a lot Some of those obviously were on engineer platforms in the cloud, and they're just doing that on premises. They sort of Because they sort of want one
56:04
version to maintain. but other companies who have been working in, in the background, you know, are, are getting there quickly. but for many companies, they are still tied down to their application vendor. If you're running a SaaS application, or you're running a, a database and application which are tied together, maybe the application vendor hasn't certified 26AI, so I
56:29
think it's gonna be case by case. There'll be some early adopters, there'll be some people that are still running 19c in 10 years' time. and like there's still some people on 18c. but I think today's the time to be looking at it. You know, there is value in the features.
56:44
We're paying Oracle database licenses. it's, it's taken a long time coming, so embrace the technology. Perfect. Right. Two more questions have come in, and I'm gonna answer in reverse because this question is more appropriate to this, answer. So someone's asking, "Should we be worried about the search result not being accurate, a-
57:05
AKA AI hallucination?" And that's why you need to do regression testing. I think if you are doing this with the private AI service, you've got more control about, the results, 'cause you're not looking at a service in the cloud which may be changing. your, your con- you've got more control over the model and the release of it. I think it's gonna come down to testing on a case by case basis on what
57:36
question you're having. if it's a RAG, you know, RAG's design is to, take data and enrich it. so it's founded in fact, so the better information you can have that from a document point of view, the more chance you're gonna get it right. If you're looking at similarity searches and you're trying to You're doing searches against
57:56
animals, yeah, it might say, well, a cat's closer to a dog than a horse. but whether that's the answer you want, that's where you use the semantics, you use the different algorithms to get the answers you want. so it's a different way of thinking. it's not a absolute. We, we don't just It's not, "That's the
58:15
result." it's You're gonna have to look at the weightings, and that's where the different models come into from an accuracy point of view. Speed is great, but with speed comes, imprecision. Yeah. I think you've nailed it there. It's not a absolute answer.
58:32
You're getting a similarity answer. You're getting, this is X percent matching your result, and compared to something that's 10%, like a cat might be only 10%, where a dog might be near to 100 matching another dog. So yeah, it is, it's a different type of searching. But yeah, two more questions have come in re- relating to upgrade.
58:51
So you ready for that? Okay, let's try. All right. The first one is, quick query for upgrade. If your original source database is not the latest 19c version, e.g. an older 12c, does it need to be brought to the latest 19c first? I think you answered this before, but just to- Yeah, I think that was in that upgrade slide,
59:11
and that we You'll have the slides there. if it's 12 If it's the terminal release of 12c, I think you're okay. I think there was a path from 12c to 26. Anything before 12c, you have to go via another version. But also, if you're on a unpatched version of 12c, I think you'll have to take it up to a
59:33
fully patched version. but that, that is a very detailed question, and I'd have to be looking at all the 'Cause it's also not just the database then. You've got to think about your Java environment and everything else around that, so, get off 12c, get onto 19c. Give yourself that's probably the To me, that would be something that I would do as a
59:51
priority 'cause of vulnerabilities in the 12c environment. 19c is the, is the, is the latest and current supported version. 12c is no longer supported. So we probably wanna get off 12c, as quick as you can onto 19c, and then do an upgrade in a, in a managed environment.
01:00:11
Perfect. Thank you. Next question is, is it possible to upgrade PDBs one by one, perhaps using unplug from 19c and plug into 26AI? Can Auto Upgrade handle that? Are there any specific issues you're aware of? So you want two PDBs running on different versions?
01:00:31
I'm not sure whether that would be supported. Uh- I think the question's more about upgrading them one at a time. I think if you unplugged it, yeah, they're not The, the upgrade wouldn't know about it. yeah, so I think you could do that. it's, it's an interesting, question.
01:00:47
we're really lucky in, in Europe. We have the upgrade kings not that far away from us. so you mentioned Mike Dix, so in Germany. so he's the distinguished product manager for upgrade, so that sort of question is If I see him next, I'll ask that one, and he might say, "Never heard anyone doing it, but I'm sure
01:01:05
it'll be fine." And also we have, Daniel, from Denmark, who's also s- works very closely with Mike on those. I'll take that away, 'cause I don't know the answer to that one, and it's an interesting one, whether you could do it. 'Cause I'm not sure when you plug it in, what would it would What would happen to the
01:01:30
database there, whether it would automatically try and upgrade it, because your Oracle, your, your system would've been upgraded, and your pluggable is a previous version. So, yeah. I'm gonna look at that one. Now, that might be an interesting blog post. Thank you. Right, there's no other questions.
01:01:51
give it a moment for anyone to ask, so any final questions from anyone? I'll give it a moment to see if anyone types anything. If anyone wants to ask live, you can also put your hands up. We can unmute you. Last 10 seconds for questions.
01:02:30
Right, doesn't appear any questions are coming through, and no one's put their hands up. So Ron, thank you so much. Always a pleasure to have you on board. Thank you everyone for attending. Please look out for the next, webinar, and have a good day.
01:02:41
Thank you all. Thank you. Cheers. Take care. Bye.