Hi I have a small question. I need some suggestions on how to solve this problem.

I have database A,B,C,D. D access data from A,B,C in all environments (DEV,UAT,PROD).

SO whenever database A,B,C get refreshed from PROD all the grants from the respective databases to D in DEV/UAT are being lost by which I need to run all the grants again in these environments.

Is there an approach that I can use so that this problem won't be repeated going forward.

有帮助吗?

解决方案

Following recommendations to solve the problem:

  1. If you are using expdp/impdp, make sure that you have not mentioned "exclude=grant" on the expdp/impdp command. By default, grants on the objects also gets exported/imported if you don't exclude it in the command.

  2. If you are using link server and created refreshed objects using drop and create(i.e. CTAS), populate data using insert into table(field list) select field_list from remote_table@link_server_name. so that you will not loose permission on the table. Please be informed that it's required to truncate the destination table or insert incremental rows if it's feasible.

  3. It's feasible to use other sync process using industry standard tools like oracle data guard, stream and golden gate if you have license to use them in production.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top