none
SQL Server to Oracle Database RRS feed

  • שאלה

  • שלום,

    למי שיכול לעזור,

    המצב הוא שקיים בסיס נתונים בשרת SQL Server נומר בסיס נתונים בשם DBList  ובו טבלה בשם Lists, אני מעוניינת להעביר נתונים

    מטבלה זו לטבלה אחרת שקיימת בבסיס נתונים אחר שקיים שרת Oracle .

    האם מישהו יכול לתת כמה טיפים או התהליך בגדול שנדרש או אפשרי לקיים מצב כזה, איך מומלץ לקשר בין שני השרתים

    וכו'..

    תודה רבה לכל מי שיכול לעזור

    יום רביעי 26 פברואר 2014 09:58

תשובות

  • הי לימור,

    זאת התחלה טובה...

    Import Export Wizard   - http://technet.microsoft.com/en-us/library/ms141209.aspx

    ב Click  ימני על כל Database  ב SSMS  תמצאי את תפריט ה tasks  ובו את ה import  או Export

    שימי לב שיש צורך בתקשורת בין השרתים  וכמובן בדרייברים מתאימים לגרסת ה Oracle

    בסיום ה wizard ניתן לשמור את ההגדרות כ SSIS package  ולתזמן כjob  שירוץ באופן קבוע או ידני ...

    מקווה שעזרתי,
    נועם

    • הוצע כתשובה על-ידי pituachMVP, Moderator יום רביעי 26 פברואר 2014 11:52
    • סומן כתשובה על-ידי Eran Sharvit יום שלישי 04 מרץ 2014 10:06
    יום רביעי 26 פברואר 2014 10:31

