sql >> Database teknologi >  >> RDS >> Oracle

Grundlæggende administration af Oracle 12c Multitenant

Tjek, om databasen er CDB eller ikke-CDB

SQL> vælg cdb fra v$database;CDB---JA

Opretter forbindelse til container

$ eksport ORACLE_SID=pcdb01$ sqlplus / som sysdbaSQL> vis con_nameCON_NAME-------------------------------------CDB$ROOTSQL> vis con_idCON_ID--------------------------------------1SQL> vis pdbs;CON_ID CON_NAME ÅBEN MODUS BEGRÆNSET-------- ---------------------------------- ------------------ --2 PDB$SEED LÆS KUN NO3 PRD_PDB_CON LÆS SKRIV NR4 PRD_PDB_TEN LÆS SKRIV NEJ

Naviger på tværs af PDB'er

SQL> ændre sessionssæt container=PDB$SEED;Session ændret.SQL> ændre sessionssæt container=PRD_PDB_CON;Session ændret.SQL>

Oplysninger om PDB'er

SQL> KOLONNE PDB_NAME FORMAT A15SQL> KOLONNE PDB_NAME FORMAT A15SQL> VÆLG PDB_ID, PDB_NAME, STATUS FRA DBA_PDBS BESTIL EFTER PDB_ID;PDB_ID PDB_NAME STATUS---------- ---------- ----- ----------2 PDB$SEED NORMAL3 PRD_PDB_CON NORMAL4 PRD_PDB_TEN NORMAL

Kontrol af/ændre parameter

SQL> vælg * fra v$system_parameter;SQL> vælg * fra PDB_SPFILE$;SQL> alter system set parameter_name=value;SQL> ændre systemsæt parameter_name=value CONTAINER=CURRENT;

Opstart og nedlukning af PDB

Nogle typiske værdier:

OPSTART [NOMOUNT | MONTERE | BEGRÆNS | OPGRADERING | FORCE | LÆS KUN]

SLUKNING [STRAKS | AFBRYD]

$ eksport ORACLE_SID=pcdb01$ sqlplus / as sysdbaSQL> lukning øjeblikkelig;

Stop pluggbar database

