Możliwe jest utworzenie użytkownika bazy danych w trybie tylko do odczytu w bazie danych Oracle? Jak?Oracle - Jak utworzyć użytkownika tylko do odczytu?
Odpowiedz
Użytkownik w bazie danych Oracle ma tylko przyznane uprawnienia. Możesz więc utworzyć użytkownika tylko do odczytu, po prostu nie przyznając żadnych innych uprawnień.
Kiedy utworzyć użytkownika
CREATE USER ro_user
IDENTIFIED BY ro_user
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp;
użytkownik nawet nie ma uprawnień do logowania się do bazy danych. Możesz przyznać, że możesz uzyskać to uprawnienie do odczytu, a następnie możesz uzyskać przyznane przywileje odczytu. Na przykład, jeśli chcesz RO_USER
móc kwerendy SCHEMA_NAME.TABLE_NAME
, byś zrobił coś podobnego
GRANT SELECT ON schema_name.table_name TO ro_user
Generalnie jesteś lepiej tworząc pewną rolę, jednak i przyznawania przywilejów obiektowych do roli, tak aby może następnie przyznać rolę różnym użytkownikom. Coś jak
Tworzenie roli
CREATE ROLE ro_role;
Grant roli SELECT dostęp na każdym stole w danym schemacie
BEGIN
FOR x IN (SELECT * FROM dba_tables WHERE owner='SCHEMA_NAME')
LOOP
EXECUTE IMMEDIATE 'GRANT SELECT ON schema_name.' || x.table_name ||
' TO ro_role';
END LOOP;
END;
A potem przyznać rolę użytkownikowi
GRANT ro_role TO ro_user;
create user ro_role identified by ro_role;
grant create session, select any table, select any dictionary to ro_role;
To jest n w domenie domyślnej jest to możliwe ze względu na wiele publicznych wykonań, które każdy użytkownik uzyskuje automatycznie za pośrednictwem publicznego.
Wykonaj następującą procedurę, na przykład jako system użytkownika.
Ustaw p_owner na właściciela schematu i p_readonly na nazwę użytkownika readonly.
create or replace
procedure createReadOnlyUser(p_owner in varchar2, p_readonly in varchar2)
AUTHID CURRENT_USER is
BEGIN
execute immediate 'create user '||p_readonly||' identified by '||p_readonly;
execute immediate 'grant create session to '||p_readonly;
execute immediate 'grant select any dictionary to '||p_readonly;
execute immediate 'grant create synonym to '||p_readonly;
FOR R IN (SELECT owner, object_name from all_objects where object_type in('TABLE', 'VIEW') and owner=p_owner) LOOP
execute immediate 'grant select on '||p_owner||'.'||R.object_name||' to '||p_readonly;
END LOOP;
FOR R IN (SELECT owner, object_name from all_objects where object_type in('FUNCTION', 'PROCEDURE') and owner=p_owner) LOOP
execute immediate 'grant execute on '||p_owner||'.'||R.object_name||' to '||p_readonly;
END LOOP;
FOR R IN (SELECT owner, object_name FROM all_objects WHERE object_type in('TABLE', 'VIEW') and owner=p_owner) LOOP
EXECUTE IMMEDIATE 'create synonym '||p_readonly||'.'||R.object_name||' for '||R.owner||'."'||R.object_name||'"';
END LOOP;
FOR R IN (SELECT owner, object_name from all_objects where object_type in('FUNCTION', 'PROCEDURE') and owner=p_owner) LOOP
execute immediate 'create synonym '||p_readonly||'.'||R.object_name||' for '||R.owner||'."'||R.object_name||'"';
END LOOP;
END;
można utworzyć użytkownika i przywilej grant
utworzyć użytkownika READ_ONLY zidentyfikowany przez READ_ONLY; grant create session, wybierz dowolną tabelę do read_only;
- 1. Jak utworzyć właściwość tylko do odczytu?
- 2. Jak utworzyć repozytorium git tylko do odczytu?
- 3. Jak utworzyć pole "tylko do odczytu" w Sitecore?
- 4. Kanał "tylko do odczytu" tylko do odczytu
- 5. Jak utworzyć właściwość klasy tylko do odczytu w języku Python?
- 6. Jak utworzyć pole tylko do odczytu w widoku
- 7. Jak utworzyć użytkownika z uprawnieniami tylko do odczytu dla wszystkich baz danych w PostgreSQL?
- 8. Właściwości tylko do odczytu
- 9. Konfigurowanie użytkownika tylko do odczytu dla SVN-Apache
- 10. Tylko do odczytu obserwowalna kolekcja
- 11. Właściwość tylko do odczytu OData
- 12. Prawa dostępu tylko do odczytu CouchDB
- 13. Czy JAXB może utworzyć właściwość klasy "tylko do odczytu"?
- 14. Edytor MVC3 Tylko do odczytu
- 15. CoreOS: tylko do odczytu systemu
- 16. Edycja widoku tylko do odczytu
- 17. tylko do odczytu atrybutów przełącz
- 18. Tabela jest „tylko do odczytu”
- 19. Zastępuje właściwość tylko do odczytu z kolumną tylko do odczytu, która ma tę samą wartość.
- 20. Jak zwrócić tylko do odczytu kopię kolekcji
- 21. Jak DropdownList tylko do odczytu w C#
- 22. Jak słownika tylko do odczytu w Pythonie
- 23. Lista ciągów tylko do odczytu
- 24. SQLite/PHP tylko do odczytu?
- 25. Otwórz plik tylko do odczytu
- 26. Komórki DataGridView tylko do odczytu
- 27. Repa --- Jak utworzyć instancję odczytu?
- 28. Jak wykonać QCheckBox tylko do odczytu, ale nie do szarzenia
- 29. Jak utworzyć odniesienie do gałęzi odgałęzień git, aby było tylko do odczytu?
- 30. Zastępowanie właściwość tylko do odczytu w podklasie