728x90

-- 다른 테이블

MERGE INTO TABLE_NAME(ALIAS1) / VIEW_NAME
USING TABLE_NAME(ALIAS2) / VIEW_NAME / SUB_QUERY
ON (JOIN CONDITION)
WHEN MATCHED THEN 
UPDATE TABLE_NAME SET / DELETE TABLE 
(WHERE ~)
WHEN NOT MATCHED THEN
INSERT () VALUES ();


-- 동일 테이블

MERGE INTO TABLE_NAME/VIEW_NAME
USING DUAL ON ~
WHEN MATCHED THEN
UPDATE SET / DELETE TABLE
WHEN NOT MATCHED THEN 
INSERT () VALUES ();


--** ON조건절에 사용된 컬럼은 UPDATE 불가능 
--** 되도록 ON조건절 PK를 사용 

728x90

'ORACLE' 카테고리의 다른 글

INDEX  (1) 2022.10.19
PARTITION TABLE  (0) 2022.10.19
TABLESPACE 조회  (1) 2022.10.11
[ORACLE] LOB Objects 갯수가 다른 경우  (1) 2022.07.01
[ORACLE] ROLE  (0) 2022.06.30
728x90

** sysdba권한의 유저만 가능 (x$kccfe)

 

-- tablespace, datafile, 생성날짜, 용량

set line 300
col tablespace_name for a30
col file_name for a60
col fecrc_tim for a30
select tablespace_name, file_name, fecrc_tim creation_date, bytes/1024/1024/1024 GB
from x$kccfe a, dba_data_files b
where b.file_id = a.indx + 1 order by 1,2;
set line 300
col tablespace_name for a30
col file_name for a60
col fecrc_tim for a30
select tablespace_name, file_name, fecrc_tim creation_date, bytes/1024/1024/1024 GB
from x$kccfe a, dba_data_files bV$ASM_DISKGROUP usable_file_mb negative
where (b.file_id = a.indx + 1) and (tablespace_name = '?')
order by 1,2;


-- tablespace, datafile별 사용 현황

 

