- Today
- 3
- Total
- 229,838
목록Oracle (88)
개발은 너무해
현재 서버shmmax=1gshmseg=120SGA = 48G 신규서버shmmax=1gshmseg=120SGA = 110G 위로 올라가지 않음. 왜 그런 것인지를 찾아봄. shmmax 할당 : SGA 보다 크거나 같게 설정하는 것을 권장한다고 함. 현재 알아본 바로는,1. sga 값보다 shmmax를 낮게 설정하면, 여러개의 shared memory가 뜨는 것을 볼 수 있다. - ipcs -ma 명령어로 SEGSZ 값을 합산하면 대략적으로 sga값과 동일하게 나온다.2. sga 값보다 shmmax를 높게 설정하면, 한개의 shared memory가 뜨는 것을 볼 수 있다. 의문. sga 값보다 shmmax를 낮게 설정하였는데, 에러가 발생하였다. - ORA-27123: unable to attach to ..
drop table temp_pgheo_external;drop directory TEST; create directory TESTas '/data16/tmp'; create table temp_pgheo_external(server_date varchar2(14),code1 varchar2(20),code2 varchar2(20),code3 varchar2(20),code4 varchar2(20),code5 varchar2(20) )organization external( type oracle_loader default directory BDUMP access parameters( --recodrds fixed 63 records delimited by newline fields terminated b..
v$log 가 처리되는 순서(?)를 보고자 함.. 현재 대량 데이터를 삭제중에 있다. select a.group#, member, bytes/1024/1024, a.status, archivedfrom(select * from v$log) a,(select * From v$logfile) bwhere a.group#=b.group#order by group#, member; 위 쿼리를 지속적으로 모니터링을 해보았다. log switch가 발생하면 alert 파일에 기록이 남고 status는 active 상태로 변환. status가 inactive 로 변경되면, archive 파일로 떨구는 작업을 진행하게 된다.이후 archived 컬럼은 NO에서 YES로 변경되면서 다음 log switch가 발생할 때 ..
현재 데이터의 rowid가 dml 작업시 변화가 있을까하여 몇가지 테스트를 해보았다. * TEMP 테이블 생성create table temp_rid_test tablespace users nologging asselect 1 no,'aaaaa' depth from dual union allselect 2,'bbbb' from dual union allselect 3,'xxxxx' from dual union allselect 4,'ddddd' from dual union allselect 5,'hhhha' from dual union allselect 6,'agghha' from dual; * 현재 rowidselect rowid, no, depth from temp_rid_test; ROWID NO D..
IMP-00032: SQL statement exceeded buffer lengthIMP-00008: unrecognized statement in the export file buffer size를 늘려주어라.
문득 생각났던 부분을 테스트 해본 결과이다. 중요하지는 않지만 궁금해서...어이없는 궁금증이였던가? ㅋㅋ 1. archive mode 가 아니면 hot backup을 할 수가 없다.SQL> alter tablespace system begin backup;alter tablespace system begin backup*ERROR at line 1:ORA-01123: cannot start online backup; media recovery not enabled SQL> 2. 핫백업시 다시 begin backup 명령어 먹는가?SQL> alter tablespace system begin backup; Tablespace altered. SQL> alter tablespace system begin b..
제목과 같이 갑자기 의문이 들었다.파일은 복사하는 중인데, 인서트는 계속 되고 있는 상황이 발생하였다.이론적으로 생각하였을 때는 아카이브 파일을 불러와 복구가 되겠다는 생각은 들어지만..정말 그렇게 될까?ㅎㅎ 테스트를 해보자.session 을 sys 와 scott 계정 2개를 열었다. users 테이블스페이스를 제외한 나머지 테이블스페이스에 대해서는 미리 hotbackup을 진행 완료.users 테이블스페이스를 남겨놓기 위해 alter database begin backup; 명령어를 사용하지 않고,alter tablespace system begin backup; 명령어를 사용하였다.(참고로 작업환경은 윈도우에서 하였음.) SQL> select * from v$backup; FILE# STATUS CH..
몇 년전 오라클 교육을 받은 이후로 처음 윈도우에 오라클을 설치해보았다.DB 설치 시 윈도우와 리눅스가 초기 설정이 다소 다르다는 것을 잠시 잊고 있었다. 윈도우에 생성 시 초기 해야할 작업.1. 서비스 등록 (oradim) D:\PROD\script>oradim -new -sid PROD -startmode A인스턴스가 생성되었습니다. D:\PROD\script>set oroacle_sid=PROD D:\PROD\script>sqlplus "/as sysdba" cf. oradim -new -sid PROD : 서비스 등록 oradim -delete -sid PROD : 서비스 해제 startmode A : 자동모드로 변환 2. shutdown 또는 startup 시 별도의 인증없이 DB 관리자 역할을..
SQL> !lsnrctl stop listener...... SQL> shutdown immediate;Database closed.Database dismounted.ORACLE instance shut down.SQL> startup mount;ORACLE instance started. Total System Global Area 2550136832 bytesFixed Size 2022920 bytesVariable Size 536871416 bytesDatabase Buffers 1996488704 bytesRedo Buffers 14753792 bytesDatabase mounted.SQL> alter system enable restricted session; System altered. SQ..
union 과 union all 의 차이점을 말하라하면 중복이 제거가 되느냐 되지 않느냐의 차이로 알고 있었다.그러나 minus는????? 단순히 로우에 대한 빼기로만 알고 있었기에 무심코 사용했다.반전...결론은 minus를 하면 중복이 제거가 된 값들이 출력된다. with car as( select 'car' flag from dual union all select 'car' flag from dual union all select 'air' flag from dual union all select 'air' flag from dual union all select 'air' flag from dual union all select 'air' flag from dual union all select ..
pfile의 undo_management 를 MANUAL로 수정한 후 pfil로 open 한다. SQL> startup '$ORACLE_HOME/dbs/init$ORACLE_SID.ora; SQL> drop tablespace undotbs1 including contents and datafiles cascade constraints; 재생성한다.SQL> create undo tablespace undotbs1 datafile '/data1/oradata/undotbs01.dbf' size 10m 2 autoextend on next 5m maxsize 50m; SQL> shutdown immediate; pfile의 undo_management 를 다시 AUTO로 수정한 후 startup 한다.
PK 제거 후 삭제 해야 함. ALTER TABLE table_name DROP PRIMARY KEY;
용량이 부족할 때 데이터 파일을 추가 해주는 형식으로 주로 하였기에, resize 할 때 문제를 생각해 보지 않았다. autoextensible 되고 있는 데이터 파일을 resize를 하면 resize 한 만큼의 용량으로 자동 증가가 되는 줄 알았다. 하지만 아래 결과를 보게 된다면 생각이 달라질 것이다. 테이블 스페이스를 생성하고 상태 변경까지 각각의 size를 확인해 볼 것이다. 1. 테이블 스페이스 생성 ### create tablespace tbs_auto ### datafile '/oracle/oradata/orcl/Disk3/tbs_auto.bdf' size 1m ### autoextend on next 8k maxsize 3m; TABLESPACE AUT current(MB) Max exte..
$ORACLE_HOME/demo/sales_history/sql_main.sql 실행. 해당파일이 생성되지 않았으면 개별적으로 다운받아서 실행. 파일 용량이 큰 관계로 올리지 못하였다. 대략 17M 정도되며, 분할하여 올리려고 하였지만 회사 컴퓨터라 분할 할 여유가 되질 못하였다. specify password for SH as parameter 1: --> sh 계정에 대한 password 지정 Enter value for 1: ****** specify default tablespace for SH as parameter 2: --> default tablespace 지정 Enter value for 2: users specify temporary tablespace for SH as paramete..
http://kr.forums.oracle.com/forums/thread.jspa?threadID=619271&tstart=0 ========================================================================= PURPOSE -------------------------------------------------------------------------------- Oracle10g 이상에서는 HANG 발생으로 DB 접속 안될때 OS 디버거 사용안하고도 sqlplus -prelim 옵션으로 간단하게 SYSTEMSTATE DUMP 를 받을 수 있다. EXPLANATIONS ----------------------------------------------..
http://docs.oracle.com/cd/B28359_01/server.111/b28320/statviews_1036.htm ALL_COL_COMMENTSALL_COL_COMMENTS displays comments on the columns of the tables and views accessible to the current user. Related Views DBA_COL_COMMENTS displays comments on the columns of all tables and views in the database. USER_COL_COMMENTS displays comments on the columns of the tables and views owned by the current us..
create table temp_nation as select 'Seoul' city, 'Korea' country from dual union all select 'Busan' city, 'Korea' country from dual union all select 'Inchon' city, 'Korea' country from dual union all select 'LA' city, 'America' country from dual union all select 'Newyork' city, 'America' country from dual union all select 'Mexicocity' city, 'Mexico' country from dual ; select country, substr(max..
http://forums.oracle.com/forums/thread.jspa?threadID=468708 제품 : ORACLE SERVER 작성날짜 : 2003-06-10 CHECKPOINT NOT COMPLETE에 대해서 ================================ database가 전체적으로 멈춘것처럼 어떠한 새로운 작업도 진행이 안되는 경우, alertSID.log file를 확인해 보면 아래와 같은 message가 적힌 경우가 있다. Checkpoint not complete 이러한 message가 의미하는 것은 무엇이며, 왜 발생하는지, 그리고 어떠한 조치가 가능한지 자세히 살펴본다. 1. checkpoint란 무엇인가? ~~~~~~~~~~~~~~~~~~~~~~~~~ checkp..
sqlnet.ora에 설정한다. tcp.validnode_checking = yes tcp.invited_nodes=(127.0.0.1,127.0.0.2) tcp.NODELAY=yes listener 재시작..
리눅스(우분투)에서 sqlplus를 접속 후 작업시 ed 또는 edit 를 쳐서 쿼리를 수정하는 경우가 있다. 그러나 vi가 실행은 된 것 같은데 기존 쿼리는 온데 간데없고 이상한 문구나 '?' 만 표시가 되어있다. q를 눌러 나가게 되면 기존쿼리가 출력이 되면서 나간다. 해결 방법은.. $ORALCE_HOME/sqlplus/admin/glogin.sql 파일을 열어서 맨 아래줄에 define_editor=vi 를 입력한다. 다시 해보면 정상적으로 편집기가 실행된다.
현재 버젼은 10.2.0.1 이다. metalink 에서 패치 및 업데이트를 클릭하여 10.2.0.4 를 조회하여 다운 받는다. patch number : 6810189 파일명 : p6810189_10204_Linux-x86.zip 1. lsnrctl stop listener 2. shutdown immediate; 3. unzip p6810189_10204_Linux-x86.zip 4. ./runInstaller. - 허가거부라고 하여 실행이 되지 않을 때가 있는데 runInstaller 파일에 권한을 더 추가한다.(chmod 775 runInstaller) - .oui 등 다른 파일들도 권한 문제로 실행이 안되는 경우가 생김. 5. 인스톨 화면에서 10.2.0.1 설치 했을 때와 같은 경로들을 준다...
오라클 접속 할 때 갑자기 아래와 같이 에러가 뜨면서 접속이 되질 않았다. ORA-00257: archiver error. Connect internal only, until freed. archive 가 쌓이는 곳을 확인해보니, 100%를 치고 있었다. 헐... 운영중 디비라서 더욱 다급한 상황.. 일단 archive 파일 전체를 삭제하였다. 빨리 FULL 백업을 해야겠다. 접속은 잘 된다. 백업 정책을 만들어야지...
SQL*Plus: Release 10.2.0.4.0 - Production on Tue Sep 27 08:40:00 2011 Copyright (c) 1982, 2007, Oracle. All Rights Reserved. SQL> ERROR: ORA-09817: Write to audit file failed. HPUX-ia64 Error: 28: No space left on device ORA-01075: you are currently logged on bdump, udump, adump, cdump 의 용량이 초과 되어서 발생되는 문제이다. bdf를 쳐보니 위 로그 파일들이 저장되는 곳이 100% 를 치고 있었다. 일단 해당파일들을 삭제하지 않고 다른 곳으로 옮겨 놓았다.
* 나는 핫백업이 끝나는 시점까지의 아카이브 파일들은 항상 백업을 해놓는다. * 로그마이너를 사용하는데에 있어 내가 데이터를 삭제,수정한 시점을 대충이라도 기억을 하면 좀 더 수월한 작업이 진행 되지 않을까 생각된다. * 만약 오후 4시 10분 쯤에 DML 작업을 하였고, 그 이후에 잘못되었다는 것을 알았을 때 archive 파일 쌓이는 곳을 확인하여 해당시간대에 쌓인 archive 파일을 dbms_logmnr 를 이용하여 복구 시킨다. -rw-r----- 1 oracle dba 2769920 2011-08-30 16:07 1_17_760545262.dbf -rw-r----- 1 oracle dba 2712064 2011-08-30 16:08 1_18_760545262.dbf -rw-r----- 1 or..
1. startup nomount - pfile 또는 spfile을 읽어서 SGA 까지 올라옴. - pfile 또는 spfile들에 구성된 내용들을 볼 수 있다. 2. startup mount - Database의 정보를 가지고 있는Control file 까지 올라옴. - Oracle Dynamic Performance Views 까지 조회할 수 있음. 3. startup - Database open - 정상구동. 4. startup restrict - restrict 권한을 가진 계정만 DB에 접속할 수 있다. - 다른 session들을 막고 open된 상태에서 DB를 조작하여야 할 때 사용.(패치 또는 백업)
1. shutdown (normal) : dml 작업을 한 다른 session 들이 commit이나 rollback을 하지 않는 이상 절대 shutdown 불가능 2. shutdown transactional - dml 작업을 한 session들은 그대로 냅두고, 다른 session 들만 끊는다. - 어쨌든 normal 과 같은 경우. 3. shutdown immediate - shutdown을 할때 가장 많이 쓰이는 명령어. - dml 작업을 한 다른 session 들을 자동 rollback 시키고 shutdown 을 가능하게 함. 4. shutdown abort - 강제로 shutdown 함. - system에 무리를 줄 수가 있음.
오라클에는 URL 을 Encoding 및 Decoding 하는 함수가 있다. 유용하게 사용 할 수 있을 것 같다. http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/u_url.htm#i996850 Encoding : select utl_url.escape('함수') from dual; Decoding : select utl_url.unescape('%EC%97%89%EB%98%A5%ED%8F%AD%ED%8F%AC','UTF-8') from dual; Encoding 은 왤케 안되는지 모르겠다. 아무래도 한글로 Encoding 할려니 안되는 것 같다. 근데 Decoding은 왤케 잘되는지.. 열심히 찾고 있는 중이다. ㅋㅋ
1. 또 다른 undo tablespace를 생성한다. create undo tablespace undotbs2 datafile '/data4/oradata/undotbs2.dbf' size 1G autoextend on next 64M maxsize unlimited; 2. 새로 생성한 undo를 임시로 default 로 설정한다. alter system set undo_tablespace = UNDOTBS2; 3. 기존 undo tablespace를 삭제한다. drop tablespace undotbs1 including contents and datafiles cascade constraints; 4. 새로 적용할 undo tablespace를 생성한다. create undo tablespace u..
SQL> desc v$rollstat Name Null? Type ------------------------- -------- ------------ USN NUMBER LATCH NUMBER EXTENTS NUMBER RSSIZE NUMBER WRITES NUMBER XACTS NUMBER GETS NUMBER WAITS NUMBER OPTSIZE NUMBER HWMSIZE NUMBER SHRINKS NUMBER WRAPS NUMBER EXTENDS NUMBER AVESHRINK NUMBER AVEACTIVE NUMBER STATUS VARCHAR2(15) CUREXT NUMBER CURBLK NUMBER EXTENTS : ROLLBACK SEGMENT의 EXTENT의 개수 RSSIZE : ROLLB..
참고URL : http://www.gurubee.net/pages/viewpage.action?pageId=3902699 개념 1. 대기 이벤트란 오라클 인스턴스 내에서 공유된 자원을 사용하기 위해 프로세스들이 점유를 해야하는데 이 때 점유를 하지 못하는 상태에서는 sleep 상태에 빠지며, 이 때 발생되는 현상을 대기 이벤트라고 한다. 그때마다 오라클은 그 상태 정보를 파일 또는 SGA 메모리 내에 저장해 둔다.2. 오라클 개발자들이 디버깅 용도로 개발한 것이라고 한다. 그것이 오늘에 이르러 OWI라는 이름을 덧입으면서 성능 관리 분야에 일대 변혁을 가져오게된다. 시스템 커널 레벨에서의 표현 1. 다른 프로세스를 기다려야 하는 상황에서 CPU를 쥔 채 대기하면 불필요하게 CPU 자원을 낭비하는 것이므로..