Skip to content

Database

Everything our consultants learn while running databases for customers: Oracle, PostgreSQL, SQL Server, MySQL, MariaDB, MongoDB and Delphix. Expect hands-on posts about installation, day-to-day administration, backup and recovery, performance tuning, replication and upgrades.

Am I a DBA 3.0 or just an SQL*DBA?

By Franck Pachot . There are currently a lot of new buzz words and re-namings which suggest that our DBA role is changing, most of them escorted with a #cloud hashtag. Oracle Technology Network is now called Oracle Developer Community. Larry Ellison announced the database that does not need to be operated by humans. And people talking about the death… 

Wrong result with multitenant, dba_contraints and current_schema

By Franck Pachot . Multitenant architecture is not such a big change and this is why I recommend it when you start a project in 12c or if you upgrade to 12.2 – of course after thoroughly testing your application. However, there is a point where you may encounter problems on dictionary queries, because it is really a big change… 

SQL Saturday Toulouse 2017: SQL Server on Linux – Slide deck

#SQLSatToulouse was definitely a great event. Firstly, a big thanks to the organization team (@Guss and @Fredg_31) as well as all the sponsors and attendees (without whom this kind of event would not be possible). As promised, here the slide deck of my session “Introduction to SQL Server on Linux for DBAs“. It was for me a great moment of sharing.… 

Active Data Guard services in Multitenant

By Franck Pachot . A database (or the CDB in multitenant) registers its name as the default service. When a standby database is on the same server, or same cluster, you have no problem because this database name is the db_unique_name which is different between the primary and the standby(s). In multitenant, in addition to that, each PDB registers its… 

12c Access Control Lists

By Franck Pachot . There is already enough information about the new simplified 12c way to define Access Control Lists, such as in oracle-base. I’m just posting my example here to show how it is easy. If, as a non-SYS user you want to connect to a host with TCP, you get an error: SQL> connect DEMO1/demo@//localhost/PDB1 Connected. SQL> SQL>… 

Create constraints in your datawarehouse – why and how

By Franck Pachot . We still see some developers not declaring referential integrity constraints in datawarehouse databases because they think they don’t need it (integrity of data has been validated by the ETL). Here is a small demo I did to show why you need to declare them, and how to do it to avoid any overhead on the ETL.… 

impdp content=metadata_only locks the stats

By Franck Pachot . With Oracle you can learn something every day. Today, preparing a migration to 12.2, I found all tables had locked statistics. I learned that it is the expected behavior since 10.2 when importing metadata_only including statistics, to avoid that the automatic job gathering comes and replaces the stats by ‘0 rows’. It is documented in DataPump… 

12c dbms_stats.gather_table_stats on GTT do not commit

By Franck Pachot . In my UKOUG OracleScene article on 12c online statistics and GTT I mentioned the following: A final note about those 12c changes in statistics gathering on GTT. In 11g the dbms_stats did a commit at the start. So if you did gather stats after the load, you had to set the GTT as ON COMMIT PRESERVE… 

When PDB name conflicts with CDB name

By Franck Pachot . Going to multitenant architecture is not a big change. The administration things (DBA, monitoring, backups) connect to the CDB and the application things connect to the PDB. Without the multitenant option, it is still recommended to go to the CDB architecture. The non-CDB is deprecated and the multitenant architecture brings interesting features. People often ask how… 

Postgres vs. Oracle access paths XI – Sample Scan

By Franck Pachot . I was going to end this series with the previous post because the last access path available in Postgres is a bit special: a Seq Scan that returns only a sample of the rows, at random. However, it is the occasion to come back to the difference between random and sequential reads. I’m still working on… 

Postgres vs. Oracle access paths X – Update

By Franck Pachot . In the previous post we have seen the cheapest way to get one row, reading only one block from its physical location. But that’s the optimal case where the row has not moved. I’ll (nearly) conclude this series about access path with an update. ROWID in Oracle Here is the ROWID of one row in Oracle:…