משיב מוביל
transactional replication מאורקל ל-sqlserver

שאלה
-
תשובות
-
שבת שלום,
אישית אני לא עובד עם אורקל והנסיון שלי מסתכם בכמה שעות משחקים בשרת פיתוח בעקרון, אבל באופן תיאורטי רפליקציה צריכה לעשות את העבודה בצורה מעולה (זה נכון גם ל MySQL, איתו יש לי הרבה יותר נסיון). כדי לקבוע מה עדיף או מה נכון לכם כמובן שעלינו לחקור ולהכיר את המערכת שלכם.
* תיאורטית ובאופן כללי: רפליקציה מ X ל Y לא אמורה לכלול סיכון על X מכיוון שהיא לא משנה ב X כלום אלא ב Y. ז"א יש אולי פעולות ייצוא ו/או הגדרות כ Publisher אבל אלו פעולות שלא משנות דטא. לפיכך אני לא רואה היכן הסיכון באורקל במקרה המוצג כאן... מהאורקל מייצאים את הנתונים ואחר כך מייבאים אותם בצורה בילתי תלויה אם רוצים.
* דרך מאוד קלה לביצוע הפעולה היא על ידי הרצת משימה מתוזמנת (יכול להיות JOB מובנה באורקל או ב SQL) ושימוש בשאילתות פשוטות של העברת מידע. insert... select. החסרון הראשון הוא שיש עבודה במקביל עם 2 השרתים, המשקל עבודה נופל על 2 השרתים ביחד למשל. אבל החסרונות הגדולים יותר קשורים בצורך לנהל את הדברים בפעם הראשונה לבד. הייתרון לדעתי בפשטות הביצוע עבור מקרה בסיסי לפעמים (למשל טבלה בודדת שכוללת עמודת timestamp). אני לא נוטה לבחור בשיטה זו כפתרון קבוע, אלא לשימוש ברפליקציה.
https://www.google.co.il/search?q=replicate+from+oracle+to+sql+server&oq=replicate+from+ora
המאמר הבא מדבר על ביצוע הפעולה ההפוכה מ SQL לאורקל, אבל אפשר ללמוד ממנו על הרעיון ולממש בצורה הפוכה:
http://www.oracle.com/technetwork/articles/datawarehouse/oracle-sqlserver-goldengate-460262.htmlהמאמר הבא הרבה פחות מקיף ומצומצם מהקודם אבל נותן את הכיוון שאתה מחפש, והוא נועד יותר לקהל יעד של משתמשי SQL שזה אולי עוד ייתרון אם אתה מחפש את הפתרון בפרום כאן:
http://msdn.microsoft.com/en-us/library/ms151243.aspx
[Personal Site] [Blog] [Facebook]
- נערך על-ידי pituachMVP, Moderator יום ראשון 30 מרץ 2014 08:37 תיקון קטן של שיאת הקלדה
- הוצע כתשובה על-ידי Eran Sharvit יום ראשון 30 מרץ 2014 08:39
- סומן כתשובה על-ידי Eran Sharvit יום ראשון 06 אפריל 2014 22:27
כל התגובות
-
היי,
נשמח אם תפרט יותר... :)
Best Regards,
Itai Binyamin, MVP
www.ItaiBinyamin.Blogspot.com
- נערך על-ידי Itai Binyamin יום שני 24 מרץ 2014 14:28 x
-
שלום
יש אצלנו צורך להעביר נתונים באופן שוטף לאורך זמן מאורקל ל-sqlserver.
מדובר ב-3 או 4 טבלאות שמכילות כל אחת כ-2000 רשומות. קצב העידכון איטי ואין מחיקות.
ההתלבטות היא אם לעשות את זה ב-ssis שיופעל כל כמה דקות, לבין transactional replication.
באתר הזה משתמשים הרבה ב-ssis אבל לא עבדו עד עכשיו עם רפליקציה.
נראה לי שרפליקציה מתאימה יותר אבל מאחר וזה לא מוכר כאן , יש חשש לפגיעה באורקל כתוצאה מזה.
והשאלה היא מה אתם יודעים על רפליקציה מאורקל ל-sql והאם יש בזה סיכונים לאורקל.
תודה רבה
רוני
Ronnie Godfrey
-
שבת שלום,
אישית אני לא עובד עם אורקל והנסיון שלי מסתכם בכמה שעות משחקים בשרת פיתוח בעקרון, אבל באופן תיאורטי רפליקציה צריכה לעשות את העבודה בצורה מעולה (זה נכון גם ל MySQL, איתו יש לי הרבה יותר נסיון). כדי לקבוע מה עדיף או מה נכון לכם כמובן שעלינו לחקור ולהכיר את המערכת שלכם.
* תיאורטית ובאופן כללי: רפליקציה מ X ל Y לא אמורה לכלול סיכון על X מכיוון שהיא לא משנה ב X כלום אלא ב Y. ז"א יש אולי פעולות ייצוא ו/או הגדרות כ Publisher אבל אלו פעולות שלא משנות דטא. לפיכך אני לא רואה היכן הסיכון באורקל במקרה המוצג כאן... מהאורקל מייצאים את הנתונים ואחר כך מייבאים אותם בצורה בילתי תלויה אם רוצים.
* דרך מאוד קלה לביצוע הפעולה היא על ידי הרצת משימה מתוזמנת (יכול להיות JOB מובנה באורקל או ב SQL) ושימוש בשאילתות פשוטות של העברת מידע. insert... select. החסרון הראשון הוא שיש עבודה במקביל עם 2 השרתים, המשקל עבודה נופל על 2 השרתים ביחד למשל. אבל החסרונות הגדולים יותר קשורים בצורך לנהל את הדברים בפעם הראשונה לבד. הייתרון לדעתי בפשטות הביצוע עבור מקרה בסיסי לפעמים (למשל טבלה בודדת שכוללת עמודת timestamp). אני לא נוטה לבחור בשיטה זו כפתרון קבוע, אלא לשימוש ברפליקציה.
https://www.google.co.il/search?q=replicate+from+oracle+to+sql+server&oq=replicate+from+ora
המאמר הבא מדבר על ביצוע הפעולה ההפוכה מ SQL לאורקל, אבל אפשר ללמוד ממנו על הרעיון ולממש בצורה הפוכה:
http://www.oracle.com/technetwork/articles/datawarehouse/oracle-sqlserver-goldengate-460262.htmlהמאמר הבא הרבה פחות מקיף ומצומצם מהקודם אבל נותן את הכיוון שאתה מחפש, והוא נועד יותר לקהל יעד של משתמשי SQL שזה אולי עוד ייתרון אם אתה מחפש את הפתרון בפרום כאן:
http://msdn.microsoft.com/en-us/library/ms151243.aspx
[Personal Site] [Blog] [Facebook]
- נערך על-ידי pituachMVP, Moderator יום ראשון 30 מרץ 2014 08:37 תיקון קטן של שיאת הקלדה
- הוצע כתשובה על-ידי Eran Sharvit יום ראשון 30 מרץ 2014 08:39
- סומן כתשובה על-ידי Eran Sharvit יום ראשון 06 אפריל 2014 22:27
-
-
הי,
זה ממש לא מדויק להגיד שברפליקציה מ-X ל-Y אין שום השפעה על X. כשמקימים רפליקציה מ-Oracle ל-SQL Server, למשל, נוצרים טריגרים על הטבלאות הרלוונטיות ב-Oracle. לטריגרים האלה יש השפעה. הם עלולים להכביד על ביצועי המערכת בצד של ה-Oracle.
במקרה שלך, מכיוון שמדובר במספר קטן של טבלאות קטנות, וקצב העדכון הוא איטי, אז ההשפעה היא זניחה, והסיכון הוא יותר נמוך.
אני עדיין חושב שרפליקציה היא פתרון יותר מתאים, אבל בכל מקרה צריך לבדוק את ההשפעה לפני שמיישמים ב-Production.
בהצלחה!
-----------------------------
גיא גלנצר
יועץ ומדריך SQL Server
Madeira - SQL Server Services
http://www.madeira.co.il -
-
1. לא כתבתי שאין השפעה אלא שאין סיכון על הדטא!
אנא צטט מדוייק!!!יותר מכך הזכרתי שגם יוצרים הגדרות כ Publisher כך שברור שיש שינויים!
2. כמו כן רשמתי במפורש שאני לא בעד הדרך הנוספת שהצגתי (ההדגשה על המילה לא מופיעה גם במקור למעלה אצלי) וגם אני נוטה לשימוש ברפליקציה במידע שיש לנו כרגע
בקיצור גיא, רק חזרת על הדברים שלי :-)
תוך ציטוט לא מדוייק של משהו שלא נאמר :-(
[Personal Site] [Blog] [Facebook]
- נערך על-ידי pituachMVP, Moderator יום שני 31 מרץ 2014 11:05
-
אני רוצה שוב להדגיש שאני דיברתי על על "סיכון" ולא על "השפעה"!
אני לא מבין כיצד סובבו את הדברים שלי. לא הזכרתי את המילה השפעה בהודעה שלי כמובן!סיכון נובע משינוי דטא למשל. תיאורטית הוספת אלמנטים לא יוצרים סיכון ישיר, ותמיד ניתן להוריד אותם למשל ולחזור אחורה בלי צורך בהליך שחזור כלשהו (כדי שלא יצטטו אותי לא מדוייק אני אוסיף שישנם אלמנטים שכן משפיעים על הדטא בצורה עקיפה אבל זה כבר לא קשור כרגע לנושא).
[Personal Site] [Blog] [Facebook]
- נערך על-ידי pituachMVP, Moderator יום שני 31 מרץ 2014 11:05
-
-