SELECT A.TABLESPACE_NAME "tablespace", A.FILE_NAME "file_name",
trunc(((A.BYTES - B.FREE)/1024/1024/1024,2) "used_space",
trunc(B.FREE/1024/1024/1024,2) "free_space",
trunc(A.BYTES/1024/1024/1024,2) "total",
TO_CHAR((B.FREE / A.BYTES * 100) , '999.99')||'%' "free_per"
FROM
(SELECT FILE_ID, TABLESPACE_NAME, FILE_NAME, SUBSTR(FILE_NAME,1,200) FILE_NM,
SUM(BYTES) BYTES 
FROM DBA_DATA_FILES
GROUP BY FILE_ID,TABLESPACE_NAME,FILE_NAME,SUBSTR(FILE_NAME,1,200)) A,
(SELECT TABLESPACE_NAME, FILE_ID, SUM(NVL(BYTES,0)) FREE
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME,FILE_ID) B
WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.FILE_ID = B.FILE_ID;


-- tablespace, datafile별 생성 시간

select tablespace_name, status, creation_date, trunc(bytes/1024/1024/1024) GB, NAME
from v$datafile_header
where tablespace_name = '?';



728x90

'ORACLE' 카테고리의 다른 글

PARTITION TABLE  (0) 2022.10.19
MERGE  (0) 2022.10.12
[ORACLE] LOB Objects 갯수가 다른 경우  (1) 2022.07.01
[ORACLE] ROLE  (0) 2022.06.30
[ORACLE] RMAN-06054  (0) 2022.06.30
728x90

-- LINE 정리 / CONSOLE
pager less -n -i -S

-- COLUMN DEFINITION
SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, DATA_TYPE, COLUMN_TYPE, CHARACTER_MAXIMUM_LENGTH, IS_NULLABLE, COLUMN_KEY, EXTRA, COLLATION_NAME, COLUMN_DEFAULT, COLUMN_COMMENT 
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'DATABASE_NAME'
;


-- INDEX DEFINITION
SELECT INDEX_SCHEMA, INDEX_NAME, TABLE_NAME, COLUMN_NAME, SEQ_IN_INDEX, NON_UNIQUE, NULLABLE, INDEX_TYPE
FROM INFORMATION_SCHEMA.STATISTICS
WHERE TABLE_SCHEMA = 'DATABASE_NAME'
ORDER BY INDEX_NAME
;

-- TABLE DEFINITION 
SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'DATABASE_NAME'
;

728x90

'MYSQL' 카테고리의 다른 글

MYSQL 기동&정지, 서비스 등록, 패스워드 변경  (0) 2024.01.25
[MYSQL] 비밀번호 복잡도 정책 설정 미흡 - 보안 조치  (0) 2024.01.02
TABLE COLUMN 조회  (0) 2023.01.30
TABLE SCHEMA 조회  (0) 2023.01.12
USER 생성  (0) 2022.10.19
728x90

desc의 index를 봐라 


-- 주석 추가 
EXEC SP_ADDEXTENDEDPROPERTY 'MS_DESCRIPTION','TABLE_DESCR', 'USER', USER_NAME ,'TABLE', TABLE_NAME;
EXEC SP_ADDEXTENDEDPROPERTY 'MS_DESCRIPTION','COLUMN_DESCR', 'USER', USER_NAME ,'TABLE', TABLE_NAME, 'COLUMN', COLUMN_NAME;

-- 인덱스 추가 
CREATE INDEX INDEX_NAME ON TABLE_NAME(COLUMN_NAME);
ALTER TABLE TABLE_NAME ADD PRIMARY KEY (COLUMN_NAME);
ALTER TABLE TABLE_NAME ADD CONSTRAINT INDEX_NAME PRIMARY KEY (COLUMN_NAME);
ALTER TABLE TABLE_NAME ADD CONSTRAINT INDEX_NAME DEFAULT 1 FOR COLUMN_NAME;
 -- PK COLUMN 고정 값 추가

-- 인덱스 삭제
ALTER TABLE TABLE_NAME DROP CONSTRAINT INDEX_NAME;

-- 데이터베이스 전체 테이블 조회 뷰
SELECT * FROM INFORMATION_SCHEMA.TABLES;

-- 테이블 삭제 
DROP TABLE TABLE_NAME;

728x90

'MSSQL' 카테고리의 다른 글

LOCK  (0) 2023.10.27
SQL 실행 이력 조회  (0) 2023.05.16
VERSION  (0) 2023.05.12
CTAS  (0) 2023.05.12
OFFSET FETCH 구문  (1) 2022.10.12
728x90

expdp impdp로 이관 후 object count 햇는데 LOB만 갯수가 다름 

dba_lobs에서 table, column name 다 확인 햇는데 분명 같은데 난감함......

 

SQL> show recyclebin
SQL> SELECT object_name, original_name FROM dba_recyclebin WHERE owner = 'TEST';

SQL> purge DBA_RECYCLEBIN

일명 휴지통 비우기 

object count 갯수 동일...

728x90

'ORACLE' 카테고리의 다른 글

MERGE  (0) 2022.10.12
TABLESPACE 조회  (1) 2022.10.11
[ORACLE] ROLE  (0) 2022.06.30
[ORACLE] RMAN-06054  (0) 2022.06.30
[ORACLE] RMAN RECOVER  (0) 2022.06.30
728x90

-- ROLE 관련 뷰

ROLE_SYS_PRIVS -> ROLE에 부여된 시스템 권한

ROLE_TAB_PRIVS -> ROLE에 부여된 테이블 권한

ROLE_ROLE_PRIVS -> 다른 ROLE에 부여된 ROLE 정보

USER_ROLE_PRIVS -> 사용자가 엑세스할 수 있는 ROLE

SESSION_ROLE -> 현재 사용자에게 활성화된 ROLE

 
-- ROLE 생성 
CREATE ROLE <ROLE_NAME>;
 
-- ROLE 조회
select * from dba_roles;

 

-- ROLE sys 권한 부여

grant create session to <ROLE_NAME>;
select * from role_sys_privs;
 
grant select on <OWNER>.<TABLE_NAME> to <ROLE_NAME>;
select * from ROLE_TAB_PRIVS;

 

728x90

'ORACLE' 카테고리의 다른 글

TABLESPACE 조회  (1) 2022.10.11
[ORACLE] LOB Objects 갯수가 다른 경우  (1) 2022.07.01
[ORACLE] RMAN-06054  (0) 2022.06.30
[ORACLE] RMAN RECOVER  (0) 2022.06.30
[ORACLE] INS-08101  (0) 2022.06.29
728x90
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 04/06/2022 00:39:29
RMAN-06054: media recovery requesting unknown archived log for thread 2 with sequence 150 and starting SCN of 5875886
 
 
-->  RMAN-06054 해결방법
SQL> select max(sequence#), thread# from v$archived_log L, v$database D
where L.resetlogs_change#=D.resetlogs_change# and
L.backup_count > 0
group by L.thread#;  2    3    4  
 
 
MAX(SEQUENCE#)      THREAD#
-------------- ----------
       162        1
       149        2
 
 
run {
set until sequence 167 thread 1;
set until sequence 153 thread 2;
recover database;
alter database open resetlogs;
}
 
 

 

728x90

'ORACLE' 카테고리의 다른 글

[ORACLE] LOB Objects 갯수가 다른 경우  (1) 2022.07.01
[ORACLE] ROLE  (0) 2022.06.30
[ORACLE] RMAN RECOVER  (0) 2022.06.30
[ORACLE] INS-08101  (0) 2022.06.29
[ORACLE] RAC AIX 19.9 이상 권고 사항  (1) 2022.06.29
728x90
 
list backup of controlfile;
report schema;
 
startup nomount pfile='/oracle/base/product/19/dbs/initorcl.ora';
 
run {
restore controlfile from '/RMAN/backup/control_57_1_1099921136';
startup mount;
restore database;
recover database;
alter database open resetlogs;
}
 
728x90

'ORACLE' 카테고리의 다른 글

[ORACLE] ROLE  (0) 2022.06.30
[ORACLE] RMAN-06054  (0) 2022.06.30
[ORACLE] INS-08101  (0) 2022.06.29
[ORACLE] RAC AIX 19.9 이상 권고 사항  (1) 2022.06.29
[ORACLE] Single DB 설치 전 환경 조성  (0) 2022.06.29
728x90
 
 
(grid user, oracle user)
export CV_ASSUME_DISTID=OL7
 
** RHEL8에서 19c 설치 시 발생

 

728x90

'ORACLE' 카테고리의 다른 글

[ORACLE] RMAN-06054  (0) 2022.06.30
[ORACLE] RMAN RECOVER  (0) 2022.06.30
[ORACLE] RAC AIX 19.9 이상 권고 사항  (1) 2022.06.29
[ORACLE] Single DB 설치 전 환경 조성  (0) 2022.06.29
[ORACLE] RAC password file 변경  (0) 2022.06.29
728x90

-- 권고 Parameter

  - AIX 19c RAC에 MGA 이슈가 있으므로 (19.8부터 Fix 되었다고 하지만) 하기 Hidden Parameter
    적용을 반드시 권고
   SQL> alter system set "_ksipc_service_mask"=0 scope=spfile;
  - filesystemio_option=asynch ==> SETALL 권고.
   <== GPFS가 DIO제공하므로 raw-device & ASM 환경이 아닌 CFS 환경의 경우 권고 값
          Filesystem 생성시 DATA영역은 agblksize가 4K, Redo 영역은 agblksize가 512bytes 로 각각
          분리 생성을 권고하는데, 이 Block Size가 맞지 않으면 SETALL로 설정해도 asynch로 동작
 
--  CRS Resource 중 CHM (osysmod) Daemon Disable
#./crsctl stop res ora.crf -init
CRS-2673: Attempting to stop 'ora.crf' on 'acs11g2'
CRS-2677: Stop of 'ora.crf' on 'acs11g2' succeeded

#./crsctl modify resource ora.crf -init -attr "AUTO_START=never"

#./crsctl stat res -t -init -> 확인

 

728x90

'ORACLE' 카테고리의 다른 글

[ORACLE] RMAN RECOVER  (0) 2022.06.30
[ORACLE] INS-08101  (0) 2022.06.29
[ORACLE] Single DB 설치 전 환경 조성  (0) 2022.06.29
[ORACLE] RAC password file 변경  (0) 2022.06.29
[ORACLE] RAC Archive log mode 변경  (0) 2022.06.28

+ Recent posts