database 39

문자열 가공... 정규식 쿼리

database.sarang.net의 "Oracle Q&A" 게시판에서 발견한 글에 아주 살짝 양념을 더했습니다. 원문 : database.sarang.net의 원문 "어떤 문자열에서 특정 문자를 구분 문자로 하여 나눴을때 마지막 문자열을 보여주고싶다."라고 할때... 음... 이걸 해결해 놓은게 아래의 쿼리입니다. Oracle 10g R2와 Oracle Express Edition 11g에서 정상적으로 실행되는것을 확인하였습니다. SELECT tablespace_name "테이블스페이스" , file_name "파일 이름" , SUBSTR(file_name, INSTR(file_name, '\', -1) + 1) as "1st" , REGEXP_SUBSTR(file_name, '[^\]+$') as "..

IT 기술/Oracle 2011.12.05

MySQL Storage Engine들을 간단히 비교해봤습니다.

MySQL Storage Engine들을 비교해볼 일이 생겨서 자료를 찾아봤습니다. 5.1 버전과 5.5 버전의 영문 메뉴얼을 보면서 정리한 내용입니다. MySQLKorea의 5.1버전 한글 번역판도 참고 했습니다. 1. MyISAM Transaction을 지원하지 않지만 기본 Storage engine이며 많이 사용되고 있다. Table을 각각 독립적인 File에 저장한다. 5.5. 버전을 기준으로 256 TB까지 저장할 수 있다. Transaction을 지원하지 않는 대신 빠르고, 디스크 공간을 덜 차지하며, Update를 위한 메모리 공간도 적게 사용한다. Transaction을 지원하지 않는 MyISAM 때문에 MySQL은 RDBMS로 인정해주지 못하겠다는 의견도 있었습니다. ("그러면 엑셀도 D..

IT 기술/Database 2011.11.01

Tibero 4 SP1에서 DBMS_RANDOM 패키지 사용하기

Oracle database에 무작위로 숫자나 문자열을 생성하는 DBMS_RANDOM 패키지가 있죠. Tibero에도 있을까 궁금했었습니다. 그래서 PDF file로 받은 메뉴얼을 열어보았는데... 이럴수가 "tbPSM 참조 안내서(Tibero RDBMS 4 SP1 (TD-MAN-TDR-415005))"와 "tbPSM 안내서(Tibero RDBMS 4 SP1 (TD-MAN-TDR-415006))"에는 DBMS_RANDOM이라는 패키지 관련 내용이 없네요. 정말 없을까? 궁금해서 tbAdmin에서 "DESC DBMS_RANDOM"을 실행해 보았습니다. 그랬더니, 메뉴얼에는 없지만DBMS_RANDOM이라는 패키지 정보가 뜨네요. 아래의 쿼리를 실행해보세요. 대충 어떻게 써야 할지 감이 올겁니다. SELECT..

IT 기술/Database 2011.10.26

[소개] IBM DeveloperWorks에 올라온 Database 관련 글 세건

오랫만에 IBM DeveloperWorks에 올라온 글을 소개합니다. 뭐... DB2에 대한 내용이라서 내가 업무에 쓸 일은 없을것 같긴한데, 그래도 가까운 미래에 한번쯤은 필요하지 않을까해서 링크를 모아둔다는 생각으로 소개하려합니다. 1. Oracle 11g 스킬을 활용하여 Linux, UNIX 및 Windows용 DB2 9.7 학습 원문 링크 : Oracle 11g 스킬을 활용하여 Linux, UNIX 및 Windows용 DB2 9.7 학습 DB2® 9 스킬 향상에 관심이 있는 데이터베이스 전문가라면, 다른 관계형 데이터베이스 제품을 다루면서 이미 상당한 수준의 데이터베이스 스킬을 갖추고 있을 가능성이 큽니다. 최신 버전의 DB2 및 Oracle을 위해 최근에 업데이트된 이 기사에서는 현재 가지고 있..

IT 기술/Database 2011.10.25

SQL Unplugged : 300 후기

2010년 SQL Unplugged 행사에 참석한 뒤에 한참을 이것저것 하느라 바빴던터라... 이제야 정리를 하게되었습니다. IT 업계에 종사하면서 다양한 DBMS를 사용해왔습니다. Oracle, SQL Server, MySQL... 정말 맛보기로 IBM UDB와 PostgreSQL에 2년 전쯤 도입한 Tibero까지... 참 다양하게도 써왔습니다. 하지만 DBA로서 Oracle을 주로 공부하고 운영해 왔었고, 그래서 Oracle에 우호적인 사람이었습니다. 이제 SQL Server를 DBA의 입장에서 바라보기 시작한지 3년쯤 되어가는 DBA로서, Oracle도, SQL Server도 다양한 업무 환경과 서비스에 적용할 DBMS의 하나로 바라보기 시작한것 같습니다. 2010년과 올해(2011년)에 참석했던..

IT 기술/Database 2011.10.18

MS SQL Server 2005에서 복제 대상인 객체를 조회하는 법

MS SQL Server 2005에서 복제를 운영하다보면, 대상 객체를 조회할 필요가 가끔 생기죠. 복제 대상 목록 파일이 갱신이 잘 안되어 있다던지... ㅜㅜ 그런데 가지고 있는 자료가 별로 없어서리... 사실 회사돈으로 구매한 책 한권만 있다는... 내 돈 주고 산 책은 집에 있으니까 ㅋㅋ 들고 다니기 무겁고... 뭐 암튼 그래서 맨땅에 해딩하는 심정으로 찾아보았는데, 의외로 쉽게 찾은거 같다는 느낌?? 뭐 알고보면 다른 방법으로 좀더 디테일한 정보를 조회가 가능할지도 모르겠지만... 아마 분명히 있겠죠??? 집에 가서 찾아봐야지 좀더 고급스러운 정보 가지신분은 연락주세요. 자 일단 오늘 찾은 정보!! USE 배포 GO SELECT * FROM dbo.MSarticles 물론 위의 "배포"라는 데이타..

IT 기술/Database 2011.10.18

SQL Server에서 날짜 및 시간 정보를 가공해서 쓰기.

Microsoft SQL Server에서 날짜를 가공해서 쓰다보니 Oracle과 차이점이 있어서 정리해 놓는다. 예전에 한번 정리했던것 같은데, 음... 안 보여서리... ㅋㅋㅋ 암튼 아래의 쿼리를 실행시켜보면 원하는 형태의 날짜 정보를 얻을 수 있을것이다. Oracle에서는 TO_CHAR라는 함수를 이요하여 SYSDATE로 받은 날짜형 자료를 변환했지만, SQL Server에서는 CONVERT로 변환해서 사용한다. SELECT GETDATE() "기본값", CONVERT(VARCHAR, GETDATE(), 120) "120", REPLACE(SUBSTRING(CONVERT(VARCHAR, GETDATE(), 120), 1, 10), '-', '') "120+수정", CONVERT(VARCHAR, GET..

IT 기술/Database 2011.07.12

Oracle 10g에서 사용자 계정이 자주 잠겨서 불편할때.

Oracle 10g에서 종종 문제가 되고 있어서 아래와 같이 고쳐봤습니다. 11g에서도 문제가 되는지는 모르겠습니다. 나중에 확인하면 문서에 추가하도록 하겠습니다. 아래의 query를 실행해보면 해당 계정에 설정된 profile의 제한값이 나온다. SELECT A.USERNAME, B.PROFILE, B.RESOURCE_NAME, B.RESOURCE_TYPE, B.LIMIT FROM DBA_USERS A, DBA_PROFILES B WHERE A.PROFILE = B.PROFILE AND A.USERNAME = '계정명'; "FAILED_LOGIN_ATTEMPTS PASSWORD 10"라는 부분이 보일겁니다. 여기를 unlimited로 바꾸거나 새로운 profile을 만들면서 unlimited로 해주고 ..

IT 기술/Oracle 2011.07.07

Tibero RDBMS의 특정 session을 명령행에서 종료시키기.

Tibero RDBMS를 UNIX나 Linux상에서 운영할때 가끔씩은 session을 종료시켜야 할때가 있다. 이상한 쿼리가 실행되고 있다거나, Memory나 Disk I/O를 많이 일으킨다거나... 뭐 암튼 tm(Tibero Monitoring script)으로 확인한 session을 종료시키고 싶을때 명령행에서 처리하는 방법이다. 1. tbsql을 이용한다. 이 방법은 뭐 따로 설명할 필요가 있을까마는.... # tbsql sys tbSQL 4 SP1 TmaxSoft, Co. Copyright(C) 2001-2009. All rights reserved. Enter Password: SQL> alter system kill session(111,1111); 이런식으로 처리해준다. Oracle과 다를거..

IT 기술/Database 2011.07.07