⇒ 아래처럼 "Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server" 에러가 발생
⇒ Access denied for user ‘hr’ @ ‘localhost’ (using password : YES)
⇒ 아래와 같이 “Oracle 접속” 외에도 “MySQL 접속”이 뜨는 것을 확인할 수 있음
⇒ https://jhparkkk.tistory.com/11 를 참고하여 진행
⇒ 원래는 migration_mysql 이란 곳에 하려다가 에러가 발생해서 migrationMySQL로 진행했다.
하지만, 캡처는 migration_mysql 상태로 했다는 것만 알면된다.
몇 개월 전에 회사에서 Window OS 기반으로 Oracle을 운영하다가, Linux OS 기반으로 Oracle 운영하는 방식으로 변경을 진행했다. 이 때문에 당연히 마이그레이션이 진행되었다.
물론, 이 때는 같은 DBMS 상에서 OS가 변경됨에 따른 마이그레이션이었지만, 나는 한 번 타 DBMS 간의 마이그레이션을 공부하면 좋을 것 같다는 생각을 했다.
그래서 Oracle을 MySQL로 변환하던지, MySQL을 Oracle로 변환하던지 중 어떤 것을 하면 좋을까 고민하다가 최종적으로 MySQL을 Oracle로 변환하는 것을 택했다.
그 이유는 SQL Developer에서 마이그레이션을 진행할 예정이었는데, SQL Developer 내에서는 Oracle을 다른 DBMS로 이전하는 것은 불가했기 때문이다.
어찌됐든, MySQL을 우선 SQL Developer에 설치했는데, 설치 과정부터 에러가 연거푸 발생해서 힘들었다. [mqsql 서비스를 중지 상태로 두었던 것으로 인한 에러, mysql에 계정을 생성하지 않아 발생했던 에러 등] → (역시…. 처음에 설치할 때랑 환경설정 할 때가 가장 힘든 것 같아…)
아무튼 에러 해결 끝에 DB Migration을 진행하는데, 이것도 에러가 한 번 발생했었다. 이 에러는 아마 MySQL의 특정 계정 내에 있는 모든 내용을 마이그레이션 하려다가 에러가 발생했던 것 같다. 그래서, 그냥 MySQL에서 내가 옮기고 싶은 테이블만 각각 이전 작업을 진행했더니, 테이블의 구조와 데이터가 모두 옮겨졌다. 이로써, 마이그레이션 하는 법은 모두 끝났다.
마이그레이션을 내가 직접해보기 전에, 마이그레이션과 관련되서 미리 조사를 좀 해보았다.
공부를 하면서 느꼈던 것은, 마이그레이션이 테이블 구조나 데이터를 옮기는 단순한 과정처럼 보이지만 실질적으로는 그렇지 않다는 것이다.
같은 DBMS 기종 안에서도 버전이 다를 때의 문제 등 여러 가지를 따져야 하는 것을 보았다.
물론, DB를 옮겨야 하는 상황은 언제든 발생할 수 있다. 하지만, 이거를 내가 담당하고 싶지는… 않다 ㅎㅎ
그래도 개인적으로 공부해서 마이그레이션을 끝내어서 기쁘다 🙂