MySQL InnoDB Architecture
·
DataBase
mySQL 5.6 - data dictionary, 정합성을 위한 doublewrite buffer, dml 성능을 위한 change buffer, mvcc를 위한 undo log, innodb_file_per_table이 off면 시스템테이블스페이스에 table이 저장되는 구조 - ibdata 파일이 커지기 굉장히 쉬운 환경 - 특히 undo log가 커졌을때 DB상에서 트랜잭션이 종료되어도 OS의 파일 사이즈는 자동으로 반환되지 않기 때문에 장애 위험성이 있음 MySQL 5.7 Mysql 5.5 => 5.6으로 올라오면서 undo logs를 System tablespace 에서 별도로 둘 수 있게 됨 커진 undo log truncate 기능 - innodb_max_undo_log_size보다 커지면..
[Oracle] tablespace를 user로 해놓으면 안됨. 반드시 tablespace 지정해야한다! 오라클 TABLESPACE 변경하는 법, 오라클 인덱스 테이블스키마 변경법
·
DataBase
테이블 스페이스 작동방식오라클 에서는 테이블스페이스라고 불리우는 테이블이 저장될 공간을 먼저 만들고 나서 테이블을 생성합니다. 테이블에 실질적으로 저장되는 장소라고 생각하시면 됩니다. 이러한 작동방식은 각각의 테이블을 테이블스페이스별로 나누어서 관리와 퍼포먼스의 향상을 가지고 옵니다. 테이블스페이스를 생성하면 정의된 용량만큼 미리 확보한 테이블스페이스가 생성되어지고 생성되어진 테이블스페이스에 테이블의 데이타가 저장됩니다. 이렇게 설정된 데이터 스페이스에 용량이 가득차면 오라클 서버가 죽습니다. 그러므로 관리를 잘해주어야합니다. 하지만 또 테이블 스페이스마다 용량을 너무나도 크게 잡아버리면 문제가 되는게 용량을 적게 차지하고 있다고해서 가변적으로 max용량이 줄어들지는 않습니다. 고로 또 용량낭비가 ..
[Oracle]ORA-01861: 리터럴이 형식 문자열과 일치하지 않음
·
DataBase
SELECT TO_DATE('20220817000000', 'YYYY-MM-DD HH:MI:SS') + INTERVAL '1' HOUR FROM dual; 한 시간를 더해서 date 값을 가져오는 항목이다. 음?? 왜 에러나지.. 20220817000000 형식 맞는데 뭐지 싶었다. 근데.. HH 저게 문제였다! HH24..로 적어야하는데 그냥 HH로 적으면 안되는 거였다.. 하...허무해 SELECT TO_DATE('20220817000000', 'YYYY-MM-DD HH24:MI:SS') + INTERVAL '1' HOUR FROM dual; ㅎㅎ.. 뭐가 문젠가했네 ^^... HH24 넣어주면 잘된다
[Oracle] ORA-00979: GROUP BY 표현식이 아닙니다
·
DataBase
Aggregation Function (집계함수) 외에 모든 구문을 GROUP BY ~ 뒤에 포함 시켜야 한다. group by 문을 사용할 때는 반드시 그룹 함수 외에 조회하는 column 모두를 group by 문에 표시해야 한다. 예를들어 [틀린 쿼리] SELECT a, b, c, avg(d) FROM TABLE GROUP BY a 이렇게 a 하나만 쓰게되면 에러가 발생한다. SELECT a, b, c, avg(d) FROM TABLE GROUP BY a, b, c 잘된다.. 반드시 그룹함수 외의 컬럼 모두를 group by 에 포함시켜야 저 에러가 나지 않는다! * 확인해야할 점 마리아 / MySQL / MSSQL에서는 굳이 컬럼 다 넣지 않아도 작업을 수행 할 수 있다. 하지만 오라클은 집계함수..
이영서
'DataBase' 카테고리의 글 목록 (2 Page)