Istnieją dwa sposoby połączenia się z Oracle jako administrator za pomocą narzędzia sqlplus:
sqlplus sys as sysdba
sqlplus system/manager
Sądzę, że te konta powinny być wykorzystywane do różnych celów.
Do jakich zadań przeznaczone są te dwa schematy? Kiedy powinienem użyć jednego z nich?
oracle
oracle-11g-r2
Lazer
źródło
źródło
sqlplus / as sysdba
codzienną pracę - w ciągu 15 lat pracy z dziesiątkami doświadczonych DBA nigdy nie spotkałem nikogo, kto zawracałby sobie głowę tymSYSTEM
kontem.Z dokumentacji Oracle 11g :
Użytkownicy SYS I SYSTEMU
Następujące konta użytkowników administracyjnych są tworzone automatycznie podczas instalacji bazy danych Oracle. Oba są tworzone przy użyciu hasła podanego podczas instalacji i oba mają automatycznie przyznaną rolę DBA.
SYS
To konto może wykonywać wszystkie funkcje administracyjne. Wszystkie podstawowe (podstawowe) tabele i widoki dla słownika danych bazy danych są przechowywane w schemacie SYS. Te tabele podstawowe i widoki mają kluczowe znaczenie dla działania bazy danych Oracle. Aby zachować integralność słownika danych, tabelami w schemacie SYS manipuluje tylko baza danych. Nigdy nie powinny być modyfikowane przez żadnego użytkownika lub administratora bazy danych. Nie wolno tworzyć żadnych tabel w schemacie SYS.
Użytkownik SYS otrzymuje uprawnienie SYSDBA, które umożliwia mu wykonywanie zadań administracyjnych wysokiego poziomu, takich jak tworzenie kopii zapasowych i odzyskiwanie.
SYSTEM
To konto może wykonywać wszystkie funkcje administracyjne z wyjątkiem następujących:
Kopii zapasowych i odzyskiwania
Aktualizacja bazy danych
Chociaż tego konta można używać do wykonywania codziennych zadań administracyjnych, Oracle zdecydowanie zaleca utworzenie konta nazwanych użytkowników do administrowania bazą danych Oracle, aby umożliwić monitorowanie aktywności bazy danych.
Uprawnienia systemowe SYSDBA i SYSOPER
SYSDBA i SYSOPER to uprawnienia administracyjne wymagane do wykonywania operacji administracyjnych wysokiego poziomu, takich jak tworzenie, uruchamianie, zamykanie, tworzenie kopii zapasowej lub odzyskiwanie bazy danych. Uprawnienia systemowe SYSDBA są przeznaczone dla w pełni uprawnionych administratorów baz danych, a uprawnienie systemowe SYSOPER pozwala użytkownikowi wykonywać podstawowe zadania operacyjne, ale bez możliwości przeglądania danych użytkownika.
Uprawnienia systemowe SYSDBA i SYSOPER umożliwiają dostęp do instancji bazy danych, nawet gdy baza danych nie jest otwarta. Kontrola tych uprawnień jest zatem całkowicie poza samą bazą danych. Ta kontrola umożliwia administratorowi, któremu przyznano jedno z tych uprawnień, połączenie się z instancją bazy danych w celu uruchomienia bazy danych.
Można również myśleć o uprawnieniach SYSDBA i SYSOPER jako o typach połączeń, które umożliwiają wykonywanie określonych operacji na bazie danych, dla których uprawnień nie można przyznać w żaden inny sposób. Na przykład, jeśli masz uprawnienie SYSDBA, możesz połączyć się z bazą danych za pomocą AS SYSDBA.
Użytkownik SYS automatycznie otrzymuje uprawnienia SYSDBA podczas instalacji. Kiedy logujesz się jako użytkownik SYS, musisz połączyć się z bazą danych jako SYSDBA lub SYSOPER. Łączenie się jako użytkownik SYSDBA wywołuje uprawnienie SYSDBA; łączenie się, ponieważ SYSOPER wywołuje uprawnienie SYSOPER. Kontrola bazy danych Oracle Enterprise Manager nie zezwala na logowanie się jako SYS użytkownika bez połączenia jako SYSDBA lub SYSOPER.
Łącząc się z uprawnieniami SYSDBA lub SYSOPER, łączysz się ze schematem domyślnym, a nie ze schematem, który jest ogólnie powiązany z twoją nazwą użytkownika. W przypadku SYSDBA schemat ten to SYS; dla SYSOPERA schemat jest PUBLICZNY.
źródło
Przykład dużej różnicy między SYS (lub innym połączeniem SYSDBA) a każdym innym użytkownikiem: SYS nie może wykonywać spójnego odczytu . Jedną z implikacji tego (istnieją inne) jest to, że nie można wykonać eksportu CONSISTENT = Y jako SYS przy użyciu starego narzędzia exp.
Pracownik i ekspert Oracle, Tom Kyte, jest zdania, że rzadko należy z nich korzystać . W odniesieniu do SYS zwraca uwagę, że działa on inaczej, jak wskazuje powyższy przykład, ale bardziej ogólnie uważa, że są one „własnością” Oracle Corporation. Jeśli wprowadzisz zmianę lub dodasz coś w jednym ze schematów i wystąpi problem (np. Aktualizacja bazy danych zakończy się niepowodzeniem), podejrzewam, że odpowiedź Oracle Support brzmiałaby: „Nie powinieneś tego robić”.
źródło
Brzmi to tak, jakby plakat mówi, że istnieją tylko dwa sposoby połączenia:
„Istnieją dwa sposoby połączenia się z Oracle jako administrator za pomocą narzędzia sqlplus:
Konto administratora to dowolne konto użytkownika Oracle z uprawnieniem SYSDBA lub rolą DBA. SYS jest predefiniowanym użytkownikiem z SYSDBA, a SYSTEM jest predefiniowanym użytkownikiem z DBA. Jeśli w bazie danych jest n kont administratorów, oznacza to, że n użytkowników może łączyć się z uprawnieniami administratora (z definicji) - nie ma ich tylko dwóch.
Kolejna kwestia dotyczy SQL * Plus. Możesz połączyć się jako SYS przy użyciu uwierzytelnienia systemu operacyjnego po znaku zachęty OS: sqlplus / as sysdba. Możesz także uruchomić SQL * Plus, a następnie CONNECT / AS SYSDBA. Możesz podać hasło w wierszu polecenia systemu operacyjnego, w instrukcji CONNECT lub poprosić o podanie SQL * Plus. Możesz użyć nazwy usługi sieciowej. Możesz (i należy) zmienić hasło SYSTEMOWE. I tak dalej.
Myślę, że plakat miał powiedzieć, że w bazie danych Oracle są co najmniej dwa konta administratora, a jeśli SYSTEM ma domyślne hasło i jeśli skonfigurowano uwierzytelnianie systemu operacyjnego, to są to dwa (z wielu) przykładów jak SYS i SYSTEM mogą zalogować się do bazy danych za pomocą SQL * Plus.
Pytanie o różnicę między SYS i SYSTEM jest inne i zostało udzielone odpowiedzi.
źródło