Trong Oracle SQL Developer, hãy mở phần DBA, Security và Users.
Chọn tài khoản của bạn.
Nhấp chuột phải.
Chọn, tạo lượt thích.
Bật 'Sao chép đối tượng privs'
Cung cấp tên người dùng / mật khẩu mới.
Thì đấy.
Truy cập trang SQL để xem mã mà chúng tôi đã lấy ra từ từ điển dữ liệu cho bạn.
Nó đã nắm lấy hạn ngạch, vai trò, hệ thống và hệ thống riêng.
Trong phiên bản 18.1, bạn cũng có thể chỉ cần mở Người dùng và truy cập trang SQL và sao chép / dán / thay thế tên lược đồ trong mã được cung cấp ở đó.
Chao ôi! (Tôi nghe bạn nói, tôi cần MÃ để làm việc này.)
Bạn có thể xem SQL mà chúng tôi đang sử dụng để lấy thông tin này từ DB, bằng cách mở bảng Nhật ký trong SQL Developer và nhấp vào trang Báo cáo.
Đây là mã đó:
select M.NAME,
decode(
NVL(
S.ADMIN_OPTION,
'NULL'
),
'NO',
'YES',
'NULL',
'NO',
'YES'
) GRANTED,
NVL(
ADMIN_OPTION,
'NO'
) ADMIN
from SYSTEM_PRIVILEGE_MAP M,
(
select *
from DBA_SYS_PRIVS
where (
GRANTEE =?
or ? = null
)
) S
where S.PRIVILEGE (+) = M.NAME
order by 1;
select R.ROLE,
decode(
S.NAME,
R.ROLE,
'YES',
'NO'
) GRANTED,
NVL(
S.ADMIN,
'NO'
) ADMIN,
NVL(
S.DEF,
'NO'
) DEF
from DBA_ROLES R,
(
select GRANTED_ROLE NAME,
ADMIN_OPTION ADMIN,
DEFAULT_ROLE DEF
from DBA_ROLE_PRIVS
where GRANTEE =?
) S
where S.NAME (+) = R.ROLE
and R.AUTHENTICATION_TYPE != 'GLOBAL'
order by 1;
select OWNER,
TABLE_NAME,
PRIVILEGE,
GRANTABLE
from DBA_TAB_PRIVS
where GRANTEE =?;
select ACCOUNT_STATUS,
DEFAULT_TABLESPACE DEF,
TEMPORARY_TABLESPACE TEMP,
PASSWORD,
EXTERNAL_NAME,
EDITIONS_ENABLED,
ALL_SHARD
from DBA_USERS
where USERNAME =?;
select T.TABLESPACE_NAME,
NVL(
Q.UNLIMITED,
'NO'
) UNLIMITED,
Q.QUOTA,
Q.UNIT,
T.CONTENTS
from DBA_TABLESPACES T,
(
select TABLESPACE_NAME,
decode(
MAX_BYTES,
-1,
'YES',
'NO'
) UNLIMITED,
decode(
MAX_BYTES,
-1,
null,
MAX_BYTES / 1024
) QUOTA,
'K' UNIT
from DBA_TS_QUOTAS
where (
USERNAME =:1
or :1 = null
)
) Q
where Q.TABLESPACE_NAME (+) = T.TABLESPACE_NAME
order by 1;