기본 콘텐츠로 건너뛰기

오라클에서 테이블 생성 쿼리 작성 - ORACLE Management by SQL

Oracle의 관리 툴은 대부분 비용이 비싸서 가급적 무료툴로 관리를 한다. 그러다보면 기능들이 부족해서 SQL로 해결해야 하는 것들이 생기는데, 그 중에서 많이는 사용하지 않으나 있으면 관리하기 편한 하나가 바로 테이블이나 Procedure의 생성쿼리 이다. Oracle에서는 기본으로 제공해주는 쿼리이므로 주기적으로 select * from all_tables where owner = '<owner>' 로 테이블 명을 가져와서 아래 쿼리로 테이블 생성 쿼리를 업데이트 해주면 변경이력 관리가 필요없게 된다. select dbms_metadata . get_ddl ( ' TABLE ' , ' TableName ' , ' Owner ' ) from dual; select dbms_metadata . get_ddl ( ' Procedure ' , ' ProcedureName ' , ' Owner ' ) from dual; 추가로 Procedure작성쿼리도 추가함.. select * from all_objects 로 검색해서 Procedure나 Function도 가져오면 편할 듯.. Do not login your server any more! giip :: Free server management tool! https://giipasp.azurewebsites.net/

한국어, 일본어 대응 가능한 DBMS Query Tool - ORACLE MySQL SQL Server ODBC 지원

A5MK2라는 일본인이 만든 무료 툴이 있다. 그 동안은 Orange라는 국내 유료 소프트를 사용했는데, 너무 고가다 보니 회사에서는 대체 툴을 희망하였고, 이것저것 찾아보다보니 일본인 스탭에게서 추천을 받아 사용을 해보게 되었다. 공식 홈페이지 :  https://a5m2.mmatsubara.com/ 공식 홈페이지(개인 이지만..)에 들어가도 일본 특유의 이뿌지 않고 실용적이기만 한 페이지가 뜨고.. 다운로드 및 과거 버전 다운로드가 가능하다. 사용하면서 느낀 점으로 보아 Orange의 DBA툴(Orange의 메뉴명)은 보기가 좋은 장점이 있는데, 그 외의 기능들을 보면 A5MK2는 떨어지지 않는 훌륭한 툴이다. 그래도 Orange의 장점을 들어보자면 DBA에서 Tablespace기능이나 AWR추출 기능등은 보기도 편하고 클릭 한 번으로 쉽게 확인 및 처리가 가능하다. 하지만, 사이즈가 큰 경우 Processing... 이라고 표시되면서 몇 시간이고 사용을 못하게 되는 단점은 있다. 그 부분에서 본다면 그냥 필요한 부분을 모두 SQL로 보관하고 처리하면 A5MK2에서도 별로 문제 없이 사용할 수 있으므로 그 부분은 좋았다. A5MK2만의 장점을 들자면.. 접속가능한 DBMS가 많다! Oracle OCI 및 직접 접속 IBM DB2 Microsoft SQL Server Interbase/Firebird PostgreSQL MySQL Mariadb SQLite AccessDB ADO(OLE, ODBC) 지원이 안되는 것이 있다면 ODBC로 연결후에 접속을 해버리면 된다! 아쉽게도 최신 버전에는 강제 UTF Encoding이 걸려있어 과거 버전의 Encoding을 할 수 없는 커넥터로 연결하면 글자깨짐이 발생할 수가 있다. 처음부터 UTF8로 만들어진 경우는 전혀 문제 없으나 예전에는 ANSI로 해당 국가 전용으로 만든 케이스가 있다보니 이러한 소수의 케이스에는 과거 버전인 2.9

서버 정보들을 주기적으로 수집하기 - 무접속 서버 관리

