728x90
반응형

전체 글 180

[MS-SQL] ms-sql 시스템 데이터베이스

ms-sql의 시스템 데이터베이스 / 데이터베이스 구조 / 파일 그룹에 대해 간단하게 정리 1.시스템 데이터베이스 1-1. master - 서버수준의 정보가 저장되는 핵심시스템 데이터베이스 - 로그인 계정정보, 데이터베이스 파일 위치 1-2. model - 새로운 데이터베이스를 만들 때 사용되는 템플릿 데이터베이스 - model 데이터베이스에 변화를 주면 이후 만들어지는 데이터베이스에도 반영됨 1-3. msdb - SQL Server운영과 관련된 정보들을 저장하는 시스템 데이터베이스 - 백업이력, 복원이력, 에이전트 작업 내용, 작업 수행이력 등 저장 1-4. tempdb - 쿼리 수행 시 사용되는 임시 저장 공간 - 수 많은 쿼리들이 공유하는 데이터베이스이므로 성능과 연관이 있음 SQL Server재 ..

[Oracle] oracle temp tablespace 변경

Oracle의 temp tablespace를 변경하는 방법에 대해서 알아보겠습니다. temp tablespace의 크기를 resize해서 늘릴 수 있지만 다시 줄이는 것은 불가능합니다. 따라서 새로 temp tablespace를 생성 후 기존 temp tablespace를 삭제하는 방법으로 temp tablespace 크기를 변경합니다. 1. 현재 default temp tablesapce확인 select * from sys.props$ where name = 'DEFAULT_TEMP_TABLESPACE'; 2. temp 파일 확인 select file_id, tablespace_name, file_name, bytes/1024/1024 as mb, autoextensible from dba_temp_f..

[Oracle] oracle 리스터 포트 변경방법

운영중인 DB에서 oracle 리스너 포트 변경하는 방법에 대해서 알아보자. 0. 작업을 하기전에는 항상 백업을 하도록 하자 0-1. 리스너파일 백업 %ORACLE_HOME%\network\admin\listener.ora 파일을 listener.ora_20240315 로 백업한다. 0-2. pfile(spfile)파일 백업 pfile일 경우 %ORACLE_HOME%\dbs\initORCL.ora 파일을 복사해서 백업한다. spfile일 경우 sqlplus "/as sysdba" SQL> create pfile from spfile 위와 같이 pfile로 백업을 해준다 (pfile의 경로를 지정해도됨) 1. 리스너 중지 (lsnrctl 명령어를 사용할 수 있는 계정에서 [oracle]) lsnrctl s..

[Oracle] regexp_substr로 특정 문자 기준으로 문자열 자르기

