source

SQL*Plus를 사용하여 Oracle 11g에서 데이터베이스를 표시하는 방법

gigabyte 2023. 3. 5. 09:52
반응형

SQL*Plus를 사용하여 Oracle 11g에서 데이터베이스를 표시하는 방법

이 명령어를 사용하면 MySQL에서 데이터베이스를 볼 수 있습니다.

Oracle에서 사용 가능한 데이터베이스를 표시하는 방법

SELECT NAME FROM v$database;에 oracle 데이터베이스 이름을 나타냅니다.

MySQL "데이터베이스"는 Oracle의 스키마/사용자로 간주할 수 있습니다.권한이 있는 경우 다음 정보를 조회할 수 있습니다.DBA_USERS보기: 스키마 목록을 표시합니다.

SELECT * FROM DBA_USERS;

Oracle에는 MySQL 또는 MS SQL Server와 같은 단순한 데이터베이스 모델이 없습니다.가장 가까운 것은 테이블스페이스와 테이블스페이스 내의 대응하는 유저에게 문의하는 것입니다.

예를 들어 DEV_DB 테이블스페이스에 실제 '데이터베이스'가 모두 포함되어 있다고 합시다.

SQL> SELECT TABLESPACE_NAME FROM USER_TABLESPACES;

결과:

SYSTEM
SYSAUX
UNDOTBS1
TEMP
USERS
EXAMPLE
DEV_DB

또한 모든 테이블스페이스의 사용자를 조회할 수도 있습니다.

SQL> select USERNAME, DEFAULT_TABLESPACE from DBA_USERS;

또는 특정 테이블스페이스 내에서(예를 들어 DEV_DB 테이블스페이스를 사용):

SQL> select USERNAME, DEFAULT_TABLESPACE from DBA_USERS where DEFAULT_TABLESPACE = 'DEV_DB';

ROLES DEV_DB
DATAWARE DEV_DB
DATAMART DEV_DB
STAGING DEV_DB

이 뷰를 사용할 수 있을지 모르겠지만, 잘 모르겠어요.

select * from v$database;

하지만 현재 DB에 대한 정보만 보여줄 것 같습니다.

기타 옵션(DB가 Linux에서 실행 중인 경우)다음과 같은 결과를 얻을 수 있습니다.

SQL>!grep SID $TNS_ADMIN/tnsnames.ora | grep -v PLSExtProc

명확하게는 알 수 없지만 일반적으로 하나의 서버에 하나의 데이터베이스(많은 사용자가 있는 경우)가 있습니다.많은 데이터베이스를 작성하면 많은 인스턴스, 리스너 등을 작성할 수 있습니다.이 경우, 고객님의LISTENER식별하기 위해.

테스트에서는 2개의 데이터베이스를 작성했습니다(dbtest그리고.dbtest_1LISTERNER 상태를 확인해보니 다음과 같이 표시됩니다.

lsnrctl status

....

리스너 상태

.....

(설명=(주소=(PROTOCOL=param))(HOST=10.10.20.20)(좌현=1521)

서비스 개요...

서비스 "dbtest"에는 인스턴스가 1개 있습니다.

인스턴스 "dbtest", 상태 READY, 이 서비스에 대한 핸들러 1개...

서비스 "dbtest1XDB"에는 인스턴스가 1개 있습니다.

인스턴스 "dbtest1", 상태 READY, 이 서비스에 대한 핸들러 1개...

서비스 "dbtest_1"에는 인스턴스가 1개 있습니다.

인스턴스 "dbtest1", 상태 READY, 이 서비스에 대한 핸들러 1개...명령이 성공적으로 완료되었습니다.

언급URL : https://stackoverflow.com/questions/3004171/how-to-display-databases-in-oracle-11g-using-sqlplus

반응형