서버 관리를 하다보면 주기적으로 또는 특정 상황마다 사소한 정보를 보기 위해 서버에 들어가서 확인을 해야하는 경우가 종종 발생한다. 요즘 대부분의 DevOps를 활용하면 이런 불편함이 해소되긴 하지만.. 중요한 것은 DevOps를 준비하기 위해 다시 공부가 필요하고, 설정이 필요하고 노가다가 필요해진다. 적은 숫자의 서버를 관리하는 입장에서는 그럴 필요가 전혀 없음에도 불구하고 해야 하는 상황이 발생한다. 때문에 서버 관리의 방법론은 규모나 상황, 서비스 특징 등등에 따라 무한대의 경우의 수를 가지게 된다. 여기서 서버의 정보를 가져오는 두 가지 팁을 소개하려 한다. 하나는 서버에서 보내는 방법. 또 하나는 내가 가져오는 방법. 어짜피 노가다 아니냐고? 나의 궁극의 빈둥을 실현하기 위해 이 방법보다 편할 수 없는 방법을 소개하려 한다. (블로그 글 조차 쓰기 귀찮아서 관리가 안되는...) 두 가지 모두 공통으로 필요한 것이 있다. 우선 github에 계정을 만들자.. (개발자라면 거의 가지고 있겠지만, 서버 관리자들은 안가지고 있는 케이스가 많으나 만들자!) 혹시 보안때문에 정보를 올릴 수 없다면 자체 서버에 gitlab을 설치해서 운영해도 똑같이 쓸 수 있다. 관리 서버가 수천대가 되면 그룹으로 관리하지 않으면 더욱 힘들어진다. 서비스나 용도 등에 맞추어 repository를 만든다. 이번에는 파일서버로 하겠다. A, B 두 대의 서버를 gpfs용으로 사용하기로 한다. gpfs가 뭐냐고? 내가 만든 용어다. 무시해라. (giip file system...) 1. 서버에서 보내는 방법. 서버에 github계정 설정을 해두면 로그인 정보 없이 명령을 날릴 수 있다. 우선 linux를 예로 들면.. root로 접속 후 echo " machine github.com " > ~/.netrc echo " login ai@netbako.com " >>

오라클 복구의 마지막... ORACLE RMAN

처음에 시작된 것은 NFS로 연결된 REDO LOG파일이 사라진 것인데.. 왜 REDO LOG를 NFS마운트에 올렸는지도 궁금하지만.. (아마 용량이 부족해서 이렇게 일시적으로 한 듯..) NFS는 끊어졌는데 그 원천 서버의 디스크가 날라가서 OS재설치하면서 REDO LOG파일이 사라졌다. 더 큰 문제는 REDO LOG 파일이 CURRENT로 지정된 데다가 파일이 하나밖에 설정되어 있지 않다. 이로서 불가능한 옵션은 ALTER DATABASE ADD LOGFILE MEMBER '/mnt/sdb1/redolog/redo05.log' TO GROUP 5; 기존 파일이 없댄다.. ALTER   DATABASE   DROP  LOGFILE GROUP  5 ; 파일이 없어서 삭제 안된단다.. ALTER   DATABASE  ADD LOGFILE GROUP  6 ; 신규로 그룹을 추가 했다.. 성공.. 이제 바꾸고 싶다.. alter  system  archive  log  current; 안된단다.. select  *  from  v$logfile; 이걸로 없어진 파일은 보이는데.. 이걸 빼고 다른걸로 바꿀 방법이 없다. ALTER DATABASE    RENAME FILE '/NFS/app/oracle/oradata/smartdb/redo05.log'            TO '/mnt/sdb1/redolog/redo05.log'; 이렇게 이름을 바꾸어 봤다. 이름은 바뀐다. 그래도 파일은 없으니.. 그럼 새로 만든 파일을 이름을 바꾸어 봤다. 읽기 에러가 뜬다. 그냥 복사해서 되는게 아닌가 보다. Recover를 해보려 했다. recover database until restore point before_drop; 리스토어 먼저 하랜다. restore database; 하루 종

Linux(리눅스) 설치후 root접속 제한 스크립트

Linux(리눅스) 설치후에 자주 잊어먹는 root가 SSH접속을 제한하도록 설정하는 것을 아래 스크립트 실행으로 처리 됩니다 . !!주의!! 이 처리를 하게 되면 sshd데몬이 자동 기동되므로 root는 더이상 접속이 안됩니다. 반드시 ssh접속용 계정을 생성한 뒤에 하셔야 합니다! ssh접속테스트는 adduser로 유저 생성후 새로운 연결로 만들어진 계정으로 ssh접속을 합니다. 그리고 su - 커맨드로 root권한으로 바뀌는지 확인합니다. 그리고 문제가 없으면 아래를 실행한 뒤에 root접속을 테스트 해보시면 접속이 안되는 것을 확인할 수 있습니다. 마지막까지 기존 접속은 남겨두세요. 만의 하나 문제가 생겨도 추가 접속에서 문제가 생기기 때문에 기존 접속으로 다시 돌릴 수 있습니다. cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak sed -e " s/PermitRootLogin yes/PermitRootLogin no/g " /etc/ssh/sshd_config > /etc/ssh/sshd_config_bak sed -e " s/#PermitRootLogin/PermitRootLogin/g " /etc/ssh/sshd_config_bak > /etc/ssh/sshd_config rm -f /etc/ssh/sshd_config_bak service sshd restart 더 많은 지식정보를 보시려면 https://github.com/LowyShin/KB-KnowledgeBaseHome/wiki

전동 자전거(스쿠터?) Cyrusher XF500

