본문 바로가기

ORACLE

테이블(table) 삭제 시 (drop, delete) DB 데이터 복구 방법 ## oracle 10g recyclebin 및 as of timestamp 이용 데이터 복구DB 업무간 실수 및 자의 또는 타의에 의해 table 및 data가 날라가 버리면~~ 아주 된장 이다... 그때 복구 할수 있는 간단한 admin 작업을 해보면... 우선 table이 완전 drop되 었는지 data만 지워 졌는지 확인 한다.. select * from user_tables where table_names=' tablename' 첫째 : table이 drop 되었을시~~ 이때는 recyclebin 을 이용 object를 복구 할 수 있는데.... recyclebin 기능을 간단히 알아 보면.... window 휴지통에 개념과 유사한 flashback table 에 존재하는 논리적으로 존재하는 d.. 더보기
테이블스페이스 생성, 사용자 추가, 사용자 권한설정 보호되어 있는 글입니다. 더보기
테이블스페이스 관리 [참고 - Locally managed tablespace] 1. 9i부터 Locally managed tablespace가 디폴트임 2. Tablespace의 할당된 extents와 Free extents 정보를 datafile header 부분에 Bitmap 형태(0:free extent, 1:used extent)로 저장 3. 해당 테이블스페이스 내의 모든 Extent 크기는 동일, 기본적으로 extent의 size가 system에 의해서 자동적으로 정해짐 (64K) 4. Local 상태에서는 Default Storage 옵션은 무시됨 5. 세그먼트(테이블,인덱스) 생성시 지정하는 스토리지 옵션도 무시됨 - 예외) INITIAL은 변경 가능, 200K 지정시 64K EXTENT 4개가 할당됨 6. .. 더보기
오라클 테이블스페이스 용량늘리기 1. tablespace 이름으로 관련 data file 찾기 SELECT file_name, tablespace_name, bytes FROM dba_data_files WHERE tablespace_name = '' 2. tablespace 크기 늘리기 (1) data file 추가(가장 많이 쓰는 방법) ALTER TABLESPACE ADD DATAFILE '' SIZE ; (2) 기존의 data file 크기 변경 ALTER DATABASE DATAFILE '' RESIZE ; 예제) 20GB 로 늘림. alter DATABASE datafile '/user01/oradata/hera/users01.dbf' resize 20000M (3) datafiledml size를 자동으로 늘어나게 하는 명.. 더보기
[SQL] 제약조건, Constraint(NOT NULL, UNIQUE, PRIMARY KEY(기본키), FOREIGN KEY(외래키)) 테이블 작성시에 Constraint를 사용해서 입력하는 자료에 대해서 제약, 즉 규칙을 정해줄 수 있는데요. 이때 정해진 제약에 따라서 데이터가 입력이 됩니다. 제약에 배반된다면 자료 입력이 거부되면서 오류가 납니다. 즉, 데이터 무결성(Data Integrity)을 지키기 위한 데이터 무결성 제약조건(Integrity Constraint)에 대해서 알아볼까 합니다. 참고로, 네이버 지식백과에서는 데이터 무결성에 대해서 다음과 같이 밝히고 있는데요. "데이터를 인가되지 않은 방법으로 변경할 수 없도록 보호하는 성질" 쉽게 말하면, 권한이 부여된 계정이나 사람만이 접근 가능하고, 정확하고 완전한 데이터들이 저장되어 있는 상태라고 생각하시면 되겠습니다. 여기서 제약조건은 이러한 데이터 무결성을 보장함으로써 .. 더보기
DBMS_CRYPTO를 이용한 암호화/복호화 (오라클) 1. SYS계정으로 암호화 패키지를 생성할 유저에게 권한을 할당합니다. GRANT EXECUTE ON DBMS_OBFUSCATION_TOOLKIT TO [계정명]; GRANT EXECUTE ON DBMS_CRYPTO TO [계정명]; 2. 권한을 할당한 유저로 접속하여 패키지 생성 Script를 실행합니다. ---------------Header 생성 Script CREATE OR REPLACE PACKAGE [계정명].ENCRYPTION_AES IS /****************************************************************************** 암호화 ***********************************************************.. 더보기
오라클 테이블 복사 및 데이터 복사하기 - 테이블 복사하기 (스키마 & 데이터) CREATE TABLE 생성테이블명 AS SELECT * FROM 복사할테이블명 [WHERE 절] ex ) WHERE IDX 더보기
오라클 각종 함수 || - 둘 이상의 문자열을 연결하는 결합 연산자 concat - 두 문자열을 연결하여 반환, 두 개만 가능 select concat('My name is ', mem_name) 연결 from member; chr(숫자) - 숫자값(아스키 코드값)을 문자로 select chr(65) || chr(97) || chr(48) from dual; ascii('문자') - 문자를 아스키 코드값으로 select ascii('a') from dual; lower(' ') - 문자나 문자열을 소문자로 upper() - 문자나 문자열을 대문자로 initcap(' ') - 첫 글자를 대문자로 나머지는 소문자로 select lower('Data manipulation Language') "lower", upper('Dat.. 더보기
오라클 숫자, 날짜와 관련한 함수 * 숫자함수/날짜함수 ------------------------------------------------------------------------------ 구 분 함 수 내 용 ------------------------------------------------------------------------------ ROUND 해당 소수점 자리에서 반올림할 때 TRUNC 해당 소수점 자리에서 절삭할 때 MOD(m/n) m을 n으로 나누고 남은 나머지를 리턴할 때 ABS 숫자 값을 절대값으로 바꾼다 SIGN 숫자가 양수:+1, 음수:-1, 0:0 숫자함수 FLOOR 실수값을 정수값으로 CEIL 그 수보다 가장 크거나 작은값을 리턴 POWER 해당 수에 대한 지수값을 표현 LOG 로그값으로 변환 SI.. 더보기
Oracle Dump & Import EXP ID/Pass@DBname FILE=FILENAME TABLES=TABLE1, TABLE2, TABLE3 명령어는 EXP. DUMP 파일을 만들고자 하는 DB의 ID와 PASS, DB NAME을 적는다. FILE에는 DUMP 파일의 이름이 들어간다. EX) TESTDUMP.DMP 라고 적어주면 실행되는 드라이브에 해당 이름으로 파일이 만들어지게 된다. TABLES 는 옵션. TABLES를 적어주지 않으면 모든 테이블을 전부 DMP 파일에 담게 된다. 위의 예처럼 적어주면 해당 DB에서 TABLE1, TABLE2, TABLE3만 덤프 파일에 담게된다. 박스 안의 명령어를 CMD 창에서 실행시켜주어도 되며 배치 파일을 만들어서 사용해도 된다. 명령을 실행하는 드라이브 위치에 파일이 작성된다. 필요없는.. 더보기
토드에서 자바 쿼리로 자동 변환 기능 Toad (ver.9.6.1) 기능 내용> SQL 쿼리문 을 자바 코드로 변경 1. Java -> SQL =============================== 변환전 Java 문법의 Query " SELECT A, B, C" + " FROM Table" + " ORDER BY A, B" =============================== 이런 형식의 Java Query가 있을때 저걸 토드에서 실행시키려면 따옴표 떼고 + 기호 떼고.. 이제 그짓 하지 말자. 저 상태로 카피해서 토드에 복사한뒤 "Ctrl+P" (메뉴바 기준으로는 Editor -> Strip Code Statement )를 해주면 깔끔하게 Toad에서 사용할 수 있는 Query문으로 변환시켜준다. ===================.. 더보기
오라클 - 관리자 계정(sys) 비밀번호를 잊어버렸을때 아래 내용은 데이터베이스가 설치된 로컬에서만 실행가능하다. 1. sqlplus 실행 2. 사용자명에 sys as sysdba 입력 3. 암호는 쓰지 않는다. 4. show user 명령으로 계정 정보 확인 5. alter user sys identified by [새로만들비밀번호] // alter user 명령은 user의 정보를 바꾸어 주는 명령이다. 관리자 권한으로 데이터베이스에 접속하고 싶다면 사용자명에 sys as sysdba 를 입력하고 로그인하라. 그냥 사용자명 sys 으로 접속하려고 하면 오류가 발생한다. 오류 예) 사용자명 입력: sys 암호 입력: ERROR: ORA-28009: connection as SYS should be as SYSDBA or SYSOPER 정상 예) 사용자명 입.. 더보기