Oracle veritabanı kullanıcı bilgileriyle ilgili tek tıklamayla iki kabuk komut dosyasını paylaşın

Genel Bakış

Bugün esas olarak tüm veritabanı kullanıcılarını ve tablo alanlarını görüntülemek ve belirli bir kullanıcının ayrıntılarını saymak için iki kabuk komut dosyasını paylaşıyorum. Bir göz atalım ~

Veritabanı bağlantı komut dosyası

DB oturum açma ayrıntıları kaydı için settdb.sh komut dosyasını kullanın

#! / bin / bash tmp_username = $ SH_USERNAME tmp_password = $ SH_PASSWORD tmp_db_sid = $ SH_DB_SID #check $ 1 ve $ 2 girişten zorunlu olmalıdır eğer> ||>; sonra Eko'***********************************************' echo'WARNING: Kullanıcı Adı ve Şifre Gerekiyor! ' Eko'***********************************************' çıkış fi eğer>>; sonra Eko'***********************************************' echo'WARNING: Kullanılabilecek Örnek Var! ' Eko'***********************************************' çıkış fi SH_USERNAME = "echo" $ 1 "| tr '' ''` SH_PASSWORD = 2 ABD doları Eko'***********************************************' eğer> sonra SH_DB_SID = $ ORACLE_SID echo 'Varsayılan Örnek Kullanılıyor:' $ ORACLE_SID Eko. Başka SH_DB_SID = "echo" $ 3 "| tr '' '' ' fi eğer >>>; sonra echo'Instance '$ SH_DB_SID' bağlandı ' Eko'***********************************************' çıkış fi dışa aktar SH_USERNAME = $ SH_USERNAME dışa aktar SH_DB_SID = $ SH_DB_SID dışa aktar SH_PASSWORD = $ SH_PASSWORD dışa aktar DB_CONN_STR = $ SH_USERNAME / $ SH_PASSWORD #echo $ DB_CONN_STR listfile = `pwd` / listdb Num = `echo show user | $ ORACLE_HOME / bin / sqlplus -s $ DB_CONN_STR @ $ SH_DB_SID | grep -i'USER '| wc -l` ise sonra ## ok-instance yukarı echo'Instance '$ SH_DB_SID' bağlandı ' echo -e '-' tarih` - \ n - '$ SH_USERNAME @ $ SH_DB_SID' bağlandı - \ n ' > > listdb Eko'***********************************************' echo'DB oturum açma ayrıntıları kaydını başlat Tamam! ' echo'Şimdi Yürütme betiği yapabilirsiniz ~ ' Eko'***********************************************' $ KABUK Başka ## inst erişilemez echo Örneği: $ SH_DB_SID Geçersiz Veya Kullanıcı Adı / Parola Yanlış Eko'***********************************************' çıkış fi del_length = 3 tmp_txt = $ (sed -n '$ =' listdb) Eko'***********************************************' echo '*********' $ SH_USERNAME '@' $ SH_DB_SID '**********' Eko'***********************************************' curr_len = `cat $ liste dosyası | wc -l` ; o zaman echo 'Oturumların Altında Hala Canlı' Eko'***********************************************' fi sed $ (($ {tmp_txt} - $ {del_length} +1)), $ {tmp_txt} d $ liste dosyası | tee tmp_listfile mv tmp_listfile $ listfile

Çıktı: ./settdb.sh kullanıcı adı kullanıcı şifresi

showusers.sh

Komut dosyası içeriği aşağıdaki gibidir:

