How to copy RDS database from Account A to Account B

0

Perimeter is RDS for Oracle or Postgres, but the question can be intended with a wider scope, considering all RDS engines.

Example: customer needs to copy a database from Prod account to Test account.

The procedure is:

  1. create a manual snapshot of prod database in prod account
  2. share the snapshot with the test account
  3. restore the snapshot in the test account but there are limitations as explained here:

Share manual Amazon RDS DB snapshots with another AWS account

https://aws.amazon.com/it/premiumsupport/knowledge-center/rds-snapshots-share-account/

In particular this limitation:

"You can't share manual snapshots of DB instances that use custom option groups with persistent or permanent options, such as Transparent Data Encryption (TDE) and time zone"

Customer uses "custom option groups" with specific timezone different from default. Given that source database and target database will need the same timezone, is it possible to bypass the current limitation in a "cross-account snapshot share" context? this is really a severe limitation for the customer at moment. Any experience to share?

Thanks

1개 답변
0

Dear Customer - Thanks for reaching out to us via AWS re:Post. First of all, allow me the opportunity to apologize for the delay in response to this post. I checked it just now and started working on it. I see that you wanted advice on copying database from one account to another when there is option group with persistent or permanent options attached - As a workaround you can create new instance without TDE option and copy data using EXPDP/IMPDP and then take snapshot of new instance and share it in different AWS account.

Below are the high level steps required for this workaround .

  • Create a new RDS instance with similar configuration but without any persistent/permanent options
  • Take a export backup using datapump and copy the dump files to S3 using S3 integration
  • Download the dump files in newly created instance and perform import using datapump.
  • Now take snapshot of new instance having data imported
  • Share this snapshot with any AWS account (as per your requirement)

Kindly refer below document [B] for S3 integration, [C] for importing data in RDS Oracle. Stay safe and have a nice day ahead !

References:

[A] Limitation on TDE Snapshots. https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Tutorials.RestoringFromSnapshot.html https://aws.amazon.com/premiumsupport/knowledge-center/rds-snapshots-share-account/

[B] S3 Integration. https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-s3-integration.html

[C] Expdp/Impdp https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Oracle.Procedural.Importing.html#Oracle.Procedural.Importing.DataPump.S3

[D] Import data from the dump created. https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Oracle.Procedural.Importing.html#Oracle.Procedural.Importing.DataPump.DBLink

AWS
전문가
답변함 2년 전
profile pictureAWS
전문가
kentrad
검토됨 2년 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