{"id":13672,"date":"2020-03-17T15:24:01","date_gmt":"2020-03-17T14:24:01","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/migrating-an-oracle-instance-to-aws-aurora-1-setting-up-the-base-infrastructure\/"},"modified":"2020-03-17T15:24:01","modified_gmt":"2020-03-17T14:24:01","slug":"migrating-an-oracle-instance-to-aws-aurora-1-setting-up-the-base-infrastructure","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/migrating-an-oracle-instance-to-aws-aurora-1-setting-up-the-base-infrastructure\/","title":{"rendered":"Migrating an Oracle instance to AWS Aurora &#8211; 1 &#8211; Setting up the base infrastructure"},"content":{"rendered":"<p>Migrating database to the cloud is a hot topic since a few years. As more and more of our customers are in the cloud, and some of them in <a href=\"https:\/\/aws.amazon.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">AWS<\/a>, migrating some of their Oracle databases to AWS Aurora becomes a topic from time to time. In this little blog series we&#8217;ll have a look at how you can use the <a href=\"https:\/\/aws.amazon.com\/dms\/\" target=\"_blank\" rel=\"noopener noreferrer\">AWS Database Migration Service (DMS)<\/a> and the <a href=\"https:\/\/aws.amazon.com\/dms\/schema-conversion-tool\/\" target=\"_blank\" rel=\"noopener noreferrer\">AWS Schema Conversion Tool (SCT)<\/a> for simplifying such a task. In this very first post we&#8217;ll setup the basic infrastructure we need for the demo.<\/p>\n<p><!--more--><\/p>\n<p>I&#8217;ll be using <a href=\"https:\/\/www.terraform.io\" target=\"_blank\" rel=\"noopener noreferrer\">Terraform<\/a> once again for bringing up all the basic stuff. For the purpose of <a href=\"https:\/\/aws.amazon.com\/vpc\/\" target=\"_blank\" rel=\"noopener noreferrer\">VPCs<\/a>, <a href=\"https:\/\/docs.aws.amazon.com\/vpc\/latest\/userguide\/VPC_Subnets.html\" target=\"_blank\" rel=\"noopener noreferrer\">Subnets<\/a>, <a href=\"https:\/\/docs.aws.amazon.com\/vpc\/latest\/userguide\/VPC_Route_Tables.html\" target=\"_blank\" rel=\"noopener noreferrer\">route tables<\/a> and <a href=\"https:\/\/docs.aws.amazon.com\/vpc\/latest\/userguide\/VPC_SecurityGroups.html\" target=\"_blank\" rel=\"noopener noreferrer\">Security Groups<\/a> please check the AWS documentation, this is not in the scope of this post.<\/p>\n<p>The first thing to do in the Terraform script is to specify the AWS profile and region we want to use:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\n\/\/ set the provider to AWS and the AWS region to eu-central-1\nprovider \"aws\" {\n  profile    = \"test\"\n  region     = \"eu-central-1\"\n}\n<\/pre>\n<p>After that there are two variables: the first one defines my local IP-address which is used in the security group definitions below, so connections via SSH and RDP will be possible from my current location. The second one defines the <a href=\"https:\/\/docs.aws.amazon.com\/AWSEC2\/latest\/UserGuide\/user-data.html\" target=\"_blank\" rel=\"noopener noreferrer\">User data<\/a> that will be passed to the EC2 instance that will host the Oracle source database. Basically it installs the Oracle Database Express Edition (XE) Release 18.4.0.0.0 (18c) and the Oracle sample schemas:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nlocals {\n  my_ip        = [\"XXX.XXX.XXX.XXX\/32\"]\n  instance-userdata = &lt;&lt;EOF\n#!\/bin\/bash\nsudo yum update -y\nsudo yum install -y wget perl\nwget https:\/\/download.oracle.com\/otn-pub\/otn_software\/db-express\/oracle-database-xe-18c-1.0-1.x86_64.rpm -O \/home\/ec2-user\/oracle-database-xe-18c-1.0-1.x86_64.rpm\nwget https:\/\/yum.oracle.com\/repo\/OracleLinux\/OL7\/latest\/x86_64\/getPackage\/oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm -O \/home\/ec2-user\/oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm\nwget wget http:\/\/mirror.centos.org\/centos\/7\/os\/x86_64\/Packages\/compat-libstdc++-33-3.2.3-72.el7.i686.rpm -O \/home\/ec2-user\/compat-libstdc++-33-3.2.3-72.el7.i686.rpm\nsudo yum localinstall -y \/home\/ec2-user\/compat-libstdc++-33-3.2.3-72.el7.i686.rpm\nsudo yum localinstall -y \/home\/ec2-user\/oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm\nsudo yum localinstall -y \/home\/ec2-user\/oracle-database-xe-18c-1.0-1.x86_64.rpm\n(echo \"manager\"; echo \"manager\";) | \/etc\/init.d\/oracle-xe-18c configure\nsudo echo ORACLE_HOME=\/opt\/oracle\/product\/18c\/dbhomeXE\/ &gt;&gt; \/home\/oracle\/.bash_profile\nsudo echo PATH=$PATH:$ORACLE_HOME\/bin &gt;&gt; \/home\/oracle\/.bash_profile\nsudo echo ORACLE_SID=xe &gt;&gt; \/home\/oracle\/.bash_profile\nsudo echo export ORACLE_HOME PATH ORACLE_SID &gt;&gt; \/home\/oracle\/.bash_profile\nwget https:\/\/github.com\/oracle\/db-sample-schemas\/archive\/v19.2.tar.gz -O \/home\/oracle\/v19.2.tar.gz\nsudo su - oracle -c \"tar -axf v19.2.tar.gz\"\nsudo su - oracle -c \"cd db-sample-schemas-19.2; perl -p -i.bak -e 's#__SUB__CWD__#\/home\/oracle\/db-sample-schemas-19.2#g' *.sql *\/*.sql *\/*.dat\"\nsudo su - oracle -c \"cd db-sample-schemas-19.2; sqlplus system\/manager@localhost\/XEPDB1 @mksample manager manager manager manager manager manager manager manager users temp \/tmp\/ localhost\/XEPDB1\"\nchkconfig --add oracle-xe-18c\nEOF\n}\n<\/pre>\n<p>The next lines of the Terraform script will setup all the network related stuff which I am not going to explain here:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\n\/\/ create the virtual private network\nresource \"aws_vpc\" \"dwe-vpc\" {\n  cidr_block = \"10.0.0.0\/16\"\n  enable_dns_hostnames = true\n  enable_dns_support = true\n  \n  tags = {\n    Name = \"dwe-vpc\"\n  }\n}\n\n\/\/ create the internet gateway\nresource \"aws_internet_gateway\" \"dwe-igw\" {\n  vpc_id = \"${aws_vpc.dwe-vpc.id}\"\n\n  tags = {\n    Name = \"dwe-igw\"\n  }\n}\n\n\/\/ create a dedicated subnet\nresource \"aws_subnet\" \"dwe-subnet\" {\n  vpc_id            = \"${aws_vpc.dwe-vpc.id}\"\n  cidr_block        = \"10.0.1.0\/24\"\n  availability_zone = \"eu-central-1a\"\n\n  tags = {\n    Name = \"dwe-subnet\"\n  }\n}\n\n\/\/ create a second dedicated subnet, this is required for RDS\nresource \"aws_subnet\" \"dwe-subnet-2\" {\n  vpc_id            = \"${aws_vpc.dwe-vpc.id}\"\n  cidr_block        = \"10.0.2.0\/24\"\n  availability_zone = \"eu-central-1b\"\n\n  tags = {\n    Name = \"dwe-subnet-2\"\n  }\n}\n\n\n\/\/ create routing table which points to the internet gateway\nresource \"aws_route_table\" \"dwe-route\" {\n  vpc_id = \"${aws_vpc.dwe-vpc.id}\"\n\n  route {\n    cidr_block = \"0.0.0.0\/0\"\n    gateway_id = \"${aws_internet_gateway.dwe-igw.id}\"\n  }\n\n  tags = {\n    Name = \"dwe-igw\"\n  }\n}\n\n\/\/ associate the routing table with the subnet\nresource \"aws_route_table_association\" \"subnet-association\" {\n  subnet_id      = \"${aws_subnet.dwe-subnet.id}\"\n  route_table_id = \"${aws_route_table.dwe-route.id}\"\n}\n\n\/\/ create a security group for ssh access to the linux systems\nresource \"aws_security_group\" \"dwe-sg-ssh\" {\n  name        = \"dwe-sg-ssh\"\n  description = \"Allow SSH inbound traffic\"\n  vpc_id      = \"${aws_vpc.dwe-vpc.id}\"\n\n  ingress {\n    from_port   = 22\n    to_port     = 22\n    protocol    = \"tcp\"\n    cidr_blocks = local.my_ip\n  }\n\n  \/\/ allow access to the internet\n  egress {\n    from_port   = 0\n    to_port     = 0\n    protocol    = \"-1\"\n    cidr_blocks = [\"0.0.0.0\/0\"]\n  }\n\n  tags = {\n    Name = \"dwe-sg-ssh\"\n  }\n}\n\n\/\/ create a security group for rdp access to the windows systems\nresource \"aws_security_group\" \"dwe-sg-rdp\" {\n  name        = \"dwe-sg-rdp\"\n  description = \"Allow RDP inbound traffic\"\n  vpc_id      = \"${aws_vpc.dwe-vpc.id}\"\n\n  ingress {\n    from_port   = 3389\n    to_port     = 3389\n    protocol    = \"tcp\"\n    cidr_blocks = local.my_ip\n  }\n\n  \/\/ allow access to the internet\n  egress {\n    from_port   = 0\n    to_port     = 0\n    protocol    = \"-1\"\n    cidr_blocks = [\"0.0.0.0\/0\"]\n  }\n\n  tags = {\n    Name = \"dwe-sg-rdp\"\n  }\n}\n<\/pre>\n<p>Once the network is ready we&#8217;ll deploy the EC2 instance that will run the Oracle database (Red Hat 7.7 in this case):<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\n\/\/ setup a red hat 7 system for the oracle source\nresource \"aws_instance\" \"dwe-oracle-source\" {\n  ami                         = \"ami-05798e9b15f285b27\"\n  instance_type               = \"t2.medium\"\n  key_name                    = \"dwe-key-pair\"\n  vpc_security_group_ids      = [\"${aws_security_group.dwe-sg-ssh.id}\"]\n  subnet_id                   = \"${aws_subnet.dwe-subnet.id}\"\n  associate_public_ip_address = \"true\"\n  user_data                   = \"${base64encode(local.instance-userdata)}\"\n\n  root_block_device {\n    volume_size           = \"30\"\n    volume_type           = \"standard\"\n    delete_on_termination = \"true\"\n  }\n\n  tags = {\n    Name = \"dwe-oracle-source\"\n  }\n}\n<\/pre>\n<p>As the target for the migration will be an Aurora cluster we will need that as well. This are basically three steps:<\/p>\n<ul>\n<li>Create a <a href=\"https:\/\/docs.aws.amazon.com\/AmazonRDS\/latest\/UserGuide\/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.Subnets\" target=\"_blank\" rel=\"noopener noreferrer\">DB Subnet Group<\/a><\/li>\n<li>Creating the <a href=\"https:\/\/docs.aws.amazon.com\/AmazonRDS\/latest\/AuroraUserGuide\/Aurora.CreateInstance.html\" target=\"_blank\" rel=\"noopener noreferrer\">RDS cluster<\/a><\/li>\n<li>Creating and attaching the RDS instance to the RDS cluster<\/li>\n<\/ul>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\n\/\/ create the subnet group for RDS instance\nresource \"aws_db_subnet_group\" \"dwe-rds-subnet-group\" {\n    name = \"dwe-rds-subnet-group\"\n    subnet_ids = [\n        \"${aws_subnet.dwe-subnet.id}\",\n        \"${aws_subnet.dwe-subnet-2.id}\"\n    ]\n}\n\n\/\/ create the RDS cluster\nresource \"aws_rds_cluster\" \"aws_rds_cluster_dwe\" {\n    backup_retention_period = \"7\"\n    cluster_identifier = \"aurora-dwe\"\n    db_cluster_parameter_group_name = \"default.aurora-postgresql10\"\n    db_subnet_group_name = \"${aws_db_subnet_group.dwe-rds-subnet-group.id}\"\n    deletion_protection = \"false\"\n    engine = \"aurora-postgresql\"\n    engine_mode = \"provisioned\"\n    engine_version = \"10.11\"\n    master_password = \"manager123\"\n    master_username = \"postgres\"\n    port = \"5432\"\n    skip_final_snapshot = true\n}\n\n\/\/ create the RDS instance\nresource \"aws_rds_cluster_instance\" \"aws_db_instance_dwe\" {\n    auto_minor_version_upgrade = \"true\"\n    publicly_accessible = \"false\"\n    monitoring_interval = \"0\"\n    instance_class = \"db.r5.large\"\n    cluster_identifier = \"${aws_rds_cluster.aws_rds_cluster_dwe.id}\"    \n    identifier = \"aurora-1-instance-1\"\n    db_subnet_group_name = \"${aws_db_subnet_group.dwe-rds-subnet-group.id}\"\n    engine = \"aurora-postgresql\"\n    engine_version = \"10.11\"\n}\n<\/pre>\n<p>For running the AWS Schema Conversion Tool we&#8217;ll finally setup a Windows instance so we are able to connect via RDP and install the AWS Schema Conversion Tool in the next post:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\n\/\/ create a windows instance for the AWS SCT\nresource \"aws_instance\" \"dwe-oracle-sct\" {\n  ami           = \"ami-0cc2a6842e0da929f\"\n  instance_type = \"t2.micro\"\n  key_name                    = \"dwe-key-pair\"\n  vpc_security_group_ids      = [\"${aws_security_group.dwe-sg-rdp.id}\"]\n  subnet_id                   = \"${aws_subnet.dwe-subnet.id}\"\n  associate_public_ip_address = \"true\"\n\n  root_block_device { \n    volume_size           = \"30\"\n    volume_type           = \"standard\"\n    delete_on_termination = \"true\"\n  }\n\n  tags = {\n    Name = \"dwe-oracle-sct\"\n  }\n}\n<\/pre>\n<p>Put all these steps together in a file and let Terraform do the work for you:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\n$ terraform init\n$ terrafrom plan\n$ terraform apply\n<\/pre>\n<p>The whole Oracle stuff will take some time to complete as downloading the Oracle XE rpm and the installation is nothing you can do in seconds.<br \/>\nIn the next post we&#8217;ll look at the AWS Schema Conversion Utility and how that can be used to convert an Oracle schema to an AWS Aurora with PostgreSQL compatibility schema.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Migrating database to the cloud is a hot topic since a few years. As more and more of our customers are in the cloud, and some of them in AWS, migrating some of their Oracle databases to AWS Aurora becomes a topic from time to time. In this little blog series we&#8217;ll have a look [&hellip;]<\/p>\n","protected":false},"author":29,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[229],"tags":[1871,133,1143,77,1872],"type_dbi":[],"class_list":["post-13672","post","type-post","status-publish","format-standard","hentry","category-database-administration-monitoring","tag-aurora","tag-aws","tag-dms","tag-postgresql","tag-sct"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Migrating an Oracle instance to AWS Aurora - 1 - Setting up the base infrastructure - dbi Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/migrating-an-oracle-instance-to-aws-aurora-1-setting-up-the-base-infrastructure\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Migrating an Oracle instance to AWS Aurora - 1 - Setting up the base infrastructure\" \/>\n<meta property=\"og:description\" content=\"Migrating database to the cloud is a hot topic since a few years. As more and more of our customers are in the cloud, and some of them in AWS, migrating some of their Oracle databases to AWS Aurora becomes a topic from time to time. In this little blog series we&#8217;ll have a look [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/migrating-an-oracle-instance-to-aws-aurora-1-setting-up-the-base-infrastructure\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2020-03-17T14:24:01+00:00\" \/>\n<meta name=\"author\" content=\"Daniel Westermann\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@westermanndanie\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Daniel Westermann\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/migrating-an-oracle-instance-to-aws-aurora-1-setting-up-the-base-infrastructure\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/migrating-an-oracle-instance-to-aws-aurora-1-setting-up-the-base-infrastructure\/\"},\"author\":{\"name\":\"Daniel Westermann\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"headline\":\"Migrating an Oracle instance to AWS Aurora &#8211; 1 &#8211; Setting up the base infrastructure\",\"datePublished\":\"2020-03-17T14:24:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/migrating-an-oracle-instance-to-aws-aurora-1-setting-up-the-base-infrastructure\/\"},\"wordCount\":434,\"commentCount\":0,\"keywords\":[\"Aurora\",\"AWS\",\"DMS\",\"PostgreSQL\",\"SCT\"],\"articleSection\":[\"Database Administration &amp; Monitoring\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/migrating-an-oracle-instance-to-aws-aurora-1-setting-up-the-base-infrastructure\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/migrating-an-oracle-instance-to-aws-aurora-1-setting-up-the-base-infrastructure\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/migrating-an-oracle-instance-to-aws-aurora-1-setting-up-the-base-infrastructure\/\",\"name\":\"Migrating an Oracle instance to AWS Aurora - 1 - Setting up the base infrastructure - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"datePublished\":\"2020-03-17T14:24:01+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/migrating-an-oracle-instance-to-aws-aurora-1-setting-up-the-base-infrastructure\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/migrating-an-oracle-instance-to-aws-aurora-1-setting-up-the-base-infrastructure\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/migrating-an-oracle-instance-to-aws-aurora-1-setting-up-the-base-infrastructure\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Migrating an Oracle instance to AWS Aurora &#8211; 1 &#8211; Setting up the base infrastructure\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\",\"name\":\"Daniel Westermann\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g\",\"caption\":\"Daniel Westermann\"},\"description\":\"Daniel Westermann is Principal Consultant and Technology Leader Open Infrastructure at dbi services. He has more than 15 years of experience in management, engineering and optimization of databases and infrastructures, especially on Oracle and PostgreSQL. Since the beginning of his career, he has specialized in Oracle Technologies and is Oracle Certified Professional 12c and Oracle Certified Expert RAC\/GridInfra. Over time, Daniel has become increasingly interested in open source technologies, becoming \u201cTechnology Leader Open Infrastructure\u201d and PostgreSQL expert. \u00a0Based on community or EnterpriseDB tools, he develops and installs complex high available solutions with PostgreSQL. He is also a certified PostgreSQL Plus 9.0 Professional and a Postgres Advanced Server 9.4 Professional. He is a regular speaker at PostgreSQL conferences in Switzerland and Europe. Today Daniel is also supporting our customers on AWS services such as AWS RDS, database migrations into the cloud, EC2 and automated infrastructure management with AWS SSM (System Manager). He is a certified AWS Solutions Architect Professional. Prior to dbi services, Daniel was Management System Engineer at LC SYSTEMS-Engineering AG in Basel. Before that, he worked as Oracle Developper &amp;\u00a0Project Manager at Delta Energy Solutions AG in Basel (today Powel AG). Daniel holds a diploma in Business Informatics (DHBW, Germany). His branch-related experience mainly covers the pharma industry, the financial sector, energy, lottery and telecommunications.\",\"sameAs\":[\"https:\/\/x.com\/westermanndanie\"],\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/daniel-westermann\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Migrating an Oracle instance to AWS Aurora - 1 - Setting up the base infrastructure - dbi Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/migrating-an-oracle-instance-to-aws-aurora-1-setting-up-the-base-infrastructure\/","og_locale":"en_US","og_type":"article","og_title":"Migrating an Oracle instance to AWS Aurora - 1 - Setting up the base infrastructure","og_description":"Migrating database to the cloud is a hot topic since a few years. As more and more of our customers are in the cloud, and some of them in AWS, migrating some of their Oracle databases to AWS Aurora becomes a topic from time to time. In this little blog series we&#8217;ll have a look [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/migrating-an-oracle-instance-to-aws-aurora-1-setting-up-the-base-infrastructure\/","og_site_name":"dbi Blog","article_published_time":"2020-03-17T14:24:01+00:00","author":"Daniel Westermann","twitter_card":"summary_large_image","twitter_creator":"@westermanndanie","twitter_misc":{"Written by":"Daniel Westermann","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/migrating-an-oracle-instance-to-aws-aurora-1-setting-up-the-base-infrastructure\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/migrating-an-oracle-instance-to-aws-aurora-1-setting-up-the-base-infrastructure\/"},"author":{"name":"Daniel Westermann","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"headline":"Migrating an Oracle instance to AWS Aurora &#8211; 1 &#8211; Setting up the base infrastructure","datePublished":"2020-03-17T14:24:01+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/migrating-an-oracle-instance-to-aws-aurora-1-setting-up-the-base-infrastructure\/"},"wordCount":434,"commentCount":0,"keywords":["Aurora","AWS","DMS","PostgreSQL","SCT"],"articleSection":["Database Administration &amp; Monitoring"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/migrating-an-oracle-instance-to-aws-aurora-1-setting-up-the-base-infrastructure\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/migrating-an-oracle-instance-to-aws-aurora-1-setting-up-the-base-infrastructure\/","url":"https:\/\/www.dbi-services.com\/blog\/migrating-an-oracle-instance-to-aws-aurora-1-setting-up-the-base-infrastructure\/","name":"Migrating an Oracle instance to AWS Aurora - 1 - Setting up the base infrastructure - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2020-03-17T14:24:01+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/migrating-an-oracle-instance-to-aws-aurora-1-setting-up-the-base-infrastructure\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/migrating-an-oracle-instance-to-aws-aurora-1-setting-up-the-base-infrastructure\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/migrating-an-oracle-instance-to-aws-aurora-1-setting-up-the-base-infrastructure\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Migrating an Oracle instance to AWS Aurora &#8211; 1 &#8211; Setting up the base infrastructure"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66","name":"Daniel Westermann","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g","caption":"Daniel Westermann"},"description":"Daniel Westermann is Principal Consultant and Technology Leader Open Infrastructure at dbi services. He has more than 15 years of experience in management, engineering and optimization of databases and infrastructures, especially on Oracle and PostgreSQL. Since the beginning of his career, he has specialized in Oracle Technologies and is Oracle Certified Professional 12c and Oracle Certified Expert RAC\/GridInfra. Over time, Daniel has become increasingly interested in open source technologies, becoming \u201cTechnology Leader Open Infrastructure\u201d and PostgreSQL expert. \u00a0Based on community or EnterpriseDB tools, he develops and installs complex high available solutions with PostgreSQL. He is also a certified PostgreSQL Plus 9.0 Professional and a Postgres Advanced Server 9.4 Professional. He is a regular speaker at PostgreSQL conferences in Switzerland and Europe. Today Daniel is also supporting our customers on AWS services such as AWS RDS, database migrations into the cloud, EC2 and automated infrastructure management with AWS SSM (System Manager). He is a certified AWS Solutions Architect Professional. Prior to dbi services, Daniel was Management System Engineer at LC SYSTEMS-Engineering AG in Basel. Before that, he worked as Oracle Developper &amp;\u00a0Project Manager at Delta Energy Solutions AG in Basel (today Powel AG). Daniel holds a diploma in Business Informatics (DHBW, Germany). His branch-related experience mainly covers the pharma industry, the financial sector, energy, lottery and telecommunications.","sameAs":["https:\/\/x.com\/westermanndanie"],"url":"https:\/\/www.dbi-services.com\/blog\/author\/daniel-westermann\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/13672","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/29"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=13672"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/13672\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=13672"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=13672"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=13672"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=13672"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}