#! / bin / bash echo "====================================== Tüm veritabanı kullanıcılarını ve varsayılan tablolarını görüntüleyin Uzay ============================================== " echo "sayfaları 70 satır 99 geri bildirimi kapatır col DEFAULT_TABLESPACE head'Default TBS 'for a15 trunc 15 kesim için col TEMPORARY_TABLESPACE head'TEMP TBS ' 999.999.999 için col MB head'Size (Mb) ' col kullanıcı adı biçimi a30 çizgi boyutunu ayarla 150 rapora ara vermek raporda hesaplama toplamı MB seç KULLANICI ADI, DEFAULT_TABLESPACE, TEMPORARY_TABLESPACE, OLUŞTURULDU, nvl (toplam (seg.blocks * ts.blocksize) / 1024 / 1024,0) MB itibaren sys.ts $ ts, sys.seg $ seg, sys.user $ us, dba_users du nerede us.name (+) = du.username ve seg.user # (+) = us.user # ve ts.ts # (+) = seg.ts # USERNAME, DEFAULT_TABLESPACE, TEMPORARY_TABLESPACE, CREATED bazında gruplama MB azalan, kullanıcı adına göre sipariş oluşturuldu / "| sqlplus -s $ DB_CONN_STR @ $ SH_DB_SID

Çıktı: ./showusers.sh

showusers.sh

Komut dosyası içeriği aşağıdaki gibidir:

#! / bin / bash echo "====================================== Tüm veritabanı kullanıcılarını görüntüleyin $ 1 özel bilgi = ============================================ " İSİM = `echo $ 1 | kes -d. -F1` ise sonra echo -e "Kullanıcı sağlanmalıdır: \ c"; ADI oku fi sqlplus -s $ DB_CONN_STR @ $ SH_DB_SID < < EOF temiz tampon beslemeyi kapatmak doğrulamayı kapat 132 satırı ayarla sayfaları 200 ayarla sütun bayt biçimi 9999.999.999.999 başlık "Kullanılan Bayt" sütun maks_bayt biçimi 9.999.999.999 baş Kota sütun default_tablespace format a20 head "Varsayılan Tablo Alanı" a25 için sütun tablo alanı_adı sütun kullanıcı adı biçimi a25 Komut istemi ************************************************* ************************************************** *** bilgi istemi * Genel Ayrıntılar * Komut istemi ************************************************* ************************************************** *** col profil biçimi a10 col password_versions format a10 kullanıcı adı, default_tablespace, oluşturulan, profil, password_versions seçin dba_users'tan kullanıcı adı = üst ('$ {NAME}') / Komut istemi. Komut istemi ************************************************* ************************************************** *** komut istemi * Nesneler Genel Bilgi * Komut istemi ************************************************* ************************************************** *** nesne_türü, durum, say (*) obj_count seçin dba_objects'ten burada sahip = üst ('$ 1') nesne_tipine göre gruplandırma, obj_count desc'e göre durum sıralaması / Komut istemi. Komut istemi ************************************************* ************************************************** *** komut istemi * Kotalar * Komut istemi ************************************************* ************************************************** *** tablo alanı_adı seçin, bayt kod çözme (maks_bayt, -1, 'SINIRSIZ', maks_bayt) maks_bayt dba_ts_quotas'tan kullanıcı adı = büyük ('$ {NAME}') / Komut istemi. Komut istemi ************************************************* ************************************************** *** komut istemi * Kullanılan Bayt Komut istemi ************************************************* ************************************************** *** a15 için sütun tablo alanı_adı 999.999.999 için col MB head'Size (Mb) ' rapora ara vermek REPORT üzerindeki baytların toplamını hesapla / * seç ts.tablespace_name tablo alanı_adı, nvl (toplam (seg.blocks * ts.block_size) / 1024 / 1024,0) MB itibaren dba_tablespaces ts, dba_segments segment, dba_users bizi nerede - du.username = büyük ('$ {NAME}') us.username = büyük ('$ {NAME}') ve seg.owner (+) = us.username ve ts.tablespace_name (+) = seg.TABLESPACE_NAME ts.tablespace_name tarafından gruplandır ts.tablespace_name ile sipariş * / seç ts.name tablo alanı_adı, nvl (toplam (seg.blocks * ts.blocksize) / 1024 / 1024,0) MB itibaren sys.ts $ ts, sys.seg $ seg, sys.user $ us, dba_users du nerede du.username = büyük ('$ {NAME}') ve us.name (+) = du.username ve seg.user # (+) = us.user # ve ts.ts # (+) = seg.ts # ts.name ile gruplandır ts.name ile sipariş / Komut istemi. Komut istemi ************************************************* ************************************************** *** bilgi istemi * Hibeler / Roller * Komut istemi ************************************************* ************************************************** *** beslemeyi ayarla, çevrimdışı doğrula 132 sayfa 200 col sahibi biçimi a15 sahibini kırmak bilgi istemi ********* SAHİBİ ROLÜ *********** Komut istemi ******************************** d.owner, d.grantee role_name, r.PASSWORD_REQUIRED, s.admin_option, s.DEFAULT_ROLE seçin dba_tab_privs'den d, dba_roles r, dba_role_privs s nerede d.grantee = r.role ve d.grantee = s.grantee (+) ve d.owner = nvl (üst ('$ 1'), '') d.grantee, d.owner, r.password_required, s.admin_option, s.DEFAULT_ROLE ile gruplama mal sahibinin siparişi; sütun bağış alan biçimi a20 sütun given_role format a35 sütun admin_option başlık yönetici biçimi a10 Komut istemi. bilgi istemi ********** VERİLEN ROL ******** Komut istemi ******************************** d.grantee role_name seçin dba_tab_privs'den d nerede sahip = üst ('$ 1') d.grantee'ye göre grupla Birlik given_role'yi seçin dba_role_privs'ten Grantee = üst ('1 $'); Komut istemi. Komut istemi ************************************************* ************************************************** *** bilgi istemi * Sys ayrıcalıkları * Komut istemi ************************************************* ************************************************** *** beslemeyi ayarla, çevrimdışı doğrula 132 sayfa 200 sütun ayrıcalık biçimi a25 sütun admin_option başlık yönetici biçimi a8 ayrıcalık seçin, admin_option dba_sys_privs'ten Grantee = üst ('$ {NAME}') / !Eko "*********************************************** ************************************************** ***** " EOF çıkış