SQL> ændre pluggbar database PRD_PDB_CON luk [øjeblikkelig];SQL> ændre pluggbar database ALLE UNDTAGET PRD_PDB_CON luk [øjeblikkelig];SQL> ændr pluggbar database ALLE luk;SQL> ændre pluggbar database PRD_PDB_CON luk [øjeblikkelig=alle] [forekomster;

Eller:

SQL> alter SESSION SET CONTAINER =PRD_PDB_CON;SQL> lukning øjeblikkelig;

Start Pluggable Database

STARTKRAFT

OPSTART ÅBEN LÆS SKRIV [BEGRÆNS]

OPSTART ÅBEN LÆSEKUN [BEGRÆNS]

STARTOPGRADERING

SHUTDOWN [IMMEDIATE]

SQL> ændre pluggbar database PDB01 åben;SQL>ændre pluggbar database ALLE UNDTAGET PRD_PDB_CON åben;SQL>ændre pluggbar database ALLE åben;SQL>ændre pluggbar database PDB01 åben [instances=all];

Eller:

SQL> alter SESSION SET CONTAINER =PRD_PDB_CON;SQL> startup;SQL> alter PLUGGABLE DATABASE  ÅBN LÆS SKRIV [BEGRÆNSET] [FORCE];SQL> alter PLUGGABLE DATABASE-  ÅBN LÆSEKUN [BEGRÆNSET][FORCE];SQL> alter PLUGGABLE DATABASE  ÅBN OPGRADERING [RESTRICTED];SQL> alter PLUGGABLE DATABASE  LUK [IMMEDIATE];

Bevar PDB-starttilstand (12.1.0.2 og frem)

SQL> ændre PLUGGABLE DATABASE pdb2 OPEN;SQL> alter PLUGGABLE DATABASE pdb2 SAVE STATE;

DBA_PDB_SAVED_STATES-visningen viser information om beholdernes gemte tilstand.

SQL> COLUMN con_name FORMAT A20SQL> COLUMN instance_name FORMAT A20SQL> VÆLG con_name, instance_name, state FROM dba_pdb_saved_states;CON_NAME INSTANCE_NAME STATE--------------------- --- ------------------ --------------PRD_PDB_CON pcdb01 ÅBEN

Størrelse på pluggbar database

SQL> KOLONNENAVN FORMAT A20SQL> VÆLG DBID, NAME, CON_ID, CON_UID, TOTAL_SIZE FRA V$CONTAINERS BESTILLING AF CON_ID;DBID NAVN CON_IDCON_UID TOTAL_SIZE---------- -------- ---------------------- ---------- ------------------ --2732069181 CDB$ROOT 1 1 03552543733 PDB$SEED 2 3552543733 7759462404008367944 PRD_PDB_CON 3 4008367944 12404276B71Pr71120427265 PR71044272665 PR71100000000000 

Starttid for pluggbar database

SQL> sæt linjestørrelse 180SQL> col name for a30SQL> col open_time for a33SQL> vælg con_id,name,dbid,open_mode,open_time fra 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 :Ære AM -03:004 rækker valgt.

Opetid for pluggbar database

SQL> sæt linjestørrelse 180SQL> col name for a30SQL> col open_time for a28SQL> vælg name,floor(sysdate-cast(open_time as date))||'Days '||floor(((sysdate-cast(open_time as date))-floor(sysdate-cast(open_time as date)))*24)||'timer '||round(((sysdate-cast(open_time as date)-floor(sysdate-cast(open_time as date) ) *24)-floor((sysdate-cast(open_time as date)-floor(sysdate-cast(open_time as date))*24)))*60)||'minutes' "Database Uptime"fra v$containers;NAME Databasens oppetid--------------- ---------------------------CDB$ROOT 1331Dage 11timer 28minutterPDB $SEED 1331Dage 11timer 28minutesPDB_PN1O0101 1331Days 11hours 28minutesPDB_BATCHWEB 1331Days 11hours 28minutes4 rækker valgt.

Navn på tjenester

SQL> KOLONNENAVN FORMAT A30SQL> VÆLG NAVN,CON_ID,PDB FRA V$SERVICES BESTILLING AF CON_ID;NAVN 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 rækker valgt.


Opret fælles brugere med adgang til alle pdbs

SQL> OPRET BRUGER c##user1 IDENTIFICERET AF password1 CONTAINER=ALL;Bruger oprettet.SQL> TILDELING OPRET SESSION TIL c##user1 CONTAINER=ALL;Tildeling lykkedes.

Opret almindelige brugere uden adgang til pdbs

SQL> OPRET BRUGER c##user2 IDENTIFICERET AF password1;Bruger oprettet.SQL> GIV OPRET SESSION TIL c##user2;Tildeling lykkedes.

Opret en lokal bruger med kun adgang til pdb

SQL> CREATE USER user3 IDENTIFICERET BY password3 CONTAINER=CURRENT;Bruger oprettet.SQL>GANT CREATE SESSION TO user3 CONTAINER=CURRENT;Grant lykkedes.

Opret fælles rolle

SQL> CONN / AS SYSDBASQL> OPRET ROLLE c##role1;Role oprettet.SQL> TILDEL CREATE SESSION TIL c##role1;Grant lykkedes.

Tildel rolle til en almindelig bruger

SQL> TILDEL c##role1 TIL c##user1 CONTAINER=ALL;Grant lykkedes.

Tildel rolle til en almindelig bruger til en lokal bruger

SQL> alter SESSION SET CONTAINER =PRD_PDB_CON;Session ændret.SQL> TILDEL c##role1 TIL bruger2;Tildelingen lykkedes.

Lokale roller

SQL> CONN / AS SYSDBASQL> alter SESSION SET CONTAINER =PRD_PDB_CON;Session ændret.SQL> OPRET ROLLE rolle1;Rolle oprettet.SQL> TILDELING OPRET SESSION TIL rolle1;Tildeling lykkedes.

Oprettelse af PDB'er

SQL> opret pluggbar database HMLPDB admin bruger admin identificeret af PassDw1 rolls =(DBA);SQL> opret pluggbar database DSVPDB admin bruger admin identificeret af Manager1roles =(DBA) lagerplads (MAXSIZE 1G) FILE_NAME_CONVERT=('/u01/app /oracle/oradata/pcdb01/pcdb01_pdbseed_','/u01/app/oracle/oradata/dsvpdb/dsvpdb_');SQL> opret pluggbar database DSVPDB1 fra DSVPDB file_name_convert=('/DSVPDB/'/'/DSVPDB1','/DSVPDB); 

Eksklusive PDB'er

SQL> ændre pluggbar database DSVPDB1 luk [immediate] [instances=all];SQL> drop pluggbar database DSVPDB1 inklusive datafiler;

Takker PDB'er ud

$ sqlplus / as sysdbaSQL> ændre pluggbar database PRD_PDB_CON close;SQL> ændre pluggbar database PRD_PDB_CON frakoble til '/tmp/prd_pdb_con.xml';

Tilslutning af PDB'er

$ sqlplus / as sysdbaSQL> opret pluggbar database PRD_PDB_CON ved hjælp af '/tmp/prd_pdb_con.xml' FILE_NAME_CONVERT=('/oradata/cdb1/prd_pdb_con', '/oradata/cdb2_/prd_pdbLBCON PRD_PdbD CONVERT_alt_pdbLD); åben;

Konfiguration af tjenester på Oracle RAC med CDB'er

$ srvctl add service -db CDB01 -service new_service -pdb PRD_PDB_CON$ srvctl modify service -db CDB01 -service new_service -pdb PRD_PDB_CON$ srvctl remove service -db CDB01 -service new_serviceBEGINVICE_SERVICE_name => 'new_service.com');END;/BEGINDBMS_SERVICE.DELETE_SERVICE(service_name => 'new_service');END;/

Med root-container har vi cdb_tablespaces og cdb_data_files viser tablespacet og datafilerne for alle containerne i CDB'en.

Når du er forbundet til en PDB, viser cdb_tablespaces og cdb_data_files de samme oplysninger som dba_tablespaces, dba_data_files for PDB.

SQL> alter session set container=CDB$ROOT;Session altered.SQL> vælg tablespace_name, con_id fra cdb_tablespaces rækkefølge efter con_id;TABLESPACE_NAME CON_ID-------------------- ----------- --------SYSTEM 1SYSAUX 1UNDOTBS2 1TEMP 1USERS 1UNDOTBS1 1SYSTEM 3SYSAUX 3TBS_GEN_01 3TEMP 3TBS_CON_IDX_01 3TBS_CON_DT_01 3USERS 3SYSTEM 4SYSAUX 4TBS_GEN_S1space 4TBS_GENS1s_space 4TBS_GENS1S1_space. -----------------------------SYSTEMSYSAUXUNDOTBS1TEMPUSERSUNDOTBS26 rækker valgt.

Sådan tjekker du for Local Fortryd-funktionen i 12.2

I Oracle Database 12c Release 1 delte alle containere i en instans det samme fortryd tablespace.

I Oracle 12c Release 2 kan hver container i en instans bruge sit eget fortryd tablespace.

SQL> shutdown immediate;SQL> startup upgrade;SQL> ændr database lokal fortryd på;SQL> shutdown immediate;SQL> startup;SQL> col property_name format a30SQL> col property_value format a30SQL> vælg property_name, property_value hvor property database_properties ='LOCAL_UNDO_ENABLED';PROPERTY_NAME PROPERTY_VALUE---------------- -------------- LOCAL_UNDO_ENABLED TRUE
 

Referencer

https://docs.oracle.com


  1. SIN() Funktion i Oracle

  2. Sådan udføres installation af en EBS 12.2 Vision-instans

  3. 2 måder at returnere rækker, der kun indeholder ikke-alfanumeriske tegn i MySQL

  4. Værdi Fejl under import af data til postgres-tabellen ved hjælp af psycopg2