728x90
반응형

DB (데이터베이스) 108

[Oracle] oracle cold 백업 방법

백업 중에는 hot백업과 cold백업 두 가지가 있다. hot 백업이란 데이터베이스가 온라인 상태 즉 서버가 켜저 있는 상태에서 백업 받는 것을 hot backup이라고 한다. cold백업 이란 데이터베이스가 오프라인 상태여서 session이 데이터베이스에 엑세스 할 수 없고, 데이터베이스의 변경이 없어 데이터를 복사하기에 가장 안전한 방법이다. 하지만 백업중 데이터베이스에 엑세스 할 수 없기 때문에 다운타임을 수반한다. 이번 포스트에서는 oracle cold백업 과정에 대해 알아보자. 예제) ※ A라는 서버에 orcl과 orcldev라는 DB instance가 2개 기동되어 있다고 가정하자. 이때 orcl의 DB와 orcldev라는 DB를 동일하게 맞춰주기 위해 orcl의 DB를 cold백업 후 -> ..

[Oracle] 리눅스 awk와 grep으로 oracle의 alert log찾기

리눅스에서 awk와 grep으로 oracle의 alert log찾는 방법에 대해 알아보겠습니다. awk로는 특정 날짜 이후의 'ORA-'라고 뜨는 애러를 보고싶다면 아래와 같은 명령어를 작성한다. awk "/2024-03-19/, EOF" alert_orcl.log | grep -B1 -A3 'ORA-' 위 스크립트를 간단하게 설명한다면 1. awk * /2024-03-19/, EOF : 범위 패턴이며 awk에게 2024-03-19라는 텍스트가 나타나는 시점부터 파일의 끝(EOF)까지 선택하라고 지시한 것이고 * alert_orcl.log : 는 처리하려는 파일입니다. 2. grep * -B1 : 'ORA-' 라는 문자열을 찾은 후 직전의 1줄도 같이 포함시킵니다. * -A3 : 'ORA-' 라는 문자열..

[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만 알면 ..

728x90
반응형