open-dba.gitbooks.io/mariadb-tips/content/b370_c774_d130_c774_ad00.html
데이터 이관 · MariaDB Tips
open-dba.gitbooks.io
위는 유용한 사이트
---------------------------------------------------------------------------------------------------------------------------------
Oracle에서 MariaDB로 마이그레이션하기
개발관련/DB 2020. 2. 9. 14:28
개인서버를 운영하는데, 오라클은 유로라서 혹시 모를 상황에 대비해 MariaDB로 변경했다. 그 과정을 여기에 나열하겠다. MariaDB에 오라클과 동일하게 테이블을 생성할 수 있는 방법이며 not null, pk 지정은 따로 해주셔야합니다.
http://www.sqlines.com/oracle-to-mysql (좌) / http://www.sqlines.com/online (우)
왼쪽의 사이트를 들어가면, sqlLines의 메인페이지를 볼 수 있다. 데스크탑 버전과 온라인 버전이 있다고 하는데, 간편하게 온라인 버전을 사용하겠습니다. 오른쪽의 링크를 클릭하면 바로 들어갈 수 있습니다.
온라인 버전을 들어오면 왼쪽이 변환전 오른쪽이 변환후 언어입니다. 왼쪽은 Sources를 Oracle로 지정, 오른쪽 Target을 MariaDB로 설정합니다.
왼쪽에 sql파일 내용을 넣고, convert버튼을 눌러 변환합니다. 이를 이용하여 Maria DB에 옮길 수 있습니다. 변환 시에 누락사항이 있어 직접 수정한 부분이 있었는데 그 점에 대해 안내드립니다.
SQL문 수정사항
날짜 Default값 수정
날짜의 Default값을 지정할 때, 오라클은 systimestamp를 사용합니다. MariaDB에서는 CURRENT_TIMESTAMP를 사용하므로 테이블 생성 SQL문에서 모두 바꿔주어야 합니다.
<ORACLE>
CREATE TABLE "LOGGER" ("LOG" VARCHAR2(1000), "TIME" VARCHAR2(30) DEFAULT SYSDATE)
<MariaDB>
CREATE TABLE "LOGGER" ("LOG" VARCHAR2(1000), "TIME" VARCHAR2(30) DEFAULT CURRENT_TIMESTAMP)
날짜 입력 형식 수정
오라클에 systimestamp로 저장하게 되면 '19/11/20 13:56:04'와 같은 형태로 저장됩니다. 오라클에서는 이러한 날짜 형식을 'RR/MM/DD HH24:MI:SS'로 표현하지만, MariaDB에서는 '%y/%m/%d %H:%i:%s'와 같이 표현됩니다. 따라서 이러한 형태로 들어가는 데이터들을 모두 바꿔주어야 합니다.
<ORACLE>
Insert into MEMBER (ID,PW,DATE_REGISTER,NICKNAME)
values ('asdf','1234',to_date('19/11/20 13:56:04','RR/MM/DD HH24:MI:SS'),'asdf');
<MariaDB>
Insert into MEMBER (ID,PW,DATE_REGISTER,NICKNAME)
values ('asdf','1234',str_to_date('19/11/20 13:56:04','%y/%m/%d %H:%i:%s'),'asdf');
SQL 변경 후 새로운 쿼리 파일을 생성해줍니다.
생성된 파일에 변환된 SQL문을 옮겨주고, 원하는 부분을 선택 한 뒤 SQL문을 실행해 줍니다. 잘 적용이 되는지 확인하면서 SQL문을 실행해주면 됩니다.
SQL문이 모두 정상적으로 실행되었다면, 기존 DB에서 NM조건과 PK를 참고하시어 테이블 설정을 해주시면 됩니다.
'개발관련 > DB관련' 카테고리의 다른 글
[oracle] 테이블, 컬럼 정보, DB사용량 조회 등 (0) | 2020.12.09 |
---|---|
MSSQL DBLINK 생성시 추가 권한 부여 (0) | 2020.06.12 |
MS-SQL 다른 버전끼리 DB-LINK걸때 오류 (0) | 2017.01.03 |
SQL 통계 ROLLUP 과 꽁수 소계/ 합계 쿼리작성... (0) | 2012.11.16 |
MSSQL 함수 사용법 (0) | 2010.09.27 |