Sunday, June 30, 2013

Database 12C is out!!!

A new version is always big news for DBAs, and the new 12C has been released for Linux and Solaris. Go to the oracle.com website to download it.

The documentation is here: http://www.oracle.com/pls/db121/homepage
and New Features here: http://docs.oracle.com/cd/E16655_01/server.121/e17906/chapter1.htm#NEWFTCH1

I've just dipped my toe in, downloaded and installed. The installation is almost identical to V11R2 (./runInstaller), but there is a new checkbox during database creation - "Create As Container Database".

I've just had a quick look through the new features and here are some highlights:



Containers and pluggable databases and multitenant– this is the big new feature that I haven’t looked into yet.
Move a datafile online
Dbms_utility_expand_sql_text – shows the underlying tables in a query that has views – useful for performance tuning.
Varchar(2) columns go from 4000 bytes to 32767 bytes. Not sure how useful that is really
Online move partition
Adaptive Query Optimization and Adaptive SQL Plan Management – this is a biggie – sort of automatic tuning while a query is being executed
Dynamic statistics, and statistics improvements generally
ILM (Information Lifecycle Management) – basically automatic archiving to different tiered storage and compression
In-database archiving – rows are marked invisible to the application if archived, improving performance
Some datapump enhancements

There are some new entries in the alert log that I noticed after install, not sure yet what they mean:

RECOMMENDATION:
  Total System Global Area size is 4818 MB. For optimal performance,
  prior to the next instance restart:
  1. Increase the number of unused large pages by
 at least 2409 (page size 2048 KB, total size 4818 MB) system wide to
  get 100% of the System Global Area allocated with large pages
Mon Jul 01 07:52:46 2013

  2. Large pages are automatically locked into physical memory.
 Increase the per process memlock (soft) limit to at least 4826 MB to lock
 100% System Global Area's large pages into physical memory

and

CELL communication is configured to use 0 interface(s):
CELL IP affinity details:
    NUMA status: non-NUMA system
    cellaffinity.ora status: N/A
CELL communication will use 1 IP group(s):
    Grp 0:
Picked latch-free SCN scheme 3

and, interestingly:

Autotune of undo retention is turned on.

I noticed a LOT more background processes:

