Skip to content

Commit a11291b

Browse files
Gaurav TanejajiaqchenO
authored andcommitted
Added - Support for MySQL <> MySQL Homogenous Migration support
1 parent 000388a commit a11291b

24 files changed

+6278
-5527
lines changed

examples/databasemigration/migration/migration.tf

Lines changed: 57 additions & 268 deletions
Original file line numberDiff line numberDiff line change
@@ -96,19 +96,11 @@ resource "oci_core_vcn" "test_vcn" {
9696
compartment_id = var.compartment_id
9797
}
9898

99-
data "oci_database_migration_jobs" "test_jobs" {
100-
display_name = "displayName"
101-
filter {
102-
name = "TF_id"
103-
values = [
104-
"jobId"]
105-
}
106-
migration_id = "migrationId"
107-
state = "Succeeded"
99+
variable "jobId" {
100+
default = ""
108101
}
109-
110102
data "oci_database_migration_job" "test_job" {
111-
job_id = "jobId"
103+
job_id = var.jobId
112104
}
113105

114106
data "oci_database_migration_agent" "test_agent" {
@@ -121,297 +113,94 @@ data "oci_database_migration_migrations" "test_migrations" {
121113
}
122114

123115
data "oci_database_migration_job_advisor_report" "test_job_advisor_report" {
124-
job_id = "jobId"
116+
job_id = var.jobId
125117
}
126118

127119
data "oci_database_migration_job_output" "test_job_output" {
128-
job_id = "jobId"
120+
job_id = var.jobId
129121
}
130122

131123
data "oci_database_migration_migration_object_types" "test_migration_object_types" {
124+
connection_type = "MYSQL"
132125
}
133126

134127
data "oci_database_migration_agent_images" "test_agent_images" {}
135128

136129
resource "oci_database_migration_connection" "test_connection_target" {
137-
admin_credentials {
138-
password = random_string.autonomous_database_admin_password.result
139-
username = "admin"
140-
}
141130
compartment_id = var.compartment_id
142131
database_id = var.database_id
143-
database_type = "AUTONOMOUS"
144132
display_name = "TF_display_test_create"
145-
private_endpoint {
146-
compartment_id = var.compartment_id
147-
subnet_id = var.subnet_id
148-
vcn_id = var.vcn_id
149-
}
150-
vault_details {
151-
compartment_id = var.compartment_id
152-
key_id = var.kms_key_id
153-
vault_id = var.kms_vault_id
154-
}
133+
134+
connection_type = "MYSQL"
135+
key_id = var.kms_key_id
136+
vault_id = var.kms_vault_id
137+
password = "BEstrO0ng_#11"
138+
technology_type = "AMAZON_RDS_MYSQL"
139+
username = "ggfe"
140+
database_name = "ggfe"
141+
host = "254.249.0.0"
142+
port = "3306"
143+
replication_password="replicationPassword"
144+
replication_username="replicationUsername"
145+
security_protocol="PLAIN"
146+
ssh_host = "sshHost"
147+
ssh_key = "sshKey"
148+
ssh_sudo_location = "sshSudoLocation"
149+
ssh_user = "sshUser"
150+
subnet_id = var.subnet_id
151+
wallet = "wallet2"
152+
155153
}
156154

157155
data "oci_identity_availability_domains" "test_availability_domains" {
158156
compartment_id = var.compartment_id
159157
}
160158

161159
resource "oci_database_migration_connection" "test_connection_source" {
162-
admin_credentials {
163-
password = "ORcl##4567890"
164-
username = "admin"
165-
}
166-
compartment_id = var.compartment_id
167-
connect_descriptor {
168-
connect_string = "(description=(address=(port=1521)(host=10.2.2.17))(connect_data=(service_name=pdb0107svc.dbsubnet.gghubvcn.oraclevcn.com)))"
169-
}
170-
database_type = "MANUAL"
171-
display_name = "TF_display_test_create_source"
172-
ssh_details {
173-
host = "10.2.2.17"
174-
sshkey = var.ssh_key
175-
sudo_location = "/usr/bin/sudo"
176-
user = "opc"
177-
}
178-
vault_details {
179-
compartment_id = var.compartment_id
180-
key_id = var.kms_key_id
181-
vault_id = var.kms_vault_id
182-
}
183-
}
184-
185-
resource "oci_database_migration_connection" "test_connection_source_rds" {
186-
admin_credentials {
187-
password = "ORcl##4567890"
188-
username = "admin"
189-
}
190-
compartment_id = var.compartment_id
191-
connect_descriptor {
192-
connect_string = "(description=(address=(port=1521)(host=10.2.2.17))(connect_data=(service_name=pdb0107svc.dbsubnet.gghubvcn.oraclevcn.com)))"
193-
}
194-
database_type = "MANUAL"
195-
manual_database_sub_type = "RDS_ORACLE"
196-
display_name = "TF_display_test_create_source_rds"
197-
vault_details {
198-
compartment_id = var.compartment_id
199-
key_id = var.kms_key_id
200-
vault_id = var.kms_vault_id
201-
}
202-
}
203-
204-
resource "oci_database_migration_connection" "test_connection_source_no_ssh" {
205-
admin_credentials {
206-
password = "ORcl##4567890"
207-
username = "admin"
208-
}
209160
compartment_id = var.compartment_id
210-
database_type = "USER_MANAGED_OCI"
211-
database_id = var.src_database_id
212161
display_name = "TF_display_test_create_source"
213-
214-
connect_descriptor {
215-
connect_string = "(description=(address=(port=1521)(host=10.0.0.42))(connect_data=(service_name=pdb.sub10311806420.vcntesttf.oraclevcn.com)))"
216-
}
217-
vault_details {
218-
compartment_id = var.compartment_id
219-
key_id = var.kms_key_id
220-
vault_id = var.kms_vault_id
221-
}
222-
}
223-
224-
resource "oci_database_migration_connection" "test_connection_target_usr_managed_oci" {
225-
admin_credentials {
226-
password = random_string.autonomous_database_admin_password.result
227-
username = "admin"
228-
}
229-
compartment_id = var.compartment_id
230-
database_type = "USER_MANAGED_OCI"
231-
database_id = var.tgt_database_id
232-
display_name = "TF_display_test_create_target"
233-
234-
connect_descriptor {
235-
connect_string = "(description=(address=(port=1521)(host=10.0.0.42))(connect_data=(service_name=pdb.sub10311806420.vcntesttf.oraclevcn.com)))"
236-
}
237-
vault_details {
238-
compartment_id = var.compartment_id
239-
key_id = var.kms_key_id
240-
vault_id = var.kms_vault_id
241-
}
162+
connection_type = "MYSQL"
163+
key_id = var.kms_key_id
164+
vault_id = var.kms_vault_id
165+
password = "BEstrO0ng_#11"
166+
technology_type = "AMAZON_RDS_MYSQL"
167+
username = "ggfe"
168+
database_id = var.database_mysql_id
169+
database_name = "ggfe"
170+
host = "254.249.0.0"
171+
port = "3306"
172+
replication_password="replicationPassword"
173+
replication_username="replicationUsername"
174+
security_protocol="PLAIN"
175+
ssh_host = "sshHost"
176+
ssh_key = "sshKey"
177+
ssh_sudo_location = "sshSudoLocation"
178+
ssh_user = "sshUser"
179+
subnet_id = var.subnet_id
180+
wallet = "wallet2"
181+
182+
}
183+
184+
variable "database_mysql_id" {
185+
default = ""
242186
}
243187

244-
variable "secret_access_key" {
188+
variable "source_connection_mysql_id" {
245189
default = ""
246190
}
247-
variable "access_key_id" {
191+
variable "target_connection_mysql_id" {
248192
default = ""
249193
}
250194
resource "oci_database_migration_migration" "test_migration" {
251195
compartment_id = var.compartment_id
252-
253-
#csvText - Optional
254-
//csv_text = "MY_BIZZ,SRC_CITY,TABLE,EXCLUDE"
255-
golden_gate_service_details {
256-
settings {
257-
acceptable_lag = "10"
258-
extract {
259-
long_trans_duration = "10"
260-
performance_profile = "LOW"
261-
}
262-
}
263-
}
264-
data_transfer_medium_details {
265-
object_storage_details {
266-
bucket = "bucket"
267-
namespace = "namespace"
268-
}
269-
}
270-
data_transfer_medium_details_v2 {
271-
type = "AWS_S3"
272-
access_key_id = var.access_key_id
273-
object_storage_bucket {
274-
bucket = "bucket"
275-
namespace = "namespace"
276-
}
277-
name = "AWS-S3"
278-
region = "Ashburn"
279-
secret_access_key = var.secret_access_key
280-
}
281-
datapump_settings {
282-
export_directory_object {
283-
name = "test_export_dir"
284-
path = "/u01/app/oracle/product/19.0.0.0/dbhome_1/rdbms/log"
285-
}
286-
metadata_remaps {
287-
new_value = "DATA"
288-
old_value = "USERS"
289-
type = "TABLESPACE"
290-
}
291-
}
292-
exclude_objects {
293-
object = ".*"
294-
owner = "owner"
295-
is_omit_excluded_table_from_replication = "false"
296-
type = "ALL"
297-
}
298-
golden_gate_details {
299-
hub {
300-
rest_admin_credentials {
301-
password = random_string.autonomous_database_admin_password.result
302-
username = "oggadmin"
303-
}
304-
source_container_db_admin_credentials {
305-
password = random_string.autonomous_database_admin_password.result
306-
username = "c##ggadmin"
307-
}
308-
source_db_admin_credentials {
309-
password = random_string.autonomous_database_admin_password.result
310-
username = "ggadmin"
311-
}
312-
source_microservices_deployment_name = "Target"
313-
target_db_admin_credentials {
314-
password = random_string.autonomous_database_admin_password.result
315-
username = "ggadmin"
316-
}
317-
target_microservices_deployment_name = "Target"
318-
url = "https://10.0.0.0"
319-
}
320-
}
321-
source_database_connection_id = var.source_connection_id
322-
source_container_database_connection_id = var.source_connection_container_id
323-
target_database_connection_id = var.target_connection_id
324-
type = "ONLINE"
325-
vault_details {
326-
compartment_id = var.compartment_id
327-
key_id = var.kms_key_id
328-
vault_id = var.kms_vault_id
329-
}
330-
}
331-
332-
resource "oci_database_migration_migration" "test_migration_rds" {
333-
compartment_id = var.compartment_id
334-
335-
golden_gate_service_details {
336-
settings {
337-
acceptable_lag = "10"
338-
extract {
339-
long_trans_duration = "10"
340-
performance_profile = "LOW"
341-
}
342-
}
343-
}
344-
data_transfer_medium_details_v2 {
345-
type = "OBJECT_STORAGE"
346-
}
347-
datapump_settings {
348-
export_directory_object {
349-
name = "test_export_dir"
350-
path = "/u01/app/oracle/product/19.0.0.0/dbhome_1/rdbms/log"
351-
}
352-
metadata_remaps {
353-
new_value = "DATA"
354-
old_value = "USERS"
355-
type = "TABLESPACE"
356-
}
357-
}
358-
exclude_objects {
359-
object = ".*"
360-
owner = "owner"
361-
is_omit_excluded_table_from_replication = "false"
362-
type = "ALL"
363-
}
364-
source_database_connection_id = var.source_connection_rds_id
365-
target_database_connection_id = var.target_connection_id
196+
database_combination = "MYSQL"
197+
source_database_connection_id = var.source_connection_mysql_id
198+
target_database_connection_id = var.target_connection_mysql_id
366199
type = "ONLINE"
367-
vault_details {
368-
compartment_id = var.compartment_id
369-
key_id = var.kms_key_id
370-
vault_id = var.kms_vault_id
371-
}
372-
}
373-
374-
resource "oci_database_migration_migration" "test_no_ssh_migration" {
375-
compartment_id = var.compartment_id
376-
source_database_connection_id = oci_database_migration_connection.test_connection_source_no_ssh.id
377-
target_database_connection_id = oci_database_migration_connection.test_connection_target_usr_managed_oci.id
378-
type = "OFFLINE"
379-
data_transfer_medium_details {
380-
object_storage_details {
381-
bucket = var.bucket_id
382-
namespace = "namespace"
383-
}
384-
}
385-
datapump_settings {
386-
export_directory_object {
387-
name = "test_export_dir"
388-
path = "/u01/app/oracle/product/19.0.0.0/dbhome_1/rdbms/log"
389-
}
390-
import_directory_object {
391-
name = "test_export_dir"
392-
path = "/u01/app/oracle/product/19.0.0.0/dbhome_1/rdbms/log"
393-
}
394-
}
395-
vault_details {
396-
compartment_id = var.compartment_id
397-
key_id = var.kms_key_id
398-
vault_id = var.kms_vault_id
399-
}
400-
dump_transfer_details {
401-
source {
402-
kind = "OCI_CLI"
403-
oci_home = "ociHome"
404-
wallet_location = "wallet_location"
405-
}
406-
target {
407-
kind = "OCI_CLI"
408-
oci_home = "ociHome"
409-
wallet_location = "wallet_location"
410-
}
411-
}
200+
display_name = "displayName"
412201
}
413202

414203
output "password" {
415204
sensitive = true
416205
value = random_string.autonomous_database_admin_password.result
417-
}
206+
}

0 commit comments

Comments
 (0)