본문 바로가기

DBMS

(116)
[SQL Server] 산술 오버플로 오류 expression을(를) 데이터 형식 int(으)로 변환하는 중 산술 오버플로 오류가 발생했습니다. int형의 범위를 초과하여 발생한 경우로 더 큰 데이터 형식(bigint)으로 변환하면 문제가 해결된다. -- INT형 컬럼을 가진 테이블 생성 CREATE TABLE TEST ( COL1 INT NOT NULL IDENTITY(1,1) , COL2 INT ) -- 데이터 삽입(두 값을 SUM 하였을 경우 INT형의 범위를 초과하게 삽입) INSERT INTO TEST VALUES ('2000000000'), ('2000000000') -- 두 값을 SUM 하였을 경우 산술 오버플로 오류 확인 SELECT SUM(COL2) FROM TEST -- CONVERT나 CAST로 INT형을 BIGINT형으로 변..
[MySQL] Root 계정 비밀번호 초기화 방법 아래와 같이 mysql을 중지 시킨후 권한체크를 하지 않는 모드로 실행한 다음 비밀번호를 재설정하고 재실행한한다. $ sudo service mysql stop (or sudo /etc/init.d/mysql stop) $ sudo mysqld --skip-grant-tables --skip-networking & $ mysql mysql> UPDATE mysql.user SET Password=PASSWORD('NewPassword') WHERE User='root'; mysql> FLUSH PRIVILEGES; mysql> exit $ ps -ef | grep mysqld $ kill -9 pid $ sudo service mysql start (or sudo /etc/init.d/mysql star..
[Oracle] 고아가 되어버린 Synonym 찾기 고아가 되어버린 Synonym 찾기 특정 테이블에 대한 시노님을 생성한 후 테이블을 삭제하더라도 시노님은 함께 삭제되지 않는다. 이렇든 불필요한 시노님이 많이 생성될 가능성이 있는데 이런 불필요한 시노님을 찾아보자. select 'drop synonym '|| owner ||'.'|| synonym_name ||';', s.* from dba_synonyms s where table_owner not in ('SYS', 'SYSTEM') and db_link is NULL and table_name not in (select object_name from dba_objects o where o.object_name = s.table_name and o.owner = s.table_owner and o.o..
[SQL Server] Index Depth 확인하기 Index Depth 확인하기 -- 테이블 생성 CREATE TABLE DBO.TEST_INDEXDEP ( COL1 CHAR(20) , COL2 CHAR(800) ) GO SET NOCOUNT ON DECLARE @I INT = 1 WHILE(@I
[SQL Server] SET 문 SET(Transact-SQL) 특정 정보를 처리하는 현재 세션을 변경할 수 있는 몇 가지 SET 문을 제공 날짜 및 시간 문 SET DATEFIRST 일주일의 첫 번째 요일을 1부터 7까지의 숫자로 설정 SET DATEFORMAT datetime 또는 smalldatetime 데이터 입력에 대한 날짜 부분의 순서(월/일/년도)를 설정 잠금 문 SET DEADLOCK_PRIORITY 현재 세션이 다른 세션과 교착 상태에 있는 경우 현재 세션이 계속 실행되도록 하는 상대적 중요도를 지정 SET LOCK_TIMEOUT 잠금이 해제될 때가지 문이 기다려야 할 시간(밀리초)을 지정. -1(기본값)은 제한 시간이 없음(무기한 대기) 0은 기다리지 않음을 나타내고 잠금이 있으면 바로 오류 메시지가 반 기타 문 SE..
[SQL Server] 데이터 저장과 관련한 세 가지 프로세스 데이터베이스에서 일어나는 모든 작업(Transaction)은 메모리에서 처리되며, 처리된 내용은 체크 포인트(Check Point), 레이지 라이터(Lazy Writer), 로그 라이터(Log Writer)라는 세가지 프로세스에 의하여 데이터 파일과 로그 파일에 기록된다. 1. 체크 포인트(Check Point) - 체크 포인트 프로세스는 현재까지 메모리에서 진행된 모든 내용을 데이터 파일과 로그 파일에 기록하는 프로세스 - 비주기적으로 발생, 수동으로 개발자가 발생시킬 수도 있음 2. 레이지 라이터(Lazy Writer) - 레이지 라이터 프로세스는 메모리 상의 프로시저 캐시에서 사용 빈도가 낮은 실행 계획을 메모리에서 제거하고 버퍼 캐시에 있는 더티 페이지(Dirty Page)들을 디스크에 기록함으로..
[Oracle] 오라클 정보 보기 View 자료사전(Data Dictionary) View는 sql.bsq에 의해 생성되는 기본 Table과 catalog.sql와 catproc.sql 같은 스크립트를 실행하여 생성되는 Data Dictionary View 로 구성된다. DBA_ DB 전체에 포함되는 모든 객체에 대한 자세한 정보 ALL_ 자신이 생성한 객체와 다른 사용자가 만든 객체중에서 자신이 볼 수 있는 정보를 제공한다. USER_ 자신이 생성한 모든 객체에 대한 정보 V$_ DB의 성능분석/통계 정보를 제공하며 X$테이블에 대한 뷰 v$*** 목록보기 GV$_ GV$**** 목록 보기 X$_ DB의 성능 분석,통계 정보를 제공하는 테이블 x$*** 목록보기 ALL_arguments 프로시저와 함수의 파라미터 및 리턴 타입에 대한 정보 AL..
[SQL Server] 여러 개의 스크립트 한 번에 생성하기 테이블이나 프로시저의 스크립트를 생성할 때 개체 탐색기에서 필요한 테이블이나 프로시저를 한 개씩 마우스 오른쪽 클릭 -> 테이블 스크립팅 - > CREATE 이런식으로 스크립트를 생성하였었다. 개체 탐색기에서는 여러 개가 선택되지 않았으므로... 하지만 요약 탭을 이용하면 여러 개의 스크립트를 한 번에 생성할 수 있다. 1. SSMS 실행 2. 요약 탭 선택 (F7) 3. 작업할 데이터베이스 더블 클릭 4. 테이블 항목을 더클 클릭하면 테이블 리스트가 보임 5. 스크립트 생성할 개체를 선택 (여러개 선택 가능) 6. 마우르 오른쪽 클릭하고 테이블 스크립팅을 선택 7. CREATE 를 선택 8. 쿼리 편집기창, 파일, 클립보드 중 하나를 선택하면 스크립트가 생성됨