DB(10)
-
Linux 서버에서 Oracle dump exp/imp 사용
[오라클 덤프 exp / imp] 1. DB 서버으로 접속 (ex 리눅스) 2. root 권한으로 변경 - su- 3. 오라클 유저로 변경 - su - oracle 4. 오라클 sqlplus 실행 - sqlplus "/as sysdba" 5. 해당 유저의 데이터를 export - exp 유저명/패스워드 file=파일명.dmp full=y; 6. 삭제할 유저가 사용하던 tablespace 확인(같은 테이블스페이스 지정시) - select DEFAULT_TABLESPACE from dba_users where username= 삭제할유저명 7. 유저 삭제 (기존 유저로 import 할 시 유저가 사용하던 테이블 모두 삭제되었는지 확인) - drop user 삭제할유저명 cascade; 8. import 받을..
2021.07.06 -
오라클 한글 몇 바이트로 인식되고 있는지 확인하는 방법
* 현재 사용중인 오라클 시스템 확인 하기 - ria에서 250개 문자를 보냈는데 계속 142개만 db에 들어가길래 뭐야 이랬다가.. lengthb로 해보고 아~~ 했다능.. lengthb는 오라클의 캐릭터셋에 따라 한글을 2byte or 3byte로 해석해버림, 그러므로 ria에서도 한글 2바이트로 잡아버리고 db 보냈기에 > 현재 한글을 2byte로 잡고 있는 데이터베이스와 싱크가 맞았던 거임 1) 2) 캐릭터셋 확인 SELECT * FROM nls_database_parameters WHERE parameter = 'NLS_CHARACTERSET' or parameter = 'NLS_NCHAR_CHARACTERSET' AL32UTF8 - 한글 한자당 3바이트 - AL32UTF8: 한글 11,172자..
2021.06.29 -
복합키를 주키(Primary Key)로 사용한 테이블에 외래키(Foreign Key) 참조하는 방법 (재귀 참조)
복합키(복수개의 컬럼으로 구성된 키)를 주키로 사용한 테이블을 외래키로 참조할 경우, 해당 복합키 모두 참조해야만 합니다. 그렇지 않고 주키 중 한개의 컬럼만 외래키(FK) 를 걸면 sql 에러가 난다. 해당 컬럼에 대해서 외래키를 걸려면 해당 부분키에 대해 인덱스를 생성후 걸어주면 된다. 다음과 같이 고치면 됩니다. 답변 CREATE TABLE child ( id INT NOT NULL, parent_no INT NOT NULL, parent_id INT NOT NULL, PRIMARY KEY(id), FOREIGN KEY(parent_no,parent_id) REFERENCES parent(no,id) ) ENGINE = InnoDB; parent_no INT NOT NULL을 추가하고, 참조 Con..
2021.05.12 -
(DB공부) OLTP 와 OLAP 차이점, 다차원모델링
주니어라고 하기에는 너무 나이가 많은 모 책임과 애기하면서 OLTP, DW, 다차원 모델링 애기가 나왔는데, 잘 모른다 했다. 충격... 이것보고 좀 .. 상식을 넓혔으면 OLTP와 OLAP의 차이점 OLTP 효율적인 업무 처리 기반 트랜잭션 단위로 처리하기 때문에 소규모의 정교하고 일관된 데이터 처리가 중점(입력, 조회, 수정, 삭제) 제한된 Index가 생생되었을 때 최고의 성능을 발휘 (데이터가 변화할 때 Index가 같이 수정되기 때문에 트랜잭션 LOCK에 의해 성능이 저하) 운영계로 트렌젝션이 일어나는 과정이 중요 (현재시점) 데이터를 저장하는것이 가장 중요하기에 하드디스크 용량, 분산처리, 정규화가 이루어져야함 OLAP 사용하는 목적과 주제에 대한 분석 기반 서로 복잡한 이해관계로 얽혀있는 대..
2021.05.10