Как создать DDL для всех пользователей и привилегий в Oracle - PullRequest
0 голосов
/ 27 апреля 2020

Я пытаюсь перенести экземпляр базы данных из RDS Oracle в локальную Oracle. Я все еще довольно плохо знаком со сценариями базы данных. Я нашел этот скрипт, который работает для меня для одного пользователя, который я передаю через SQLDeveloper. Однако у меня более 200 пользователей на моем экземпляре RDS Oracle.

https://oracle-base.com/dba/script?category=script_creation&file=user_ddl.sql

Я попытался удалить здесь переменную для имени пользователя и rownum, но это создает много повторяющихся записей. Может ли кто-нибудь подсказать мне, как лучше всего добиться результата, описанного выше, для всех пользователей.

Очень признателен!

1 Ответ

2 голосов
/ 27 апреля 2020

Я бы предложил другой подход (если вы можете его использовать): передача данных.

Вы выполняете экспорт

  • , используя пользователя SYSTEM или SYS, поскольку они владеют базой данных и могут экспортировать ...
  • ... FULL база данных
  • содержимое будет METADATA_ONLY (так что вы пропустите data ; я понял, вам это не нужно)

Это было бы что-то вроде

expdp system/pwd file=your_db.dmp full=y content=metadata_only

Импорт выполняется аналогичным образом в целевой базе данных.

...