데이터베이스 내의 모든 스키마를 나열하기 위한 Oracle SQL 쿼리
오라클 DB에서 사용하지 않는 스키마를 삭제하려고 합니다.
모든 스키마 이름에 대해 쿼리하려면 어떻게 해야 합니까?
sqlplus 사용
sqlplus / as sysdba
실행:
선택*dba_users에서
유저명이 다음의 조작만을 실시할 필요가 있습니다.
사용자 이름 선택dba_users에서
아마, 당신은
SELECT username
FROM dba_users
시스템내의 모든 유저(및 가능성이 있는 모든 스키마)가 표시됩니다.스키마의 정의가 스키마를 비워둘 수 있는 경우, 이것이 바로 당신이 원하는 것입니다.단, 어떤 오브젝트도 소유하지 않는 수백 개의 사용자 계정을 제외하기 위해 어떤 오브젝트도 실제로 소유할 경우 스키마라고 부르고 싶은 시맨틱한 구별이 있을 수 있습니다.그 경우
SELECT username
FROM dba_users u
WHERE EXISTS (
SELECT 1
FROM dba_objects o
WHERE o.owner = u.username )
스키마를 작성한 사용자가 기본 테이블스페이스를 할당하고 Oracle이 제공한 스키마에 관심이 없다고 가정할 경우 이러한 스키마를 필터링하려면default_tablespace,예.
SELECT username
FROM dba_users
WHERE default_tablespace not in ('SYSTEM','SYSAUX')
또는
SELECT username
FROM dba_users u
WHERE EXISTS (
SELECT 1
FROM dba_objects o
WHERE o.owner = u.username )
AND default_tablespace not in ('SYSTEM','SYSAUX')
시스템 이외의 사용자에게 잘못 전달된 시스템을 발견하는 것은 매우 드문 일이 아닙니다.default_tablespace의SYSTEM단, Oracle에서 제공하는 스키마를 이러한 방식으로 필터링하기 전에 전제 조건이 충족되는지 확인하십시오.
SELECT username FROM all_users ORDER BY username;
select distinct owner
from dba_segments
where owner in (select username from dba_users where default_tablespace not in ('SYSTEM','SYSAUX'));
아래 sql에는 설치 후 생성되는 Oracle의 모든 스키마가 나열되어 있습니다.ORACLE_MAINTENED='N'은 필터입니다.이 열은 12c에 새로 추가되었습니다.
dba_users에서 ORACLE_MAINTENED='N'으로 구분되는 사용자 이름 ORACLE_MAINTENED를 선택합니다.
어때?
SQL> select * from all_users;
모든 사용자/스케마 목록, ID 및 DB에 작성된 날짜가 반환됩니다.
USERNAME USER_ID CREATED
------------------------------ ---------- ---------
SCHEMA1 120 09-SEP-15
SCHEMA2 119 09-SEP-15
SCHEMA3 118 09-SEP-15
다음 SQL 중 하나가 Oracle DB의 모든 스키마를 반환합니다.
select owner FROM all_tables group by owner;select distinct owner FROM all_tables;
언급URL : https://stackoverflow.com/questions/4833459/oracle-sql-query-for-listing-all-schemas-in-a-db
'programing' 카테고리의 다른 글
| 문자열을 jsx로 변환하려면 어떻게 해야 합니까? (0) | 2023.04.05 |
|---|---|
| WordPress에서 프로그래밍 방식으로 게시물을 만드는 방법 (0) | 2023.04.05 |
| mongodb 커서 위에 연속적으로 반복(다음 문서로 이동하기 전에 콜백을 대기) (0) | 2023.04.05 |
| JSX에서 부울 값을 렌더링할 수 없습니까? (0) | 2023.04.05 |
| AngularJS/Angular-ui-bootstrap datePicker에서 사용되는 언어 변경 (0) | 2023.04.05 |