Oracle 12C ve 19C Yetki Ayarları

Oracle 12c sürümü, Oracle veritabanı yönetiminde birçok yeni özellik sunar. Yetkilendirme açısından, Oracle 12c, DBA_ROLES, DBA_USERS_WITH_DEFPWD, ve DBA_PDBS_WITH_AWR veritabanı rolleri gibi yeni veritabanı rolleri ekler. Oracle 12c, ayrıca veritabanı kullanıcılarına SYSRAC veritabanı rolüne ek olarak, SYSBACKUP veritabanı rolünü de tanıtır. Bu rol, veritabanı yedekleme ve geri yükleme görevlerini gerçekleştirmek için kullanılır.

Oracle 19c sürümü, Oracle veritabanı yönetiminde birçok iyileştirme sunar. Yetkilendirme açısından, Oracle 19c, yeni bir kullanıcı izinleri yönetimi arayüzü sunar. Bu arayüz, kullanıcıların veritabanı nesnelerine erişimini kontrol etmelerini ve yönetmelerini kolaylaştırır. Ayrıca, Oracle 19c, Common Users ve Local Users gibi yeni kullanıcı türleri ekler. Bu kullanıcı türleri, birden çok veritabanında aynı kullanıcı kimliğiyle oturum açmayı kolaylaştırır.

Örnek Yetki kaynaklı aşağıda belirtilen hata kodları için çözüm yolu belirtilmiştir.

  • ORA-39083: Object type USER:”HASTANE” failed to create with error: Bu hata kodunun birçok farklı nedeni olabilir. Bunlar arasında, veritabanı nesnelerinin eksik veya hatalı olması, yetersiz bellek veya disk alanı, işlem sırasında ağ bağlantısı sorunları, yetersiz izinler veya Oracle veritabanı sürümüne uyumsuzluk gibi nedenler sayılabilir.
  • ORA-65096: invalid common user or role name Oracle 12c ve sonraki sürümlerinde, CREATE USER veya ALTER USER komutuyla bir kullanıcı hesabı oluşturulurken veya değiştirilirken oluşan bir hata kodudur. Bu hata kodu, bir kullanıcı hesabının oluşturulamamasına veya değiştirilememesine neden olan bir sorun olduğunu belirtir.
  • ORA-00959: tablespace ‘HASTANE’ does not exist  Oracle veritabanı kullanıcılarının SQL sorguları çalıştırırken karşılaştığı bir hata kodudur. Bu hata kodu, bir SQL sorgusunda geçersiz bir tablespace (tablo alanı) belirtildiğinde ortaya çıkar.  “ORA-00959: tablespace ‘HASTANE’ does not exist” hatası, “HASTANE” adında bir tablespace’in (tablo alanı) bulunamadığını belirtir. Bu hata, genellikle bir CREATE TABLESPACE veya ALTER TABLESPACE komutu kullanılarak bir tablespace oluşturulurken veya değiştirilirken oluşur.
  • ORA-01031: insufficient privileges  bir kullanıcının Oracle veritabanında belirli bir işlemi gerçekleştirmek için yeterli izne sahip olmadığında ortaya çıkan bir hatadır. Bu hata, bir kullanıcının belirli bir veritabanı nesnesine (tablo, görünüm, prosedür vb.) erişim veya düzenleme yapmaya çalıştığında da oluşabilir.

Yukarıda Belirtilen Hatalar için çözüm yolları

Bu Oracle veritabanı yönetim sisteminde “alter session set “_oracle_script”=true” komutu, bir oturumun “_ORACLE_SCRIPT” değişkenini geçici olarak true olarak ayarlar. Bu komut, genellikle yüklenen bir Oracle veritabanı nesnesini (örneğin, bir tablo veya görünüm) değiştirmek için kullanılır.

alter Sesison Komutu işe ;”_ORACLE_SCRIPT” değişkeni, özellikle bir SPFILE dosyasına değer atanmamış veya değeri değiştirilmemiş durumlarda kullanılır. Bu durumlarda, oturum seviyesinde değiştirilmesi gerekir. Bu oturum, genellikle veritabanı yönetim görevlerini gerçekleştirmek için kullanılır. Bu nedenle, “_ORACLE_SCRIPT” değişkeni özellikle veritabanı yöneticileri tarafından kullanılır.

Bunun nedeni, değişiklik yapmak için kullanılan SQL komutunun, Oracle tarafından bir veritabanı nesnesi değişikliği olarak tanınması ve gerçekleştirilmesi gerekmektedir.

				
					alter session set "_oracle_script"=true;
				
			

Bu Oracle veritabanı yönetim sisteminde “_ORACLE_SCRIPT” değişkeninin değerini SPFILE (Server Parameter File) dosyasında true olarak ayarlar.

Bu ayar, SPFILE dosyasını kullanarak yapılan değişikliklerin etkili olabilmesi için gereklidir. “_ORACLE_SCRIPT” değişkeni, özellikle bir SPFILE dosyasına değer atandığında, bazı Oracle komut dosyaları tarafından tanınan özel bir değişkendir.

 

				
					alter system set "_ORACLE_SCRIPT"=true SCOPE=SPFILE;
				
			

Bu Oracle SQL komutu, “HASTANE” adlı kullanıcıya SYS.USER$ tablosunda SELECT izni verir.

SYS.USER$ tablosu, Oracle veritabanı yönetim sisteminin önemli bir tablosudur ve veritabanı kullanıcılarının bilgilerini içerir.   Bu nedenle, bu tabloya erişim, genellikle sadece veritabanı yöneticilerine ve yetkilendirilmiş kullanıcılara verilir.

				
					GRANT SELECT ON SYS.USER$ TO "HASTANE";
				
			

hakkında admin

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yardıma mı ihtiyacınız var? Bizimle sohbet edin