В Oracle SQL Developer отворете секцията DBA, Security и Users.
Изберете своя акаунт.
Щракнете с десния бутон.
Изберете, създайте харесване.
Превключете на „Копиране на лични обекти“
Въведете новото потребителско име/парола.
Готово.
Отидете на страницата SQL, за да видите кода, който сме извадили от речника на данните за вас.
Грабнал е квоти, роли, системни и обектни права.
Във версия 18.1 можете също просто да отворите User и да отидете на SQL страницата и да копирате/поставите/замените името на схемата в предоставения там код.
Уви! (Чувам ви да казвате, имам нужда от КОД, за да направя това.)
Можете да видите SQL, който използваме, за да получим тази информация от базата данни, като отворите панела за регистрационни файлове в SQL Developer и щракнете върху страницата с отчети.
Ето този код:
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;