Oracle Drop Użytkownicy

Oracle Drop Użytkownicy
Jako administrator bazy danych napotkasz takie przypadki, w których usunięcie określonego użytkownika z bazy danych Oracle jest korzystne, niezależnie od tego, czy próbujesz wyczyścić bazę danych i usunąć nieprawidłowe obiekty, czy optymalizacja wydajności bazy danych.

W tym poście omówi się, w jaki sposób możesz użyć polecenia Użytkownika Drop w Oracle, aby usunąć danego użytkownika z bazy danych.

Oracle Drop User Instrukcja użytkownika

Jak wspomniano, polecenie Użytkownika Drop umożliwia usunięcie konta użytkownika z bazy danych. Obejmuje to również usunięcie wszystkich powiązanych obiektów schematu z bazy danych.

Poniżej znajduje się fragment kodu, który pokazuje składnię polecenia Użytkownika Drop na serwerze Oracle:

Upuść nazwę użytkownika [Cascade];

Zaczynamy od wywołania polecenia Użytkownika Drop, a następnie nazwy użytkownika użytkownika, którą chcemy usunąć z bazy danych.

Opcja kaskady pozwala Oracle usunąć wszystkie powiązane obiekty schematu, takie jak tabele, widoki, funkcje itp., dla tego użytkownika.

Możesz to również przezwyciężyć, usuwając wszystkie połączone obiekty schematu przed usunięciem konta użytkownika. Aby uzyskać uproszczenie, użyj opcji kaskadowej i pozwól silnikowi bazy danych, aby usunąć powiązane obiekty schematu przed upuszczeniem docelowego konta użytkownika.

W niektórych przypadkach Oracle może nie usunąć obiektów schematu, jeśli inne obiekty w bazie danych odwoływają się do nich. W takim przypadku Oracle unieważnia tylko docelowe odniesienia przed usunięciem użytkownika. To uwalnia konto docelowe usunięcia bez żadnych ograniczeń lub błędu.

Należy pamiętać, że może to wpłynąć na różne obiekty, takie jak zmaterializowane widoki. Podobnie silnik bazy danych nie usunie ról utworzonych przez użytkownika docelowego.

Przykład upuść ilustracja polecenia użytkownika

Poniżej przedstawiono przykłady pokazujące, jak upuścić użytkownika bazy danych w Oracle.

Utwórz użytkownika bazy danych

Zacznij od zalogowania się do bazy danych Oracle i utwórz nowego użytkownika:

$ sqlplus sys jako sysdba;
SQL*Plus: wydanie 19.0.0.0.0 - Produkcja w sobotę 26 listopada 02:53:44 2022
Wersja 19.3.0.0.0
Prawa autorskie (c) 1982, 2019, Oracle. Wszelkie prawa zastrzeżone.
Wprowadź hasło:
Połączony z:
Oracle Database 19c Enterprise Edition wydanie 19.0.0.0.0 - Produkcja
Wersja 19.3.0.0.0

Po zalogowaniu się na serwerze utwórz użytkownika do celów demonstracyjnych. Możesz pominąć ten krok, jeśli masz już docelowego użytkownika, który chcesz usunąć.

SQL> Utwórz Python użytkownika zidentyfikowany przez hasło124;
Utworzony użytkownik.

Poprzednie polecenie tworzy użytkownika bez obiektów schematu. W takim przypadku możemy uruchomić polecenie Użytkownika Drop bez uzyskania błędów lub początkowego usuwania powiązanych obiektów.

Przykład 1: Oracle usuwa użytkownika bez powiązanych obiektów schematu

W tym przykładzie pokazujemy, jak usunąć użytkownika bez żadnych połączonych obiektów schematu, wywołując polecenie Użytkownika Drop w następujący sposób:

SQL> upuść Python użytkownika;
Użytkownik upuścił.

Jak widać, pomyślnie usunęliśmy użytkownika Pythona bez usunięcia obiektów schematu lub wywoływania parametru kaskadowego.

Przykład 2: Oracle usuwa użytkownika za pomocą obiektów schematu

Aby zademonstrować, jak korzystać z polecenia Użytkownika Drop na użytkowniku z powiązanymi obiektami schematu, zacznijmy od utworzenia użytkownika z uprawnieniami, aby utworzyć tabelę i sesję.

Przykładowe stwierdzenie jest następujące:

SQL> Utwórz Python użytkownika zidentyfikowany przez hasło124 limit nieograniczony dla użytkowników;
Utworzony użytkownik.
SQL> dotacja Utwórz tabelę, Utwórz sesję do Pythona;
Grant się powiódł.

Poprzednie stwierdzenia użytkownika Pythona z nieograniczoną kwotą w tabeli użytkowników. Ponieważ jest to konto testowe, możesz ustawić dowolny wymagany rozmiar kwoty.

Po skonfigurowaniu użytkownika zaloguj się jako to konto i utwórz nową tabelę w następujący sposób:

SQL> Połącz Python/Password124
Połączony.

Po połączeniu utwórz tabelę:

Utwórz tabelę próbki_data (
numer identyfikacyjny,
First_name varchar2 (50),
ip_address varchar2 (20),
btc_address varchar2 (50),
credit_card varchar2 (50),
identyfikator varchar2 (40),
Ograniczenie klawisz podstawowy próbki_pk (id)
);

Następnie wyjdź z sesji użytkowników Pythona.

SQL> Odłącz
Bezładny
SQL> Połącz sys jako sysdba
Wprowadź hasło:
Połączony.

W tym przypadku, jeśli próbujemy usunąć użytkownika Pythona, wywołując polecenie Użytkownika Drop, otrzymujemy wiadomość, która mówi nam, że musimy kaskadować powiązane obiekty w następujący sposób:

SQL> upuść Python użytkownika;

Komunikat o błędzie:

Błąd w wierszu 1:
ORA-01922: Kaskada musi być określona, ​​aby upuścić „Python”

Dlatego, aby usunąć użytkownika Pythona, musimy najpierw upuścić powiązaną tabelę lub określić opcję kaskady w następujący sposób:

SQL> upuść użytkownik Python Cascade;
Użytkownik upuścił.

W takim przypadku Oracle może usunąć użytkownika i powiązane obiekty schematu.

Wniosek

W tym poście omówiliśmy i zilustrowaliśmy użycie polecenia Użytkownika Drop w bazach danych Oracle. Użyj polecenia Użytkownika Drop, aby usunąć użytkownika bez powiązanych obiektów schematu z bazy danych. Jeśli użytkownik połączył obiekty schematu, dołącz opcję kaskady, aby usunąć użytkownika i powiązane obiekty.