UNIX 계열 운영체제에서 디렉토리 상하 이동을 하다보면 좀 귀찮을때가 있죠. 디렉토리 이동 관련 정보를 얻을 수 있는 문서입니다. "cd -"는 꽤 쓸만하네요. 이런걸 이제야 알게 되다니... 참... 자세히 공부 안하고 지나친게 너무 많네요.
 
원문 보기 : 디렉토리 트리의 상하 이동

Anthony English, Senior AIX specialist, Levitar Pty Ltd

요약: 디렉토리 변경을 위해 사용하는 cd 명령은 UNIX® 쉘 명령을 학습할 때 처음으로 접하게 되는 명령 중 하나인데, 매우 다양한 용도로 사용됩니다. 여러 디렉토리 사이에서 훨씬 쉽게 압축 작업을 할 수 있게 해주는 몇 가지 손쉬운 방법을 배워 보십시오. 또한, cd 작업에 도움이 되는 몇 가지 공통 변수를 잘 사용할 수 있는 방법도 찾아봅시다.


요즘 SQL Server Codename "Denali"에 대한 글이 자주 올라오고 있죠. "Denali"에 대한 정보를 읽다보니 Codename "Juneau"라는 SQL Server Developer Tool에 대한 얘기도 있더군요.

일단 아래 홈페이지로 가시면 다운로드 받을 수 있습니다.
SQL Server Developer Tools Juneau Download
다운받은 파일을 실행하면 필요한 파일들을 받아서 설치를 진행합니다. 설치 중간에 PC 재부팅을 한번 하구요. 제 PC 사양이 별로라서 그런지 한시간 정도 걸린것 같습니다. 제 경우에는 설치 완료 후 화면에 Juneau 설치에 실패했다고 뜨길래 "확인"(아마도 확인일겁니다.)을 클릭했더니 설치에 실패한 프로그램만 설치하는 화면이 다시 떠서 나머지를 설치하고 완료하였습니다.
아래는 설치 완료 후의 화면입니다. 윈폰7 SDK같은 흥미로운 이름이 떠있죠... 이건 다음에 한번 시도해보려구요. ㅋㅋ



 기존에 SSMS(SQL Server Management Studio)를 이용하여 SQL Server에서의 개발, 관리를 해왔던 DBA의 시각에서 바라본 "Juneau"라는 툴은... Visual studio와 별로 다를게 없어보이네요.  뭐 Visual Studio에 모든 툴이 통합되고 있는건 원래 그랬던거고...


아직 이 툴을 설치 후 실무에 써보지는 않았으니 다른건 모르겠지만, 일단 설치와 첫 실행 화면이 깔끔하긴하다.
데이터 메뉴에 스키마 비교, T-SQL editor 등이 있고요. 이건 기존의 Visual studio에도 있었던것 같은데, 제가 기존 버전의 기능을 써보질 않아서 어떤점이 좋아졌는지는 모르겠습니다. ^^;
음 좀더 자세한 내용은 다음에 계속 하겠습니다. 그럼 이만~~~~

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

원문 보기 : SQL Server 2011 (Denali) 신기능
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, GETDATE(), 111) "111",
       REPLACE(CONVERT(VARCHAR, GETDATE(), 111), '/', '') "111+수정",
       CONVERT(VARCHAR, GETDATE(), 121) "121",
       CONVERT(VARCHAR, GETDATE(), 110) "110",
       CONVERT(VARCHAR, GETDATE(), 112) "112",
       CONVERT(VARCHAR, GETDATE(), 113) "113",
       CONVERT(VARCHAR, GETDATE(), 114) "114",
       CONVERT(VARCHAR, GETDATE(), 109) "109",
       CONVERT(VARCHAR, GETDATE(), 108) "108",
       CONVERT(VARCHAR, GETDATE(), 107) "107",
       CONVERT(VARCHAR, GETDATE(), 106) "106",
       CONVERT(VARCHAR, GETDATE(), 105) "105",
       CONVERT(VARCHAR, GETDATE(), 104) "104",
       CONVERT(VARCHAR, GETDATE(), 103) "103"
GO

아래에는 위의 쿼리문을 실행한 결과를 하나씩 나열한 것이다.
2011-07-12 17:57:34.787   
2011-07-12 17:57:34   
20110712   
2011/07/12   
20110712   
2011-07-12 17:57:34.787   
07-12-2011   
20110712   
12 07 2011 17:57:34:787   
17:57:34:787
07 12 2011  6:13:05:023PM   
18:13:05   
07 12, 2011   
12 07 2011   
12-07-2011   
12.07.2011   
12/07/2011


 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 행사에 다녀와서는 참석 후기를 잘 정리해보겠다고 얘기하고는 아직까지 아무것도 정리하질 못했는데 발표자료가 공개되었다. 음... 발표자료를 보면서 기억을 되살려 참석후기를 써봐야 겠다. ㅋㅋㅋ

발표자료 다운로드 받으러 가기!!

+ Recent posts