PostgreSQL에서 Oracle RAC와 같이 모든 노드에서 읽고 쓰기를 할 수 있는 클러스터를 구축하고자한다면 Postgres-XC를 검토하게 될 것이다. 물론 다른것도 존재하겠지만 이 녀석이 가장 좋아보인다.

관련 자료 검색 중에 PGXC-Tools라는걸 발견했다. Koichi suzuki라는 분이 만든 오픈소스 툴로 Postgres-XC를 운영하는데 유용한 스크립트/프로그램 모음이라고 한다.

웹사이트 : http://github.com/koichi-szk/PGXC-Tools

아래 사진은 github에서 툴에 대해서 설명한 부분을 캡쳐한 것이다.




iPhone 에서 작성된 글입니다.

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 DBMS_RANDOM.RANDOM, DBMS_RANDOM.STRING('X', 5), DBMS_RANDOM.STRING('A', 8)  
FROM DUAL;

STRING 함수의 첫번째 인자값이 X이면 영문자 대문자와 숫자를 섞어서 무작위로 추출을 하고, A이면 영문자 대소문자를 섞어서 무작위로 추출을 합니다. 두번째 인자값은 문자열을 몇 자리로 할건지 지정해주는 인자입니다. 자세한 내용은 참고 문서의 내용을 확인해보시기 바랍니다. Oracle에 대한 문서이긴한데... Tibero에 적용해도 별 문제는 없네요.

참고 문서
http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_random.htm
http://psoug.org/reference/dbms_random.html 
오랫만에 IBM DeveloperWorks에 올라온 글을 소개합니다.
뭐... DB2에 대한 내용이라서 내가 업무에 쓸 일은 없을것 같긴한데, 그래도 가까운 미래에 한번쯤은 필요하지 않을까해서 링크를 모아둔다는 생각으로 소개하려합니다.

1. Oracle 11g 스킬을 활용하여 Linux, UNIX 및 Windows용 DB2 9.7 학습
원문 링크 : Oracle 11g 스킬을 활용하여 Linux, UNIX 및 Windows용 DB2 9.7 학습
DB2® 9 스킬 향상에 관심이 있는 데이터베이스 전문가라면, 다른 관계형 데이터베이스 제품을 다루면서 이미 상당한 수준의 데이터베이스 스킬을 갖추고 있을 가능성이 큽니다. 최신 버전의 DB2 및 Oracle을 위해 최근에 업데이트된 이 기사에서는 현재 가지고 있는 Oracle 11g 관련 지식을 바탕으로 Linux®, UNIX® 및 Windows®용 IBM® DB2 9.7에 대한 스킬을 빠르게 습득하는 방법을 보여줍니다.


2. DB2 9.7에서의 SQL 호환성
원문 링크 : DB2 9.7에서의 SQL 호환성
  "트리거에서 기능이 향상된 오브젝트로" 기사에서는 DB2 9.7에 새로 도입된 Oracle 호환성 기능의 데모를 제시합니다.


3. IBM 데이타 이동 도구
원문 링크 : IBM 데이타 이동 도구
이 기사에서는 다양한 원본에서 손쉽게 데이터를 이동하기 위한 매우 간단하고 강력한 도구를 소개합니다. 이 도구를 사용하면 거의 또는 전혀 아무 것도 변경할 필요 없이 Oracle과 Sybase의 다양한 애플리케이션이 Linux®, UNIX® 및 Windows®용 IBM® DB2® 버전 9.7에서 그대로 작동하도록 할 수 있습니다. 또한, 이 도구를 사용하여 다른 다양한 데이터베이스 관리 시스템에서 Linux, UNIX 및 Windows용 DB2와 z/OS®용 DB2로 데이터를 이동할 수도 있습니다. 이 도구는 pureScale 환경에서 원본 데이터베이스에서 DB2로의 데이터 이동도 지원합니다.



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

자 일단 오늘 찾은 정보!!

USE 배포
GO


SELECT *
FROM dbo.MSarticles

물론 위의 "배포"라는 데이타베이스는 버전이나 언어 설정에 따라서 바뀔수 있다.
 넥슨DB팀의 블로그에 SQL Server 관련 정보가 종종 올라오더군요.
