Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Oracle - Cara memberikan hak kepada pengguna atas objek pengguna lain

Anda dapat menulis prosedur sederhana untuk melakukan ini:

BEGIN
  FOR Rec IN (SELECT object_name, object_type FROM all_objects WHERE owner='SOURCEUSER' AND object_type IN ('TABLE','VIEW','PROCEDURE','FUNCTION','PACKAGE')) LOOP
    IF Rec.object_type IN ('TABLE','VIEW') THEN
      EXECUTE IMMEDIATE 'GRANT SELECT, UPDATE, INSERT, DELETE ON SOURCEUSER.'||Rec.object_name||' TO TARGETUSER';
    ELSIF Rec.object_type IN ('PROCEDURE','FUNCTION','PACKAGE') THEN
      EXECUTE IMMEDIATE 'GRANT EXECUTE ON SOURCEUSER.'||Rec.object_name||' TO TARGETUSER';
    END IF;
  END LOOP;
END;

Tidak yakin persis apa lagi yang Anda minta. Anda dapat memodifikasi di atas untuk menambahkan hibah tambahan dan/atau object_types untuk hak istimewa yang ingin Anda berikan kepada pengguna target. Seperti yang disiratkan oleh @stili, Anda dapat melakukan banyak hal dengan peran, tetapi hati-hati - beberapa izin tidak berfungsi jika diberikan melalui peran.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menekan isi perintah SQLplus di UNIX?

  2. Penyedia Oracle untuk Oledb hilang di VS 2015 Shell

  3. Oracle (11.2.0.1) :Cara mengidentifikasi baris yang saat ini diperbarui oleh pernyataan UPDATE

  4. sqoop split by option memberikan kesalahan saat menggunakan kolom turunan dalam opsi split by

  5. Melewati array asosiatif sebagai parameter antar paket