본문 바로가기

IT/oracle

oracle express(XE) 버전의 테이블 스페이스 한계 오라클 버전중에 Express 버전은개발 테스트나, 개인용 개발 업무에 사용할 수 있는 무료 입니다.프로그램에서 DataBase가 필요한 경우 MS-SQL보다도 많이 사용합니다.이유는 Oracle을 사용하는 기업이 많기 때문이죠.오라클 Express 버전은 무료이기때문에 성능상 제약이 많습니다. 구분 내용 CPU 1CPU(Dual Core) Memory 1G Database Size 11G 모든 테이블 스페이스(db)의 합계 사이즈를 11G를 초과하면 ORA-1259 오류가 나타납니다. 11G이상 사용하려면 상위 버전으로 업그레이드 해야 합니다. 더보기
테이블 행수(row,레코드)와 빈공간 없애는 방법 사용중인 테이블들에 들어가 있는 데이터의 행수(레코드)를 알고 싶은 경우가 있습니다. 데이터가 많은 테이블을 특별 관리하고 싶기때문이죠. select table_name, num_rows from user_tables; 로그인한 계정이 소유한 테이블들의 레코드수를 확인할 수 있습니다. sysadm 권한으로 로그인한 경우 테이블스페이스 파일별 위치와 사이즈(크기) 등 다양한 상태정보를 알수 있습니다. select * from dba_data_files; - 실행 결과 입니다. 파일 위치와 이름, 파일 크기, 자동증가 상태 등을 자세히 알 수 있습니다. 간혹 파일 경로를 옮겨야 할때도 있고, 경로를 알고 싶을때 사용하시면 됩니다. - 이중에 사용하지 않는 테이블 스페이스 파일(datafiles)을 포함해서 .. 더보기
테이블스페이스 및 테이블 관리(소유한 태이블과 스페이스 그리고 컬럼명) 로그인한 계정별로 사용하는 테이블 스페이스와 테이블과의 관계를 조회하는 방법입니다. 갑자기 데이터를 저장하는데 테이블 스페이스의 공간이 부족하다는 경고가 뜨면서 데이터 저장이 안될때, 타켓(저장) 테이블의 테이블 스페이스(tablespace)를 알아야 사이즈를 늘릴수 있다. 이때 현황을 확인하는 방법입니다. select table_name, tablespace_name, partitioned from tabs; 테이블 스페이스는 sysdba 권한이 있어야 가능합니다. ^^ 알고 계시죠. 어떤 테이블스페이스인지 확인하셨다면, 이제 공간을 늘리셔야죠! 그럼 어떤 테이블 스페이를 늘려야 하는지 해당 DB 파일을 찾아 봅니다. select tablespace_name, file_name, bytes, statu.. 더보기
DB OWNER가 소유한 테이블 조회하기 DB 관리자가 여러명이다보면, 이 사람, 저 사람이 마구 테이블을 생성하는 경우가 있습니다. USER별로 소유하고 있는 테이블을 조회하는 방법입니다. 물론 도구를 사용하면 바로 확인 가능하게죠 ^^ 로그인한 사용자 계정의 권한에 따라 normal 사용자 계정이라면 자기가 만든 테이블만 확인할 수 있습니다. SELECT * FROM USER_TABLES; SYSDBA 계정 소유자는 모든 테이블에 대한 정보를 확인할 수 있습니다. 로그인한 사용자가 소유한 테이블명만 보기 SELECT object_name FROM USER_OBJECTS WHERE object_type='TABLE'; 더보기
락 걸린 사용자 찾고 상태 락 해지 하기 비밀번호를 잘못 입력해서 락(db lock) 걸린 사용자 계정 정보를 확인하는 방법입니다.간혹 개발 환경을 설정하거나, 새로운 개발자가 추가되어 계정을 발급하다보면,비번을 잊어버려 락이 걸린 경우가 많습니다. select * from DBA_USERSwhere USERNAME= '유저명'; - USER007 의 db락 상태를 확인하는 쿼리select * from DBA_USERSwhere USERNAME= 'USER007';조회하시면 해당 계정의 ACCOUNT_STATUS 를 확인할 수 있습니다.이때 확인된 계정의 상태를 다시 보시고,락을 해제 하시면 됩니다. ALTER USER '유저명'ACCOUNT UNLOCK; - 유저 USER007 의 락을 해제하고 커밋 합니다. ALTER USER 'USER00.. 더보기
오라클, oracle dual(듀얼) 쿼리(테이블) 더미 테이블 오라클에서는 실제 테이블이나 테이더가 존재 하지 않지만쿼리를 통해서 임시로 테이블 구조와 테이터를 만들수 있는듀얼(dual) 이라는 함수가 있습니다.SYS사용자가 소유하고 있는 오라클 표준 테이블 입니다. 다양하게 활용할 수 있는 기능입니다.예로 콤보값중 변하지 않는 경우, 굳이 db에서 select 하지 않고코드, 코드명을 정의해서 사용할 수 있습니다. DB서버에 가지 않으니 좋겠죠. ^^ select 'K123' cd, '가방' nm from dual union allselect 'K124' cd, '핸드백' nm from dual union allselect 'K125' cd, '배낭' nm from dual union allselect 'K125' cd, '캐리어' nm from dual 듀얼 테.. 더보기