Kontrollera om databasen är CDB eller icke-CDB
SQL> välj cdb från v$database;CDB---JA
Ansluter till behållare
$ export ORACLE_SID=pcdb01$ sqlplus / as sysdbaSQL> visa con_nameCON_NAME-------------------------------------CDB$ROOTSQL> visa con_idCON_ID--------------------------------------1SQL> visa pdbs;CON_ID CON_NAME ÖPPET LÄGE BEGRÄNSAT-------- ---------------------------------- ------------------ --2 PDB$SEED LÄS ENDAST NO3 PRD_PDB_CON LÄS SKRIV NO4 PRD_PDB_TEN LÄS SKRIV NEJ
Navigera över PDB
SQL> ändra sessionsuppsättning container=PDB$SEED;Session ändrad.SQL> ändra sessionsuppsättning container=PRD_PDB_CON;Session ändrad.SQL>
Information om PDB
SQL> COLUMN PDB_NAME FORMAT A15SQL> COLUMN PDB_NAME FORMAT A15SQL> VÄLJ PDB_ID, PDB_NAME, STATUS FRÅN DBA_PDBS BESTÄLLNING EFTER PDB_ID;PDB_ID PDB_NAME STATUS---------- ---------- ----- ----------2 PDB$SEED NORMAL3 PRD_PDB_CON NORMAL4 PRD_PDB_TEN NORMAL
Kontrollera/ändra parameter
SQL> välj * från v$system_parameter;SQL> välj * från PDB_SPFILE$;SQL> alter system set parameter_name=value;SQL> ändra system set parameter_name=value CONTAINER=CURRENT;
Start och avstängning av PDB
Några typiska värden:
STARTUP [NOMOUNT | MONTERA | BEGRÄNSA | UPPGRADERA | KRAFT | LÄS ENDAST]
AVSTÄNGNING [OMMEDDELANDE | AVBRYT]
$ export ORACLE_SID=pcdb01$ sqlplus / as sysdbaSQL> avstängning omedelbart;
Stoppa pluggbar databas
SQL> ändra pluggbar databas PRD_PDB_CON stäng [omedelbar];SQL> ändra pluggbar databas ALLA UTOM PRD_PDB_CON stäng [omedelbart];SQL> ändra pluggbar databas ALLA stäng;SQL> ändra pluggbar databas PRD_PDB_CON stäng [omedelbart=alla] [instanser;
Eller:
SQL> ändra SESSION SET CONTAINER =PRD_PDB_CON;SQL> avstängning omedelbart;
Starta pluggbar databas
STARTKRAFT
UPPSTART ÖPPEN LÄS SKRIV [BEGRÄNSA]
UPPSTART ÖPPEN LÄS ENDAST [BEGRÄNSA]
STARTUPPGRADERING
AVSTÄNGNING [OMMEDDELANDE]
SQL> ändra pluggbar databas PDB01 öppen;SQL> ändra pluggbar databas ALLA UTOM PRD_PDB_CON öppen;SQL> ändra pluggbar databas ALLA öppna;SQL> ändra pluggbar databas PDB01 öppen [instanser=alla];
Eller:
SQL> alter SESSION SET CONTAINER =PRD_PDB_CON;SQL> startup;SQL> alter PLUGGABLE DATABASEÖPPNA LÄS SKRIV [BEGRÄNSAD] [FORCE];SQL> alter PLUGGABLE DATABASE-name- alter PLUGGABLE DATABASE ÖPPNA UPPGRADERING [RETRICTED];SQL> alter PLUGGABLE DATABASE STÄNG [IMMEDIATE];
Bevara PDB-startläge (12.1.0.2 och framåt)
SQL> ändra PLUGGABLE DATABASE pdb2 OPEN;SQL> alter PLUGGABLE DATABASE pdb2 SAVE STATE;
Vyn DBA_PDB_SAVED_STATES visar information om behållarnas sparade tillstånd.
SQL> COLUMN con_name FORMAT A20SQL> COLUMN instansnamn FORMAT A20SQL> VÄLJ con_name, instansnamn, tillstånd FRÅN dba_pdb_saved_states;CON_NAME INSTANCE_NAME STATE--------------------- --- ------------------ --------------PRD_PDB_CON pcdb01 ÖPPEN
Storlek på pluggbar databas
SQL> KOLUMNNAMN FORMAT A20SQL> VÄLJ DBID, NAMN, CON_ID, CON_UID, TOTAL_SIZE FRÅN V$CONTAINERS BESTÄLLNING EFTER CON_ID;DBID NAMN CON_IDCON_UID TOTAL_SIZE---------- -------- ---------------------- ---------- ------------------ --2732069181 CDB$ROOT 1 1 03552543733 PDB$SEED 2 3552543733 7759462404008367944 PRD_PDB_CON 3 4008367944 12403272671240427265 PR71112042726712408367944 1240427667 1240427267 12404272671 1240427265
Starttid för pluggbar databas
SQL> ställ in radstorlek 180SQL> kolnamn för a30SQL> kol open_time för a33SQL> välj con_id,name,dbid,open_mode,open_time från v$containers;CON_ID NAME DBID OPEN_MODE OPEN_TIME---------- - --------------- -------------- ---------- ---------- - --------------------------------1 CDB$ROOT 456650806 LÄS SKRIV 17-MAR-18 11.59.36.176 PM -03 :002 PDB $ frö 2688102972 Läs endast 17-mar-18 11.59.36.182 PM -03:003 PDB_PN1O0101 1079206163 Läs Skriv 18-MAR-18.00.589 AM -03:004 PDBATH AM -03:004 rader valda.
Upptid för pluggbar databas
SQL> ställ in linjestorlek 180SQL> kolnamn för a30SQL> kol open_time för a28SQL> välj name,floor(sysdate-cast(open_time as date))||'Days '||floor(((sysdate-cast(open_time as date))-floor(sysdate-cast(öppen_tid som datum)))*24)||'timmar '||round(((sysdate-cast(öppen_tid som datum)-floor(sysdate-cast(öppen_tid som datum) ) *24)-floor((sysdate-cast(open_time as date)-floor(sysdate-cast(open_time as date))*24)))*60)||'minutes' "Databas Uptime"från v$containers;NAME Databasupptid --------------------------------------------CDB$ROOT 1331Days 11hours 28minutesPDB $SEED 1331Days 11hours 28minutesPDB_PN1O0101 1331Days 11hours 28minutesPDB_BATCHWEB 1331Days 11hours 28minutes4 rader valda.
Tjänsternas namn
SQL> KOLUMNNAMN FORMAT A30SQL> VÄLJ NAMN,CON_ID,PDB FRÅN V$SERVICES BESTÄLLNING AV CON_ID;NAMN CON_ID PDB---------------------- ------- ---------- ------------------------------------ pcdb01XDB 1 CDB $ROOTSYS$BACKGROUND 1 CDB$ROOTSYS$USERS 1 CDB$ROOTpcdb01 1 CDB$ROOTprd_pdb_con 3 PRD_PDB_CONprd_pdb_ten 4 PRD_PDB_TEN6 rader valda.
Skapa vanliga användare med tillgång till alla pdbsSQL> SKAPA ANVÄNDARE c##user1 IDENTIFIERAD AV lösenord1 CONTAINER=ALL;Användare skapad.SQL> BEHANDLA SKAPA SESSION TILL c##user1 CONTAINER=ALL;Beviljande lyckades.Skapa vanliga användare utan tillgång till pdbs
SQL> SKAPA ANVÄNDARE c##user2 IDENTIFIERAD AV lösenord1;Användare skapad.SQL> BEHANDLA SKAPA SESSION TILL c##user2;Beviljande lyckades.Skapa en lokal användare med endast åtkomst till pdb
SQL> SKAPA ANVÄNDARE användare3 IDENTIFIERAD AV lösenord3 CONTAINER=CURRENT;Användare skapad.SQL> BETYD SKAPA SESSION TILL användare3 CONTAINER=CURRENT;Beviljande lyckades.Skapa gemensam roll
SQL> CONN / AS SYSDBASQL> SKAPA ROLL c##role1;Roll skapad.SQL> BEHANDLA SKAPA SESSION TILL c##role1;Grant lyckades.
Ge roll till en vanlig användare
SQL> GRANTA c##role1 TILL c##user1 CONTAINER=ALL;Grant lyckades.
Ge roll till en vanlig användare till en lokal användare
SQL> alter SESSION SET CONTAINER =PRD_PDB_CON;Session ändrad.SQL> BETYD c##role1 TILL user2;Beviljande lyckades.Lokala roller
SQL> CONN / AS SYSDBASQL> alter SESSION SET CONTAINER =PRD_PDB_CON;Session altered.SQL> CREATE ROLE role1;Roll created.SQL> GANTA CREATE SESSION TO role1;Beviljande lyckades.Skapa PDB:er
SQL> skapa pluggbar databas HMLPDB admin användare admin identifierad av PassDw1 rolls =(DBA);SQL> skapa pluggbar databas DSVPDB admin användaradmin identifierad av Manager1roles =(DBA) lagring (MAXSIZE 1G) FILE_NAME_CONVERT=('/u01/app /oracle/oradata/pcdb01/pcdb01_pdbseed_','/u01/app/oracle/oradata/dsvpdb/dsvpdb_');SQL> skapa pluggbar databas DSVPDB1 från DSVPDB file_name_convert=('/DSVPDB/'/'/DSVPDB/'/'/DSVPDB);Exklusive PDB
SQL> ändra pluggbar databas DSVPDB1 stäng [omedelbar] [instances=all];SQL> släpp pluggbar databas DSVPDB1 inklusive datafiler;Koppla ur PDB
$ sqlplus / as sysdbaSQL> ändra pluggbar databas PRD_PDB_CON close;SQL> ändra pluggbar databas PRD_PDB_CON koppla bort in i '/tmp/prd_pdb_con.xml';Anslut PDB:er
$ sqlplus / as sysdbaSQL> skapa insticksbar databas PRD_PDB_CON med '/tmp/prd_pdb_con.xml' FILE_NAME_CONVERT=('/oradata/cdb1/prd_pdb_con', '/oradata/cdb2_/prd_pdbLBCON alt PRD_pdbD CONVERT_prd_pdbD); öppna;Konfigurera tjänster på Oracle RAC med CDB
$ srvctl lägg till tjänst -db CDB01 -service new_service -pdb PRD_PDB_CON$ srvctl modifiera tjänst -db CDB01 -service new_service -pdb PRD_PDB_CON$ srvctl ta bort tjänst -db CDB01 -tjänst new_serviceBEGINVICE_tjänst_namn ='ny_tjänst_tjänst>.CMS_tjänst_namn => 'new_service.com');END;/BEGINDBMS_SERVICE.DELETE_SERVICE(service_name => 'new_service');END;/Med rotbehållare har vi cdb_tablespaces och cdb_data_files visar tabellutrymmet och datafilerna för alla behållare i CDB.
När de är anslutna till en PDB visar cdb_tablespaces och cdb_data_files samma information som dba_tablespaces, dba_data_files för PDB.
SQL> alter session set container=CDB$ROOT;Session altered.SQL> välj tabellutrymmesnamn, con_id från cdb_tablespaces ordning efter con_id;TABLESPACE_NAME CON_ID-------------------- ----------- --------SYSTEM 1SYSAUX 1UNDOTBS2 1TEMP 1ANVÄNDARE 1UNDOTBS1 1SYSTEM 3SYSAUX 3TBS_GEN_01 3TEMP 3TBS_CON_IDX_01 3TBS_CON_DT_01 3USERS 3SYSTEM 4SYSAUX 4TBS_NAME_08 fält 4TBS_USERS1S1 fält 4TBS_GENS1S1 fält 4TBS_GENS1S1 fält 4TBS_GENS1S1; -----------------------------SYSTEMSYSAUXUNDOTBS1TEMPUSERSUNDOTBS26 rader valda.Hur du söker efter lokal ångra-funktion i 12.2
I Oracle Database 12c Release 1 delade alla behållare i en instans samma ångra tabellutrymme.
I Oracle 12c Release 2 kan varje behållare i en instans använda sitt eget ångra tabellutrymme.
SQL> avstängning omedelbar;SQL> startup upgrade;SQL> ändra databasen lokal ångra på;SQL> avstängning omedelbar;SQL> startup;SQL> kol egenskapsnamn format a30SQL> kol egenskapsvärde format a30SQL> välj egenskapsnamn, egenskapsvärde där egenskapen databas_egenskaper ='LOCAL_UNDO_ENABLED';PROPERTY_NAME PROPERTY_VALUE---------------- -------------- LOCAL_UNDO_ENABLED TRUEReferenser
https://docs.oracle.com