Oracle
 sql >> база данни >  >> RDS >> Oracle

Обикновен потребител с привилегия SYSBACKUP

С промяната на архитектурата в Oracle Database 12c възникна необходимост от USER/SCHEMA, който има достъп както до контейнерната база данни (CDB), така и до включващата се база данни (PDB). С пускането на Oracle Database 12c, Oracle представи нова концепция, наречена „Общ потребител “.

Всекиобикновен потребител може да се свързва и изпълнява операции в рамките на основния контейнер и във всеки PDB, където има привилегии. Нека се научим как да създадем обикновен потребител. И как да зададете SYSBACKUP привилегия за това.

Като зададете SYSBACKUP привилегия на ОБЩ ПОТРЕБИТЕЛ можете да имате специална схема за извършване на операции по архивиране и възстановяване във вашата база данни на Oracle.

Характеристики на обикновения потребител

Ето няколко характеристики на обикновения потребител на Oracle Database

  1. Обикновеният потребител може да влезе във всеки контейнер (включително CDB$ROOT), в който има привилегията CREATE SESSION.
  2. Името на всеки обикновен потребител, създаден от потребител, трябва да започва със знаците c## или C##.
  3. Имената на често срещаните потребители трябва да съдържат само ASCII или EBCDIC знаци.
  4. Всеки обикновен потребител има уникално име във всички контейнери.
  5. Схемите за обикновен потребител могат да се различават във всеки контейнер.

Сега нека създадем общ потребител за извършване на архивиране и възстановяване на Oracle Database с помощта на Recovery Manager (RMAN).

Как да създадем обикновен потребител?

Създаването на общ потребител за архивиране и възстановяване в Oracle Database е много прост процес в 2 стъпки. В стъпка 1 създаваме общ потребител и в стъпка 2 му предоставяме необходимите привилегии.

Нека започнем със стъпка номер 1

Стъпка 1:Създайте общия потребител

За да създадем потребителя, ще използваме DDL командата „Създаване на потребител“ по следния начин –

C:/> SQLPLUS / as sysdba

първо се свържете с вашата основна база данни на контейнера, като използвате SYS потребител. Сега нека бързо да изчистим екрана и да потвърдим потребителя и контейнера.

SQL> cl scr

екранът е изчистен.

SQL> SHOW user;

Свързани сме с базата данни чрез потребител на sys.

SQL> SHOW con_name

и ние сме свързани и с коренния контейнер. След това няма да създаваме нормален потребителски акаунт, а ще създадем обикновен потребител

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

При успешно изпълнение на горния оператор CREATE USER DDL ще имате вашия общ потребител с името c##BackupAdmin създадено.

За да разберете по-добре това изявление CREATE USER, можете да се обърнете към моя урок за CREATE USER DDL – Просто щракнете тук.

Стъпка 2:Предоставяне на привилегии

Преди Oracle 12c имахме само една привилегия, която можехме да присвоим на потребителя за операции по архивиране и възстановяване, което беше SYSDBA .

Тъй като SYSDBA е напълно овластена административна привилегия на база данни, не е добра идея да я присвоявате на случаен принцип на всеки потребител. Това може да доведе до катастрофални събития.

Имайки предвид този проблем, Oracle въведе чисто нова привилегия с пускането на Oracle Database 12c. И това беше SYSBACKUP .

SYSBACKUP privilege имаше всички необходими привилегии, необходими за извършване на архивиране и възстановяване на базата данни на Oracle. И тези привилегии също се оказаха подмножество на SYSDBA привилегии.

Това означаваше потребителят, който има SYSBACKUP privilege имаше цялата власт да извършва архивиране и възстановяване, но не и привилегиите, които биха могли да го направят потенциална заплаха за базата данни.

Сега нека научим как да зададем SYSBACKUP привилегия на обикновения потребител на база данни, който току-що създадохме.

Присвояване на SYSBACKUP привилегията на потребител в Oracle Database се нуждае само от едно просто изявление. Като това –

SQL> GRANT SYSBACKUP TO c##BackupAdmin; 

Това е всичко, което трябва да направите –

В случай, че искате да отмените SYSBACKUP привилегия от потребителя, тогава можете да издадете REVOKE DCL израз по този начин –

SQL> REVOKE sysbackup FROM c##BackupAdmin; 

SYSBACKUP отменено успешно.

По този начин създаваме Общ потребител и задайте SYSBACKUP привилегия към него. Можете да гледате тази демонстрация на живо в моето видео в YouTube. И за още такива информационни уроци Абонирайте се за моя канал в YouTube.

Благодаря и приятен ден!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Нулиране на кумулативна сума?

  2. Как да получите информация от потребителя по време на изпълнение

  3. Как автоматично да генерирам идентичност за база данни на Oracle чрез Entity framework?

  4. LOG() Функция в Oracle

  5. Как мога да направя пакетно вмъкване в база данни на Oracle с помощта на Python?