전동 자전거를 구입했다. 유투브(youtube)에 소개 영상이 있었다.. (산 다음에 알았지만...) https://www.cyrusher.com/en/i/Cyrusher-XF500-Mini-Folding-City-Ebike-JP-48V-250W?sid=27BC 결론 부터 말하면, 자전거 보다 스쿠터에 가깝다. 전동 어시스트 모드가 있고, 각 모드당 파워가 달라서 선택하고 달리면 되는데... 일반적으로 어시스트(일본기준)라는 것은 페달을 밟을 때의 토크를 센싱하는 장치가 있어, 밟는 순간 토크와 같은 힘을 모터에 실어서 자연스럽게 속도 조절이 가능하다. 하지만 중국산 자전거의 대부분은 이런 센서가 비싸서 일정 시간 회전(약 1~2초?)을 감지하면 모터에 100%의 힘을 보낸다. 때문에 중국산 전동 어시스트 자전거를 타보면 처음에는 자력으로 페달을 밟아야 하므로 힘들게 밟고, 갑자기 앞으로 튀어나가는 느낌을 받는 어색함을 느낄 것이다. 게다가 100%의 전력의 파워를 조절할 수가 없다보니 전동의 단계가 조절이 가능하다고 표기된다. 일제는 대부분 토크 센서를 이용하여 전원을 켜거나 토크의 강도의 1배를 줄것인지 0.5배를 줄 것인지를 선택하는 약, 강 정도만 있다. 일본의 전동 어시스트 자전거를 타보면 중국산은 타기 힘들다. 난 파나소닉제 전동 어시스트 자전거도 사봤고, 중국제도 사봤기 때문에 이를 알고 있는 상태에서 400W모터를 탑재한 풀 전동 모드 기능을 보고 이 제품을 골랐다. 일반적인 전동 어시스트 자전거는 250W를 사용하는데, 오래 타면 다리의 힘은 계속 써야만 하므로 일반 자전거보다야 편하지만 피로감을 억누를 수 없다. 그렇다고 800W나 1000W는 뭐 스쿠터... 그래서 400W정도로 사봤는데, 이게 정답! 풀 전동 모드로 20인치 휠을 사용해도 30Km/h 정도 속도가 나오고, (26인치는 일반 자전거 사이즈로 더욱 속도를 낼 수 있음) 크기나 사용감이 아주 적당하다. 내가 자전거를 고르는

과학적인 언어라는 한글이 정말 대단한 걸까?

한글은 집현전의 학자들이 심혈을 기울여서 만들었기 때문에 과학적이고 배우기가 쉽다. 이런 당연한 이야기를 들으면서 살아왔다. 물론 틀린 이야기가 아니다. 문맹률이 0에 가까운 기이한 현상도 바로 한글이라는 위대함을 나타낸다. 하지만, 뭔가 이상한 우월성에 빠져 잊어버리고 있는게 있지 않을까? 舟を編む(배를 짜다) 라는 애니메이션을 보았다. 거기서 나오는 말 얼마나 사람의 애매한 감정을 정확하게 타인에게 전달할 수 있느냐가 언어의 힘이다. 언어는 사람과 함께 살아있다. 생각해보면, 한국에서는 사람들끼리 저마다의 단어의 의미가 달라서 많은 어려움을 겪었다. 같은 이야기를 하지만 마음속의 내용은 다른.. 노벨 문학상을 여러번 수상한 일본은 일본어를 이용하여 일본인의 감성을 충분히 세계인에게 전달할 수 있었다. 이는 여성이 만들었다는 단점이 오히려 감정을 전달하는 수단으로서의 언어로 이루어져 있기 때문이 아닐까? 이에 비해 과학적인 한글은 풍부한 감성표현 보다는 읽기 쉽고 활용하기 쉬운 기술 매뉴얼 같은 느낌이 강하다. 때문에 아무리 감정을 이입해도 이를 충분히 세계인에게 전달하기에는 역부족이 아니었을까? 무엇이 좋다 나쁘다를 얘기하려는 것이 아니다. 적 아니면 아군만을 찾는 한국인들에게 이런 이야기는 충분히 내가 적이 될 수 있지만, 만약 자신의 감성을 글로 표현하고자 하는 한국인이 있다면 한 번 문학상을 받은 일본어와 이를 영어로 번역한 경우의 뉘앙스의 차이를 연구해보면 한국어도 충분히 자신의 감성의 부족함을 영어로 표현할 수 있지 않을까? Knowledgebase https://github.com/LowyShin/KB-KnowledgeBaseHome/wiki Do not login your server any more! giip :: Free server management tool! https://giipasp.azurewebsites.net/