oracle   16275     1  0 07:57 ?        00:00:00 ora_pmon_ANDYPLG
oracle   16277     1  0 07:57 ?        00:00:00 ora_psp0_ANDYPLG
oracle   16279     1  0 07:57 ?        00:00:00 ora_vktm_ANDYPLG
oracle   16283     1  0 07:57 ?        00:00:00 ora_gen0_ANDYPLG
oracle   16285     1  0 07:57 ?        00:00:00 ora_mman_ANDYPLG
oracle   16289     1  0 07:57 ?        00:00:00 ora_diag_ANDYPLG
oracle   16291     1  0 07:57 ?        00:00:00 ora_dbrm_ANDYPLG
oracle   16293     1  0 07:57 ?        00:00:03 ora_dia0_ANDYPLG
oracle   16295     1  0 07:57 ?        00:00:03 ora_dbw0_ANDYPLG
oracle   16297     1  0 07:57 ?        00:00:02 ora_lgwr_ANDYPLG
oracle   16299     1  0 07:57 ?        00:00:01 ora_ckpt_ANDYPLG
oracle   16301     1  0 07:57 ?        00:00:01 ora_lg00_ANDYPLG
oracle   16303     1  0 07:57 ?        00:00:00 ora_lg01_ANDYPLG
oracle   16305     1  0 07:57 ?        00:00:00 ora_smon_ANDYPLG
oracle   16307     1  0 07:57 ?        00:00:00 ora_reco_ANDYPLG
oracle   16309     1  0 07:57 ?        00:00:00 ora_lreg_ANDYPLG
oracle   16311     1  0 07:57 ?        00:00:06 ora_mmon_ANDYPLG
oracle   16313     1  0 07:57 ?        00:00:02 ora_mmnl_ANDYPLG
oracle   16315     1  0 07:57 ?        00:00:00 ora_d000_ANDYPLG
oracle   16317     1  0 07:57 ?        00:00:01 ora_s000_ANDYPLG
oracle   16329     1  0 07:57 ?        00:00:00 ora_tmon_ANDYPLG
oracle   16331     1  0 07:57 ?        00:00:00 ora_tt00_ANDYPLG
oracle   16333     1  0 07:57 ?        00:00:00 ora_smco_ANDYPLG
oracle   16401     1  0 07:57 ?        00:00:00 ora_aqpc_ANDYPLG
oracle   16405     1  0 07:57 ?        00:00:05 ora_p000_ANDYPLG
oracle   16407     1  0 07:57 ?        00:00:05 ora_p001_ANDYPLG
oracle   16409     1  0 07:57 ?        00:00:02 ora_p002_ANDYPLG
oracle   16411     1  0 07:57 ?        00:00:03 ora_p003_ANDYPLG
oracle   16413     1  0 07:57 ?        00:00:01 ora_p004_ANDYPLG
oracle   16415     1  0 07:57 ?        00:00:01 ora_p005_ANDYPLG
oracle   16417     1  0 07:57 ?        00:00:00 ora_p006_ANDYPLG
oracle   16419     1  0 07:57 ?        00:00:00 ora_p007_ANDYPLG
oracle   16421     1  0 07:57 ?        00:00:00 ora_p008_ANDYPLG
oracle   16423     1  0 07:57 ?        00:00:00 ora_p009_ANDYPLG
oracle   16425     1  0 07:57 ?        00:00:00 ora_p00a_ANDYPLG
oracle   16427     1  0 07:57 ?        00:00:00 ora_p00b_ANDYPLG
oracle   16429     1  0 07:57 ?        00:00:00 ora_p00c_ANDYPLG
oracle   16431     1  0 07:57 ?        00:00:00 ora_p00d_ANDYPLG
oracle   16433     1  0 07:57 ?        00:00:00 ora_p00e_ANDYPLG
oracle   16435     1  0 07:57 ?        00:00:00 ora_p00f_ANDYPLG
oracle   16463     1  0 07:57 ?        00:00:03 ora_cjq0_ANDYPLG
oracle   16468     1  0 07:58 ?        00:00:00 ora_w000_ANDYPLG
oracle   16663     1  0 07:58 ?        00:00:00 ora_qm02_ANDYPLG
oracle   16669     1  0 07:58 ?        00:00:00 ora_q003_ANDYPLG
oracle   18143     1  0 08:08 ?        00:00:00 ora_w001_ANDYPLG
oracle   24619     1  0 08:48 ?        00:00:00 ora_w002_ANDYPLG
oracle   25254     1  0 08:52 ?        00:00:00 ora_w003_ANDYPLG
oracle   27432     1  0 09:05 ?        00:00:00 ora_w004_ANDYPLG
oracle   27434     1  0 09:05 ?        00:00:00 ora_w005_ANDYPLG
oracle   28912 28911  0 09:13 ?        00:00:00 oracleANDYPLG (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle   29087     1  0 09:14 ?        00:00:00 ora_p00g_ANDYPLG
oracle   29089     1  0 09:14 ?        00:00:00 ora_p00h_ANDYPLG
oracle   29091     1  0 09:14 ?        00:00:00 ora_p00i_ANDYPLG
oracle   29093     1  0 09:14 ?        00:00:00 ora_p00j_ANDYPLG
oracle   29095     1  0 09:14 ?        00:00:00 ora_p00k_ANDYPLG
oracle   29097     1  0 09:14 ?        00:00:00 ora_p00l_ANDYPLG
oracle   29111     1  0 09:14 ?        00:00:00 ora_q001_ANDYPLG

There are 4 CPUs on the host, so I don't know why there appear to be so many parallel processes, if that's what they are.

Still trying to get a handle on the containers - I created a container called ANDYPLG, then a pluggable database inside that using the dbca called ANDYPLG1.

As you can see from the background processes, that doesn't show up. 

There is a new v$services view which shows the database:

SQL> select pdb from v$services;

PDB
------------------------------
ANDYPLG1
CDB$ROOT
CDB$ROOT
CDB$ROOT
CDB$ROOT

I tried to create a user in ANDYPLG1, but got this:

ORA-65096: invalid common user or role name

Did a Google, and found that you can't do this in a container. It has to be in the pluggable database, so you need to switch to that first:

SQL> alter session set container=ANDYPLG1;

Session altered.
 
SQL> create user andy identified by andy;

User created.

I'll have a play over the next few weeks and post results here.

 


 








No comments:

Post a Comment