The Pursuit of Happyness

현재 Oracle 홈페이지에서 다운로드 가능한 XE 의 버전은 11이라서 상당히 오래되었지만,


조만간 출시될 Oracle 18 버전을 준비하며, 테스트용으로 간단히 설치해 보았습니다.


(참고로 클라우드 버전은 이미 출시했고, autonomous 하다고 해서 Oracle DBA 들 사이에서 논란이 많았었습니다..)


XE 버전은 상용서비스도 가능하지만 최대 11GB 까지의 데이터 저장이 가능하며, 최대 1GB 메모리만 사용하고, 하나의 CPU만 사용한다고 되어 있습니다.  


--------------------------------------


설치 환경 : Windows 10 Pro 1709 (64bits)


@ 다운로드


오라클 홈페이지에서 XE 버전을 다운로드 합니다.


http://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html


약관이용에 동의하고 로그인한 후에 Windows x64 버전을 다운로드 합니다.


@ 설치


압축파일을 풀고 DISK1 폴더에 setup.exe 파일을 실행해서 설치를 합니다.


설치 위치를 지정하고, SYS / SYSTEM 계정의 비밀번호를 설정하고 설치를 합니다.


@실행


윈도우의 경우 Installer를 통해서 설치하면, Oracle 이 설치된 경로가 자동으로 Path로 지정이 됩니다.


윈도우키를 누르고, cmd 를 입력해서, 명령 프롬프트를 실행합니다.


명령 프롬프트에서 sqlplus 를 입력합니다.


user-name 에 SYSTEM 을 입력하고, password 에는 설치시 입력한 비밀번호를 입력합니다.


@ 사용자 등록


create user [username] identified by [password];


@ 권한 부여


접속 권한

grant connect to [username];


DB 권한

grant resource to [username];


그 외의 권한은 아래 링크 참조

https://docs.oracle.com/cd/E17781_01/admin.112/e18585/toc.htm


exit 명령어로 sqlplus 종료


sqlplus를 다시 실행해서 새로 생성한 계정 테스트


@ 개발 테스트


XE는 설치시 TNS 정보에 서비스명 XE로 등록이 됩니다.


TNS 정보는 설치 경로에 \app\oracle\product\11.2.0\server\network\ADMIN\tnsnames.ora 파일에서 확인이 가능합니다.


ex) node.js 연결 정보

var config = {

  user : [username],

  password : [password],

  connectString : "localhost/XE"

};


Comment +0

MySQL 을 관리하면서 가장 기본으로 필요한 것은 계정 생성 및 권한을 관리하는 것입니다.


사용자 계정과 관련된 구문은 다음과 같습니다.


 ALTER 

 사용자 정보를 변경  

 ex) ALTER USER 'testuser'@'localhost' PASSWORD EXPIRE;

 CREATE

 사용자 계정 생성  

 ex) CREATE USER 'testuser'@'%' IDENTIFIED BY 'password';

 DROP

 사용자 계정 삭제 

 ex)  DROP USER 'testuser';

 GRANT

 사용자 계정에 권한을 부여 

 ex) GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'localhost' IDENTIFIED BY'password';

 RENAME

 사용자 계정을 변경 

 ex) RENAME USER 'testuser'@'localhost' TO 'testuser2'@'127.0.0.1';

 REVOKE

 사용자 계정의 권한을 제거 

 ex) REVOKE ALL PRIVILEGES ON testdb.* FROM 'testuser'@'localhost'; 

 SET PASSWORD

 사용자 계정의 비밀번호 변경 

 ex) SET PASSWORD FOR 'testuser'@'localhost' = password('new_password'); 


사용자 계정을 새로 생성하여 권한을 바로 부여하는 경우에는 CREATE 과정을 생략하고 바로 GRANT 구문만 사용해도 됩니다.

반대로 계정을 삭제하는 경우에는 권한을 제거하지 않고 바로 DROP 하면 계정이 삭제 됩니다.


사용자의 권한을 확인하기 위해서는 다음의 구문을 사용합니다.


 mysql> SHOW GRANTS FOR 'testuser'@'localhost';



사용자가 가질수 있는 권한은 종류가 매우 많습니다.

많이 쓰이는 권한은 다음과 같습니다.


ALL [PRIVILEGES] : 모든 권한


CREATE : 데이터베이스 혹은 테이블 생성 권한


DELETE : DELETE 구문을 사용할 수 있는 권한


DROP : 데이터베이스, 테이블 혹은 뷰를 삭제할 수 있는 권한


INSERT : INSERT 구문 사용 권한


LOCK TABLES : SELECT 구문시 테이블에 락을 걸수 있는 권한


SELECT : SELECT 구문 사용 권한


SUPER: admin 권한


UPDATE : UPDATE 구문 사용 권한


Comment +0