sql >> Databasteknik >  >> RDS >> Oracle

Vanlig användare med SYSBACKUP-behörighet

Med skiftet av arkitektur i Oracle Database 12c har det uppstått ett behov av en ANVÄNDARE/SCHEMA som har tillgång till både containerdatabasen (CDB) och den pluggbara databasen (PDB). Med lanseringen av Oracle Database 12c introducerade Oracle ett nytt koncept som kallas "Common User ".

Alla vanliga användare kan ansluta och utföra operationer inom rotbehållaren och inom alla PDB där den har privilegier. Låt oss lära oss hur du skapar en gemensam användare. Och hur man tilldelar SYSBACKUP privilegium till det.

Genom att tilldela SYSBACKUP behörighet till en VANLIG ANVÄNDARE du kan ha ett dedikerat schema för att utföra säkerhetskopiering och återställning i din Oracle-databas.

Kännetecken för den vanliga användaren

Här är några egenskaper hos en vanlig användare av Oracle Database

  1. En vanlig användare kan logga in på vilken behållare som helst (inklusive CDB$ROOT) där den har CREATE SESSION-behörigheten.
  2. Namnet på varje användarskapad vanlig användare måste börja med tecknen c## eller C##.
  3. Namnen på vanliga användare får endast innehålla ASCII- eller EBCDIC-tecken.
  4. Varje vanlig användare namnges unikt i alla behållare.
  5. Scheman för en vanlig användare kan skilja sig åt i varje behållare.

Låt oss nu skapa en gemensam användare för att utföra säkerhetskopiering och återställning av Oracle Database med hjälp av Recovery Manager (RMAN).

Hur skapar man en gemensam användare?

Att skapa en gemensam användare för säkerhetskopiering och återställning i Oracle Database är en mycket enkel process i två steg. I steg 1 skapar vi en gemensam användare och i steg 2 ger vi den nödvändiga privilegier.

Låt oss börja med steg nummer 1

Steg 1:Skapa den vanliga användaren

För att skapa användaren kommer vi att använda “Skapa användare” DDL-kommandot så här –

C:/> SQLPLUS / as sysdba

anslut först till din rotcontainerdatabas med SYS-användare. Låt oss nu snabbt rensa skärmen och verifiera användaren och behållaren.

SQL> cl scr

skärm ren.

SQL> SHOW user;

Vi är anslutna till databasen med sys user.

SQL> SHOW con_name

och vi är också anslutna till rotbehållaren. Därefter kommer vi inte att skapa ett vanligt användarkonto utan skapa en gemensam användare

SQL> CREATE USER c##BackupAdmin 
     IDENTIFIED BY pass101
     DEFAULT TABLESPACE users 
     QUOTA 10M ON users 
     TEMPORARY TABLESPACE temp
     ACCOUNT UNLOCK;

Efter framgångsrik exekvering av ovanstående CREATE USER DDL-sats kommer du att ha din Common User med namnet c##BackupAdmin skapat.

För att bättre förstå detta CREATE USER-uttalande kan du hänvisa till min handledning om CREATE USER DDL – Klicka bara här.

Steg 2:Bevilja privilegier

Före Oracle 12c hade vi bara ett privilegium som vi kunde tilldela användaren för säkerhetskopiering och återställning, vilket var SYSDBA .

Eftersom SYSDBA är en fullständig databasadministrativ behörighet är det inte en bra idé att tilldela den slumpmässigt till någon användare. Det kan leda till katastrofala händelser.

Med denna glitch i åtanke introducerade Oracle ett helt nytt privilegium med lanseringen av Oracle Database 12c. Och det var SYSBACKUP .

SYSBACKUP privilegiet hade alla nödvändiga privilegier som krävdes för att utföra säkerhetskopiering och återställning av Oracle-databasen. Och dessa privilegier råkade också vara en delmängd av SYSDBA privilegier.

Det betydde användaren som har SYSBACKUP privilegiet hade all makt att utföra säkerhetskopiering och återställning men inte de privilegier som kunde göra honom eller henne till ett potentiellt hot mot databasen.

Låt oss nu lära oss hur du tilldelar SYSBACKUP privilegium till den vanliga databasanvändaren som vi just skapade.

Tilldelar SYSBACKUP behörighet till en användare i Oracle Database behöver bara ett enkelt uttalande. Så här –

SQL> GRANT SYSBACKUP TO c##BackupAdmin; 

Det är allt du behöver göra –

Om du vill återkalla SYSBACKUP privilegium från användaren så kan du utfärda en REVOKE DCL-sats så här –

SQL> REVOKE sysbackup FROM c##BackupAdmin; 

SYSBACKUP återkallades framgångsrikt.

Det är så vi skapar en vanlig användare och tilldela SYSBACKUP privilegium för det. Du kan se den här livedemonstrationen på min YouTube-video. Och för fler sådana informativa handledningar, prenumerera på min YouTube-kanal.

Tack och ha en bra dag!


  1. Varför ingen utdata när PLSQL Anonymous-blockeringen är klar?

  2. Konvertera varchar till datetime i SQL Server

  3. SLIPP TABELL OM FINNS i SQLite

  4. PHP - Säkra sidor endast för medlemmar med ett inloggningssystem