oracle에서 SUBSTR을 사용하여 문자열을 자르는 경우도 있지만 특정 문자열을 기준으로 분리하여 조회하는 경우도 있다. 예를들어 전화번호의 값이 010-XXXX-XXXX의 형식으로 저장되어 있을 때 중간4개의 번호만 조회하는 경우가 있을 수 있다. REGEXP_SUBSTR을 사용하여 특정문자를 구분자로 두고 문자열을 자를 수 있다. 사용법은 REGEXP_SUBSTR('컬럼 또는 값' , '[^ (구분자) ]+', 구분자를 찾을 위치, 구분자를 찾은 순서) 의 포멧이다. 간단하게 DBA_DATA_FILES 로 예시를 들어보면 SELECT file_name, regexp_substr(file_name, '[^\]+', 1, 1) STR1, regexp_substr(file_name, '[^\]+', 1..

[Oracle] regexp_substr로 날짜 추출하기

oracle의 regexp_substr함수로 string에 날짜가 포함되어있는 경우 날짜만 추출하는 방법을 알아보겠습니다. 우선 test_c 라는 테이블에 아래와 같이 데이터가 들어가 있다고 가정합니다. value값에 aa_08_2023 aa_aa_aa_202308 aa_aa_aa_2023_08 aa_aa_aa_20230803 이런식으로 문자와 날짜데이터가 동시에 들어가 있는 경우 날짜만을 추출하고 싶을 때 아래와 같은 sql문을 작성하여 조회할 수 있습니다. SELECT CASE WHEN regexp_substr(value, '([0-9]{4}_[0-9]{2})') IS NOT NULL THEN to_date(regexp_substr(value, '([0-9]{4}_[0-9]{2})'), 'yyyy-m..

[ms-sql] ms-sql의 데이터전송

'가져오기 및 내보내기 마법사'를 통해 다른 서버의 데이터를 가져오거나 내보낼 수 있다. 개체 전송이 아니고 데이터 전송이므로 테이블 데이터 이외(인덱스, PK, FK 등)는 가져오지 않는다. 데이터 내보내기를 통해 다른 서버에 데이터 전송을 할 수 있다. 내보내고자 하는 DB 마우스 우클릭 -> 태스크 -> 데이터 가져오기 ※ 데이터 가져오기를 하던지, 데이터 내보내기를 하던지 둘다 똑같다. 물론 복사할 원본과 밀어넣을 서버 선택하는 순서가 바뀐다. 어떤 DB서버의 어떤 데이터베이스에서 가져올지 선택한다. 내 DB의 어떤 서버에 집어넣을지 선택한다 '새로만들기'버튼을 눌러서 DB를 새로 만들 수도 있다. 이 후 '하나 이상의 테이블 또는 뷰에서 데이터복사'를 누른다. 어떤 테이블을 복사할 지 선택할 수..

[ms-sql] 사용자계정에 개체 권한 할당

데이터베이스에서 권한을 할당 할 떄 가장 중요한 것은 '최소 권한 원칙'에 따라 권한을 부여야한다. 사용자계정이 데이터베이스에서 특정 object에 대한 권한을 얻는 방법에 대해 알아보겠습니다. 1. 권한부여 부여하고자 하는 object 마우스 우클릭 -> 속성 사용권한 탭에서 이 object에 접근하여를 사용자를 선택한다. 그리고 어떤 권한을 허용할지 거부할지 체크를 한다. * 허용 권한의 경우 grant명령어를 사용해 권한을 주는 것과 같다. sql문으로 표현하면 아래와 같다. use AdventureWorks2022_old go grant select on dbo.AWBuildVersion to test_2 go * 거부 권한의 경우 deny 명령어를 사용해 권한을 부여하는 것과 같다. sql로 표..

[ms-sql] ms-sql 로그인계정, 사용자계정

ms-sql 에서는 로그인 계정과 사용자 계정이 있다. * 로그인 계정 로그인 계정은 sql server에 연결할 때 사용하는 계정이다. * 사용자 계정 데이터베이스 사용자 계정이라고 하며, 특정 데이터베이스를 접근하여 사용할 때 로그인계정이 매핑되는 계정이다. ※ 즉, 로그인 계정이 있다고 해서 아무 데이터베이스나 접근이 가능한것은 아니다 1. 로그인계정 등록 (windows 계정) windows계정이 존재할 때 sql server로 연결할 수 있도록 등록하는 방법을 알아보자. 보안 -> 로그인 마우스 우클릭 -> 새 로그인 기존의 windows계정을 sql server로 연결할 수 있는 계정으로 추가해준다. 2. 로그인계정 등록 (sql server인증) sql server계정은 id와 pw만 알면 ..

[ms-sql] ms-sql 인증방법, 인증모드 변경

ms-sql의 인증방법과 인증모드에 대해 알아보자 1. 인증 방법 1-1. windows인증 로그인 게정에 대해 인증을 windows운영체제가 담당하는 방법 sql server에 로그인할 떄 별도의 암호를 제공하지 않음 1-2. sql server인증 sql server자체 계정으로 sql server에 로그인함 windows계정을 사용할 수 없는 경우 사용하는 인증 방법 2. 인증 모드 2-1. windows인증 모드 windows인증 방법만 허가함 2-2. 혼합모드 windows인증 방법과 sql server인증 방법을 모두 허가함 3. SSMS로 인증모드 변경하는 방법 데이터베이스 마우스 우클릭 -> 속성 보안탭에서 windows인증 모드로 변경한다. 이 내용을 적용하려면 sql server를 다시..

[ms-sql] ms-sql 특정시점 복원

ms-sql의 특정시점으로 복원하는 과정을 알아보기 위해 데이터를 잘못 업데이트를 했다고 가정하겠습니다. 예를 들어 2024-02-01 16:24:20 에 잘못된 데이터를 업데이트 쳤다고 가정한다. 이 문제가 발생 했을 때 특정 시점으로 복원하는 방법에 대해 알아보자. 1. 로그꼬리 백업 우선 현재 전체백업을 받고 있고, 트랜잭션 로그 백업을 주기로 받는다고 가정한다. 이 때 전체백업과 트랜잭션 로그 백업은 존재하고, 방금 잘못된 업데이트는 로그꼬리 백업을 통해 백업을 받는다. 2. 전체백업 및 로그백업 복원 현재 DB에 직접 복원을 해도되지만 운영중인DB라면 복사본 DB를 만들어서 확인을 하는 과정을 꼭 거치도록 하자 데이터베이스 마우스 우클릭 -> 데이터베이스 복원 디바이스에서 전체백업과 방금 받은 ..

728x90
반응형