כל התגובות

  • הי לימור,

    זאת התחלה טובה...

    Import Export Wizard   - http://technet.microsoft.com/en-us/library/ms141209.aspx

    ב Click  ימני על כל Database  ב SSMS  תמצאי את תפריט ה tasks  ובו את ה import  או Export

    שימי לב שיש צורך בתקשורת בין השרתים  וכמובן בדרייברים מתאימים לגרסת ה Oracle

    בסיום ה wizard ניתן לשמור את ההגדרות כ SSIS package  ולתזמן כjob  שירוץ באופן קבוע או ידני ...

    מקווה שעזרתי,
    נועם

    • הוצע כתשובה על-ידי pituachMVP, Moderator יום רביעי 26 פברואר 2014 11:52
    • סומן כתשובה על-ידי Eran Sharvit יום שלישי 04 מרץ 2014 10:06
    יום רביעי 26 פברואר 2014 10:31
  • נועם, תודה רבה.

    אני מכירה את Import Export wizard אך כיצד אני יוצרת תקשורת בין שרת ה SQL Server לשרת ה Oracle? איך יוצרים תקשורת כזו? תודה!

    יום רביעי 26 פברואר 2014 13:20
  • היי לימור,

    נראה שהפתרון הינו הקמת link server בין שרת ה- sql server לאורקל:

    http://sqlmag.com/sql-server/connecting-sql-server-and-oracle-using-linked-servers

    בהצלחה


    Best Regards,

    Itai Binyamin,

    MVP

    SQL Server Domain Expert

    Dell

    www.ItaiBinyamin.Blogspot.com


    • נערך על-ידי Itai Binyamin יום רביעי 26 פברואר 2014 14:00 /
    יום רביעי 26 פברואר 2014 14:00
  • שלום לימור,

    אם את עובדת לפי ההמלצה של נועם בעזרת SSIS אז את הקשר נעשה ישירות דרך ה SSIS בעזרת הפרוביידר של אורקל. את לא צריכה לנהל את זה יותר מדי וזה מובנה ב SSIS (זה עובד בצורה יעילה בדיוק כמו שכל אפליקציה ניגשת לשרת). זו הדרך הכי קלה לביצוע כניראה למי שעובד עם שרתי SQL (והיא גם יעילה מבחינת משאבים).

    אם את רוצה קשר ישיר דרך השרת SQL למשל לצורך ביצוע שאילתה משותפת (וזה לא המקרה שלך) אז אפשר להגדיר כמו שאיתי הציע אלמנט בשם linked server שהוא למעשה מבצע את החיבור. זו שיטה יותר איטית בדרך כלל ומתאימה יותר למצבים כמו שתיארתי לצורך קשר ישיר כך שהשרת SQL מתחבר לשרת האורקל.

    כשעובדים בצורה ידנית (שזו עוד אופציה עליה לא דיברו) אז שוב אין צורך ב LINKED SERVER ומספיק לעבוד עם קשר דינאמי ברמת השאילתה (למעשה זה מה שקורה בעבודה עם האשף או תוכנות צד שלילי... התוכנות פונות לשרתים בנפרד, יוצרות התחברות בעזרת שרשרת התחברות ומתווכות, עם linked server כמובן יאלץ לבצע התחברות אבל הוא אלמנט ברמת השרת שמשתמש במשאבים נוספים מיותרים לפעולה חד פעמית כזו לדעתי)...

    עוד שיטה שלא הציגו לך זה עבודה הפוכה והיא דרך ה אורקל לבצע IMPORT. למעשה זו הדרך היותר נפוצה אני מניח.

    למה זה יותר נפוץ לדעתי? תזכרי שרוב התומכים כאן עובדים בעיקר עם שרתי SQL, ולכן נוטים לפתרונות שמגיעים מהכיוון של ה SQL, אבל בדרך כלל אם עוברים לאורקל אז יש לכם DBA של אורקל. במקרה זה הכיוון היותר מתאים הוא להעזר בכלים של אורקל לייבוא מה SQL (למשל שימוש בכלי mssqlservermigration.zip), והפוך כאשר מעבירים מהאורקל ל MS-SQL אז ההנחה היא שיש לכם DBA שאמור לנהל את ה SQL אחר כך. לכן יהיה יותר קל ל DBA של ה SQL להעזר בכלים שהוא מכיר (כמו ה SSIS שנועם הציע).... עם זה קיימת תמיד האפשרות לבצע את הפעולה ההפוכה של ייצוא במקום ייבוא. זה כמובן רק הנחה לגבי איזה DBA אמור להיות לכם ואני לא מכיר את המצב אצלכם.

    ז"א כמו שאת רואה יש הרבה דרכים וגישות לעבודה, החל מ(1)פנייה דרך האורקל ל SQL או (2)דרך ה SQL לפנות לאורקל או (3)דרך אפליקציה מתווכת לגשת לשני השרתים... לפני שאת נכנס לשאלה "כיצד לבצע" אני חושב שאת צריכה לבחור את השיטה שעל פני השטח ניראית לך יותר מתאימה... בשלב הבא נוכל לכוון אותך לכיצד.

    * אני ממליץ לך לבדוק אם יש לכם DBA של אורקל אם יותר נוח לו אולי לבצע ייבוא מהאורקל במקום ייצוא מה SQL.


    [Personal Site] [Blog] [Facebook]signature

    יום רביעי 26 פברואר 2014 15:16
    מנחה דיון
  • ואם לא הבנת אז באשף יהיה לך שלב של בחירת היעד: choose a destination

    בשלב זה את צריכה לבחור פרוביידר שמתאים לאורקל כמו למשל 

    Dot.Net Framework Data Provider for Oracle

    או שאת יכולה לבחור ב 

    Microsoft OLE DB Provider for Oracle

    הכל תלוי בפרובידרים שמותקנים אצלך ושאת מצליחה לעבוד איתם בצורה קלה יותר :-) הבחירה שלך.

    בשלב הבא יהיה עלייך להכניס את כל הנתונים כדי להתחבר ישירות לאורקל (את צריכה שרשרת התחברות למשל)

    וזהו בעקרון... ההמשך פשוט

    * אבל אני חוזר על כך שצריך לחשוב אולי יותר מתאים לכם לבצע ייבוא מהאורקל במקום ייצוא מה SQL


    [Personal Site] [Blog] [Facebook]signature

    יום רביעי 26 פברואר 2014 15:21
    מנחה דיון
  • תודה רבה לכולם!! המשך לשאלותיי,

    אכן יש DBA של אורקל, ייתכן שהוא יציע שדווקא אעשה את הקישור מצד ה SQL Server אך האם לדעתכם דרך האורקל זה פשוט יותר?

    וכיצד מבצעים ייבוא מהאורקל של נתונים שקיימים בטבלה מסויימת ב SQL SERVER? המטרה היא שבאופן קבוע נתונים שיש בטבלה ב  SQL

    Server יעברו בהתממשקות לטבלה אחרת באורקל

    תודה!

    יום ראשון 02 מרץ 2014 13:05
  • תודה רבה לכולם!! המשך לשאלותיי,

    אכן יש DBA של אורקל, ייתכן שהוא יציע שדווקא אעשה את הקישור מצד ה SQL Server אך האם לדעתכם דרך האורקל זה פשוט יותר?

    זה לא יותר קל ולא יותר קשה, כל מה שיודעים הוא קל. אלו פעולות בסיסיות דומות מאוד. למי שרגיל לעבוד ב ORACLE יהיה יותר קל ב ORACLE ולמי שיותר רגיל ל SQL יהיה לו יותר קל ב SQL. בדיוק כמו שכתבתי מעל :-) 

    וכיצד מבצעים ייבוא מהאורקל של נתונים שקיימים בטבלה מסויימת ב SQL SERVER?

    גם את זה כתבתי לך מעל וגם שמתי קישור לכלי שבו עובדים ב ORACLE כדוגמה. אנא קיראי את התובות לעומק!

    המטרה היא שבאופן קבוע נתונים שיש בטבלה ב  SQL Server יעברו בהתממשקות לטבלה אחרת באורקל

    במקרה של צורך בפעולות קבועות נשאלת השאלה אם את צריכה פעולה כל X זמן או פעולה שבכל שינוי נתון תתבצע. בשביל פעולה כל X זמן את צריכה לעבוד עם שירות שמזמן את הפעולות. שוב יש כזה באורקל ויש כזה ב SQL והבחירה שלך. ב SQL אנחנו עובדים בדרך כלל עם ה AGENT ומגידרים מה לבצע בפעולות התחזוקה. אפשריות נוספות הן סוגי רפליציות שונות שמאפשרות להעביר נתונים גם בין מסדי נתונים שונים. מדריך טוב לביצוע פעולה כזו לדוגמה ניתן למצוא כאן:

    http://www.oracle.com/technetwork/articles/datawarehouse/oracle-sqlserver-goldengate-460262.html


    [Personal Site] [Blog] [Facebook]signature

    יום ראשון 02 מרץ 2014 23:45
    מנחה דיון
  • תודה רבה לכולם!
    יום שני 03 מרץ 2014 07:30
  • צהריים טובים לימור,

    אנא סיגרי את השרשור! זה תמיד החלק של מי שפותח את השרשור בסיום :-)

    עיברי על כל ההודעות, סמני את תשובות נכונות שקיבלת, את מוזמנת להצביע על הודעות מועילות (הודעה מועילה היא לא רק הודעה שנתנה תשובה או שמועילה לך אלא הודעה שאת חושבת שהיא מועילה לאחרים או שסתם "שווה" הצבעה) וכמובן תמיד אפשר לסגור במילה טובה, אבל את זה כבר עשית :-)

    * אני מניח שהשרשור סגור והכל מובן כרגע יותר טוב, אם תעלה שאלה בהמשך אז כמובן את יכולה לפתוח שרשור חדש (מומלץ עם הפנייה לכאן אם זה קשור).


    [Personal Site] [Blog] [Facebook]signature

    יום שני 03 מרץ 2014 11:01
    מנחה דיון