Considérons le scénario suivant ....Comment puis-je créer un lien de base de données en lecture seule dans Oracle
J'ai un utilisateur maître MASTER.
J'ai un test utilisateur TEST.
Pour les deux utilisateurs, la structure de la table est la même. Les deux utilisateurs peuvent être sur différents serveurs Oracle.
puis-je créer un lien de base de données comme master_link en se connectant en tant qu'utilisateur test pour SQL Plus en utilisant la commande suivante
CREATE DATABASE LINK master_link CONNECT TO MASTER IDENTIFIE PAR mot de passe UTILISANT (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = 192.168.9.139) (PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))
Par loggin en tant qu'utilisateur d'essai et en utilisant le nom du lien de base de données i peut modifier le tables dans l'utilisateur principal. par exemple
mise à jour table1 @ master_link set display_title = 'PONDS';
Cette requête met à jour la table table1 de l'utilisateur principal. Mon exigence est que je veux donner une autorisation en lecture seule au lien de base de données (lien_maître) afin que l'utilisateur de test ne puisse pas modifier ou insérer dans une table dans l'utilisateur principal en utilisant le lien de base de données.
ont d'autres options i? Je ne veux pas créer un nouvel utilisateur master_read_only. Est-ce que je peux y arriver uniquement par maître et utilisateur de test – ponds
Comme le souligne Alex, vous pouvez créer un nouvel utilisateur sur la base de données locale, créer le lien de base de données en tant que lien privé dans ce nouveau schéma, créer des vues dans le nouveau schéma local tables distantes, puis accorder à l'utilisateur de test local un accès SELECT sur ces vues. Cela n'est pas aussi sûr que de créer un utilisateur en lecture seule dans la base de données master car le nouvel utilisateur de la base de données locale aura un accès complet aux objets du schéma maître. –
@Justin: vrai, mais l'utilisateur de test n'aura pas un accès complet au maître qui semble être le point principal. Personne, sauf @ponds, ne doit pouvoir se connecter en tant qu'utilisateur propriétaire du lien, et il doit connaître les informations d'identification du maître pour créer le lien qui ne comporte pas beaucoup de risques (à condition que l'utilisateur soit ensuite utilisé pour d'autres choses aussi, ou partagées par la suite). Je suis d'accord que c'est moins satisfaisant si * 8-) –