Keys lost in converting from sybase to oracle
I am trying to convert from sybase 12 to oracle 10 using the migration workbench.
The oracle data base created does not have the primary keys that were in the sybase data base. I used the tool to create migration scripts, Create.sql and Drop.sql. These scripts create the tables but do not have primary keys in them.
Another question is I have user types from the sybase database. Is it possible to change them in the tool? Right now it looks like I can only change the basic database types as in smallInt.
Hi <Please Supply Your Name>,
What version of SQL Developer are you using?
"Create.sql" and "Drop.sql" sound like old OMWB names, Just want to double check.
Thanks
Dermot.
Similar Messages
-
Convert from sybase bcp to sql*loader
I'm an oracle newbie. (Oracle 8i, HP Unix)
Is there any way to convert sybase bcp format
files into sql*loader control files? If not
is there any way to take an existing table
description and generate a sql*loader control file from it? If anyone has already written a procedure or knows where one can be found I'd really appreciate it. We're doing a mass conversion from sybase to oracle and would like an easy way to re-write all our loads.
Thanks! Eileen from Polaroid.The Oracle Migration Workbench will produce the appropriate bcp and sqlldr scripts if you are using the workbench for the migration. The latest workbench runs on windows but can connect to sybase on unix and oracle on unix over the network.
Turloch
Oracle Migration Workbench Team -
Issue during migrating from Sybase to Oracle using Oracle SQL Developer
I am using SQL Developer v 3.2.20.09 to migrate from Sybase to Oracle Pl/SQL 12c
While migrating the stored procedure the following block did not convert. I got NULL instead of object_id:
Sybase Block:
IF OBJECT_ID(‘dbo.CheckEst’) IS NOT NULL
BEGIN
DROP PROCEDURE dbo.CheckEst
IF OBJECT_ID(‘dbo.CheckEst’) IS NOT NULL
PRINT ‘<<>>’
ELSE
PRINT ‘<<>>’
END
Oracle Block after conversion:
BEGIN
IF NULL/*TODO:OBJECT_ID(‘dbo.CheckEst’)*/ IS NOT NULL THEN
BEGIN
DROP PROCEDURE CheckEst;
IF NULL/*TODO:OBJECT_ID(‘dbo.CheckEst’)*/ IS NOT NULL THEN
DBMS_OUTPUT.PUT_LINE(‘<<>>’);
ELSE
DBMS_OUTPUT.PUT_LINE(‘<<>>’);
END IF;
END;
END IF;
END;
Lines 1 & 4 got converted to NULL. I have many places where such code is written.
Is there any quick way to overcome such an issue? or what needs to be done in such case?Hi,
You are using an older version of SQL*Developer. Could you download the latest 4.0.2 version available from here -
Oracle SQL Developer
and check if you still have the problem ?
Regards,
Mike -
Experiences migrating from Sybase to Oracle
Hi all,
I have been asked to look into migrating a database from Sybase to Oracle.
I know there is lots of info on Oracle's website, which I have downloaded, but I was just hoping for some info about some of your experiences regarding your processes. What are the gotchas. I suspect there will be a few.
Anything that will help would be of interest.
Many thanks
VicCHI VicC,
I work within the SQL Developer team and not a customer as such, but the follow maybe of use.
SQL Developer is a migration aid, its not 100% magic bullet.
SQL Developer does alot of the manual conversion for you quickly. But you may find Testing / Tuning and the application migration (if any) take you the most amount of time.
SQL Developer aims to migrate you tables, indexes, and data without issue. But SQL Objects like Procedures, Triggers, Views and Functions conversion will likely require manual work on top of the automatic conversion provided by SQL Developer.
SQL Developer does not yet automatically handle things like the tablespaces structure or the the logins. Although these things can be scripted and managed more easily within SQL Developer.
I would recommend downloading and performing the migration from a non production instance ASAP.
SQL Developer can perform a migration quickly and you will then be able to assess what SQL Developer can and cant do for you.
I would recommend creating a migration repository on an Oracle database local (install Oracle XE if you dont have a local database) to the SQL Developer instance you are using.
I would also recommend downloading SQL Developer 2.1
Here are some key sites regarding Sybase migrations.
http://www.oracle.com/technology/tech/migration/workbench/viewlets/sqlserver.html . This viewlet for SQL Server is the same process for Sybase.
http://www.oracle.com/technology/obe/hol08/sqldev_migration/sybase/migrate_sybase_otn.htm . This Oracle By Example takes you step by step through a Sybase migration including some gotchas
http://dermotoneill.blogspot.com/2008/06/sql-developer-migration-workbench-151_11.html . This is my blog outlining the steps to perform a Sybase migration.
Regards,
Dermot
SQL Developer Team. -
Hi.
I'm kind of new at this, so please bear with me.
We're moving from Sybase towards Oracle, and there we have a problem.
I'd like to know if you have to change the way you make the Java SQL-queries, in order to make it work with Oracle DB's.
Any help appreciated
Thanx in advance
/Mike
nullThere is always a possibility that the jdbc syntax being used may have some "sybase specific" extension to the jdbc spec syntax.
when you move the application from sybase to the oracle rdbms, some of these "sybase" extensions to the jdbc syntax may not work.
assuming you're using rdbms 8.1.6 then you want to review any syntax issues you run into with the following java dcumentation :
http://technet.oracle.com/doc/oracle8i_816/
make sure you thoroughly test your applications.
i hope thi9s helps ...
null -
Importing DB info from Sybase to Oracle 9i
Could someone please tell me if it is possible to import a sybase db into oracle 9i. The reason, I need to be able to import and excisting DB from sybase to Oracle for a project.
In your control file for SQL*Loader, specify the timestamp with format like "Mon DD yyy hh:mi:ss:ff3AM".
-
KM for Bulk loading from Sybase to Oracle
Is there KM available for Bulk loading from Sybase to Oracle ?
May be using Unix pipe, sybase fetch and Direct sqlloader.
Anyone has some thoughts on this, appreciate your responses.Sample CTL generated by ODI.
OPTIONS (
ERRORS=0,
DIRECT=TRUE
LOAD DATA
INFILE "/exp_imp/ODI_C_0ODI_TEST.bcp"
BADFILE "/exp_imp/ODI_C_0ODI_TEST.bad"
DISCARDFILE "/exp_imp/ODI_C_0ODI_TEST.dsc"
DISCARDMAX 1
INTO TABLE ODISYB_TEST.ODI_C_0ODI_TEST
FIELDS TERMINATED BY 'M-,'
C1_TEST_NO,
C2_TEST_DESC,
C3_TEST_TOKEN,
C4_TEST_DATE
Error on SQLLoader log file.
Record 1: Rejected - Error on table ODISYB_TEST.ODI_C_0ODI_TEST, column C4_TEST_DATE.
ORA-01858: a non-numeric character was found where a numeric was expected -
Problem while migrating from Sybase to Oracle using Quick Migrate
Hi,
For SQL Developer version 2.1, while migrating from sybase to oracle, Using Quick migrate, during data move step, for the rows having ''(Blank) values in TEXT data type in SYBASE, which is convertd to CLOB in Oracle, the migration for that table terminates at that row.
However, NULL values in Sybase TEXT data type are successfully inserted in Oracle CLOB.
How can we overcome this?reproduced and see exception in console, bug logged.
Edited by: Jade Zhong on Feb 1, 2010 6:10 PM -
Migrating from Sybase to Oracle
Hi!
Can someone tell me, how to migrate from Sybase to Oracle.
Thank U.Hi,
You don't say if you have used the SQL*Developer migration workbench for the migration so far.
This has a feature for transferring data offline which should do what you want.
Have a look at the documentation linked from -
http://www.oracle.com/technology/tech/migration//workbench/index_sqldev_omwb.html
or at -
http://download.oracle.com/docs/cd/E12151_01/index.htm
SQL Developer User's Guide - section 2.9.1 Transferring the Data Offline
Regards,
Mike -
DATE format problem, migrating from Sybase to Oracle 9i
Hi,
We are in a process of migrating the database from Sybase to Oracle 9i, everything going fine except the data load of couple of tables.
The workbench created the control file, data & related files to load the data into Oracle using the SQL*LOADER.
But coule of data files having HH:MI:SS:xxx AM in the DATE field, which Oracle is failing while laoding the workbeck created the destination table with the column data type = DATE, so how to insert the milliseconds along the date like Mar 25 2004 12:00:00:000 AM
Thanks
Ramana
212-657-0104In your control file for SQL*Loader, specify the timestamp with format like "Mon DD yyy hh:mi:ss:ff3AM".
-
Migration from Sybase to Oracle
Hello every one,
First of all I want to say thank you for your time,
I would like that you certify my process, and, if not good, that you give me a better choice,
I want to migrate one database from Sybase 12.5 in a Solaris 8 platform to Oracle 10g in a HP platform.
I was thinking to migrate this Database using Oracle Database Migration Verifier, and I have this software in Windows platform.
My questions is: if is possible than I use a Migration Verifier since my windows to migrate a database from Sybase in Solaris 8 to Oracle 10g in HP?
I will appreciate your help.
Regards.Hi,
I am working on the migration of existing system in Sybase 12.5 to Oracle 10g. Sybase 12.5 and Oracle 10g both are in solaris environment.
I am currently working on Oracle Migration Work Bench. I am facing issues with this tool. Its showing frequent errors and going into infinite loops.
Is there any other version of this tool which i can use ?
Is there any other such efficient tool which i can use for the same ?
Please let me know asap as its very urgent.
Regards,
Soham Shah -
Migrating from Sybase to Oracle - update() function
In sybase i have an update function that let me know when an specific column id updated after and update statement, does Oracle have something similar??
thanks.Hello <Please Supply Your Name>,
Is this a system function or a user defined function?
Without knowing the full details of what the Sybase "update" function is, there are 3 areas which might be worth investigating.
1) Indentity columns and @@IDENTITY.
Identity columns in Sybase are auto increment columns used mostly for ID's.
@@IDENTITY is a global variable which holds the last updated/inserted identity value in the session your in.
SQL Developer Migration Workbench can automatically migrate both of these.
Identity column are converted to use an Oracle trigger and sequence.
@@IDENTITY is replicated in a sqlserver_utilities package variable. (The identity trigger updates the value).
2) Triggers
If you are not using an identity column in Sybase. But would still like to "catch" a value being updated in your table, you should use a BEFORE/AFTER UPDATE trigger.
You could save this value to a package variable if you wish (much like how we emulate the @@IDENTITY column above).
3) Update Returning Clause
This clause returns the result of an update statement.
http://www.samoratech.com/PLSQL/swArtPLSQLReturn.htm
I hope this helps
Dermot. -
Converting from Sinlge-Node Oracle Apps Instance to 2 Node Instance
Hi,
I am in the process converting my Single Instance Oracle Apps 11.5.10.2 instance on Windows 2003 server to a 2 Node instance. I want to move the DB Tier only to another Windows 2003 server.
Plz suggest how I can achieve this. Can I use 'adcfgclone appsTier' to get this done.
Rgds,
Thiru1) Run "perl adpreclone.pl dbTier" on the source database node
2) Run "perl adpreclone.pl appsTier" on the source application node
3) Shutdown the application/database services and copy the(<sid>db, and <sid>data) directories to the target node
4) Run "perl adcfgclone.pl dbTier" on the target database node
5) Make sure the database and the database listener are up and running
6) Run "perl adcfgclone.pl appsTier" on the source application node
7) Start the application services
Note: 230672.1 - Cloning Oracle Applications Release 11i with Rapid Clone
https://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=230672.1 -
Triggers from sybase to oracle giving problem-------urgent please
all the Triggers are got converted to AFTER INSERT/UPDATE/DELETE TRIGGERS IN migration workbench...and almost all are been checking the existence of records in the table ie.,primary key check (existence of record) which if i turn them to BEFORE INSERT is becoming a MUTATING ERROR.
and one more thing the "count(*) from inserted" in sybase equivalent is not there in oracle how to solve this problem?????
if (select count(*) from attr_val av, inserted i
where av.class_cd = i.class_cd
and av.attr_cd = i.attr_cd
and av.attr_val = i.attr_val) >
( select count(*) from inserted )
for (select count(*) from inserted) is getting converted to select count(*) from dual
Thanks in advance,
srinivas.all the Triggers are got converted to AFTER INSERT/UPDATE/DELETE TRIGGERS IN migration workbench...and almost all are been checking the existence of records in the table ie.,primary key check (existence of record) which if i turn them to BEFORE INSERT is becoming a MUTATING ERROR.
and one more thing the "count(*) from inserted" in sybase equivalent is not there in oracle how to solve this problem?????
if (select count(*) from attr_val av, inserted i
where av.class_cd = i.class_cd
and av.attr_cd = i.attr_cd
and av.attr_val = i.attr_val) >
( select count(*) from inserted )
for (select count(*) from inserted) is getting converted to select count(*) from dual
Thanks in advance,
srinivas. -
Leading Zeroes are lost when convert from string to int
What I'm trying to do is simple yet the solution has seemed difficult to find.
I have a system that requires 4 digit numbers as "requisitionNo". The system uses JSPs and accepts the 4 digit number that the user inputs (fyi - duplicate handling is already managed). The input number (rNumber) is of STRING type and in the action (using struts) is converted to an int:
int requisitionNo = Integer.parseInt(rNumber);At that very line the issue is that when the user inputs a number with leading zeros such as: "0001" the 3 leading zeros are chopped off in the INT conversion. The application validation kicks in and says: "A 4 digit number is required" which is by design. The work around has been that the user has been putting in number that start with 9's or something like that, but this isn't how the system was intended to be used.
How do I keep the leading zeroes from being lost instead of saving a number "1" to the database how do I keep it saving "0001" to the database? Would I just change everything to STRING on down to the database? or is there another number type that I can be using that will not chop off the leading zeroes? Please provide short code references or examples to be more helpful.Yeah, I have to agree here that leading zeroes make no sense. I figured that out when I started to look into this problem. The only requirement that exists is that the user wants it to be a 4 digit number due to some other requirement they have themselves.
So what I'm gathering from what I've read in the responses thus far is that I should change the validation a bit to look at the STRING for the 4 required digits (which are really 4 characters; maybe I should add CLIENT side numeric validation; currently its doing server side numeric/integer validation; or maybe change up the server side validation instead???) and if they are ALL GOOD then let the application save the int type as it wants to. IE: Let it save "0001" as just "1" and when I come back to DISPLAY this saved number to the user I should append the string of "000" in front of the 1 for display purposes only? Am I understanding everyone correctly?
Maybe you are looking for
-
Bug in exists() function of XI Graphical Mapping Tool?
Hi! If I connect a source field with the exists() function in XI Graphical Mapping Tool and the tag exists it returns TRUE, otherwise it returns FALSE, so everything works as expected. But I have to connect a user-defined function with exists(). The
-
My Network Connection Keeps Going SOS
i have a blackberry 9300 and am on the EE - T mobile network, i have a problem with my phone , its keeps going to sos mode i have tried changing sim card to other networks , calling my provider , even used the same sim card on another phone and it wo
-
Passing varrays as parameters to a PLSQL procedure .
Hi all, I have defined the following procedure : TYPE t_pc_list IS VARRAY(10) OF VARCHAR2(20); PROCEDURE get_pc_list (address IN VARCHAR2, code IN VARCHAR2,pc_list IN t_pc_list ) AS BEGIN NULL; END get_pc_list; But when calling it is allways saying :
-
No reaction when I try to start my notebook
Hi I have a problem with my notebook. It was working normally. Suddenly it turned off and since then I didn't get it on again. Only the LED on the front for the Electricity supply flashes. Anyone get an idea?
-
JDeveloper3.0 and JavaWebServer2.0
I'm running Sun's brand new Java Web Server 2.0 (demo version), which is newer than the one available when Oracle released JDeveloper 3.0. I do this because version 1.1.3 is no longer available for download at Sun (or javasoft). Trying to run the ACM