Bazen test ortamında üretim ortamıyla aynı kullanıcıyı oluşturmanız gerekir, ancak kullanıcının izinlerini bilmiyorsunuz İşte pratik bir komut dosyası.
Komut dosyası içeriği aşağıdaki gibidir:
-Saklanan prosedürleri yürütün exec DBMS_METADATA.SET_TRANSFORM_PARAM (DBMS_METADATA.SESSION_TRANSFORM, 'SQLTERMINATOR', doğru); - Kullanıcı komut dosyalarını ve izinleri sorgulama SEÇ ( DURUM NE ZAMAN ((COUNT (*) SEÇİN dba_users WHERE username = 'Kullanıcı Adı') > 0) SONRA dbms_metadata.get_ddl ('KULLANICI', 'Kullanıcı Adı') ELSE to_clob ('- Not: Kullanıcı bulunamadı!') END) extracted_ddl İkili BİRLİĞİ TÜMÜ SEÇ ( DURUM NE ZAMAN ((DBA_ts_quotas'DAN COUNT (*) SEÇİN KULLANICI ADI = 'Kullanıcı Adı') > 0) SONRA dbms_metadata.get_granted_ddl ('TABLESPACE_QUOTA', 'Kullanıcı Adı') ELSE to_clob ('- Not: TS Kotası bulunamadı!') SON) İkili BİRLİĞİ TÜMÜ SEÇ ( DURUM NE ZAMAN ((dba_role_privs'DEN SAYISI (* SEÇİN) Grantee = 'Kullanıcı Adı') > 0) SONRA dbms_metadata.get_granted_ddl ('ROLE_GRANT', 'Kullanıcı Adı') ELSE to_clob ('- Not: Verilmiş Rol bulunamadı!') SON) İkili BİRLİĞİ TÜMÜ SEÇ ( DURUM NE ZAMAN ((COUNT (*) SEÇİN dba_sys_privs WHERE grantee = 'Kullanıcı Adı') > 0) SONRA dbms_metadata.get_granted_ddl ('SYSTEM_GRANT', 'Kullanıcı Adı') ELSE to_clob ('- Not: Sistem Ayrıcalığı bulunamadı!') SON) İkili BİRLİĞİ TÜMÜ SEÇ ( DURUM NE ZAMAN ((COUNT (*) SEÇİN dba_tab_privs WHERE grantee = 'Kullanıcı Adı') > 0) SONRA dbms_metadata.get_granted_ddl ('OBJECT_GRANT', 'Kullanıcı Adı') ELSE to_clob ('- Not: Nesne Ayrıcalığı bulunamadı!') SON) İkiliSonuçlar aşağıdaki gibidir:
Yine de bazı sahneler kullanılacak, eğer ilgileniyorsanız, kendiniz test edebilirsiniz.
Daha sonra daha fazla DBA içeriği paylaşacağım ve ilgilenen arkadaşlar buna dikkat edebilir ~