Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Critical
-
Resolution: Fixed
-
Affects Version/s: CMT1.5.3
-
Fix Version/s: CMT1.5.4
-
Component/s: CUBRID Migration Toolkit
-
Labels:
Description
In the wizard 3, I put 2 statements and verified both.
select * from cos_sms where sms_id < '201108280000000000';
select * from cos_sms where mail_id < '201108280000000000';
and then continue to enter targer DB information to insert.
bug1> see the fig 1, that CMT set "full statement by a user" as a table name. The error message says the target table name "select * from cos_sms where sms_id < '201108280000000000'" is invalid. So the user cannot continue the next step.
However the user can fix the table name manually but it doesn;t work well in the final report. It ignores a new table name that the user entered.
bug2> see the SQL log. When the CMT verified the statement, it uses a sub-query which may conduct a full scan. If you think there is over 1000,000,000 records, then it will take more than 20 minutes until it finishes the test. The test query should be changed to something simple and short.
SELECT * FROM ( select * from cos_sms where sms_id < '201108280000000000' ) AS T WHERE ROWNUM = 0
JOB QUEUE:0, AUTO_ADD_APPL_SERVER:ON, SQL_LOG_MODE:ALL:100000
LONG_TRANSACTION_TIME:60.00, LONG_QUERY_TIME:60.00, SESSION_TIMEOUT:300
KEEP_CONNECTION:AUTO, ACCESS_MODE:SO
----------------------------------------------------------------------------------------------------------------------------------
ID PID QPS LQS PSIZE STATUS LAST ACCESS TIME DB HOST LAST CONNECT TIME CLIENT IP
----------------------------------------------------------------------------------------------------------------------------------
1 6826 456 0 56324 BUSY 2011/09/26 18:09:08 nhncos tcub03.dbinfra 2011/09/26 18:04:31 10.66.9.37
SQL: execute SELECT * FROM ( select * from cos_sms where sms_id < '201108280000000000' ) AS T WHERE ROWNUM = 0
2 6827 0 0 48148 IDLE 2010/12/29 23:44:06 - - -
3 6828 0 0 48148 IDLE 2010/12/29 23:44:06 - - -
4 6829 0 0 48148 IDLE 2010/12/29 23:44:06 - - -
5 6830 0 0 48148 IDLE 2010/12/29 23:44:06
bug3> See the fig 2. Although I changed table name correctly, it creates the same table schema twice and failed in the 2nd table. I have checked 2 tables and entire records in both tables were migrated to each of table in the target. Which means there was no "partial data migration" by using SELECT statement.
Since there are many requests from DBA when they has to migrate only part of records or changing the table schema, CMT should support JOIN QUERY, and other SELECT queries to extract partial records from a table.
Current CMT seems not supported this feature at all.
Issue Links
- clones
-
TOOLS-210
When SELECT statement are entered to extract part of records only from the source DB, CMT doesn't work well.
-
except no.2, we completed issue.