반응형

개발 이야기/DATABASE 18

MSSQL RECOVERY 옵션

타 팀에서 서비스 중인 DB 중 트랜잭션 로그 백업 처리 스케쥴을 등록하지 않아 디스크 용량이 0이 되버려서 이러지도 저러지도 못하는 경우가 있어 처리해준게 벌써 두 번째. RDBMS에서 기본 복구 모델 설정은 보통 full로 되어 있기 때문에 Management studio에서 축소 처리를 해도 백업 전에는 줄어들지 않습니다. DB 관리를 위해 트랜잭션 파일 옵션에 대해서는 두 가지를 신경써야 합니다. 1. 사고 발생 시 복구가 필요한 DB 인가.. 중요한 정보가 기록되고 사고 발생 시 분 단위로 정보를 복구해야 하는지를 생각해서 꼭 필요한 경우 full로 그렇지 않고 하루 혹은 주 단위로 전체 백업을 한 파일로 복구 하거나 혹은 분실되도 상관없는 DB는 simple로 설정하는게 좋습니다. 2. 스케쥴..

MSSQL 버전 별 암호화 지원 정리

pwdencrypt에 대해서 찾아보면 MSSQL 2008까지는 hashbytes에 MD2, MD4, MD5, SHA, SHA1을 지원했으면 pwdencrypt는 SHA1을 사용합니다. (2000 이전에는 없었으며, 2000에서는 대/소문자를 구분하지 않는 SHA1, 2005 ~ 2008까지는 대/소문자를 구분하는 SHA1을 사용) 이후 버전에서는 SHA2_256, SHA2_512를 지원하는데 pwdencrypt는 SHA2_512(대소문자 구분)를 사용합니다. MSSQL 2008 이하 버전에서 2012 이상으로 마이그레이션 했을 경우 pwdencrypt로 암호화 할 때 앞 2byte를 버전 번호로 사용하여 pwdcompare에서 비교해서 결과를 돌려주기 때문에 그대로 사용 가능합니다. 그런데 공식 문서에는..

MSSQL Linked Server 설정 방법

워낙 가끔 만지다보니 가끔 혼동이 와서 정리합니다. Windows Server 2019 Standard ( 64bit ) , MSSQL Standard 2017( 64bit ) (1) 에 사용할 이름을 설정, (2)에 연결할 DB의 IP, PORT를 입력합니다. MSSQL 끼리 연결할 때 다른 설정은 굳이 입력하지 않아도 됩니다. 연결할 DB에서는 "보안" 항목에 입력할 계정에 필요한 권한이 설정되어 있을 것이므로 (입력된 것이 없다면 연결할 DB에 계정 생성, 필요한 사용 권한 설정을 해 두시면 됩니다.) 다른 설정은 필요없습니다. 카탈로그에 사용할 DB 이름을 넣을 수 있지만 사용 권한 설정에 필요한 정보가 다 있으므로 입력이 불필요합니다. 그리고 "보안" 페이지에서 원격 로그인, 암호를 입력한 후 ..

MariaDB, Galera Cluster, MaxScale 전체 정리

MaxScale 추가 설정하다가 이전 내용을 한번에 다 정리해봤습니다. CentOS7 최소 버전이 설치된 환경에서 MariaDB 10.1 버전을 기준으로 진행된 내용입니다. [ MariaDB 설치하기 ] 1. mariadb repo 파일을 만듭니다. [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.1/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=0 2. MariaDB를 설치합니다. yum install -y MariaDB MariaDB-server MariaDB-client [ Galera Cluster 설정 ] 1. 우선 config 파일을 설정합니다. v..

mariadb 시작 오류

It may not be safe to bootstrap the cluster from this node. It was not the last one to leave th..mariadb 테스트 중에 위와 같은 오류가 나서 찾아봤다. 3대에 galera 설정해서 클러스터 구성하여 사용 중이었다. centos7 mariadb 10 사용 중. 다른 서버들은 모두 정상 가동 중이었고, 한 대만 문제가 발생한 상태. netstat -na | grep 3306으로 포트를 확인하니 죽어있고 systemctl start mariadb로 재가동이 안되어 systemctl status mariadb.service로 확인하니 위와 같은 에러가 발생한 상태. 설치된 폴더 (/var/lib/mysql)로 가서 galera.c..

Galera 포트 리스트 및 용어 정리

mariadb와 galera를 사용하여 클러스터 구성하는데 두 번째 node부터 실행이 안되서 찾아보니 포트가 다 안열린 것! http://galeracluster.com/documentation-webpages/firewallsettings.html 3306 : mysql client connections 을 위한 포트4567 : UDP와 TCP 둘 다 사용하는 Galera Cluster 복제 트래픽, 다중 복제를 위한 포트4568 : Incremental State Transfer(변경된 상태 전송) 를 위한 포트4444 : State Snapshot Transfer(전체 상태 전송) 를 위한 포트 Donor (제공자) : 원래 데이터를 가진 기준 노드Joiner (가입자) : Donor로부터 데이터..

MariaDB MaxScale (발)번역

(원문) https://mariadb.com/products/mariadb-maxscale MariaDB MaxScale을 활용한 유연한 확장성, 고 가용성 그리고 좋은 가변성 DB 서비스 MariaDB MaxScale은 오픈소스이며, DB 중심의 Proxy로 이 제품은 MariaDB Ent/Ent-Cluster, MariaDB 5.5, MariDB 10 그리고 Oracle MySQL에서 작동한다. 이 제품은 유연한 증설과 사용자 추가 기능이 가능하도록 설계된 장착형(Pluggable)으로 설계되어 있다. 가볍고, 빠른 속도 networking core로 처리량을 극대화할 수 있게 제작되었다.MariaDB MaxScale은 클라이언트 제품과 DB 클러스터간의 연결이 가능하고, statement-based..

mysql sp에서의 조회하는 컬럼명에 @를 붙이는 실수

예를들어 sp를 사용할 때, 내가 조회하는 테이블에 seqIndex라는 컬럼이 있고, 쿼리문은 아래와 같다고 가정한다. insert into tbTable_Backup (seqIndex) select @seqIndex from tbTable where index=@inp_index; tbTable과 tbTable_Backup은 같은 구조로 되어 있으며, tbTable은 seqIndex bigint 컬럼 하나만 가지고 있다고 가정한다. 위 쿼리에서 원래는 서브쿼리인 select문은, 아래의 코드가 원래 의도했던 바다. insert into tbTable_Backup (seqIndex) select seqIndex from tbTable where index=@inp_index; 이 경우, Query Bro..

반응형