본문 바로가기
728x90

Oracle9

[DataBase] Oracle DBMS Synonym (Public, Private)개념과 실습 1. Synonym이란? 시노님(Synonym)의 뜻은 동의어이며 일종의 별칭 오라클에서 쿼리문을 작성할 때 스키마명(소유자명)을 붙이지 않고 테이블을 사용하고 있다면 해당 테이블의 시노님을 사용하고 있는 것 시노님은 Table, View, Procedure, Function, Sequence 등의 오라클 오브젝트에 사용 가능 (mysql에는 없는 기능) MySQL은 DB.Table의 구조 2. Synonym의 장점 오브젝트명을 짧게하여 SQL문을 단순화 스키마, 오브젝트명(테이블명 등)이 변경 되어도 시노님만 재생성하면 SQL문은 변경하지 않아도 됨 오브젝트를 외부에 제공할 경우 스키마, 오브젝트명을 숨길 수 있어서 보안에 도움이 됨 3. Synonym 문법 CREATE [OR REPLACE] [PUB.. 2023. 2. 15.
[SQL] SQL 성능확인, Query Plan 보는 법 (Oracle, MySQL) 1. Query Plan이란? SQL 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터 접근에 사용되는 순서가 있는 단계별 집합 엑세스 플랜의 관계형 모델 개념의 특화된 경우 SQL이 선언형이기 때문에 주어진 쿼리를 실행하기 위해 수많은 방법이 존재하는 것이 일반적이며 이에 따라 다양한 성능 차이를 보임 Query Optimizer는 Query 실행을 위한 각기 다른 가능성 있는 올바른 플랜 중 일부를 평가한 다음 최적의 옵션을 고려할 때 반환 2. Query Plan 보는 법, 요소(Oracle) 1) Query Plan 보는 법 위에서 아래로 내려가면서 제일 먼저 읽을 위치 찾기 내려가는 과정에서 같은 들여쓰기가 있으면, 무조건 위에서 아래 순으로 읽기 같은 레벨에 들여쓰기된 하위 스텝이 존재하면.. 2023. 1. 31.
[Database] Oracle 시스템 카탈로그 추출하기, 테이블 , 컬럼, 코맨트 정보 확인하기 DA업무를 맡으며, 그간 DBA보고 뽑아달라 했던 테이블 및 컬럼 정보들이 필요하게 됐는데, DBA가 없더라도 제법 추출하기 쉬운 항목들이므로, 직접 뽑아보면서 정리해봤습니다. 1. 테이블 정보 SELECT * FROM DBA_TABLES; -- 데이터베이스 내의 모든 테이블 SELECT * FROM ALL_TABLES; -- 유저가 소유한 테이블, 유저가 접근가능한 테이블 SELECT * FROM USER_TABLES; -- 유저가 소유한 테이블 (현재 유저의 소유목록이기때문에 OWNER 정보가 없다.) DBA_TABLES 출력예시 2. 컬럼 정보 SELECT * FROM DBA_TAB_COLUMNS; -- 데이터베이스내의 모든 컬럼 목록(숨겨진 컬럼 제외) SELECT * FROM ALL_TAB_CO.. 2022. 8. 23.
[DataBase] (Oracle vs MySQL) CTAS(Create Table As Select), INSERT INTO SELECT, TEMP Table, View + with절,Inline view 이번 포스트에는 oracle과 MySQL에서 각각 CTAS, INSERT INTO SELECT가 어떻게 사용되는지, TEMP table과 View의 개념과 장단점 그리고 Oracle과 MySQL에서는 어떻게 다른지에 대해 포스팅 하겠습니다. 1. CTAS(Create Table As Select) CTAS의 기본 개념은 MySQL과 오라클 모두 같다. 1) 기본 문법 CREATE TABLE 'target' AS SELECT * FROM 'origin'; --AS 이후에는 기존의 조회쿼리처럼 원하는 컬럼만 지정하거나 조건절 및 정렬도 가능하다. 2) 데이터는 복사하지 않기 CREATE TABLE 'target' AS SELECT * FROM 'origin' WHERE 1=0; MySQL 기본 문법 데이터 .. 2022. 6. 15.
[Server] 서버 이중화 HA(High Availability), OPS(Oracle Parallel Server), RAC(Real Application Cluster) 비교 #HA와,OPS,RAC 모두 DB 서버의 구성에 관한 것이고, 고가용성을 위해 만들어진 구성이라는 것 HA(High Availability) -2개의 서버를 이용하여 하나는 Active 상태, 나머지 하나는 Standby 상태로 정해놓는다. -거의 모든 부하는 Active에서 부담하고 Standby 상태의 서버는 Active 서버가 장애가 발생하지 않는 이상, 거의 가동하지 않는다. -실제 서비스를 운영하는 Active 서버가 어떠한 장애로 정상적인 작동이 불가능해진다면, 곧바로 Standby 서버가 Active 되면서 다시 서비스를 정상 작동할 수 있게 하는 구성이다. -이해하기 쉬운만큼 구조도 단순하고 따라서 구축 비용도 저렴하다. 또한, 서버 하나만 가동되면 되므로 유지비 역시 저렴하다는 장점이 있.. 2021. 2. 3.
[DataBase] MySQL,Oracle의 데이터베이스 계층 구조 비교 1. 일반적인 데이터베이스 계층 구조 MySQL에서 스키마와 데이터베이스가 어떻게 다른지 보기 전에 먼저 일반적인 데이터베이스의 4계층 구조를 보도록 하겠습니다. (정확한 지식이 아닌 전체적인 그림을 봅니다.) 데이터베이스 : 오라클의 경우 작동하는데 필요한 모든 파일을 의미합니다. 인스턴스 : DBMS가 동작할 때의 단위, OS 입장에서는 ‘프로세스’, DBMS에 따라서는 ‘서버 프로세스’ 또는 ‘서버’로 부르기도 합니다. 앞서 말한 데이터베이스가 실행 가능하게 메모리에 올라가 있는 걸 생각하시면 됩니다. 스키마 : 데이터베이스의 구조와 제약 조건을 정의한 것, 쉽게는 폴더에 해당하며 스키마도 폴더처럼 사용자가 자유롭게 만들 수 있고, 사용자에 따라 접근을 제한하는 등의 권한 관리가 가능합니다. 폴더이.. 2021. 1. 18.
[DataBase] Oracle 의 스키마 (Schema)그리고 유저(User) 스키마란 무엇인가? - 오라클에서 스키마란 스키마 오브젝트들의 집합 - 스키마오브젝트는 테이블, 뷰, 인덱스와 같은 구조를 포함하는 논리적인 데이터 저장 구조를 가진 객체 - 하나의 스키마는 데이터베이스 사용자에의해 소유 다시 말하면 -스키마란 임의의 사용자가 생성한 모든 데이터베이스 객체(object))들을 말하며, 스키마 이름은 그 사용자(user)의 이름과 같으므로(스키마(schema) ≒ 오너(owner)) ex) 'user1'이라는 사용자가 테이블, 인덱스, 뷰등 여러 객체를 생성했다면, 그 객체의 소유자는 'user1'이 되며 이 객체 모두를 가리켜 user1스키마라고 한다. -오라클 시스템 정보를 갖고 있는 데이터 딕셔너리들 대부분은 소유자가 SYS였다. -따라서 데이터 딕셔너리들은 SYS .. 2021. 1. 8.
[DataBase] ORACLE 테이블생성 테이블(TABLE)이란? 테이블은 데이터베이스의 기본적인 데이터 저장 단위 이다. 데이터베이스 테이블은 사용자가 접근 가능한 모든 데이터를 보유하며 레코드와 컬럼으로 구성 된다. 관계형 데이터베이스가 아닌 예전의 데이터베이스 용어에서는 파일과 테이블이, 필드와 컬럼이, 그리고 레코드와 행이 동일시 되었다. 테이블은 시스템내에서 독립적으로 사용되길 원하는 엔티티를 표현할수 있다. 예를 들면, 회사에서의 고용자나 제품에 대한 주문은 테이블로 표현 가능하다. 테이블은 두 엔티티간의 관계를 표현할 수 있다. 즉 테이블은 고용자와 그들의 작업 숙련도 혹은 제품과 주문과의 관계를 표현하는데 사용될 수 있다. 테이블내에 있는 외래 키 (ForeIgn Key)는 두 엔티티 사이의 관계를 표현하는데 사용 된다. 컬럼 :.. 2020. 10. 28.
[DataBase] Oracle 문법(계정 생성과 권한 부여,취소,조회,TABLE SPACE) ●유저 생성 계정 생성하기 CREATE USER 유저ID(필수) IDENTIFIED BY VALUES "비밀번호"(필수) // IDENTIFIED BY 비밀번호(필수)|EXTERNALLY도가능하다 DEFAULT TABLESPACE 테이블스페이스 이름(선택) TEMPORARY TABLESPACE 테이블 스페이스(그룹) 이름(선택) QUOTA 테이블 스페이스 크기 ON 테이블 스페이스 이름(선택) PROFILE 프로파일 이름(선택) PASSWORD EXPIRE(선택) ACCOUNT [LOCK / UNLOCK](선택); 유저ID : USER 이름 BY password : USER가 데이터베이스에 의해 인증되도록 지정하며, 데이터베이스 USER 로그인시 사용하는 비밀번호 이다. EXTERNALLY : USER가.. 2020. 7. 6.
728x90