בדף הזה מוסבר איך להגדיר את מסד הנתונים של Oracle כמקור להעברה חד-פעמית באמצעות Database Migration Service. כדי להשתמש ב-Database Migration Service כדי לשלוף נתונים ממסד הנתונים של Oracle, צריך לתת את ההרשאות המתאימות לחשבון המשתמש שישמש להתחברות למסד הנתונים ולגישה לאובייקטים של הסכימה והקוד.
כברירת מחדל, Database Migration Service מנסה לגשת לכל הגדרות האובייקטים דרך
DBA_VIEWS.
הגישה אל DBA_VIEWS ניתנת באמצעות ההרשאה SELECT ANY DICTIONARY.
אם לחשבון המשתמש שמשמש להעברה אין גישה לתצוגות של מנהל מסד הנתונים, Database Migration Service חוזר ל-
ALL_VIEWS.
הגישה הזו מספקת את מידת הגמישות הגבוהה ביותר בכל הנוגע להגדרת מודל אבטחה שמתאים בצורה הטובה ביותר לדרישות שלכם.
כדי לדעת מהם שלבי ההגדרה המדויקים, עיינו בקטע הרלוונטי למסד הנתונים של המקור:
- הגדרת מסד נתונים של Amazon RDS ל-Oracle
- הגדרת מסד נתונים של Oracle בניהול עצמי
- הגדרת מסד נתונים של Oracle בניהול עצמי שניתן לחיבור
הגדרת מסד נתונים של Amazon RDS ל-Oracle
כדי להגדיר את מסדי הנתונים של Amazon RDS כמקור להעברה חד-פעמית, צריך לתת את ההרשאות המתאימות לחשבון המשתמש שבו ישתמש Database Migration Service.
בכל פקודה, מחליפים את USER_NAME בשם של חשבון המשתמש שבו משתמשים להעברה. הפקודות האלה נותנות הרשאות לקריאה מ-V$DATABASE, שנדרשות לאימות.
GRANT CONNECT TO USER_NAME; GRANT CREATE SESSION TO USER_NAME; GRANT SELECT ANY TABLE TO USER_NAME; GRANT SELECT ANY DICTIONARY TO USER_NAME; exec rdsadmin.rdsadmin_util.grant_sys_object('V_$DATABASE','USER_NAME','SELECT');
הגדרת מסד נתונים של Oracle
כדי להגדיר את מסדי הנתונים של Oracle כמקור להעברה חד-פעמית, צריך לתת לחשבון המשתמש שבו ישתמש Database Migration Service את ההרשאות המתאימות.
בכל פקודה, מחליפים את USER_NAME בשם של חשבון המשתמש שבו משתמשים להעברה. הפקודות האלה נותנות הרשאות לקריאה מ-V$DATABASE, שנדרשות לאימות.
GRANT CONNECT TO USER_NAME; GRANT CREATE SESSION TO USER_NAME; GRANT SELECT ANY TABLE TO USER_NAME; GRANT SELECT ANY DICTIONARY TO USER_NAME; GRANT SELECT ON SYS.V_$DATABASE TO USER_NAME;
הגדרת מסד נתונים מתחבר (PDB) של Oracle
Database Migration Service תומך בארכיטקטורת ריבוי דיירים של Oracle, שבה מסד נתונים של קונטיינר (CDB) אחד מכיל מסד נתונים אחד או יותר שניתן לחיבור (PDB). כל מסד נתונים שניתן לחיבור הוא מסד נתונים עצמאי עם מזהה ייחודי ושם, ואפשר לנהל אותו בנפרד.
כדי להגדיר מסד נתונים של Oracle שניתן לחיבור, כך שתוכלו להשתמש בו עם Database Migration Service, צריך לבצע את השלבים הבאים:
- יוצרים
משתמש משותף.
למשתמש משותף יש את אותה זהות בקונטיינר
CDB$ROOTובמסדי הנתונים הניתנים לחיבור. משתמש רגיל יכול להתחבר ולבצע פעולות בתוך השורש, ובכל מסד נתונים שניתן לחיבור שבו יש לו הרשאות. שם המשתמש הנפוץ חייב להתחיל ב-C##או ב-c##. - נותנים את ההרשאות המתאימות למשתמש המשותף שישמש לחיבור למסד הנתונים. נדרשות הרשאות שונות ברמת הקונטיינר של
CDB$ROOTוברמת מסד הנתונים הניתן לחיבור.בכל פקודה, מחליפים את
USER_NAMEבשם של חשבון המשתמש שמשמש להעברה. הפעלת הפקודות האלה מעניקה הרשאות לקריאה מ-V$DATABASE, שנדרשות לאימות.- מתחברים לקונטיינר
CDB$ROOTומריצים את הפקודות הבאות:GRANT CREATE SESSION TO USER_NAME; GRANT SET CONTAINER TO USER_NAME; GRANT SELECT ON SYS.V_$DATABASE TO USER_NAME; GRANT EXECUTE_CATALOG_ROLE TO USER_NAME;
- מתחברים למסד הנתונים המתחבר ומריצים את הפקודות הבאות:
GRANT CREATE SESSION TO USER_NAME; GRANT SET CONTAINER TO USER_NAME; GRANT SELECT ANY TABLE TO USER_NAME; GRANT SELECT ANY DICTIONARY TO USER_NAME; GRANT SELECT ON SYS.V_$DATABASE TO USER_NAME;
- מתחברים לקונטיינר