이번엔 차기 버전인 Code name "Denali"의 신기능을 정리한 문서입니다.
새 버전에서는 개발툴도 따로 있는것 같더군요. 음... 자세히 읽어봐야 겠습니다.

원문 보기 : SQL Server 2011 (Denali) 신기능
 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로 해주고 해당 계정의 profile을 바꿔주면 됩니다.

아래는 profile을 만들고, 사용자계정의 profile을 바꿔주는 구문입니다.
CREATE PROFILE DEFAULT_P1 LIMIT
    COMPOSITE_LIMIT UNLIMITED
    SESSIONS_PER_USER UNLIMITED
    CPU_PER_SESSION UNLIMITED
    CPU_PER_CALL UNLIMITED
    LOGICAL_READS_PER_SESSION UNLIMITED
    LOGICAL_READS_PER_CALL UNLIMITED
    IDLE_TIME UNLIMITED
    CONNECT_TIME UNLIMITED
    PRIVATE_SGA UNLIMITED
    FAILED_LOGIN_ATTEMPTS UNLIMITED
    PASSWORD_LIFE_TIME UNLIMITED
    PASSWORD_REUSE_TIME UNLIMITED
    PASSWORD_REUSE_MAX UNLIMITED
    PASSWORD_VERIFY_FUNCTION NULL
    PASSWORD_LOCK_TIME UNLIMITED
    PASSWORD_GRACE_TIME UNLIMITED
;

ALTER USER 계정명 PROFILE DEFAULT_P1;
Profile을 바꾸고 잘못된 비밀번호를 입력하는 방식으로 시험해 봤는데 아직까지는 잘 되네요.
 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과 다를거 없다.
session이 종료되지 않을때도 있다.


2. tbsvr kill을 이용한다.
명령행에서 "tbsvr kill"을 입력하면 session을 종료시킬 수 있다.
# tbsvr kill
sess: 33 user: SYS

select kill session (0: QUIT):

요기서 33을 입력해주면 해당 session이 종료된다. 물론...... 안될때도 있다.
0(영)대신에 Q를 입력해도 이 프로그램에서 빠져나갈 수 있다.

 지난번에 2011년도 SQL Unplugged 행사에 다녀와서는 참석 후기를 잘 정리해보겠다고 얘기하고는 아직까지 아무것도 정리하질 못했는데 발표자료가 공개되었다. 음... 발표자료를 보면서 기억을 되살려 참석후기를 써봐야 겠다. ㅋㅋㅋ

발표자료 다운로드 받으러 가기!!
 SQL Server의 transaction 격리 수준에 대해서 정리한 문서가 있어서 소개하려한다.
SQL Server 사용자라면 한번쯤은 들어봤을 sqler.com이라는 사이트의 글이다. 직접 시험해볼 수 있게 table을 생성하는 부분 등도 포함되어 있다. 대충 읽어봤는데, 나중에 Oracle이랑 비교하면서 한번 읽어봐야겠다. 음... 시간 내서 읽어봐야 할텐데... ㅋㅋ

원문 [트랜잭션 격리 수준]

 작년에 다녀왔던 "SQL Unplugged : 괴물이야기" 컨퍼런스에서 SQL Server에 대한 다양한 경험을 할 수 있었고, 이후 운영중인 SQL Server를 좀더 잘 운영하려고 노력하게 되었습니다. 튜닝 공부를 위해 주말 과정을 듣기도 했고, 시중에 나와있는 책도 찾아보게 되었구요. 그래서일까요? 아래 화면을 보게 되었을때 참 반가웠습니다.

"올해에도 하루라는 시간이 아깝지 않을 컨퍼런스가 열리는구나!!" 고맙습니다. 수고하셨습니다.
자세한 후기는 나중에 정리해서 올리겠습니다.




아래 글 링크는 작년에 SQL Unplugged 첫번째 컨퍼런스 참석 후기입니다. 
2010/06/14 - [IT 기술/Database] - SQL Unplugged "괴물 이야기" 참석 후기


+ Recent posts