Oracle Express 21c 설치
컴퓨터이름이나 계정이 모두 영문(한글X), 공백X, 반드시 관리자 계정 이어야한다
1. 설치
D:\Oracle\lib
Oracle Database 21c Experess Edition for Windows x64
- sql developer download 23.1.1.345.2114-x64
Windows64-bit with JDK 11 included
- db-sample-schemas-21.1
설치 경로 | 편집기 | |
JDK | C:\Program Files\Java\jdk-17 D:\Java\lib\jdk-17_windows-x64_bin D:\Java\lib\jdk-11.0.23_windows-x64_bin |
메모장, Eclipse, InteliiJ |
OracleXE213 | C:\app\p3cha\product\21c C:\Program Files\Oracle |
CMD, sqldeveloper |
2. 설치 확인
- 시작 → 제어판 → 시스템 및 보안 → 관리도구 → 서비스
- 내PC → 우클릭 → 추가 옵션 표시 → 관리 → 서비스 및 응용 프로그램(왼쪽 창) → 서비스
- 윈도우 + R → services.msc
3. Listerner 확인
C:\app\p3cha\product\21c\homes\OraDB21Home1\network\admin
4. SQL
- 시작 → Oracle-OraDB21Home1 → SQL Plus
사용자명 입력 : system
비밀번호 입력 : cad~~
SQL> show user;
USER은 "SYSTEM"입니다
SID (데이터베이스명) 확인하기
SQL> select name from v$database;
NAME
-----------------
XE
SQL> exit 항상 해줘야함
- 시작 → 실행 → cmd
C:\Users\p3ch> sqlplus
사용자명 입력: system
비밀번호 입력: cad~~
또는
C:\Users\p3ch> sqlplus system/1234
관리자 | MySQL | |
윈도우 | 리눅스 | Oracle |
Administor | root | SYS SYSTEM |
관리자 계정
제어판\시스템 및 보안\Windows Defender 방화벽 > 고급설정
[네트워크 우클릭 속성]
- 인바운드 규칙 > 새 규칙 > 포트 > 특정로컬포트 : 1521 >
Name : 실제 DB 이름 아님. (한글 OK)
hr 계정 생성
- 오라클 18c 버전 이후에는 연습용 스키마가 따로 분리되어 있어서 따로 설치해야 한다
- 반드시 관리자 계정(system)에서 해야 한다
- cmd (관리자 권한으로 실행)
스키마 다운로드 https://github.com/oracle-samples/db-sample-schemas/releases
① 압축풀기
② C:\app\bitcamp\product\21c\dbhomeXE\demo\schema 폴더에 human_resources 복사한다.
③ > sqlplus system/1234
SQL> select * from all_users; hr계정이 안 보인다
예전에는 lock으로 설정되어 있어서 unlock으로 풀어 썼지만 지금은 hr 계정이 존재하지 않기 때문에 hr 계정을 만들어서 사용해야 한다
SQL> alter session set "_ORACLE_SCRIPT"=true;
세션이 변경되었습니다.
hr 계정 생성 시 '올바르지 않은 이름' 오류를 방지하기 위함이다
SQL> @?/demo/schema/human_resources/hr_main.sql
human_resources 폴더가 존재하는 위치
C:\app\p3ch\product\21c\dbhomeXE\demo\schema\human_resources
specify password for HR as parameter 1:
1의 값을 입력하십시오: hr
specify default tablespeace for HR as parameter 2:
2의 값을 입력하십시오: users
specify temporary tablespace for HR as parameter 3:
3의 값을 입력하십시오: temp
specify password for SYS as parameter 4:
4의 값을 입력하십시오: cad*******
specify log path as parameter 5:
5의 값을 입력하십시오: $ORACLE_HOME/demo/schema/log
specify connect string as parameter 6:
6의 값을 입력하십시오: localhost:1521/xe
DROP USER hr CASCADE
*
1행에 오류:
ORA-01918: 사용자 'HR'(이)가 존재하지 않습니다
SP2-0310: unable to open file "__SUB__CWD__/human_resources/hr_cre.sql"
SP2-0310: unable to open file "__SUB__CWD__/human_resources/hr_popul.sql"
SP2-0310: unable to open file "__SUB__CWD__/human_resources/hr_idx.sql"
SP2-0310: unable to open file "__SUB__CWD__/human_resources/hr_code.sql"
SP2-0310: unable to open file "__SUB__CWD__/human_resources/hr_comnt.sql"
SP2-0310: unable to open file "__SUB__CWD__/human_resources/hr_analz.sql"
마지막에 이런 error가 뜨는 경우
__SUB__CWD__는 현재 디렉토리를 저장하는 변수인데, 제대로 작동하지 못할 수 있다.
그러므로 C:\app\bitcamp\product\21c\dbhomeXE\demo\schema\human_resources\hr_main.sql 파일을 열어서
@__SUB__CWD__ → @?/demo/schema로 수정하면 된다.
맨 마지막에 PL/SQL procedure successfully completed. 뜨면 성공이다.
사용자 계정 생성
- 반드시 관리자 계정(system)에서 해야 한다
- 계정명 앞에 c##을 붙여야 한다
계정명 : c##java (12c부터)
비밀번호 : 1234
① SQL> create user c##java identified by 암호;
② SQL> grant create session, create table, create sequence, create view to c##java;
③ SQL> alter user c##java default tablespace users; -- users 가 테이블스페이스명이다
④ SQL> alter user c##java quota unlimited on users;
-- UNLIMITED는 사용자가 USERS 테이블스페이스가 완전히 채워질 때까지 데이터를 저장할 수 있음을 지정하는 키워드
도구 > 환경설정 > 환경 > 인코딩 : UTF-8
@@D:\Oracle\lib\stEXE.sql;
@@ : 현재 SQL 스크립트 파일이 있는 디렉토리를 기준으로 상대 경로
D:\Oracle\lib\stEXE.sql : 실행할 SQL 스크립트 파일의 절대 경로
계정 삭제
반드시 관리자 계정(system)에서 해야 한다
SQL> drop user 계정명
: 계정에 데이터(테이블)가 없을 경우
SQL> drop user 계정명 cascade;
: 계정에 데이터(테이블)가 있을 경우
'DB > Oracle' 카테고리의 다른 글
VIEW (0) | 2024.08.20 |
---|---|
table, sequence (0) | 2024.08.20 |
SubQuery (0) | 2024.08.20 |
join (0) | 2024.08.08 |
데이터 조작어(DML) - SELECT (0) | 2024.08.06 |