Oracle
- Container 기준으로 잡혀있음
CDB
- Oracle의 큰 운영체제 Database -> Database를 구성
- Seed라는 Database를 이용해서 PDB를 활용함
[ 관리자 ]
system 사용자 -> sysoper (DB-startup,close,backup,recover,mount)
sys 사용자 -> sysdba (오라클의 모든 권한을 갖는 관리자 - 사용자 추가,권한 부여 등등..관리함)
✅
CDB를 복제한 SEED
🔽
PBD : Seed를 복제한 Database(가상 DB)
cmd로 접속시 sys는 sysdba 또는 sysoper로 접속을 해야하며, 해당 설정은 as로 구분하여 접속합니다.
[기본사용자] => pdbs를 생성시
- HR (인적자원 관리 사용자)
- PM (상품정보 관리 사용자)
- SH (판매정보 관리 사용자)
- BI (비지니스 모델 관리 사용자)
👀 [Table 생성 및 Data를 입력시 - space 공간이 필요함]
1. Tablespace - Table을 생성할 때 사용하는 공간
2. Tablelogspace - Table 로그 기록을 남기는 공간
3. 사용자를 추가
- SYSKM : 암호화 관련 규정사항
- SYSOPER : Database를 정지, 강제 백업 , 추가 사용자 등록
- SYSRAC : 사용자 그룹형태를 구성하는 기능 , 일반 사용자에게 관리자 권한 줄 수 있음
=> 얘네는 권한 체크아웃 필히!!
4. 가상의 database를 접속하는 방식
sqlplus로 접속시
sqlplus HANA/hana1234@localhost:1521/xepdb1
외부 SQL 접속
sqlplus HANA/hana1234@172.30.1.83:1521/xepdb1
=> show con_name;
해서 XEPDB1 뜨면 잘 들어온거임
👀 명령어
- sqlplus sys as sysdba
로그인시 - show pdbs;
가상의 Dtabase 리스트를 확인하는 명령어 - select name from v$pdbs; ( $는 option을 의미함 )
== show pdbs와 동일한 기능 , 리스트 확인 - show con_name;
현재 위치한 container name을 출력하는 명령어
내가 어디있는지... - select cdb from v$database;
현재 가동을 하고있는지 확인 (가동시 YES 출력됨)
👀 Oracle 문자 자료형
- char : 1byte / 고정길이 / ex) char(4) : 영어,숫자 4자까지
- varchar : 가변길이
- varchar2 : Oracle 전용 자료형
- nchar : 한글도 4자까지 입력 가능 / ex) nchar(4) : 한글,영어,숫자 혼합 4자까지
- navarchar : 많이씀
varchar vs varchar2
자료형 변환 : varchar에서 varchar2로 변경 불가
숫자, 알파벳,한글 (varchar,varchar2 여유길이를 적용해야함)
oracle에서는 varchar보다 varchar2를 권장함
👀 Oracle 숫자 자료형
- int : oracle에선 int 쓸 수는 있으나 권장하지 않음 ㅠ ( Integer 쓰세용 )
int, Integer은 (byte) 입력하지 않음 / ex) mtel int not null , mtel Integer not null - long : int,Integer과 동일 , 2Gbyte까지 인식 가능
- number : 크기를 정할 수 있음 ( max - 38자리 숫자까지 적용 가능 )
정수, 소수 모두 사용 가능 / 반올림도 사용 가능
정수 : number(8) => 단, 문자형태의 강제로 소숫점이 입력될 경우 반올림이 이루어짐
소수 : number(8,2) => 소수점으로 표현 (소수점 2자리 포함 8자리)
ex) mtel number(11) not null
mpoint number(5,2) not null => 5자리 숫자 중 2자리를 소숫점으로 설정 가능 - 123.23
mpoint number(6,3) not null => 6자리 숫자 중 3자리를 소숫점으로 설정 가능 - 123.123 - clob : long의 update버전 , 4Gbyte까지 인식 가능
- nclob : 유니코드/clob보다 더 큰 data type 입력 가능
=> 숫자 자료형 모두 첫자리는 0 불가
👀 Oracle 날짜 자료형
sysdate : mysql의 now() 와 같은기능
insert into member2 values ('2024-09-02 14:22:22',sysdate,sysdate);
//=> 요렇게 넣어도 알아서 잘 들어감
날짜 관련 명령어
- select length('홍길동')from dual;
length 확인 - select sysdate from dual;
날짜 확인 - select to_char(today,'YYYY-MM-DD HH24:MI:SS') from member2;
날짜 형식변경해서 출력 - select * from gv$nls_parameters (요걸로 확인해서)
alter session set NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
alter session set NLS_TIMESTAMP_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
(요걸로 타입 자체를 변경해버리는 방식)
⭐ 초반에 세팅 꼭 해줘야지 jsp,jstl,thymeleaf로 출력할 때 편하다!!
🔽
'CLASS > DATABASE' 카테고리의 다른 글
#3-2/ Oracle data복구 (0) | 2024.09.03 |
---|---|
#3-1/ Oracle table,column (1) | 2024.09.03 |
🌸 Oracle Setting (0) | 2024.08.21 |
mysql -> json 변환 사이트 (0) | 2024.07.01 |
#5-2 / trigger 응용문제 , signed,unsigned (0) | 2024.06.10 |