Oracle veritabanlarındaki sys ve sistem hesapları arasındaki fark nedir?


39

Sqlplus kullanarak bir yönetici olarak Oracle'a bağlanmanın iki yolu vardır:

  1. sqlplus sys as sysdba
  2. sqlplus system/manager

Bu hesapların farklı amaçlar için kullanılması gerektiğini düşünüyorum.

Bu iki şema hangi görevlere yöneliktir? Aralarında birini veya diğerini ne zaman kullanmalıyım?

Yanıtlar:


43

SYS

  • Oracle veritabanı yüklendiğinde otomatik olarak oluşturulur
  • DBARolü otomatik olarak ver
  • Varsayılan bir şifreniz vardır: CHANGE_ON_INSTALL (değiştirdiğinizden emin olun)
  • Veri tabanı veri sözlüğü için temel tablolara ve görünümlere sahip
  • Bağlandığınızda varsayılan şema SYSDBA

SYSŞemadaki tablolar yalnızca veritabanı tarafından yönetilir. Hiçbir zaman herhangi bir kullanıcı veya veritabanı yöneticisi tarafından değiştirilmemeli ve hiç kimse kullanıcının şemasında tablo oluşturmamalıdır SYS. Veritabanı kullanıcıları, SYShesabı kullanarak Oracle veritabanına bağlanmamalıdır .

SYSTEM

  • Oracle veritabanı yüklendiğinde otomatik olarak oluşturulur
  • DBARolü otomatik olarak ver
  • Varsayılan bir şifreniz vardır: MANAGER (değiştirdiğinizden emin olun)
  • İdari bilgileri gösteren ek tablolar ve görünümler oluşturmak için kullanılır
  • Çeşitli Oracle veritabanı seçenekleri ve araçları tarafından kullanılan dahili tablolar ve görünümler oluşturmak için kullanılır

SYSTEMŞemayı asla yönetici olmayan kullanıcıların ilgisini çeken tabloları saklamak için kullanmayın .

/üzerinden


19
Uygulamada, her DBA sqlplus / as sysdbagünlük işler için çalışıyor - 15 yıl içerisinde onlarca tecrübeli DBA ile çalışıyorum SYSTEM.
Gaius

21

Gönderen 11g, Oracle Belgeleri :

SYS VE SİSTEM Kullanıcıları

Oracle Database'i kurduğunuzda aşağıdaki yönetici kullanıcı hesapları otomatik olarak oluşturulur. Her ikisi de kurulum sırasında sağladığınız şifre ile oluşturulur ve her ikisine de otomatik olarak DBA rolü verilir.

  • SYS

    Bu hesap tüm idari fonksiyonları yerine getirebilir. Tüm veri tabanı (temel) tabloları ve veri tabanı veri sözlüğü görünümleri SYS şemasında saklanır. Bu temel tablolar ve görüşler Oracle Veritabanının çalışması için kritik öneme sahiptir. Veri sözlüğünün bütünlüğünü korumak için, SYS şemasındaki tablolar sadece veritabanı tarafından manipüle edilir. Asla herhangi bir kullanıcı veya veritabanı yöneticisi tarafından değiştirilmemelidir. SYS şemasında tablo oluşturmamalısınız.

    SYS kullanıcısına, yedekleme ve kurtarma gibi üst düzey yönetimsel görevleri gerçekleştirmesini sağlayan SYSDBA ayrıcalığı verilir.

  • SYSTEM

    Bu hesap, aşağıdakiler dışındaki tüm idari fonksiyonları gerçekleştirebilir:

    • Yedekleme ve kurtarma

    • Veri tabanı güncellemesi

    Bu hesap günlük yönetim görevlerini yerine getirmek için kullanılabilirken, Oracle, veritabanı etkinliğinin izlenmesini sağlamak için Oracle veritabanını yönetmek için adlandırılmış kullanıcı hesabı oluşturmanızı şiddetle tavsiye eder.

SYSDBA ve SYSOPER Sistem Ayrıcalıkları

SYSDBA ve SYSOPER, veri tabanı oluşturma, başlatma, kapatma, yedekleme veya kurtarma gibi üst düzey yönetim işlemlerini gerçekleştirmek için gereken yönetimsel ayrıcalıklardır. SYSDBA sistem ayrıcalığı, tamamen güçlendirilmiş veritabanı yöneticileri içindir ve SYSOPER sistem ayrıcalığı, kullanıcının temel işlemsel görevleri yerine getirmesine izin verir, ancak kullanıcı verilerine bakma kabiliyeti yoktur.

