programing

데이터베이스 내의 모든 스키마를 나열하기 위한 Oracle SQL 쿼리

jooyons 2023. 4. 5. 21:33
반응형

데이터베이스 내의 모든 스키마를 나열하기 위한 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_tablespaceSYSTEM단, 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의 모든 스키마를 반환합니다.

  1. select owner FROM all_tables group by owner;
  2. select distinct owner FROM all_tables;

언급URL : https://stackoverflow.com/questions/4833459/oracle-sql-query-for-listing-all-schemas-in-a-db

반응형