Çıktı: ./showusers.sh kullanıcı adı

Herhangi bir istatistiğiniz varsa, aşağıya bir mesaj bırakabilirsiniz, ben de daha sonra ilgili senaryoları düzenleyeceğim. İlgilenen arkadaşlar takip edebilir

MySQL Innodb, SQL işlemlerini engellemenin kaynağını bulur - innotop aracı
önceki
Centos7'ye dayalı ES izleme aracını çevrimdışı dağıtın - elasticsearch head
Sonraki
İlk Chongqing Kuantum ve Optoelektronik Teknoloji Sanayileşme Semineri düzenlendi
İki kabuk komut dosyasını, tek tıklamayla istatistik veritabanı geçici tablo alanını ve engelleme kilit bilgilerini paylaşın
30000 ms hatasından sonra kibana-İstek Zaman Aşımı tarafından bildirilen kibana yaygın hatası
2019 Tarım Fuarı açılıyor, bu alışveriş rehberini al
NetEase yeniden öne çıktı: iyi bir "domuz adam" iyi bir CEO olmayabilir
Anne, oğul seni fakirlere yardım etmeye götürüyor
JD.com, 2020 stratejisini ilk kez açığa çıkaran blok zinciri teknolojisi ve uygulamalarının panoramik bir görünümünü yayınladı
QKL123 piyasa analizi
2019 İlk "Poly · Harmony China" Gençlik Sanat Festivali Chongqing'de açıldı
30 milyar harcayın ve 6 yeni araba itin! Volkswagen Çin pazarına iddiaya girdi, Alman Büyük Üçlü yeni enerji fırtınası estirdi
Çin Mühendislik Akademisi'nin akademisyenleri olarak seçilen 5 Zhejiang bilim adamı
Memba kayıtlarıLiujiang Nehri'nin sevgisi sisli yağmurda daha güçlü
To Top