SYSDBA ve SYSOPER sistem ayrıcalıkları, veritabanı açık olmasa bile bir veritabanı örneğine erişime izin verir. Bu nedenle bu ayrıcalıkların kontrolü tamamen veritabanının dışındadır. Bu denetim, veritabanını başlatmak için veritabanı örneğine bağlanmak için bu ayrıcalıklardan birine sahip olan bir yöneticiye olanak tanır.

Ayrıca, SYSDBA ve SYSOPER ayrıcalıklarını, ayrıcalıklara başka hiçbir şekilde verilemeyen belirli veritabanı işlemlerini gerçekleştirmenizi sağlayan bağlantı türleri olarak düşünebilirsiniz. Örneğin, SYSDBA ayrıcalığına sahipseniz, AS SYSDBA kullanarak veritabanına bağlanabilirsiniz.

SYS kullanıcısına, kurulum sırasında otomatik olarak SYSDBA ayrıcalığı verilir. SYS kullanıcısı olarak oturum açtığınızda, veritabanına SYSDBA veya SYSOPER olarak bağlanmanız gerekir. SYSDBA kullanıcısı olarak bağlanmak, SYSDBA ayrıcalığını çağırır; SYSOPER olarak bağlanmak, SYSOPER ayrıcalığını çağırır. Oracle Enterprise Manager Veritabanı Kontrolü, SYSDBA veya SYSOPER'a bağlanmadan kullanıcı SYS olarak oturum açmanıza izin vermez.

SYSDBA veya SYSOPER ayrıcalığına bağlandığınızda, genellikle kullanıcı adınızla ilişkilendirilen şemaya değil, varsayılan bir şemaya bağlanırsınız. SYSDBA için bu şema SYS'dir; SYSOPER için şema KAMU'dur.


8

SYS (veya başka bir SYSDBA bağlantısı) ve diğer tüm kullanıcılar arasında büyük bir farkın örneği: SYS tutarlı bir okuma yapamaz . Bunun bir açıklaması (başkaları da var), eski exp yardımcı programını kullanarak SYS olarak bir CONSISTENT = Y dışa aktarması yapamayacağınızdır.

Oracle çalışanı ve uzman Tom Kyte, ikisini de nadiren kullanmanız gerektiği görüşünde . SYS ile ilgili olarak, yukarıdaki örnekte belirtildiği gibi farklı şekilde çalıştığına dikkat çekiyor, ancak daha genel olarak onları Oracle Corporation tarafından "sahiplenilmiş" olarak görüyor. Şemaya bir değişiklik yaparsanız veya bir şey eklerseniz ve bir sorun çıkarsa (örneğin, veritabanı güncellemesi başarısız olursa), Oracle Destek'in cevabının "Bunu yapmamalıydınız" olacağından şüpheleniyorum.


0

Bu, sanki posterin bağlanmanın sadece iki yolu olduğunu söylüyor gibi görünüyor:

Msgstr "" "Oracle'a sqlplus kullanarak yönetici olarak bağlanmanın iki yolu vardır:

sqlplus sys as sysdba
sqlplus system/manager"

Yönetici hesabı, SYSDBA ayrıcalığına veya DBA rolüne sahip herhangi bir Oracle kullanıcı hesabıdır. SYS, SYSDBA ile önceden tanımlanmış bir kullanıcı ve SYSTEM, DBA ile önceden tanımlanmış bir kullanıcı. Bir veritabanında n yönetici hesabı varsa, o zaman yönetici ayrıcalıklarına bağlanabilen n kullanıcı var (tanım gereği) - bunlardan sadece ikisi değil.

Başka bir nokta, SQL * Plus ile ilgilidir. OS isteminde OS kimlik doğrulamasını kullanarak SYS olarak bağlanabilirsiniz: sqlplus / as sysdba. SQL * Plus'ı ve ardından CONNECT / AS SYSDBA uygulamasını da başlatabilirsiniz. İşletim sistemi komut isteminde, CONNECT ifadesinde bir şifre belirtebilir ya da SQL * Plus'ın size sormasını sağlayabilirsiniz. Net servis ismi kullanabilirsiniz. SYSTEM şifresini değiştirebilirsiniz (ve değiştirmelisiniz). Ve bunun gibi.

Posterin demek istediği, bir Oracle veritabanında en az iki yönetici hesabı olduğu ve SİSTEM'in varsayılan şifresi varsa ve işletim sistemi kimlik doğrulaması ayarlanmışsa, bunların ikisi (birçoğunun) örneği olduğunu düşünüyorum. SYS ve SYSTEM, SQL * Plus kullanarak veritabanına nasıl giriş yapabilir?

SYS ve SYSTEM arasındaki fark sorusu farklı ve cevaplandı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.