Score:-1

การแยกผู้ใช้และบทบาทใน Oracle

ธง ht

ฉันพยายามเขียนแบบสอบถามเพื่อให้มีการแยกผู้ใช้/บทบาท ฉันไม่มีทักษะ 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

ขอบคุณมาก

Michael Hampton avatar
cz flag
สิ่งนี้ไม่ได้อยู่ที่นี่ คุณสามารถลองโพสต์บนเว็บไซต์น้องสาวของเรา [dba.se]
Score:-1
ธง ht

ฉันตอบตัวเอง ฉันพบวิธีแก้ปัญหาในฟอรัม oracle เฉพาะอื่น:

เลือก B.ACCOUNT_STATUS, A.GRANTEE, listagg(A.GRANTED_ROLE, ';') ภายในกลุ่ม (เรียงลำดับโดย A.GRANTED_ROLE) จาก DBA_ROLE_PRIVS A
เข้าร่วม DBA_USERS B กับ A.GRANTEE = B.USERNAME
ที่ B.ACCOUNT_STATUS = 'เปิด'
จัดกลุ่มโดย A.GRANTE, B.ACCOUNT_STATUS
สั่งซื้อโดยผู้รับ;

คีย์คือ listagg ที่เชื่อมผลลัพธ์ของ A.GRANTED_ROLE ให้เป็นสตริงเดียว โดยมี ; ตัวคั่น

ไชโย

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา