기술 정보
home
채널 소개
home

Table Migrator 파라미터 지정 시 선행 공백으로 인한 에러 발생

문서 유형
장애 해결
분야
마이그레이션
키워드
table_migrator
적용 제품 버전
6FS07
1 more property

현상

커맨드 라인에서 파라미터를 지정하여 실행할 때, 파라미터 값 앞에 선행 공백이 포함된 경우 에러가 발생합니다.

원인

파라미터로 지정한 값에 선행 공백이 포함되어 있어 에러가 발생하였습니다.
SOURCE_TABLE 파라미터에 선행 공백 존재하는 경우
$ migrator.sh SOURCE_SCHEMA=world SOURCE_TABLE= country PROPERTY_FILE=migrator.properties.oracle ## [WARNING] Wrong arguments: country org.antlr.v4.runtime.misc.ParseCancellationException: Invalid Source Table Name : "" error occurs at 1:0 no viable alternative at input '<EOF>' at com.m.migrator.antlr.ThrowingErrorListener.syntaxError(ThrowingErrorListener.java:30) at org.antlr.v4.runtime.ProxyErrorListener.syntaxError(ProxyErrorListener.java:67) at org.antlr.v4.runtime.Parser.notifyErrorListeners(Parser.java:561) at org.antlr.v4.runtime.DefaultErrorStrategy.reportNoViableAlternative(DefaultErrorStrategy.java:310) at org.antlr.v4.runtime.DefaultErrorStrategy.reportError(DefaultErrorStrategy.java:147) at com.m.migrator.antlr.tabColName_grammarParser.names(tabColName_grammarParser.java:163) at com.m.migrator.antlr.tabColName_grammarParser.startString(tabColName_grammarParser.java:91) at com.m.migrator.TableMigrator.splitTableNames(TableMigrator.java:1182) at com.m.migrator.TableMigrator.initParams(TableMigrator.java:868) at com.m.migrator.TableMigrator.initAndDoMigrate(TableMigrator.java:1282) at com.m.migrator.TableMigrator.main(TableMigrator.java:1273) at com.m.migrator.Main.main(Main.java:12) Exit because of parameter error
SQL
복사
PROPERTY_FILE 파라미터에 선행 공백 존재하는 경우
$ migrator.sh SOURCE_SCHEMA=world SOURCE_TABLE=country PROPERTY_FILE= migrator.properties.oracle INFO[16:04:50,930][TabMig[16:04:50.815]]TbCmdConnection.connect()(54) Connect To The Source- URL : jdbc:oracle:thin:@localhost:1521:orcl ID : sys ERROR[16:04:51,002][TabMig[16:04:50.815]]TableMigrator.migrate()(212) java.sql.SQLRecoverableException: IO Error: The Network Adapter could not establish the connection at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:743) at oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:666) at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:566) at java.sql.DriverManager.getConnection(DriverManager.java:664) at java.sql.DriverManager.getConnection(DriverManager.java:208) at com.m.migrator.conn.TbCmdConnection.connect(TbCmdConnection.java:79) at com.m.migrator.conn.TbCmdConnection.connectSrcAndTgt(TbCmdConnection.java:23) at com.m.migrator.TableMigrator.migrate(TableMigrator.java:210) at com.m.migrator.TableMigrator.initAndDoMigrate(TableMigrator.java:1361) at com.m.migrator.TableMigrator.main(TableMigrator.java:1273) at com.m.migrator.Main.main(Main.java:12) Caused by: oracle.net.ns.NetException: The Network Adapter could not establish the connection at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:470) at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:506) at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:595) at oracle.net.ns.NSProtocol.connect(NSProtocol.java:230) at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1452) at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:496) ... 11 more Caused by: java.net.ConnectException: Connection refused (Connection refused) at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:607) at oracle.net.nt.TcpNTAdapter.connect(TcpNTAdapter.java:161) at oracle.net.nt.ConnOption.connect(ConnOption.java:159) at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:428)
SQL
복사

해결

파라미터를 지정할 때, 선행 공백 없이 입력하여 실행합니다.
$ migrator.sh SOURCE_SCHEMA=world SOURCE_TABLE=country PROPERTY_FILE=migrator.properties.oracle INFO[16:03:04,460][L0.TbDPLDataLoader0]DataLoaderManager.run()(268) [L0.TbDPLDataLoader0]1740553384460 TOTAL Loaded ROWS: 239 (target schema = "WORLD", target table = "COUNTRY") INFO[16:03:04,517][TabMig[16:03:02.954]]TableMigrator.migrate()(570) Loader remainThr : [0], isError : [false] INFO[16:03:04,517][L0.TbDPLDataLoader0]DataLoader.finish()(83) Decrement remainThr : [0] and isError : [false] INFO[16:03:04,517][TabMig[16:03:02.954]]TableMigrator.resetThrs()(1237) terminate extract thread...1 INFO[16:03:04,517][TabMig[16:03:02.954]]TableMigrator.resetThrs()(1252) terminate loader thread...1 INFO[16:03:04,518][TabMig[16:03:02.954]]TableMigrator.migrate()(585) [VERIFICATION] Source Info : world.country : 239 Rows, Target Info : world.country : 239 Rows [OK] INFO[16:03:04,518][TabMig[16:03:02.954]]TableMigrator.migrate()(644) extract conneciton close INFO[16:03:04,519][TabMig[16:03:02.954]]TableMigrator.migrate()(654) loader connection close INFO[16:03:04,519][TabMig[16:03:02.954]]TableMigrator.migrate()(664) Elapsed Time (milliseconds) : 1565 INFO[16:03:04,519][TabMig[16:03:02.954]]TableMigrator.migrate()(665) End Migration
SQL
복사