데이터 베이스 : Oracle

2022. 2. 1. 08:45CS/데이터 베이스

오라클 설치 후 진행

 

Enterprise Manager Database Control URL

접속 방법 : http://{개인 컴퓨터 모델명 or localhost or 127.0.0.1}:1158/em
관리자가 사용하는 페이지, 관리자가 할 수 있는 모든 명령이 GUI로 잘 표시됨.
Oracle에서 관리자 계정
SYS : 데이터 베이스 관리 작업을 수행하는 일반적인 관리자. (admin, root와 유사)
SYSDBA : 데이터 베이스를 관리하는 관리자. (위의 SYS보다 권한이 더 강함.)
SYSTEM : 데이터 베이스를 위한 순수 데이터베이스 관리자로써 Oracle에서는 이 계정으로 작업하는 것보다 개별 데이터 베이스 관리자 계정을 생성해서 백업, 복원 등 데이터베이스 작업을 수행하는 것을 권한다. (잘 건드리지 않음)

데이터 베이스 사용자 카테고리에 들어가서 각 데이터베이스의 여러 설정을 변경할 수 있다.

사용자가 테이블을 생성하면 테이블이 저장되는 테이블 스페이스와 임시 저장소가 생긴다.
사용자가 생성한 테이블이 임시로 저장될 공간이 필요하다.. transaction 등을 위함이다.

할당량 탭에서 사용자가 사용할 수 있는 데이터를 규제할 수도 있다.

 

iSQL*Plus URL

관리자가 아닌 일반 사용자로 접속. 아이디에 특정 데이터베이스(hr, scott 등)를 적고 패스워드를 입력한다.

Oracle에서의 일반 사용자로는 BI, HR, OE, PM, IX, SH, Scott이 기본적인 데이터 베이스로 들어가 있다. (이외에도 많음)

 

SQL*Plus

isql와 같은 작업이 가능하다.

 

SQL 사용하기

1. sql문은 대소문자 구별이 없지만 입력 된 데이터에 대해서는 대소문자가 필요함.
2. 예약어와 Data Dictionary에 저장된 항목 등은 주로 대문자로 쓴다.
3. 문장의 끝에는 ; 를 찍는다.
4. *는 any의 의미이다.

 

5. SELECT ~(열) FROM ~(테이블 명) WHERE ~(조건) ; 기본적으로 데이터를 쿼리하는 방법
우선 데이터베이스에 로그인했다면
select * from tabs; 해서 데이터베이스에 저장된 테이블의 정보를 확인하자. 

저장된 테이블에 대한 정보가 출력이 된다. 이제 특정 테이블이 어떤 정보를 가지고 있는지 확인해보자
desc (테이블 명); 로 해당 테이블에 들어 있는 열을 확인한다. 쿼리할 때 이 열의 이름으로 쿼리한다.
또 더 알아봐야 할 것이 있는데 해당 테이블의 제약조건을 살펴보는 것이다. (제약조건이란 데이터를 입력하거나 삭제하는 등의 작업을 수행을 할 때 특정 조건을 고려해야하는 것이다.)
select * from ALL_CONSTRAINTS where table_name = 'EMPLOYEES'(테이블명); 를 입력해주자

 

테이블에 어느 제약조건이 있는지 확인해야 하고, 제약조건에는 U(Unique), C(Check), R(Reference : Foreign key), P(Primary key, Unique + NOT NULL)등이 있다.
상호 관계를 맺고 있어서 어느 한쪽이 없어지거나 변경되면 참고하는 쪽의 데이터가 무결성(integrity)을 보장하지 못한다.
위 iSQL plus 말고도 cmd에서도 작업이 가능하다.
먼저 sqlplus를 입력하면 아래와 같이 출력이 된다. 원하는 데이터베이스를 입력하고 암호를 입력한다.

또한 conn이나 connect로 다른 데이터 베이스로 접속을 할 수 있다.

위의 명령어로 관리자 계정을 접속할 수도 있다. 또한 새로 데이터베이스를 생성할수도 있다.

새로운 유저를 만들어서 해당 데이터 베이스에 할당할 수도 있다.

이렇게 관리자 권한을 부여하고

계정이름/ 비밀번호를 입력해서 해당 계정으로 접속할 수 있다.

이후

alger user SCOTT account unlock; 으로 잠겨있는 계정을 풀거나
alger user SCOTT identified by password;로 사용자의 패스워드를 변경할 수도 있다.
show user로 현재 자신이 어떤 계정으로 로그인 했는지 알 수 있다.
drop user 유저명 cascade; 해서 사용자 tester와 모든 자료, 데이터 저장공간까지 삭제한다.

등으로 관리자 작업을 수행할 수도 있다.

반응형