본문 바로가기

IT 지식/DB

[SQL] Oracle

728x90
반응형

Enterprise 서버 : 대기업용 서버, 용량이 커서 설치 시 3시간 이상 걸림, 관리 잘해야함

Enterprise 클라이언트 : 서버에 접근, 연관된 데이터만 꺼내오기

Express 교육용 : 엔터프라이즈만큼 신경쓰지 않아도 됨

설치 파일 : Oracle XEUniv.exe 줘야함. 한글 지원이 됨


오라클 설치

- 오라클 설치 시 계정이나 컴퓨터 이름 모두 영문, 공백 없어야 함. 관리자 계정이어야 함

- 기존 오라클 삭제해야함, 레지스트리도 지워야함. 데이터베이스도 사용 도구 툴이 있음.

- 암호 지정

- 포트번호 : 1521 지정, 자바와 연동


고정된 계정

System/oracle, scott/tiger, hr/hr 계정


서비스 확인 : 항상 시작되어야함

- Oracle Service XE
- Oracle XETNSListener


Listener 확인

- 컴퓨터 계정 및 컴퓨터 이름을 변경한 후에 오라클 실행하면 오류,

- C:\oraclexe\app\oracle\product\10.2.0\server\NETWORK\ADMIN

- listener.ora

- tnsnames.ora


SQLPLUS

오라클에 명령어 입력하는 것

1. 시작 > Oracle Database 10g > SQL 명령줄 실행

2. 시작 > 실행 > cmd

sqlplus > 사용자/비번 입력

3. http://localhost:8080/apex <웹으로 확인하는 방법

http://localhost:5560/isqlplus <엔터프라이즈용

4. port변경

 - 반드시 관리자 계정(sys, system)에서 해야함

 - 현재 포트 확인 : SQL>select dbms_xdb.getHttpPort() from dual;

 - 포트 변경 : SQL>exec dbms_xdb.setHttpPort(9090);


lock계정 풀기

1. 관리자 계정으로 접속되어 있어야함

SQL> alter user 사용자계정 identified by 비밀번호 account unlock;


일반계정 만들기

SQL> create user 계정 identified by 암호;

권한 주기

SQL> grant create session, create table, create sequence, create view to 계정;

SQL> alter user 계정 default tablesapce users;

SQL> alter user 계정 quota unlimited on users;


계정 삭제

SQL> drop user 계정명    // table이 없을때 삭제하는 방법

SQL> drop user 계정명 cascade; //table이 있을 때 삭제하는 방법


테이블 생성

SQL> create table 테이블명(필드명, 필드명2, 필드명3, ...);


* 한글 사이즈

- 엔터프라이즈 : 한글 1자 = 2byte

- Express :  한글 1자 = 3byte


레코드 추가

- 오라클은 무조건 싱글 따옴표

SQL> insert into 테이블명 (필드명, 필드명2,...) values(값, 값2, ...);

SQL> insert into 테이블명 values(값, 값2, ...);    //테이블의 순서가 일치하면 필드명 생략가능, 모든 컬럼 다 기입해야함


* insert나 update, delete 할 때는 lock이 걸려 있어 레코드 추가 후에는 갱신해야함,


트랜잭션

- 오라클 명령어들의 집합체

- commit : 갱신

- rollback : 취소


레코드 추출

SQL> select 컬럼명, 컬럼명2 from 테이블명;

레코드 수정

SQL> update 테이블명 set 컬럼명 = 컬럼값 where 조건;

레코드 삭제

SQL> delete from 테이블명

SQL> delete from 테이블명 where 조건;


테이블 삭제

SQL> drop table 테이블명;    //휴지통 거치고 삭제

SQL>drop table 테이블명 purge;    //휴지통 거치지 않고 바로 삭제

테이블 복원

SQL> flashback table 테이블명 to before drop;

휴지통 비우기

SQL> purge recyclebin

728x90
반응형

'IT 지식 > DB' 카테고리의 다른 글

[SQL]Sub Query  (0) 2025.04.12
[SQL]Join  (0) 2025.04.12
[SQL]ROWID  (0) 2016.03.09
[SQL] Procedure, Function, Package  (0) 2016.01.07
[펌]PK 가 없는 테이블에서 중복된 데이터 제거하기  (0) 2015.12.18