News
Entertainment
Science & Technology
Life
Culture & Art
Hobbies
News
Entertainment
Science & Technology
Culture & Art
Hobbies
A long time ago, Oracle had a couple of special numbers that you were allowed to store in a NUMBER datatype. They were Infinity and Negative Infinity! If you selected these numbers (using SQL*Plus) , they showed up as "~" and "-~", although it is worth noting that if you're using the funky modern sqlcl…
I very much enjoy speaking at conferences, and talking to everyone there. The insights that you get into how other companies are running their systems is incredible. The innovative approaches that different people and companies have to solving the same problems never ceases to amaze me, and the only way to really discover this. You…
October 2024 - Oracle 19C, 23ai Photo by Julius Drost on Unsplash So a while ago I spoke about passwords but forgot to mention a key element of account control in the blog. I was giving a talk on Security a few days ago and told an audience member that this information was in my…
Data migration is common. Moving data from one database to another, either via Datapump, Goldengate, unload/load scripts or some other method has risk. Did you move everything? How do you know everything was captured? How do you ensure the source and target data is the same? Exactly the same? You are going to have to…
In my previous post, I wrote about the time I made a mistake specifying a hint via a SQL Patch, meaning it "didn't work". This leads to an understanding about the classification of hints - some hints are used for the Optimizer/CBO, but other hints have different reasons for being used. For example APPEND is…
Photo by Brian Patrick Tagalog on Unsplash July 2024. Oracle 19c, 23ai There are 3 main types of SQL Plan Management: SQL Profile SQL Plan Baseline SQL Patch So first some quick background info about the 3 options and then I'll tell you about my mistake. SQL Profile A SQL Profile is a collections of…
I have worked with several clients who rely heavily on time zone data and processing it correctly. If you have columns in your database which are defined as TIMESTAMP WITH TIME ZONE, you need to understand what the relevance is relating to the time zone in your database. For example, if you need to measure…
January 2024 - Oracle 12C+ Gathering object statistic in Oracle is important. The optimizer needs metadata about the object, such as the amount of rows and number of distinct values in a column, to help it decide the optimum way to access your data. This takes effort, and takes place automatically in scheduled windows, both…
January 2024 - Oracle 19C+ Photo by Luke Scarpino on Unsplash If you are Oracle 12.1 onwards, and you have not explicitly disabled it, you are using Unified Audit We previously discussed Data Encryption At Rest. Now lets talk about Unified Audit, and why you should be using it When you create an Oracle database,…
October 2023 - Oracle 19C+ Photo by Sajad Nori on Unsplash What is Data Encryption At Rest and why should we use it? We have looked at Data Encryption in Transit, encrypting your network traffic. Everyone should be doing this. But what about Encrypting Data At Rest? Data that is stored permanently (on your hard…
August 2023 - Oracle 19C We have considered observability. Knowing where you may have a security problem. We now need to look at removing some of the main problems associated with Oracle databases. Lets start with Network Security. By default, all data travelling over the network with Oracle is unencrypted. This means that anyone with…
July 2023 - Oracle 19C Now you know what permissions have been granted in your system and to whom, as shown in the previous post. Maybe you have remediated them down to least privilege. Now, how do you ensure the system stays like that? How do you know if you have succeeded in stripping the…
July 2023 - Oracle 19C So in the previous post we talked about identifying unused and historic accounts. Old accounts should be removed, but what are the capabilities of the existing users who are accessing the systems?A surprisingly large amount of applications request that the schema owner, and maybe the primary application connection, has DBA-level…
June 2023 - Oracle 19C So in the previous post we talked about implementing password complexity. Complex passwords are fine, but what when you experience change. For example, someone leaves the company to become a professional skydiver. Do you remove their database accounts? Are you even informed by HR that someone with database access has…
June 2023 - Oracle 19C So in the previous post we saw the creation of a PROFILE to add controls on user passwords, but we did not specify password complexity. By default, this is set to NULL in the profile, meaning no password complexity is enforced. This is a bad practice and must be changed.…
June 2023 - Oracle 19C Stage 1 with our Fundamental Oracle Security... are you enforcing password rules with your database users and administrators? Do you have a standard to which you are adhering? Are the users forced to change their passwords regularly? Can they change it back again, maybe to something simple? What happens to…
June 2023 - Oracle 19C Image from https://unsplash.com/@kellysikkema Frequently I turn up at companies to resolve performance issues and migrate and upgrade systems. However, I have spent a fair bit of time recently working on security, from audit to helping with ransomware issues. The profile of security has increased significantly in recent years and I…
Oracle 19C. January 2023. EM Event: Critical: database-server.domain - Disk Device sda is 98.01% busy. A customer was experiencing excessive I/O against the operating disk (sda), which indicated problems with /u01 or /u03. Process tracing was initiated to review I/O against processes (pidstat), a process identified and linked to a query via GV$PROCESS and GV$SESSION,…
I needed to create a database link on a 19.7C Oracle DB recently. Importantly, the database link name must match the database name as security dictates that GLOBAL_NAMES=TRUE for this set of databases. The DB was created using the gui on an ODA, meaning there were quite a few initialisation parameters set by the gui.…
Quick note to myself: Oracle has deprecated the initialisation parameter use_large_pages="true" on Exadata as of 19.13 (OK - could be 19.12, I've not checked) If you started your database in 19.11, and had this set, you got yourself a warning in the alert log (if you have a look): "WARNING: use_large_pages=TRUE is not a recommended…
It's mid-November 2019. The leaves have mostly fallen and the nights are drawing in. That can only mean... it's time for Europes 2 biggest Independent Oracle User Groups to have their conferences. The first, starting Tuesday 18th November, is DOAG - the German Oracle User Group - in Nuremberg. I'm flying out there a couple…
Following on from last weeks Oracle Optimizer System Statistics post, I though it worthwhile adding a note about gathering system statistics in Exadata mode. exec dbms_stats.gather_system_statistics('EXADATA'); So what is this, and why would you chose to do it? First of all, these are not workload system statistics (which I believe you should never gather without…
I've just returned from Techfest19 - the UKOUG Flagship Oracle Tech conference - and it was simply excellent. It was held at The Grand Hotel in Brighton, and it was grand. If you missed it, you really missed out. 250 mostly amazing presentations. I did 2 main ones about Oracle Statistics, and also MC'd the…
Sometimes you waste much more time than you can believe because the instrumentation of the system isn't great. If you don't know what a system is doing, you can't easily fix it. Time should be take to instrument your code, and ensure that any outputs from that instrumentation are readily understandable by others. Here's a…
System Statistics Are a Little Complex Oh System statistics! Should we gather them? Should we not?What do they mean? What are they doing to the optimizer? [tl;dr - in almost all cases, DON'T GATHER SYSTEM STATISTICS. DON'T SET MBRC. LET THEM DEFAULT!] First you need to be armed with a piece of information. When Oracle…
As an experienced speaker and community advocate, I decided to join with a number of other like-minded community advocates to see if we can help others get started in the world of conference speaking. Everybody has a story to tell about their work. Talking about the challenges you face in projects, as well as the…
V. Quick post for me really: Some SQL to tell me all of the Table Prefs for any specific table (All Oracle 19 prefs) You could always just query DBA_TAB_STAT_PREFS select * from user_tab_stat_prefs where table_name = '&&TABLE'; But that only tells you what you have explicitly set for a table, which will override any…