วันนี้จะ clone oracle 12c non-cdb มาที่ oracle database container จาก link นี้อะนะ => https://oracle-base.com/articles/12c/multitenant-clone-remote-pdb-or-non-cdb-12cr1
มี task ที่ต้องสร้าง database link เพื่อให้ container ใช้ dblink มา select data จาก non-cdb ได้ปรากฎว่าเจอ error
ORA-02085: การเชื่อมโยงฐานข้อมูล DBLINK.DB_DOMAIN เชื่อมต่อกับ DATABASE
ORA-02085: database link DBLINK.DOMAIN connects to DATABASE
ลองตรวจสอบค่า ทั้ง db_domain และ global_name
SELECT * FROM V$PARAMETER WHERE NAME LIKE '%global%' OR NAME LIKE '%domain%';
แก้ปัญหาดังนี้
ALTER SYSTEM SET GLOBAL_NAMES=FALSE SCOPE=BOTH;
อันนี้แก้ไขระดับ instance เลย
ALTER SESSION SET GLOBAL_NAMES=FALSE SCOPE=BOTH;
แก้ไขระดับ Session นั้นๆ ที่เข้ามาใน database source
รันที่ Source Database เพราะว่าการให้ GLOBAL_NAMES เป็น TRUE คือแสดงว่าเรากำลังใช้ database domain ลองศึกษาเพิ่มเติมได้จาก link => https://docs.oracle.com/cd/B28359_01/server.111/b28310/ds_admin001.htm หรือใน oracle support ก็มีนะ (Doc ID 210630.1)
เราก็พยายามแก้ไขนะใช้เวลา 3 ชม พยายามหาทางให้สามารถ connect ด้วย dblink ได้ ปรากฎว่าติดที่ DBName และ GLOBAL_NAME เป็นชื่อเดียวกัน (= ="
มีอะไรที่ผมเข้าใจผิดแจ้งด้วยนะครับ
Young Oracle DBA Thailand ..
No comments:
Post a Comment