본문 바로가기

Database

(26)
mysqldump 유틸리티 사용하여 테이블 이관 방법 일반적으로 MySQL을 이관하는 경우 mysqldump 유틸리티를 사용합니다. 특정 데이터베이스를 이관할 때 테이블을 제외하거나 procedure, function을 제외하는 옵션들이 있습니다. 또한 타깃 데이터베이스명이 다를 경우나 일부 RDS에서 지원하지 않는 기능들로 인해 오류가 발생되기도 합니다. 덤프파일이 작을 경우는 텍스트편집기로 읽어서 덤프파일의 내용을 수정하거나, 일부 내용을 삭제가 가능한데, 용량이 큰 경우 곤란한 경우가 발생됩니다. 한글이 깨지거나, 덤프파일을 받는 경우 table meta lock이 발생되지 않게 하는 경우도 있습니다. 아래 옵션은 제가 자주 사용하는 옵션으로 일부 내용만 바꿔서 사용하면 정상적으로 실행될 것 같습니다. mysqldump -h abcde.cluster-..
SQL Server 연결된서버 쿼리 오류 분석 방법 예시 SQL Server가 덤프가 발생되면서 재시작되는 현상이 있어 원인 분석한 과정입니다. 원인부터 말씀드리면 OS를 보안업데이트 하는 과정에서 업데이트 후 서버의 환경변수에 Path가 삭제되면서 삭제된 Path를 백업해 놓지 않아 비슷한 업무의 다른 서버에서 복사해 놓고 사용하는 과정에서 덤프가 발생되었습니다. 원래 제품 버전: SQL Server 원래 KB 번호: 2295405 다음과 같은 경우를 생각해볼 수 있습니다. 이 SQL Server 실행 중인 컴퓨터에 Windows 설치합니다. Oracle 데이터베이스에 대한 연결된 서버를 만듭니다. 연결된 서버 공급자에 대한 옵션 대화 상자에서 inprocess 허용 옵션을 사용하도록 설정할 수 있습니다. 덤프파일 관련 내용 minidump.mdmp에서 어셈..
SQL Server 컬럼 암호화 방법 step by step 이번 글에서는 SQL Server에서 컬럼 암호화를 하기 위해 테스트한 전체 쿼리입니다. 아래 내용 중 일부 내용을 수정하여 적용할 수 있습니다. /* 마스터키 */ -- 마스터키생성 USE TESTDB; CREATE MASTER KEY ENCRYPTION BY PASSWORD = '암호1'-- ⓐ데이터베이스의마스터키를암호화하는데사용되는암호입니다 -- 마스터키백업 USE TESTDB; OPEN MASTER KEY DECRYPTION BY PASSWORD = '암호1'; BACKUP MASTER KEY TO FILE = 'C:\ExportedMasterKey' -- 생성된파일을잘보관해두어야한다. ENCRYPTION BY PASSWORD = '암호2' -- ⓑ파일의마스터키를암호화하는데사용되는암호입니다. GO..
SQL Server 프로시저 내 TEXT내용으로 검색 SQL Server의 프로시저를 검색하기 위한 방법입니다. 특정 문자열을 알고 있는 경우 프로시저를 검색하려면 아래와 같이 수행합니다. -- 프로시저 검색 SELECT O.NAME FROM sysobjects O JOIN syscomments C ON O.id = C.id WHERE O.type = 'P' AND C.TEXT LIKE '%찾으려는단어%'
DBCC Shrinkfile SQL Server의 LOG파일이 비정상적으로 커졌을 때 축소하기 위해 많이 사용됩니다. 우선 해당데이터베이스의 파일 및 로그 사이즈를 확인합니다. sp_helpdb DB -- 891500416 KB -- 5251584 KB 로그 파일의 사이즈 및 사용량을 알아봅니다. dbcc sqlperf(logspace) 트랜잭션 로그 백업을 해서 로그파일내 내용을 삭제하거나 복구모드를 변경하여 로그 파일내 정보를 삭제합니다. 아래는 복구모드를 변경하는 예시입니다. USE [master] GO ALTER DATABASE DB명 SET RECOVERY SIMPLE WITH NO_WAIT GO 다시 전체모드로 바꿔줍니다. USE [master] GO ALTER DATABASE DB명 SET RECOVERY FULL WI..
SQL Server 기본 점검 쿼리 처음 접하는 SQL Server의 기본 정보를 알아보기 위한 쿼리입니다. 기본정보 수집이 목적이며, 이후 성능분석이나 추가적인 작업 시 참고하기 위함입니다. 버전확인 SELECT @@VERSION GO SELECT SERVERPROPERTY('ProductVersion') AS ProductVersion, SERVERPROPERTY('ProductLevel') AS ProductLevel, SERVERPROPERTY('Edition') AS Edition, SERVERPROPERTY('ISClusterd') AS Clusterd; GO 서버명 SELECT @@SERVERNAME GO 메모리 정보 확인 DBCC MEMORYSTATUS GO 스레드정보확인 DBCC SQLPERF(UMSSTATS) GO 파라미..
MySQL Event Scheduler 생성 절차 MySQL Event Scheduler를 생성하는 절차는 다음과 같습니다. Event Scheduler를 사용하면 주기적으로 작업을 예약할 수 있습니다. 이를 통해 일정 간격으로 쿼리를 실행하거나 특정 작업을 자동으로 수행할 수 있습니다. Event Scheduler 활성화 확인 MySQL 서버의 event_scheduler 시스템 변수가 활성화되어 있는지 확인합니다. 이 변수가 활성화되어 있어야만 이벤트 스케줄러를 사용할 수 있습니다. SHOW VARIABLES LIKE 'event_scheduler'; 만약 event_scheduler가 ON이 아니라면, 다음 쿼리를 사용하여 활성화할 수 있습니다. SET GLOBAL event_scheduler = ON; 이벤트 생성 이벤트를 생성하기 위해 CREA..
MySQL 성능 향상을 위한 Parameter 이러한 파라미터 설정은 각각의 시나리오 및 요구 사항에 따라 다를 수 있으며, 변경 전에 백업을 만들고 테스트하는 것이 중요합니다. MySQL의 문서와 모니터링 도구를 통해 실시간으로 성능을 모니터링하면서 조정하는 것이 좋습니다. MySQL의 성능을 향상하기 위해서는 여러 가지 파라미터를 조정하고 최적화하는 것이 중요합니다. 아래는 MySQL의 주요 파라미터와 각각의 간단한 설명 및 설정에 대한 안내입니다. innodb_buffer_pool_size InnoDB 스토리지 엔진의 데이터와 인덱스를 캐싱하는 데 사용되는 메모리 풀 크기입니다. 적절한 크기로 설정하여 자주 액세스되는 데이터를 메모리에 보관합니다. 일반적으로 전체 메모리의 70-80%를 할당합니다. innodb_log_file_size Inno..