ฉันพยายามเขียนแบบสอบถามเพื่อให้มีการแยกผู้ใช้/บทบาท ฉันไม่มีทักษะ SQL มากนักเช่นเดียวกับใน oracle ดังนั้นฉันจึงเริ่มต้นด้วยสิ่งนี้:
เลือก A.GRANTEE, A.GRANTED_ROLE, B.ACCOUNT_STATUS จาก DBA_ROLE_PRIVS A
เข้าร่วม DBA_USERS B กับ A.GRANTEE = B.USERNAME
ที่ B.ACCOUNT_STATUS = 'เปิด'
และ A.GRANTE ไม่อยู่ใน ('ระบบ', 'ระบบ')
สั่งซื้อโดยผู้รับ;
ผลลัพธ์มีลักษณะดังนี้:
ผู้รับสิทธิ์ GRANTED_ROLE ACCOUNT_STATUS
เปิดการเชื่อมต่อ PIPPO
เปิดการเชื่อมต่อพลูโต
เปิด PAPERINO DATAPUMP_IMP_FULL_DATABASE
เปิด PAPERINO DATAPUMP_EXP_FULL_DATABASE
เปิดทรัพยากร ZIOPAPERONE
เปิดการเชื่อมต่อ ZIOPAPERONE
เปิดการเชื่อมต่อ PAPERGA
ทรัพยากร PAPEROGA เปิด
มีใครรู้บ้างว่าเป็นไปได้ไหมที่จะมีสิ่งนี้ลงไป โดยที่ GRANTED_ROLE หลายรายการถูกจัดกลุ่มเป็นคอลัมน์เดียว
ผู้รับสิทธิ์ GRANTED_ROLE ACCOUNT_STATUS
เปิดการเชื่อมต่อ PIPPO
เปิดการเชื่อมต่อพลูโต
PAPERINO DATAPUMP_IMP_FULL_DATABASE เปิด DATAPUMP_EXP_FULL_DATABASE
ทรัพยากร ZIOPAPERONE เชื่อมต่อเปิด
PAPEROGA CONNECT เปิดแหล่งข้อมูล
หรือหากมีตารางระบบอื่นที่มีพฤติกรรมเดียวกัน ฐานข้อมูลเป็น Oracle DB 12c
ขอบคุณมาก