<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Workspace</title>
    <link>https://darusamu.tistory.com/</link>
    <description>개발합시다</description>
    <language>ko</language>
    <pubDate>Wed, 22 Jul 2026 19:00:39 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>다루사무</managingEditor>
    <image>
      <title>Workspace</title>
      <url>https://t1.daumcdn.net/cfile/tistory/2273C13E52C50C8523</url>
      <link>https://darusamu.tistory.com</link>
    </image>
    <item>
      <title>DELETE와 TRUNCATE 차이점</title>
      <link>https://darusamu.tistory.com/65</link>
      <description>&lt;style&gt;
:root { --fg:#222; --muted:#666; --bg:#fff; --accent:#2d6cdf; --border:#e5e7eb; } 
body { font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, &quot;Noto Sans KR&quot;, Arial, &quot;Apple SD Gothic Neo&quot;, sans-serif; color:var(--fg); background:var(--bg); line-height:1.75; margin:0; } 
header, main, footer { max-width: 920px; margin: 0 auto; padding: 20px; } 
header h1 { margin: 8px 0 6px; letter-spacing:-0.3px; } 
header p { color:var(--muted); margin:0; } 
.toc { background:#f8fafc; border:1px solid var(--border); padding:14px 16px; border-radius:10px; } 
h2, h3 { scroll-margin-top: 84px; border-bottom: 1px solid var(--border); padding-bottom: 8px; margin-top: 40px; } 
table { width:100%; border-collapse: collapse; margin: 20px 0; font-size: 15px; } 
th, td { border: 1px solid var(--border); padding: 12px 14px; text-align: left; vertical-align: top; } 
th { background:#f9fafb; font-weight: 600; color: #374151; } 
.note { background:#f6f9ff; border-left:4px solid var(--accent); padding:12px 14px; border-radius:8px; margin: 20px 0; } 
.tag { display:inline-block; font-size:12px; color:#334155; background:#e2e8f0; padding:2px 8px; border-radius:999px; margin-right:6px;} 
.highlight { color: var(--accent); font-weight: bold; }
&lt;/style&gt;

&lt;header&gt;
    &lt;span class=&quot;tag&quot;&gt;Database&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;SQL&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Knowledge&lt;/span&gt;
    &lt;h1&gt;DELETE와 TRUNCATE의 핵심 차이점 분석&lt;/h1&gt;
    &lt;p&gt;데이터 삭제 방식에 따른 성능, 로그 기록, 복구 가능 여부 등을 상세히 비교합니다.&lt;/p&gt;
&lt;/header&gt;

&lt;main&gt;
    &lt;h2 id=&quot;comparison&quot;&gt;① 데이터 삭제 방식 비교&lt;/h2&gt;
    &lt;p&gt;SQL에서 데이터를 삭제할 때 사용하는 &lt;code&gt;DELETE&lt;/code&gt;와 &lt;code&gt;TRUNCATE&lt;/code&gt;는 실행 결과는 유사해 보일 수 있으나, 내부 작동 방식과 리소스 활용 측면에서 큰 차이가 있습니다.&lt;/p&gt;

    

    &lt;table&gt;
        &lt;thead&gt;
            &lt;tr&gt;
                &lt;th&gt;구분&lt;/th&gt;
                &lt;th&gt;DELETE FROM&lt;/th&gt;
                &lt;th&gt;TRUNCATE TABLE&lt;/th&gt;
            &lt;/tr&gt;
        &lt;/thead&gt;
        &lt;tbody&gt;
            &lt;tr&gt;
                &lt;th&gt;명령어 성격&lt;/th&gt;
                &lt;td&gt;DML (Data Manipulation Language)&lt;/td&gt;
                &lt;td&gt;DDL (Data Definition Language)&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;th&gt;삭제 범위&lt;/th&gt;
                &lt;td&gt;&lt;code&gt;WHERE&lt;/code&gt; 절을 통한 &lt;span class=&quot;highlight&quot;&gt;특정 행 선택 삭제 가능&lt;/span&gt;&lt;/td&gt;
                &lt;td&gt;테이블 내의 &lt;span class=&quot;highlight&quot;&gt;모든 행 일괄 삭제&lt;/span&gt;&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;th&gt;처리 속도&lt;/th&gt;
                &lt;td&gt;행 단위로 로그를 기록하여 상대적으로 느림&lt;/td&gt;
                &lt;td&gt;데이터 페이지 자체를 해제하여 매우 빠름&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;th&gt;트랜잭션 로그&lt;/th&gt;
                &lt;td&gt;각 행의 삭제 기록을 남김 (Undo 로그 생성)&lt;/td&gt;
                &lt;td&gt;최소한의 로그만 기록&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;th&gt;ROLLBACK&lt;/th&gt;
                &lt;td&gt;트랜잭션 내에서 실행 시 &lt;span class=&quot;highlight&quot;&gt;복구 가능&lt;/span&gt;&lt;/td&gt;
                &lt;td&gt;일부 DBMS에서는 즉시 커밋되어 복구 불가&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;th&gt;Auto-Increment&lt;/th&gt;
                &lt;td&gt;기존 카운트 유지&lt;/td&gt;
                &lt;td&gt;시작 값으로 &lt;span class=&quot;highlight&quot;&gt;초기화됨&lt;/span&gt;&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;th&gt;구조 보존&lt;/th&gt;
                &lt;td&gt;테이블 스키마 보존&lt;/td&gt;
                &lt;td&gt;테이블 스키마 보존&lt;/td&gt;
            &lt;/tr&gt;
        &lt;/tbody&gt;
    &lt;/table&gt;

    &lt;h2 id=&quot;key-summary&quot;&gt;② 핵심 요약 및 사용 지침&lt;/h2&gt;
    &lt;div class=&quot;note&quot;&gt;
        &lt;strong&gt;DELETE FROM:&lt;/strong&gt; 조건을 이용해 특정 행만 선별적으로 삭제해야 하거나, 잘못 삭제했을 경우를 대비해 롤백(Rollback)이 필요한 안전한 작업에 적합합니다.
    &lt;/div&gt;
    
    &lt;div class=&quot;note&quot;&gt;
        &lt;strong&gt;TRUNCATE TABLE:&lt;/strong&gt; 대용량의 데이터를 빠르게 비워야 하거나, 테스트 데이터 삭제 후 일련번호(ID)를 초기 상태로 되돌리고자 할 때 효율적입니다.
    &lt;/div&gt;

    &lt;p&gt;결론적으로, &lt;code&gt;DELETE&lt;/code&gt;는 행 단위의 정밀한 제어에 강점이 있으며, &lt;code&gt;TRUNCATE&lt;/code&gt;는 전체 데이터의 신속한 초기화에 최적화되어 있습니다. 작업의 목적과 복구 필요성을 고려하여 적절한 명령어를 선택하시기 바랍니다.&lt;/p&gt;
&lt;/main&gt;

&lt;footer&gt;
    &lt;hr&gt;
    &lt;p&gt;데이터베이스의 무결성을 위해 삭제 작업 전에는 항상 백업 여부와 트랜잭션 범위를 확인하는 습관이 필요합니다.&lt;/p&gt;
&lt;/footer&gt;</description>
      <category>Programming/Database</category>
      <category>DELETE</category>
      <category>msSQL</category>
      <category>mysql</category>
      <category>Oracle</category>
      <category>postgresql</category>
      <category>truncate</category>
      <category>차이점</category>
      <author>다루사무</author>
      <guid isPermaLink="true">https://darusamu.tistory.com/65</guid>
      <comments>https://darusamu.tistory.com/65#entry65comment</comments>
      <pubDate>Tue, 11 Nov 2025 10:13:23 +0900</pubDate>
    </item>
    <item>
      <title>Java 자료형 완벽 정리 &amp;mdash; 기본형과 참조형 한눈에 보기</title>
      <link>https://darusamu.tistory.com/64</link>
      <description>&lt;style&gt;
:root { --fg:#222; --muted:#666; --bg:#fff; --accent:#2d6cdf; --border:#e5e7eb; } 
body { font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, &quot;Noto Sans KR&quot;, Arial, &quot;Apple SD Gothic Neo&quot;, sans-serif; color:var(--fg); background:var(--bg); line-height:1.75; margin:0; } 
header, main, footer { max-width: 920px; margin: 0 auto; padding: 20px; } 
header h1 { margin: 8px 0 6px; letter-spacing:-0.3px; } 
header p { color:var(--muted); margin:0; } 
.toc { background:#f8fafc; border:1px solid var(--border); padding:14px 16px; border-radius:10px; } 
.toc a { color:var(--accent); text-decoration:none; } 
.toc a:hover { text-decoration:underline; } 
h2, h3 { scroll-margin-top: 84px; } 
code, pre { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, monospace; } 
pre { background:#0b1020; color:#e6edf3; padding:16px; border-radius:10px; overflow:auto; } 
code.inline { background:#f3f4f6; padding:.15rem .35rem; border-radius:6px; } 
table { width:100%; border-collapse: collapse; margin: 10px 0 20px; font-size: 15px; } 
th, td { border: 1px solid var(--border); padding: 10px 12px; text-align: left; vertical-align: top; } 
th { background:#f9fafb; } 
.note { background:#f6f9ff; border-left:4px solid var(--accent); padding:12px 14px; border-radius:8px; } 
.grid { display:grid; gap:14px; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); } 
footer { color:var(--muted); font-size:14px; } 
.tag { display:inline-block; font-size:12px; color:#334155; background:#e2e8f0; padding:2px 8px; border-radius:999px; margin-right:6px;} 
a.anchor { color: inherit; text-decoration: none; }
&lt;/style&gt;

&lt;header&gt;
    &lt;span class=&quot;tag&quot;&gt;Java&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;기초&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;자료형&lt;/span&gt;
    &lt;h1&gt;Java 자료형 완벽 정리 — 기본형과 참조형 한눈에 보기&lt;/h1&gt;
    &lt;p&gt;자료형은 변수가 어떤 데이터를 저장할 수 있는지를 결정합니다. 본 글에서는 자바의 기본형과 참조형, 형 변환과 베스트 프랙티스까지 정리합니다.&lt;/p&gt;
&lt;/header&gt;

&lt;main&gt;
    &lt;div class=&quot;toc&quot;&gt;
        &lt;strong&gt;목차&lt;/strong&gt;
        &lt;ul&gt;
            &lt;li&gt;&lt;a href=&quot;#what-is-type&quot;&gt;1. 자료형이란?&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href=&quot;#classification&quot;&gt;2. 자바 자료형 분류&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href=&quot;#primitives&quot;&gt;3. 기본형(Primitive) 상세 표&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href=&quot;#references&quot;&gt;4. 참조형(Reference) 이해하기&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href=&quot;#casting&quot;&gt;5. 형 변환(Type Casting)&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href=&quot;#wrapper&quot;&gt;6. Wrapper 클래스 &amp; 기본형 vs 참조형&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href=&quot;#best-practices&quot;&gt;7. 실무 팁 &amp; 베스트 프랙티스&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href=&quot;#faq&quot;&gt;8. 자주 묻는 질문(FAQ)&lt;/a&gt;&lt;/li&gt;
        &lt;/ul&gt;
    &lt;/div&gt;

    &lt;h2 id=&quot;what-is-type&quot;&gt;① 자료형이란?&lt;/h2&gt;
    &lt;p&gt;자료형(Data Type)은 &lt;strong&gt;변수에 저장할 수 있는 데이터의 형태, 크기, 연산 방법&lt;/strong&gt;을 정의합니다. 정수, 실수, 문자, 논리값 등 각 타입마다 메모리 크기와 허용 범위가 다릅니다.&lt;/p&gt;
    &lt;pre&gt;&lt;code&gt;// 자료형 예시
int age = 25;           // 정수
double height = 175.5;  // 실수
boolean isAdult = true; // 논리값
char grade = 'A';       // 문자 (단일 문자)&lt;/code&gt;&lt;/pre&gt;
    &lt;p class=&quot;note&quot;&gt;&lt;strong&gt;Tip.&lt;/strong&gt; 자료형을 올바르게 선택하면 메모리 효율과 연산 정확도를 모두 확보할 수 있습니다.&lt;/p&gt;

    &lt;h2 id=&quot;classification&quot;&gt;② 자바 자료형 분류&lt;/h2&gt;
    &lt;p&gt;자바의 자료형은 크게 두 가지로 분류됩니다.&lt;/p&gt;
    &lt;ul&gt;
        &lt;li&gt;&lt;strong&gt;기본형 (Primitive Type):&lt;/strong&gt; 값 자체를 저장합니다. &lt;code&gt;byte&lt;/code&gt;, &lt;code&gt;short&lt;/code&gt;, &lt;code&gt;int&lt;/code&gt;, &lt;code&gt;long&lt;/code&gt;, &lt;code&gt;float&lt;/code&gt;, &lt;code&gt;double&lt;/code&gt;, &lt;code&gt;char&lt;/code&gt;, &lt;code&gt;boolean&lt;/code&gt; (총 8개)이 이에 해당합니다.&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;참조형 (Reference Type):&lt;/strong&gt; 객체의 주소(참조값)를 저장합니다. &lt;code&gt;String&lt;/code&gt;, 배열, 클래스, 인터페이스 등 기본형을 제외한 모든 타입이 해당됩니다.&lt;/li&gt;
    &lt;/ul&gt;

    &lt;h2 id=&quot;primitives&quot;&gt;③ 기본형(Primitive) 상세 표&lt;/h2&gt;
    &lt;table&gt;
        &lt;thead&gt;
            &lt;tr&gt;&lt;th&gt;자료형&lt;/th&gt;&lt;th&gt;크기&lt;/th&gt;&lt;th&gt;범위(개략)&lt;/th&gt;&lt;th&gt;비고&lt;/th&gt;&lt;/tr&gt;
        &lt;/thead&gt;
        &lt;tbody&gt;
            &lt;tr&gt;&lt;td&gt;&lt;code&gt;byte&lt;/code&gt;&lt;/td&gt;&lt;td&gt;1 byte&lt;/td&gt;&lt;td&gt;-128 ~ 127&lt;/td&gt;&lt;td&gt;작은 정수, 파일 I/O 등&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;&lt;code&gt;short&lt;/code&gt;&lt;/td&gt;&lt;td&gt;2 byte&lt;/td&gt;&lt;td&gt;약 ±3.2만&lt;/td&gt;&lt;td&gt;임베디드 및 메모리 제약 환경&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;&lt;code&gt;int&lt;/code&gt;&lt;/td&gt;&lt;td&gt;4 byte&lt;/td&gt;&lt;td&gt;약 ±21억&lt;/td&gt;&lt;td&gt;가장 일반적인 정수형&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;&lt;code&gt;long&lt;/code&gt;&lt;/td&gt;&lt;td&gt;8 byte&lt;/td&gt;&lt;td&gt;매우 큰 정수&lt;/td&gt;&lt;td&gt;접미사 &lt;code&gt;L&lt;/code&gt; 필수&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;&lt;code&gt;float&lt;/code&gt;&lt;/td&gt;&lt;td&gt;4 byte&lt;/td&gt;&lt;td&gt;단정도 실수&lt;/td&gt;&lt;td&gt;접미사 &lt;code&gt;F&lt;/code&gt; 필수&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;&lt;code&gt;double&lt;/code&gt;&lt;/td&gt;&lt;td&gt;8 byte&lt;/td&gt;&lt;td&gt;배정도 실수&lt;/td&gt;&lt;td&gt;실수의 기본 자료형&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;&lt;code&gt;char&lt;/code&gt;&lt;/td&gt;&lt;td&gt;2 byte&lt;/td&gt;&lt;td&gt;유니코드 1개&lt;/td&gt;&lt;td&gt;홑따옴표(' ') 사용&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;&lt;code&gt;boolean&lt;/code&gt;&lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;true / false&lt;/td&gt;&lt;td&gt;논리 연산 및 조건문&lt;/td&gt;&lt;/tr&gt;
        &lt;/tbody&gt;
    &lt;/table&gt;

    &lt;h2 id=&quot;references&quot;&gt;④ 참조형(Reference) 이해하기&lt;/h2&gt;
    &lt;p&gt;참조형 변수는 &lt;strong&gt;객체가 저장된 힙(Heap) 영역의 주소&lt;/strong&gt;를 보관합니다. 변수 자체는 스택 영역에서 주소를 가지며, 실제 데이터는 힙 영역에 존재하게 됩니다.&lt;/p&gt;
    &lt;pre&gt;&lt;code&gt;// 대표적인 참조형 사용 예시
String name = &quot;홍길동&quot;;      // 문자열 객체
int[] numbers = {1, 2, 3};  // 배열
List&amp;lt;String&amp;gt; list = new ArrayList&amp;lt;&amp;gt;();&lt;/code&gt;&lt;/pre&gt;
    &lt;p class=&quot;note&quot;&gt;&lt;strong&gt;주의사항:&lt;/strong&gt; 지역 변수는 자동 초기화되지 않으므로 사용 전 반드시 초기화 과정을 거쳐야 합니다.&lt;/p&gt;

    &lt;h2 id=&quot;casting&quot;&gt;⑤ 형 변환(Type Casting)&lt;/h2&gt;
    &lt;h3&gt;자동 형 변환 (묵시적, Widening)&lt;/h3&gt;
    &lt;p&gt;표현 범위가 더 넓은 타입으로 변환될 때는 자동으로 수행됩니다. (예: &lt;code&gt;int&lt;/code&gt; → &lt;code&gt;double&lt;/code&gt;)&lt;/p&gt;
    &lt;h3&gt;강제 형 변환 (명시적, Narrowing)&lt;/h3&gt;
    &lt;p&gt;표현 범위가 좁은 타입으로 변환할 때는 데이터 손실이 발생할 수 있으므로 &lt;code&gt;(타입)&lt;/code&gt; 명시가 필요합니다.&lt;/p&gt;
    &lt;pre&gt;&lt;code&gt;double pi = 3.14;
int n = (int) pi; // 3으로 변환 (소수점 이하 손실)&lt;/code&gt;&lt;/pre&gt;

    &lt;h2 id=&quot;wrapper&quot;&gt;⑥ Wrapper 클래스&lt;/h2&gt;
    &lt;p&gt;각 기본형에 대응되는 래퍼 클래스를 통해 기본형 데이터를 객체로 다룰 수 있습니다. 컬렉션 프레임워크와 함께 사용할 때 필수적입니다.&lt;/p&gt;
    &lt;ul&gt;
        &lt;li&gt;&lt;code&gt;int&lt;/code&gt; ↔ &lt;code&gt;Integer&lt;/code&gt;&lt;/li&gt;
        &lt;li&gt;&lt;code&gt;char&lt;/code&gt; ↔ &lt;code&gt;Character&lt;/code&gt;&lt;/li&gt;
        &lt;li&gt;&lt;code&gt;boolean&lt;/code&gt; ↔ &lt;code&gt;Boolean&lt;/code&gt;&lt;/li&gt;
    &lt;/ul&gt;

    &lt;h2 id=&quot;best-practices&quot;&gt;⑦ 실무 팁 &amp; 베스트 프랙티스&lt;/h2&gt;
    &lt;ul&gt;
        &lt;li&gt;&lt;strong&gt;변수 명명:&lt;/strong&gt; &lt;code&gt;cnt&lt;/code&gt;와 같은 약어보다 &lt;code&gt;orderCount&lt;/code&gt;처럼 의미가 명확한 이름을 권장합니다.&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;기본형 우선:&lt;/strong&gt; &lt;code&gt;null&lt;/code&gt; 처리가 필요 없거나 성능이 중요한 로직에서는 기본형을 우선 사용합니다.&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;정밀도 고려:&lt;/strong&gt; 금융권 계산 등 높은 정밀도가 요구되는 경우 &lt;code&gt;double&lt;/code&gt; 대신 &lt;code&gt;BigDecimal&lt;/code&gt; 사용을 고려해야 합니다.&lt;/li&gt;
    &lt;/ul&gt;

    &lt;h2 id=&quot;faq&quot;&gt;⑧ 자주 묻는 질문(FAQ)&lt;/h2&gt;
    &lt;p&gt;&lt;strong&gt;Q1. 실수 계산 시 오차가 발생하는 이유는 무엇입니까?&lt;/strong&gt;&lt;br&gt;부동 소수점 방식의 한계로 인해 미세한 오차가 발생할 수 있습니다. 정확한 수치 계산이 필요하다면 &lt;code&gt;BigDecimal&lt;/code&gt; 클래스를 활용하십시오.&lt;/p&gt;
    &lt;p&gt;&lt;strong&gt;Q2. 필드와 지역 변수의 기본값 차이는 무엇입니까?&lt;/strong&gt;&lt;br&gt;클래스의 필드(멤버 변수)는 인스턴스 생성 시 타입별 기본값으로 자동 초기화되나, 메서드 내의 지역 변수는 직접 초기화하지 않을 경우 컴파일 에러가 발생합니다.&lt;/p&gt;
&lt;/main&gt;

&lt;footer&gt;
    &lt;hr&gt;
    &lt;p&gt;본 자료가 자바의 기초를 다지는 데 도움이 되기를 바랍니다. 다음 단계로 제네릭과 컬렉션 프레임워크 학습을 권장합니다.&lt;/p&gt;
&lt;/footer&gt;</description>
      <category>Programming/JAVA</category>
      <category>byte</category>
      <category>double</category>
      <category>float</category>
      <category>int</category>
      <category>Java</category>
      <category>LONG</category>
      <category>short</category>
      <category>기본형</category>
      <category>자료형</category>
      <category>참조형</category>
      <author>다루사무</author>
      <guid isPermaLink="true">https://darusamu.tistory.com/64</guid>
      <comments>https://darusamu.tistory.com/64#entry64comment</comments>
      <pubDate>Mon, 3 Nov 2025 12:39:34 +0900</pubDate>
    </item>
    <item>
      <title>문장력 강화를 위한 단어 모음</title>
      <link>https://darusamu.tistory.com/63</link>
      <description>&lt;style&gt;
:root { --fg:#222; --muted:#666; --bg:#fff; --accent:#2d6cdf; --border:#e5e7eb; } 
body { font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, &quot;Noto Sans KR&quot;, Arial, &quot;Apple SD Gothic Neo&quot;, sans-serif; color:var(--fg); background:var(--bg); line-height:1.75; margin:0; } 
header, main, footer { max-width: 920px; margin: 0 auto; padding: 20px; } 
header h1 { margin: 8px 0 6px; letter-spacing:-0.3px; } 
header p { color:var(--muted); margin:0; } 
.toc { background:#f8fafc; border:1px solid var(--border); padding:14px 16px; border-radius:10px; } 
h2, h3 { scroll-margin-top: 84px; border-bottom: 1px solid var(--border); padding-bottom: 8px; margin-top: 40px; } 
.grid { display:grid; gap:14px; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); margin: 20px 0; } 
.card { border: 1px solid var(--border); padding: 16px; border-radius: 10px; background: #fff; }
.card strong { display: block; margin-bottom: 8px; color: var(--accent); font-size: 1.1em; }
.word-list { display: flex; flex-wrap: wrap; gap: 6px; }
.word-item { background: #f3f4f6; padding: 2px 8px; border-radius: 4px; font-size: 14px; color: #4b5563; }
table { width:100%; border-collapse: collapse; margin: 10px 0 20px; font-size: 15px; } 
th, td { border: 1px solid var(--border); padding: 10px 12px; text-align: left; vertical-align: top; } 
th { background:#f9fafb; width: 25%; } 
.note { background:#f6f9ff; border-left:4px solid var(--accent); padding:12px 14px; border-radius:8px; margin: 20px 0; } 
.tag { display:inline-block; font-size:12px; color:#334155; background:#e2e8f0; padding:2px 8px; border-radius:999px; margin-right:6px;} 
&lt;/style&gt;

&lt;header&gt;
    &lt;span class=&quot;tag&quot;&gt;글쓰기&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;어휘력&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;문장력&lt;/span&gt;
    &lt;h1&gt;문장력 강화를 위한 핵심 어휘 모음&lt;/h1&gt;
    &lt;p&gt;보고서, 에세이, 기획서 작성 시 문장의 품격을 높여주는 주요 단어들을 분류별로 정리하였습니다.&lt;/p&gt;
&lt;/header&gt;

&lt;main&gt;
    &lt;h2 id=&quot;variation&quot;&gt;① 수치 및 상태의 변화&lt;/h2&gt;
    &lt;p&gt;현상의 크기나 강도가 변하는 양상을 구체적인 단어로 표현하면 문장의 정확도가 높아집니다.&lt;/p&gt;
    
    &lt;div class=&quot;grid&quot;&gt;
        &lt;div class=&quot;card&quot;&gt;
            &lt;strong&gt;▲ 증가 및 강화&lt;/strong&gt;
            &lt;div class=&quot;word-list&quot;&gt;
                &lt;span class=&quot;word-item&quot;&gt;증진&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;증폭&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;증대&lt;/span&gt;
                &lt;span class=&quot;word-item&quot;&gt;증가&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;확대&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;가중&lt;/span&gt;
                &lt;span class=&quot;word-item&quot;&gt;인상&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;강화&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;고취&lt;/span&gt;
            &lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;card&quot;&gt;
            &lt;strong&gt;▼ 감소 및 완화&lt;/strong&gt;
            &lt;div class=&quot;word-list&quot;&gt;
                &lt;span class=&quot;word-item&quot;&gt;저해&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;저조&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;단축&lt;/span&gt;
                &lt;span class=&quot;word-item&quot;&gt;완화&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;약화&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;경감&lt;/span&gt;
                &lt;span class=&quot;word-item&quot;&gt;절감&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;축소&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;인하&lt;/span&gt;
                &lt;span class=&quot;word-item&quot;&gt;감소&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;삭제&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;제거&lt;/span&gt;
                &lt;span class=&quot;word-item&quot;&gt;생략&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;해소&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;감축&lt;/span&gt;
                &lt;span class=&quot;word-item&quot;&gt;제외&lt;/span&gt;
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/div&gt;

    &lt;h2 id=&quot;relation&quot;&gt;② 관계 및 양상 표현&lt;/h2&gt;
    &lt;table&gt;
        &lt;tbody&gt;
            &lt;tr&gt;
                &lt;th&gt;차이와 간격&lt;/th&gt;
                &lt;td&gt;간극, 간격, 편차, 차등화, 격차, 불균형&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;th&gt;모양새와 상태&lt;/th&gt;
                &lt;td&gt;편중, 미약, 미미, 쇠퇴, 고착, 미흡, 결여, 부재, 종속, 정교화, 취약&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;th&gt;연관성&lt;/th&gt;
                &lt;td&gt;연관, 연계, 연속, 직결, 유기적, 접목&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;th&gt;문제 발생&lt;/th&gt;
                &lt;td&gt;심화, 초래, 위협, 괴리, 이슈 발생&lt;/td&gt;
            &lt;/tr&gt;
        &lt;/tbody&gt;
    &lt;/table&gt;

    &lt;h2 id=&quot;adjectives&quot;&gt;③ 주요 형용사 표현&lt;/h2&gt;
    &lt;p&gt;문장의 목적과 성격을 규정짓는 수식어들입니다.&lt;/p&gt;
    
    &lt;div class=&quot;grid&quot;&gt;
        &lt;div class=&quot;card&quot;&gt;
            &lt;strong&gt;목적 및 성과 지향&lt;/strong&gt;
            &lt;div class=&quot;word-list&quot;&gt;
                &lt;span class=&quot;word-item&quot;&gt;전략적&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;계획적&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;의도적&lt;/span&gt;
                &lt;span class=&quot;word-item&quot;&gt;종합적&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;공식적&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;체계적&lt;/span&gt;
                &lt;span class=&quot;word-item&quot;&gt;성과지향적&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;실질적&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;궁극적&lt;/span&gt;
                &lt;span class=&quot;word-item&quot;&gt;본격적&lt;/span&gt;
            &lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;card&quot;&gt;
            &lt;strong&gt;기반 및 시간 축&lt;/strong&gt;
            &lt;div class=&quot;word-list&quot;&gt;
                &lt;span class=&quot;word-item&quot;&gt;확고한&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;철저한&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;유연한&lt;/span&gt;
                &lt;span class=&quot;word-item&quot;&gt;유효한&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;효율적&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;지속적&lt;/span&gt;
                &lt;span class=&quot;word-item&quot;&gt;장기적&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;단기적&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;영속적&lt;/span&gt;
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/div&gt;

    &lt;h2 id=&quot;verbs&quot;&gt;④ 동사 및 명사 활용 (종합)&lt;/h2&gt;
    &lt;div class=&quot;note&quot;&gt;
        아래 어휘들은 문장의 서술어나 핵심 키워드로 활용하여 논리 구조를 완성하는 데 사용됩니다.
    &lt;/div&gt;
    &lt;div class=&quot;word-list&quot; style=&quot;background: #fff; border: 1px solid var(--border); padding: 20px; border-radius: 10px;&quot;&gt;
        &lt;span class=&quot;word-item&quot;&gt;달성&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;도모&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;촉진&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;개선&lt;/span&gt;
        &lt;span class=&quot;word-item&quot;&gt;공유&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;발전&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;확보&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;활용&lt;/span&gt;
        &lt;span class=&quot;word-item&quot;&gt;시도&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;추구&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;구축&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;분류&lt;/span&gt;
        &lt;span class=&quot;word-item&quot;&gt;협업&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;창출&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;정착&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;전개&lt;/span&gt;
        &lt;span class=&quot;word-item&quot;&gt;확산&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;탐색&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;기반&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;함양&lt;/span&gt;
        &lt;span class=&quot;word-item&quot;&gt;극대화&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;활성화&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;설계&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;개발&lt;/span&gt;
        &lt;span class=&quot;word-item&quot;&gt;도출&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;마련&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;제공&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;수립&lt;/span&gt;
        &lt;span class=&quot;word-item&quot;&gt;발굴&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;전파&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;보강&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;배양&lt;/span&gt;
        &lt;span class=&quot;word-item&quot;&gt;진행&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;성장&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;육성&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;검증&lt;/span&gt;
        &lt;span class=&quot;word-item&quot;&gt;제고&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;준수&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;정립&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;유도&lt;/span&gt;
        &lt;span class=&quot;word-item&quot;&gt;발현&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;투입&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;도입&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;인식&lt;/span&gt;
        &lt;span class=&quot;word-item&quot;&gt;습득&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;유지&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;상승&lt;/span&gt;&lt;span class=&quot;word-item&quot;&gt;접근&lt;/span&gt;
    &lt;/div&gt;
&lt;/main&gt;

&lt;footer&gt;
    &lt;hr&gt;
    &lt;p&gt;상기 단어들을 문맥에 맞게 적절히 혼용하면 보다 전문적이고 설득력 있는 문장을 구성할 수 있습니다.&lt;/p&gt;
&lt;/footer&gt;</description>
      <category>관련어</category>
      <category>글쓰기</category>
      <category>대체어</category>
      <category>문장력</category>
      <author>다루사무</author>
      <guid isPermaLink="true">https://darusamu.tistory.com/63</guid>
      <comments>https://darusamu.tistory.com/63#entry63comment</comments>
      <pubDate>Thu, 16 Nov 2023 09:41:46 +0900</pubDate>
    </item>
    <item>
      <title>CentOS 7에서 domain 설정하기</title>
      <link>https://darusamu.tistory.com/62</link>
      <description>&lt;style&gt;
:root { --fg:#222; --muted:#666; --bg:#fff; --accent:#2d6cdf; --border:#e5e7eb; } 
body { font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, &quot;Noto Sans KR&quot;, Arial, &quot;Apple SD Gothic Neo&quot;, sans-serif; color:var(--fg); background:var(--bg); line-height:1.75; margin:0; } 
header, main, footer { max-width: 920px; margin: 0 auto; padding: 20px; } 
header h1 { margin: 8px 0 6px; letter-spacing:-0.3px; } 
header p { color:var(--muted); margin:0; } 
.toc { background:#f8fafc; border:1px solid var(--border); padding:14px 16px; border-radius:10px; } 
h2, h3 { scroll-margin-top: 84px; border-bottom: 1px solid var(--border); padding-bottom: 8px; margin-top: 40px; } 
code, pre { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, monospace; } 
pre { background:#0b1020; color:#e6edf3; padding:16px; border-radius:10px; overflow:auto; } 
table { width:100%; border-collapse: collapse; margin: 20px 0; font-size: 15px; } 
th, td { border: 1px solid var(--border); padding: 12px 14px; text-align: left; vertical-align: top; } 
th { background:#f9fafb; font-weight: 600; color: #374151; } 
.note { background:#f6f9ff; border-left:4px solid var(--accent); padding:12px 14px; border-radius:8px; margin: 20px 0; } 
.tag { display:inline-block; font-size:12px; color:#334155; background:#e2e8f0; padding:2px 8px; border-radius:999px; margin-right:6px;} 
&lt;/style&gt;

&lt;header&gt;
    &lt;span class=&quot;tag&quot;&gt;CentOS 7&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Linux&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Server&lt;/span&gt;
    &lt;h1&gt;CentOS 7 호스트네임(Hostname) 및 도메인 설정 가이드&lt;/h1&gt;
    &lt;p&gt;시스템 식별을 위한 호스트네임 설정부터 도메인 매핑, 서비스 반영 절차까지 상세히 다룹니다.&lt;/p&gt;
&lt;/header&gt;

&lt;main&gt;
    &lt;h2 id=&quot;concept&quot;&gt;Ⅰ. Hostname의 개념&lt;/h2&gt;
    &lt;p&gt;&lt;strong&gt;호스트네임(Hostname)&lt;/strong&gt;은 네트워크 상에서 특정 서버를 식별하기 위한 고유 이름입니다. 관리를 위해 가급적 &lt;strong&gt;FQDN(Fully Qualified Domain Name)&lt;/strong&gt; 형식을 사용하는 것이 권장됩니다.&lt;/p&gt;
    
    

    &lt;ul&gt;
        &lt;li&gt;&lt;strong&gt;기본 구조:&lt;/strong&gt; &lt;code&gt;[호스트명].[도메인명].[최상위도메인]&lt;/code&gt;&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;예시:&lt;/strong&gt; &lt;code&gt;web01.dev.mycompany.net&lt;/code&gt;&lt;/li&gt;
    &lt;/ul&gt;

    &lt;h2 id=&quot;setup-steps&quot;&gt;Ⅱ. 호스트네임 설정 단계&lt;/h2&gt;

    &lt;h3&gt;1. 서버 내부용 호스트네임 설정&lt;/h3&gt;
    &lt;p&gt;시스템 부팅 시 참조되는 호스트네임 정보는 &lt;code&gt;/etc/hostname&lt;/code&gt; 파일에 저장됩니다.&lt;/p&gt;
    &lt;pre&gt;&lt;code&gt;# 파일 수정
vi /etc/hostname

# 내용 예시
aaa.server.com&lt;/code&gt;&lt;/pre&gt;
    &lt;div class=&quot;note&quot;&gt;
        &lt;strong&gt;Tip:&lt;/strong&gt; 단순한 이름을 지정할 수도 있으나, 향후 DNS 연동 및 서버 관리를 위해 FQDN 형태로 작성하는 것이 유리합니다.
    &lt;/div&gt;

    &lt;h3&gt;2. 로컬 도메인 질의를 위한 Host 매핑&lt;/h3&gt;
    &lt;p&gt;&lt;code&gt;/etc/hosts&lt;/code&gt; 파일은 특정 IP 주소에 호스트명을 직접 매핑하여 로컬 DNS 역할을 수행합니다.&lt;/p&gt;
    &lt;pre&gt;&lt;code&gt;# 파일 수정
vi /etc/hosts

# 매핑 예시 (127.0.0.1 루프백 주소에 등록)
127.0.0.1   localhost   aaa   aaa.server.com&lt;/code&gt;&lt;/pre&gt;
    &lt;p&gt;설정 후에는 내부에서 &lt;code&gt;ping aaa&lt;/code&gt; 등의 명령어로 정상적인 이름 해석 여부를 확인할 수 있습니다.&lt;/p&gt;

    &lt;h3&gt;3. 설정 반영 (서비스 재시작)&lt;/h3&gt;
    &lt;p&gt;파일 수정 사항을 시스템에 즉시 적용하기 위해 관련 서비스를 재시작합니다.&lt;/p&gt;
    &lt;pre&gt;&lt;code&gt;systemctl restart systemd-hostnamed&lt;/code&gt;&lt;/pre&gt;

    &lt;h3&gt;4. 적용 여부 최종 확인&lt;/h3&gt;
    &lt;p&gt;다음 명령어를 통해 설정된 호스트네임 정보를 상세히 조회할 수 있습니다.&lt;/p&gt;
    &lt;pre&gt;&lt;code&gt;hostnamectl status&lt;/code&gt;&lt;/pre&gt;
    &lt;pre&gt;&lt;code&gt;# 출력 결과 예시
   Static hostname: aaa.server.com
         Icon name: computer-vm
           Chassis: vm
  Operating System: CentOS Linux 7 (Core)
            Kernel: Linux 3.10.0-1160.el7.x86_64
      Architecture: x86-64&lt;/code&gt;&lt;/pre&gt;

    &lt;h2 id=&quot;commands&quot;&gt;Ⅲ. 관련 주요 명령어 요약&lt;/h2&gt;
    &lt;table&gt;
        &lt;thead&gt;
            &lt;tr&gt;
                &lt;th&gt;명령어&lt;/th&gt;
                &lt;th&gt;기능 설명&lt;/th&gt;
            &lt;/tr&gt;
        &lt;/thead&gt;
        &lt;tbody&gt;
            &lt;tr&gt;
                &lt;td&gt;&lt;code&gt;hostname&lt;/code&gt;&lt;/td&gt;
                &lt;td&gt;현재 설정된 시스템 호스트네임 출력&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td&gt;&lt;code&gt;hostnamectl set-hostname [명칭]&lt;/code&gt;&lt;/td&gt;
                &lt;td&gt;명령줄을 통해 즉시 호스트네임 변경 및 반영&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td&gt;&lt;code&gt;nmtui&lt;/code&gt;&lt;/td&gt;
                &lt;td&gt;텍스트 UI 기반의 네트워크 관리 도구를 통한 변경&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td&gt;&lt;code&gt;cat /etc/hostname&lt;/code&gt;&lt;/td&gt;
                &lt;td&gt;설정 파일에 기록된 정적 호스트네임 확인&lt;/td&gt;
            &lt;/tr&gt;
        &lt;/tbody&gt;
    &lt;/table&gt;

    &lt;h2 id=&quot;troubleshooting&quot;&gt;Ⅳ. 트러블슈팅 및 주의사항&lt;/h2&gt;
    &lt;ul&gt;
        &lt;li&gt;&lt;strong&gt;이름 해석 불가:&lt;/strong&gt; 도메인 질의 시 문제가 발생한다면 &lt;code&gt;/etc/hosts&lt;/code&gt; 파일 내 FQDN 등록 여부를 재검토하십시오.&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;재부팅 후 초기화:&lt;/strong&gt; &lt;code&gt;/etc/hostname&lt;/code&gt; 파일에 정보가 올바르게 기록되었는지, 그리고 파일 권한에 문제가 없는지 확인이 필요합니다.&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;SSH 접속 경고:&lt;/strong&gt; 호스트네임 변경 후 기존 SSH Key와의 불일치로 경고가 발생할 수 있습니다. 이 경우 클라이언트 측의 &lt;code&gt;known_hosts&lt;/code&gt; 파일을 갱신해야 합니다.&lt;/li&gt;
    &lt;/ul&gt;
&lt;/main&gt;

&lt;footer&gt;
    &lt;hr&gt;
    &lt;p&gt;CentOS 7에서는 &lt;code&gt;hostnamectl&lt;/code&gt; 도구와 환경 설정 파일을 적절히 조합하여 서버 식별 체계를 일관성 있게 관리하는 것이 중요합니다.&lt;/p&gt;
&lt;/footer&gt;</description>
      <category>Programming</category>
      <category>centos</category>
      <category>domain</category>
      <category>hostname</category>
      <category>hosts</category>
      <category>도메인</category>
      <category>호스트</category>
      <author>다루사무</author>
      <guid isPermaLink="true">https://darusamu.tistory.com/62</guid>
      <comments>https://darusamu.tistory.com/62#entry62comment</comments>
      <pubDate>Wed, 2 Aug 2023 10:18:38 +0900</pubDate>
    </item>
    <item>
      <title>ORACLE TEMP TABLESPACE 삭제</title>
      <link>https://darusamu.tistory.com/61</link>
      <description>&lt;pre id=&quot;code_1679292631426&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;/*템프 테이블스페이스 조회*/
select * from dba_temp_files;


/*임시 템프 테이블스페이스 생성*/
create temporary tablespace TMP tempfile '/데이터파일경로/temp03.dbf' size 10m autoextend on;

/*기본 템프 테이블스페이스 변경*/
alter database default temporary tablespace tmp;


/*세션 확인 후 세션 킬*/
SELECT 'alter system kill session '''||sid||','||serial#||''' IMMEDIATE;'
FROM v$session a,v$sort_usage b
WHERE a.saddr = b.session_addr and tablespace = 'TEMP';

/*기존 템프 테이블스페이스 드랍*/
drop tablespace temp including contents and datafiles;

/*템프 테이블스페이스 생성*/
create temporary tablespace TEMP tempfile '/데이터파일경로/temp01.dbf' size 10m autoextend on;

/*기본 템프 테이블스페이스 변경*/
alter database default temporary tablespace temp;


/*세션 확인 후 세션 킬*/
SELECT 'alter system kill session '''||sid||','||serial#||''' IMMEDIATE;'
FROM v$session a,v$sort_usage b
WHERE a.saddr = b.session_addr and tablespace = 'TMP';

/*임시 템프 테이블스페이스 드랍*/
drop tablespace tmp including contents and datafiles;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Programming/Database</category>
      <category>DROP</category>
      <category>Oracle</category>
      <category>tablespace</category>
      <category>Temp</category>
      <category>삭제</category>
      <category>재생성</category>
      <author>다루사무</author>
      <guid isPermaLink="true">https://darusamu.tistory.com/61</guid>
      <comments>https://darusamu.tistory.com/61#entry61comment</comments>
      <pubDate>Mon, 20 Mar 2023 15:11:52 +0900</pubDate>
    </item>
    <item>
      <title>Edge 브라우저에서 window.open 시 같은 창에서 안열리는 현상</title>
      <link>https://darusamu.tistory.com/60</link>
      <description>&lt;style&gt;
:root { --fg:#222; --muted:#666; --bg:#fff; --accent:#2d6cdf; --border:#e5e7eb; } 
body { font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, &quot;Noto Sans KR&quot;, Arial, &quot;Apple SD Gothic Neo&quot;, sans-serif; color:var(--fg); background:var(--bg); line-height:1.75; margin:0; } 
header, main, footer { max-width: 920px; margin: 0 auto; padding: 20px; } 
header h1 { margin: 8px 0 6px; letter-spacing:-0.3px; } 
header p { color:var(--muted); margin:0; } 
.toc { background:#f8fafc; border:1px solid var(--border); padding:14px 16px; border-radius:10px; } 
h2, h3 { scroll-margin-top: 84px; border-bottom: 1px solid var(--border); padding-bottom: 8px; margin-top: 40px; } 
code, pre { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, monospace; } 
pre { background:#0b1020; color:#e6edf3; padding:16px; border-radius:10px; overflow:auto; } 
table { width:100%; border-collapse: collapse; margin: 20px 0; font-size: 15px; } 
th, td { border: 1px solid var(--border); padding: 12px 14px; text-align: left; vertical-align: top; } 
th { background:#f9fafb; font-weight: 600; color: #374151; } 
.note { background:#f6f9ff; border-left:4px solid var(--accent); padding:12px 14px; border-radius:8px; margin: 20px 0; } 
.tag { display:inline-block; font-size:12px; color:#334155; background:#e2e8f0; padding:2px 8px; border-radius:999px; margin-right:6px;} 
&lt;/style&gt;

&lt;header&gt;
    &lt;span class=&quot;tag&quot;&gt;Edge Browser&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Enterprise Mode&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Troubleshooting&lt;/span&gt;
    &lt;h1&gt;Edge 브라우저 window.open() 호출 시 세션 분리 현상 해결&lt;/h1&gt;
    &lt;p&gt;엔터프라이즈 모드와 일반 모드 간의 컨텍스트 불일치로 발생하는 window.name 접근 불가 문제를 다룹니다.&lt;/p&gt;
&lt;/header&gt;

&lt;main&gt;
    &lt;h2 id=&quot;problem&quot;&gt;Ⅰ. 문제 현상 요약&lt;/h2&gt;
    &lt;p&gt;A 사이트가 &lt;strong&gt;엔터프라이즈 모드(Enterprise Mode)&lt;/strong&gt;로 작동 중일 때, 스크립트의 &lt;code&gt;window.open()&lt;/code&gt;을 통해 B 사이트를 호출하면 다음과 같은 결합 오류가 발생합니다.&lt;/p&gt;
    
    &lt;ul&gt;
        &lt;li&gt;&lt;strong&gt;현상:&lt;/strong&gt; B 사이트가 엔터프라이즈 목록에 없는 경우 '일반 모드'로 실행됨.&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;결과:&lt;/strong&gt; 두 사이트 간의 엔진(IE vs Chromium)이 달라지며 세션 및 객체 공유가 차단됨.&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;오류:&lt;/strong&gt; 부모 창과 자식 창 간의 &lt;code&gt;window.name&lt;/code&gt; 또는 &lt;code&gt;opener&lt;/code&gt; 객체 접근이 불가능해짐.&lt;/li&gt;
    &lt;/ul&gt;

    &lt;h2 id=&quot;cause&quot;&gt;Ⅱ. 원인 분석&lt;/h2&gt;
    &lt;p&gt;Microsoft Edge는 &lt;strong&gt;엔터프라이즈 사이트 목록(Site List)&lt;/strong&gt;에 정의된 URL을 별도의 분리된 프로세스(IE 모드 엔진)에서 실행합니다.&lt;/p&gt;
    
    

    &lt;p&gt;따라서 호출된 자식 URL이 목록에 누락되어 있다면, 브라우저는 이를 일반 Chromium 엔진으로 처리합니다. 엔진이 물리적으로 분리됨에 따라 상호 간의 자바스크립트 컨텍스트(Context) 접근이 기술적으로 제한되는 구조입니다.&lt;/p&gt;

    &lt;h2 id=&quot;solution&quot;&gt;Ⅲ. 해결 방법&lt;/h2&gt;

    &lt;h3&gt;1. 엔터프라이즈 사이트 목록(Site List) 통합&lt;/h3&gt;
    &lt;p&gt;가장 근본적인 해결책은 호출되는 대상 사이트(B) 역시 동일한 모드에서 실행되도록 목록에 추가하는 것입니다.&lt;/p&gt;
    &lt;pre&gt;&lt;code&gt;&amp;lt;!-- Enterprise Site List 설정 예시 --&amp;gt;
&amp;lt;site-list version=&quot;5&quot;&amp;gt;
  &amp;lt;site url=&quot;https://a.example.com&quot; open-in=&quot;IE11&quot;/&amp;gt;
  &amp;lt;site url=&quot;https://b.example.com&quot; open-in=&quot;IE11&quot;/&amp;gt;
&amp;lt;/site-list&amp;gt;&lt;/code&gt;&lt;/pre&gt;

    &lt;h3&gt;2. 타겟 속성 변경 (_self 활용)&lt;/h3&gt;
    &lt;p&gt;새 창을 띄우지 않고 현재 창에서 페이지를 전환할 경우, 동일한 프로세스 내에서 세션 유지가 가능할 수 있습니다.&lt;/p&gt;
    &lt;pre&gt;&lt;code&gt;// 새 창 대신 현재 창에서 열기
window.open('https://bsite.com', '_self');&lt;/code&gt;&lt;/pre&gt;

    &lt;h2 id=&quot;summary&quot;&gt;Ⅳ. 현상 및 해결 요약&lt;/h2&gt;
    &lt;table&gt;
        &lt;thead&gt;
            &lt;tr&gt;
                &lt;th&gt;구분&lt;/th&gt;
                &lt;th&gt;발생 현상&lt;/th&gt;
                &lt;th&gt;권장 해결책&lt;/th&gt;
            &lt;/tr&gt;
        &lt;/thead&gt;
        &lt;tbody&gt;
            &lt;tr&gt;
                &lt;th&gt;모드 불일치&lt;/th&gt;
                &lt;td&gt;&lt;code&gt;window.name&lt;/code&gt; 및 &lt;code&gt;opener&lt;/code&gt; 접근 불가&lt;/td&gt;
                &lt;td&gt;호출 대상 URL을 사이트 목록(Site List)에 등록&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;th&gt;프로세스 분리&lt;/th&gt;
                &lt;td&gt;엔진 간 세션/쿠키 공유 제한&lt;/td&gt;
                &lt;td&gt;동일 모드로 강제 지정 또는 &lt;code&gt;_self&lt;/code&gt; 사용&lt;/td&gt;
            &lt;/tr&gt;
        &lt;/tbody&gt;
    &lt;/table&gt;
&lt;/main&gt;

&lt;footer&gt;
    &lt;hr&gt;
    &lt;p&gt;브라우저 엔진 간의 물리적 격리는 보안 정책의 일환입니다. 원활한 서비스 연동을 위해 엔터프라이즈 사이트 목록의 일관된 관리를 권장합니다.&lt;/p&gt;
&lt;/footer&gt;</description>
      <category>Programming/WEB</category>
      <category>edge</category>
      <category>Enterprise</category>
      <category>IE는언제없어지나</category>
      <category>IE모드</category>
      <category>window.open</category>
      <category>새창</category>
      <category>새탭</category>
      <category>엔터프라이즈</category>
      <author>다루사무</author>
      <guid isPermaLink="true">https://darusamu.tistory.com/60</guid>
      <comments>https://darusamu.tistory.com/60#entry60comment</comments>
      <pubDate>Fri, 25 Nov 2022 17:24:04 +0900</pubDate>
    </item>
    <item>
      <title>ORACLE 음수를 0으로 변환</title>
      <link>https://darusamu.tistory.com/59</link>
      <description>&lt;style&gt;
:root { --fg:#222; --muted:#666; --bg:#fff; --accent:#2d6cdf; --border:#e5e7eb; } 
body { font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, &quot;Noto Sans KR&quot;, Arial, &quot;Apple SD Gothic Neo&quot;, sans-serif; color:var(--fg); background:var(--bg); line-height:1.75; margin:0; } 
header, main, footer { max-width: 920px; margin: 0 auto; padding: 20px; } 
header h1 { margin: 8px 0 6px; letter-spacing:-0.3px; } 
header p { color:var(--muted); margin:0; } 
.toc { background:#f8fafc; border:1px solid var(--border); padding:14px 16px; border-radius:10px; } 
h2, h3 { scroll-margin-top: 84px; border-bottom: 1px solid var(--border); padding-bottom: 8px; margin-top: 40px; } 
code, pre { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, monospace; } 
pre { background:#0b1020; color:#e6edf3; padding:16px; border-radius:10px; overflow:auto; } 
table { width:100%; border-collapse: collapse; margin: 20px 0; font-size: 15px; } 
th, td { border: 1px solid var(--border); padding: 12px 14px; text-align: left; vertical-align: top; } 
th { background:#f9fafb; font-weight: 600; color: #374151; } 
.note { background:#f6f9ff; border-left:4px solid var(--accent); padding:12px 14px; border-radius:8px; margin: 20px 0; } 
.tag { display:inline-block; font-size:12px; color:#334155; background:#e2e8f0; padding:2px 8px; border-radius:999px; margin-right:6px;} 
.highlight { color: var(--accent); font-weight: bold; }
&lt;/style&gt;

&lt;header&gt;
    &lt;span class=&quot;tag&quot;&gt;Oracle&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;SQL&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Functions&lt;/span&gt;
    &lt;h1&gt;Oracle에서 음수 데이터를 0으로 변환하는 방법&lt;/h1&gt;
    &lt;p&gt;GREATEST, SIGN, CASE WHEN 등 다양한 함수를 활용하여 마이너스 값을 제어하는 최적의 방안을 제시합니다.&lt;/p&gt;
&lt;/header&gt;

&lt;main&gt;
    &lt;p&gt;데이터 정제 과정에서 음수 값을 0으로 수렴시켜야 하는 경우가 빈번히 발생합니다. Oracle 환경에서 가장 효율적인 세 가지 접근 방식을 비교 정리합니다.&lt;/p&gt;

    &lt;h2 id=&quot;greatest&quot;&gt;① GREATEST 함수 활용&lt;/h2&gt;
    &lt;p&gt;&lt;code&gt;GREATEST(expr1, expr2, ...)&lt;/code&gt; 함수는 인자로 나열된 값 중 &lt;strong&gt;가장 큰 값&lt;/strong&gt;을 반환합니다.&lt;/p&gt;
    
    &lt;h3&gt;기본 구문&lt;/h3&gt;
    &lt;pre&gt;&lt;code&gt;SELECT GREATEST(SALARY, 0) FROM EMPLOYEES;&lt;/code&gt;&lt;/pre&gt;
    
    &lt;div class=&quot;note&quot;&gt;
        &lt;strong&gt;작동 원리:&lt;/strong&gt; 입력값이 -100일 경우 &lt;code&gt;GREATEST(-100, 0)&lt;/code&gt;은 0을 반환하며, 100일 경우 100을 반환합니다. 가장 직관적이고 가독성이 높은 방식입니다.
    &lt;/div&gt;

    &lt;h2 id=&quot;sign-decode&quot;&gt;② SIGN 및 DECODE 함수 조합&lt;/h2&gt;
    &lt;p&gt;부호를 판별하는 &lt;code&gt;SIGN&lt;/code&gt; 함수와 조건 분기 함수인 &lt;code&gt;DECODE&lt;/code&gt;를 결합하여 논리적으로 제어할 수 있습니다.&lt;/p&gt;

    &lt;h3&gt;부호 판별 기준 (SIGN 함수)&lt;/h3&gt;
    &lt;table&gt;
        &lt;thead&gt;
            &lt;tr&gt;&lt;th&gt;입력 상태&lt;/th&gt;&lt;th&gt;반환값&lt;/th&gt;&lt;th&gt;의미&lt;/th&gt;&lt;/tr&gt;
        &lt;/thead&gt;
        &lt;tbody&gt;
            &lt;tr&gt;&lt;td&gt;양수 (Positive)&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;입력값이 0보다 큰 경우&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;영 (Zero)&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;입력값이 정확히 0인 경우&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;음수 (Negative)&lt;/td&gt;&lt;td&gt;-1&lt;/td&gt;&lt;td&gt;입력값이 0보다 작은 경우&lt;/td&gt;&lt;/tr&gt;
        &lt;/tbody&gt;
    &lt;/table&gt;

    &lt;h3&gt;구현 예시&lt;/h3&gt;
    &lt;pre&gt;&lt;code&gt;-- SIGN 결과가 -1(음수)이면 0을, 아니면 원본 값을 반환
SELECT DECODE(SIGN(SALARY), -1, 0, SALARY) FROM EMPLOYEES;&lt;/code&gt;&lt;/pre&gt;

    &lt;h2 id=&quot;case-when&quot;&gt;③ CASE WHEN 구문 활용 (표준 SQL)&lt;/h2&gt;
    &lt;p&gt;DBMS 이식성을 고려해야 하거나 복잡한 조건이 수반될 때 가장 권장되는 표준 방식입니다.&lt;/p&gt;

    &lt;pre&gt;&lt;code&gt;SELECT 
    CASE 
        WHEN SALARY &lt; 0 THEN 0 
        ELSE SALARY 
    END AS ADJ_SALARY
FROM EMPLOYEES;&lt;/code&gt;&lt;/pre&gt;

    &lt;h2 id=&quot;comparison&quot;&gt;④ 방식별 특성 비교&lt;/h2&gt;
    &lt;table&gt;
        &lt;thead&gt;
            &lt;tr&gt;
                &lt;th&gt;비교 항목&lt;/th&gt;
                &lt;th&gt;GREATEST&lt;/th&gt;
                &lt;th&gt;DECODE + SIGN&lt;/th&gt;
                &lt;th&gt;CASE WHEN&lt;/th&gt;
            &lt;/tr&gt;
        &lt;/thead&gt;
        &lt;tbody&gt;
            &lt;tr&gt;
                &lt;th&gt;가독성&lt;/th&gt;
                &lt;td&gt;매우 우수&lt;/td&gt;
                &lt;td&gt;보통&lt;/td&gt;
                &lt;td&gt;우수&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;th&gt;이식성&lt;/th&gt;
                &lt;td&gt;Oracle/MySQL 지원&lt;/td&gt;
                &lt;td&gt;Oracle 전용&lt;/td&gt;
                &lt;td&gt;모든 DB 공통 (ANSI)&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;th&gt;복합 조건&lt;/th&gt;
                &lt;td&gt;불가 (단순 비교)&lt;/td&gt;
                &lt;td&gt;제한적&lt;/td&gt;
                &lt;td&gt;매우 유연함&lt;/td&gt;
            &lt;/tr&gt;
        &lt;/tbody&gt;
    &lt;/table&gt;

    &lt;h2 id=&quot;summary&quot;&gt;⑤ 실무 적용 시 주의사항&lt;/h2&gt;
    &lt;div class=&quot;note&quot;&gt;
        &lt;strong&gt;NULL 처리 필수:&lt;/strong&gt; &lt;code&gt;GREATEST&lt;/code&gt; 함수는 인자 중 하나라도 NULL이면 결과로 NULL을 반환합니다. 따라서 데이터에 NULL이 포함될 가능성이 있다면 &lt;code&gt;NVL&lt;/code&gt; 함수와의 병행 사용이 필수적입니다.
    &lt;/div&gt;
    &lt;pre&gt;&lt;code&gt;-- NULL을 0으로 먼저 치환한 후 음수 체크 수행
SELECT GREATEST(NVL(COLUMN_NAME, 0), 0) FROM DUAL;&lt;/code&gt;&lt;/pre&gt;
&lt;/main&gt;

&lt;footer&gt;
    &lt;hr&gt;
    &lt;p&gt;결론적으로, 단순 음수 처리는 &lt;strong&gt;GREATEST&lt;/strong&gt;가 가장 간결하며, 타 DBMS로의 이관 가능성이 있다면 &lt;strong&gt;CASE WHEN&lt;/strong&gt; 구문 사용을 권장합니다.&lt;/p&gt;
&lt;/footer&gt;</description>
      <category>Programming/Database</category>
      <category>0으로</category>
      <category>Greatest</category>
      <category>Oracle</category>
      <category>SIGN</category>
      <category>변환</category>
      <category>오라클</category>
      <category>음수</category>
      <category>음수를</category>
      <author>다루사무</author>
      <guid isPermaLink="true">https://darusamu.tistory.com/59</guid>
      <comments>https://darusamu.tistory.com/59#entry59comment</comments>
      <pubDate>Wed, 12 Oct 2022 16:39:00 +0900</pubDate>
    </item>
    <item>
      <title>ORACLE 덤프 EXP / IMP 옵션</title>
      <link>https://darusamu.tistory.com/58</link>
      <description>&lt;style&gt;
:root { --fg:#222; --muted:#666; --bg:#fff; --accent:#2d6cdf; --border:#e5e7eb; } 
body { font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, &quot;Noto Sans KR&quot;, Arial, &quot;Apple SD Gothic Neo&quot;, sans-serif; color:var(--fg); background:var(--bg); line-height:1.75; margin:0; } 
header, main, footer { max-width: 920px; margin: 0 auto; padding: 20px; } 
header h1 { margin: 8px 0 6px; letter-spacing:-0.3px; } 
header p { color:var(--muted); margin:0; } 
.toc { background:#f8fafc; border:1px solid var(--border); padding:14px 16px; border-radius:10px; } 
h2, h3 { scroll-margin-top: 84px; border-bottom: 1px solid var(--border); padding-bottom: 8px; margin-top: 40px; } 
table { width:100%; border-collapse: collapse; margin: 20px 0; font-size: 14px; } 
th, td { border: 1px solid var(--border); padding: 10px 12px; text-align: left; vertical-align: top; } 
th { background:#f9fafb; font-weight: 600; color: #374151; } 
.note { background:#f6f9ff; border-left:4px solid var(--accent); padding:12px 14px; border-radius:8px; margin: 20px 0; } 
.tag { display:inline-block; font-size:12px; color:#334155; background:#e2e8f0; padding:2px 8px; border-radius:999px; margin-right:6px;} 
.warning { color: #dc2626; font-weight: bold; }
&lt;/style&gt;

&lt;header&gt;
    &lt;span class=&quot;tag&quot;&gt;Oracle DB&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Backup&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Utility&lt;/span&gt;
    &lt;h1&gt;Oracle 덤프 유틸리티(EXP/IMP) 주요 옵션 정리&lt;/h1&gt;
    &lt;p&gt;데이터 추출(Export) 및 적재(Import) 시 사용되는 파라미터와 작업 시 주의사항을 상세히 기술합니다.&lt;/p&gt;
&lt;/header&gt;

&lt;main&gt;
    &lt;p&gt;Oracle의 유틸리티를 이용한 데이터 이동은 크게 &lt;strong&gt;Export(EXP)&lt;/strong&gt;를 통한 백업 파일 생성과 &lt;strong&gt;Import(IMP)&lt;/strong&gt;를 통한 복구 단계로 나뉩니다. 각 단계별 핵심 옵션은 다음과 같습니다.&lt;/p&gt;

    &lt;h2 id=&quot;export-options&quot;&gt;1. EXPORT(데이터 추출) 옵션 상세&lt;/h2&gt;
    &lt;table&gt;
        &lt;thead&gt;
            &lt;tr&gt;&lt;th&gt;옵션명&lt;/th&gt;&lt;th&gt;기능 설명 및 비고&lt;/th&gt;&lt;/tr&gt;
        &lt;/thead&gt;
        &lt;tbody&gt;
            &lt;tr&gt;&lt;td&gt;&lt;code&gt;USERID&lt;/code&gt;&lt;/td&gt;&lt;td&gt;계정명/비밀번호 (예: scott/tiger)&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;&lt;code&gt;FULL&lt;/code&gt;&lt;/td&gt;&lt;td&gt;전체 데이터베이스 추출 여부 (기본값: N)&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;&lt;code&gt;OWNER&lt;/code&gt;&lt;/td&gt;&lt;td&gt;특정 사용자 소유의 오브젝트만 추출&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;&lt;code&gt;TABLES&lt;/code&gt;&lt;/td&gt;&lt;td&gt;추출 대상 테이블 목록 지정 (쉼표로 구분)&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;&lt;code&gt;FILE&lt;/code&gt;&lt;/td&gt;&lt;td&gt;생성될 덤프 파일명 지정 (.dmp)&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;&lt;code&gt;LOG&lt;/code&gt;&lt;/td&gt;&lt;td&gt;작업 진행 상황을 기록할 로그 파일명&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;&lt;code&gt;ROWS&lt;/code&gt;&lt;/td&gt;&lt;td&gt;실제 데이터 적재 여부 (N 설정 시 구조만 추출)&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;&lt;code&gt;COMPRESS&lt;/code&gt;&lt;/td&gt;&lt;td&gt;익스텐트 통합 여부 (기본값 Y, &lt;span class=&quot;warning&quot;&gt;N 설정 권장&lt;/span&gt;)&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;&lt;code&gt;CONSISTENT&lt;/code&gt;&lt;/td&gt;&lt;td&gt;읽기 일관성 유지 여부 (기본값 N)&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;&lt;code&gt;QUERY&lt;/code&gt;&lt;/td&gt;&lt;td&gt;특정 조건(SELECT절)에 맞는 데이터만 추출&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;&lt;code&gt;DIRECT&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Direct Path Export 사용 여부 (속도 향상, 기본값 N)&lt;/td&gt;&lt;/tr&gt;
        &lt;/tbody&gt;
    &lt;/table&gt;
    &lt;div class=&quot;note&quot;&gt;
        &lt;strong&gt;※ EXPORT 주의사항:&lt;/strong&gt;&lt;br&gt;
        - &lt;code&gt;FULL&lt;/code&gt;, &lt;code&gt;OWNER&lt;/code&gt;, &lt;code&gt;TABLES&lt;/code&gt; 옵션은 상호 배타적이므로 &lt;strong&gt;동시 사용이 불가&lt;/strong&gt;합니다.&lt;br&gt;
        - &lt;code&gt;DIRECT=Y&lt;/code&gt; 설정 시 &lt;code&gt;CONSISTENT=Y&lt;/code&gt; 옵션은 사용할 수 없습니다.
    &lt;/div&gt;

    

    &lt;h2 id=&quot;import-options&quot;&gt;2. IMPORT(데이터 적재) 옵션 상세&lt;/h2&gt;
    &lt;table&gt;
        &lt;thead&gt;
            &lt;tr&gt;&lt;th&gt;옵션명&lt;/th&gt;&lt;th&gt;기능 설명 및 비고&lt;/th&gt;&lt;/tr&gt;
        &lt;/thead&gt;
        &lt;tbody&gt;
            &lt;tr&gt;&lt;td&gt;&lt;code&gt;FROMUSER&lt;/code&gt;&lt;/td&gt;&lt;td&gt;덤프 파일 내 원본 데이터를 소유한 사용자&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;&lt;code&gt;TOUSER&lt;/code&gt;&lt;/td&gt;&lt;td&gt;데이터를 적재할 대상 사용자&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;&lt;code&gt;IGNORE&lt;/code&gt;&lt;/td&gt;&lt;td&gt;테이블 생성 시 에러 무시 여부 (기본값 N, &lt;span class=&quot;warning&quot;&gt;이미 존재할 경우 Y 권장&lt;/span&gt;)&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;&lt;code&gt;COMMIT&lt;/code&gt;&lt;/td&gt;&lt;td&gt;버퍼 단위 커밋 수행 여부 (대량 데이터 시 Y 권장)&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;&lt;code&gt;SHOW&lt;/code&gt;&lt;/td&gt;&lt;td&gt;실제 적재 없이 파일 내 SQL 스크립트만 확인 (기본값 N)&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;&lt;code&gt;INDEXES&lt;/code&gt;&lt;/td&gt;&lt;td&gt;인덱스 생성 여부 (기본값 Y)&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;&lt;code&gt;CONSTRAINTS&lt;/code&gt;&lt;/td&gt;&lt;td&gt;제약조건 적재 여부 (기본값 Y)&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;&lt;code&gt;DESTROY&lt;/code&gt;&lt;/td&gt;&lt;td&gt;기존 테이블스페이스 데이터 파일 덮어쓰기 여부&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;&lt;code&gt;INDEXFILE&lt;/code&gt;&lt;/td&gt;&lt;td&gt;테이블/인덱스 생성 스크립트를 파일로 저장&lt;/td&gt;&lt;/tr&gt;
        &lt;/tbody&gt;
    &lt;/table&gt;
    &lt;div class=&quot;note&quot;&gt;
        &lt;strong&gt;※ IMPORT 주의사항:&lt;/strong&gt;&lt;br&gt;
        - 소스(Source) DB와 대상(Target) DB의 &lt;strong&gt;Tablespace 명칭 불일치&lt;/strong&gt; 시 기본 테이블스페이스에 생성됩니다.&lt;br&gt;
        - 특히 &lt;code&gt;SYSTEM&lt;/code&gt; 계정으로 임포트 시 &lt;code&gt;SYSTEM&lt;/code&gt; 테이블스페이스 오염 위험이 있으므로, 대상 테이블스페이스를 미리 생성해두는 것이 안전합니다.
    &lt;/div&gt;

    &lt;h2 id=&quot;summary&quot;&gt;3. 운영 요약&lt;/h2&gt;
    &lt;ul&gt;
        &lt;li&gt;&lt;strong&gt;EXP:&lt;/strong&gt; 데이터 백업 및 이관용 정적 덤프 파일 생성에 활용됩니다.&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;IMP:&lt;/strong&gt; 백업된 덤프 파일로부터 데이터를 복원하거나 스키마를 이전하는 데 사용됩니다.&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;권한 관리:&lt;/strong&gt; &lt;code&gt;FULL=Y&lt;/code&gt; 옵션 사용 시 &lt;code&gt;EXP_FULL_DATABASE&lt;/code&gt; 또는 &lt;code&gt;IMP_FULL_DATABASE&lt;/code&gt; 권한이 반드시 필요합니다.&lt;/li&gt;
    &lt;/ul&gt;
&lt;/main&gt;

&lt;footer&gt;
    &lt;hr&gt;
    &lt;p&gt;본 문서는 Oracle 10g/11g 및 이후 버전의 레거시 유틸리티를 기준으로 작성되었습니다. 최신 환경에서는 &lt;strong&gt;Data Pump(EXPDP/IMPDP)&lt;/strong&gt; 사용이 권장됩니다.&lt;/p&gt;
&lt;/footer&gt;</description>
      <category>Programming/Database</category>
      <category>DMP</category>
      <category>DUMP</category>
      <category>EXP</category>
      <category>export</category>
      <category>imp</category>
      <category>import</category>
      <category>Oracle</category>
      <category>덤프</category>
      <category>오라클</category>
      <author>다루사무</author>
      <guid isPermaLink="true">https://darusamu.tistory.com/58</guid>
      <comments>https://darusamu.tistory.com/58#entry58comment</comments>
      <pubDate>Thu, 25 Aug 2022 18:50:59 +0900</pubDate>
    </item>
    <item>
      <title>오라클 테이블 락 확인 및 세션 종료</title>
      <link>https://darusamu.tistory.com/57</link>
      <description>&lt;pre id=&quot;code_1652150585326&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- 락걸린 테이블 확인
SELECT DO.OBJECT_NAME,
       DO.OWNER,
       DO.OBJECT_TYPE,
       DO.OWNER,
       VO.XIDUSN,
       VO.SESSION_ID,
       VO.LOCKED_MODE
  FROM V$LOCKED_OBJECT VO, DBA_OBJECTS DO
 WHERE VO.OBJECT_ID = DO.OBJECT_ID;

-- 해당 테이블에 LOCK 이 걸렸는지.
SELECT A.SID,
       A.SERIAL#,
       B.TYPE,
       C.OBJECT_NAME
  FROM V$SESSION A, V$LOCK B, DBA_OBJECTS C
 WHERE A.SID = B.SID AND B.ID1 = C.OBJECT_ID AND B.TYPE = 'TM' AND C.OBJECT_NAME IN ('테이블명');

-- 락발생 사용자와 SQL, OBJECT 조회
  SELECT DISTINCT X.SESSION_ID,
                  A.SERIAL#,
                  D.OBJECT_NAME,
                  A.MACHINE,
                  A.TERMINAL,
                  A.PROGRAM,
                  B.ADDRESS,
                  B.PIECE,
                  B.SQL_TEXT
    FROM V$LOCKED_OBJECT X,
         V$SESSION A,
         V$SQLTEXT B,
         DBA_OBJECTS D
   WHERE X.SESSION_ID = A.SID AND X.OBJECT_ID = D.OBJECT_ID AND A.SQL_ADDRESS = B.ADDRESS
ORDER BY B.ADDRESS, B.PIECE;

-- 현재 접속자의 SQL 분석
  SELECT DISTINCT A.SID,
                  A.SERIAL#,
                  A.MACHINE,
                  A.TERMINAL,
                  A.PROGRAM,
                  B.ADDRESS,
                  B.PIECE,
                  B.SQL_TEXT
    FROM V$SESSION A, V$SQLTEXT B
   WHERE A.SQL_ADDRESS = B.ADDRESS
ORDER BY A.SID,
         A.SERIAL#,
         B.ADDRESS,
         B.PIECE;

-- 락 세션 죽이기
SELECT A.SID, A.SERIAL#
  FROM V$SESSION A, V$LOCK B, DBA_OBJECTS C
 WHERE A.SID = B.SID AND B.ID1 = C.OBJECT_ID AND B.TYPE = 'TM' AND C.OBJECT_NAME = '테이블명';

ALTER SYSTEM KILL SESSION 'SESSION_ID, SERIAL#';

-- 락 세션 죽이는 sql 문
  SELECT DISTINCT X.SESSION_ID,
                  A.SERIAL#,
                  D.OBJECT_NAME,
                  A.MACHINE,
                  A.TERMINAL,
                  A.PROGRAM,
                  A.LOGON_TIME,
                  'ALTER SYSTEM KILL SESSION''' || A.SID || ', ' || A.SERIAL# || ''';'
    FROM GV$LOCKED_OBJECT X, GV$SESSION A, DBA_OBJECTS D
   WHERE X.SESSION_ID = A.SID AND X.OBJECT_ID = D.OBJECT_ID
ORDER BY LOGON_TIME;&lt;/code&gt;&lt;/pre&gt;</description>
      <category>Programming/Database</category>
      <category>Kill</category>
      <category>lock</category>
      <category>Oracle</category>
      <category>세션</category>
      <category>세션 종료</category>
      <category>오라클</category>
      <category>오라클 락</category>
      <category>오라클 세션</category>
      <category>테이블락</category>
      <author>다루사무</author>
      <guid isPermaLink="true">https://darusamu.tistory.com/57</guid>
      <comments>https://darusamu.tistory.com/57#entry57comment</comments>
      <pubDate>Tue, 10 May 2022 11:44:04 +0900</pubDate>
    </item>
    <item>
      <title>톰캣(Tomcat) 서버 재시작 없이 catalina.out 초기화</title>
      <link>https://darusamu.tistory.com/56</link>
      <description>&lt;style&gt;
:root { --fg:#222; --muted:#666; --bg:#fff; --accent:#2d6cdf; --border:#e5e7eb; } 
body { font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, &quot;Noto Sans KR&quot;, Arial, &quot;Apple SD Gothic Neo&quot;, sans-serif; color:var(--fg); background:var(--bg); line-height:1.75; margin:0; } 
header, main, footer { max-width: 920px; margin: 0 auto; padding: 20px; } 
header h1 { margin: 8px 0 6px; letter-spacing:-0.3px; } 
header p { color:var(--muted); margin:0; } 
.toc { background:#f8fafc; border:1px solid var(--border); padding:14px 16px; border-radius:10px; } 
h2, h3 { scroll-margin-top: 84px; border-bottom: 1px solid var(--border); padding-bottom: 8px; margin-top: 40px; } 
code, pre { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &quot;Liberation Mono&quot;, monospace; } 
pre { background:#0b1020; color:#e6edf3; padding:16px; border-radius:10px; overflow:auto; } 
.note { background:#f6f9ff; border-left:4px solid var(--accent); padding:12px 14px; border-radius:8px; margin: 20px 0; } 
.tag { display:inline-block; font-size:12px; color:#334155; background:#e2e8f0; padding:2px 8px; border-radius:999px; margin-right:6px;} 
.highlight { color: #dc2626; font-weight: bold; }
&lt;/style&gt;

&lt;header&gt;
    &lt;span class=&quot;tag&quot;&gt;Tomcat&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Linux&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;Log Management&lt;/span&gt;
    &lt;h1&gt;Tomcat catalina.out 로그 파일 안전하게 비우기&lt;/h1&gt;
    &lt;p&gt;서비스 중단 없이 대용량 로그 파일을 초기화하고 관리하는 최적의 방법을 기술합니다.&lt;/p&gt;
&lt;/header&gt;

&lt;main&gt;
    &lt;h2 id=&quot;danger-of-rm&quot;&gt;Ⅰ. rm 명령어로 삭제 시 발생하는 문제&lt;/h2&gt;
    &lt;p&gt;운영 중인 톰캣의 &lt;code&gt;catalina.out&lt;/code&gt; 파일을 &lt;code&gt;rm&lt;/code&gt; 명령어로 직접 삭제할 경우, 다음과 같은 현상이 발생합니다.&lt;/p&gt;
    
    &lt;ul&gt;
        &lt;li&gt;&lt;strong&gt;로그 기록 중단:&lt;/strong&gt; 톰캣 프로세스가 기존 파일의 &lt;strong&gt;파일 디스크립터(File Descriptor)&lt;/strong&gt;를 계속 붙잡고 있기 때문에, 파일이 사라져도 새로운 파일을 자동으로 생성하지 못합니다.&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;디스크 용량 미확보:&lt;/strong&gt; 파일 시스템 상에서 파일은 삭제된 것처럼 보이지만, 톰캣 프로세스가 종료되기 전까지 실제 디스크 공간은 해제되지 않는 '파일 오픈 상태'가 유지됩니다.&lt;/li&gt;
    &lt;/ul&gt;

    

    &lt;h2 id=&quot;how-to-truncate&quot;&gt;Ⅱ. 안전한 로그 초기화 방법 (Truncate)&lt;/h2&gt;
    &lt;p&gt;서버 재시작 없이 파일의 내용만 0으로 비우는 방식을 사용해야 합니다. 톰캣 프로세스가 잡고 있는 파일 객체는 유지하면서 데이터만 삭제하므로 즉시 로그 기록이 재개됩니다.&lt;/p&gt;

    &lt;h3&gt;1. 리다이렉션을 이용한 초기화 (가장 권장)&lt;/h3&gt;
    &lt;pre&gt;&lt;code&gt;# 파일 크기를 0으로 만듦
cat /dev/null &gt; /usr/local/tomcat/logs/catalina.out

# 또는 더 짧은 명령어 사용
&gt; /usr/local/tomcat/logs/catalina.out&lt;/code&gt;&lt;/pre&gt;

    &lt;h3&gt;2. truncate 명령 사용&lt;/h3&gt;
    &lt;pre&gt;&lt;code&gt;# 크기를 0으로 명시적 지정
truncate -s 0 /usr/local/tomcat/logs/catalina.out&lt;/code&gt;&lt;/pre&gt;

    &lt;h2 id=&quot;automation&quot;&gt;Ⅲ. 근본적인 해결책: 로그 로테이션(Log Rotation)&lt;/h2&gt;
    &lt;p&gt;매번 수동으로 파일을 비우는 것은 비효율적입니다. 리눅스의 &lt;code&gt;logrotate&lt;/code&gt; 도구를 사용하여 주기적으로 로그를 분리하고 압축 관리하는 것이 표준입니다.&lt;/p&gt;

    &lt;div class=&quot;note&quot;&gt;
        &lt;strong&gt;logrotate 설정 예시 (/etc/logrotate.d/tomcat)&lt;/strong&gt;
        &lt;pre&gt;&lt;code&gt;/usr/local/tomcat/logs/catalina.out {
    copytruncate    # 파일을 복사한 후 원본을 비움 (핵심 옵션)
    daily           # 매일 실행
    rotate 7        # 7일간 보관
    compress        # 압축 저장
    missingok       # 파일이 없어도 에러 무시
    notifempty      # 파일이 비어있으면 실행 안 함
}&lt;/code&gt;&lt;/pre&gt;
    &lt;/div&gt;

    &lt;h2 id=&quot;summary&quot;&gt;Ⅳ. 요약 및 주의사항&lt;/h2&gt;
    &lt;ul&gt;
        &lt;li&gt;&lt;span class=&quot;highlight&quot;&gt;절대 rm으로 삭제하지 마십시오.&lt;/span&gt; 서비스 재시작 전까지 로그가 기록되지 않습니다.&lt;/li&gt;
        &lt;li&gt;리다이렉션(&lt;code&gt;&gt;&lt;/code&gt;)이나 &lt;code&gt;truncate&lt;/code&gt; 명령어를 사용하여 &lt;strong&gt;파일 내용만 비우는 것&lt;/strong&gt;이 안전합니다.&lt;/li&gt;
        &lt;li&gt;운영 환경에서는 &lt;code&gt;logrotate&lt;/code&gt;의 &lt;code&gt;copytruncate&lt;/code&gt; 옵션을 활용해 자동화할 것을 적극 권장합니다.&lt;/li&gt;
    &lt;/ul&gt;
&lt;/main&gt;

&lt;footer&gt;
    &lt;hr&gt;
    &lt;p&gt;로그 파일의 크기가 너무 크면(예: 수십 GB) 파일을 비우는 과정에서 일시적인 I/O 부하가 발생할 수 있으므로 가급적 일 단위 관리가 필요합니다.&lt;/p&gt;
&lt;/footer&gt;</description>
      <category>Programming/Database</category>
      <category>Catalina</category>
      <category>로그</category>
      <category>로그삭제</category>
      <category>로그초기화</category>
      <category>톰캣</category>
      <author>다루사무</author>
      <guid isPermaLink="true">https://darusamu.tistory.com/56</guid>
      <comments>https://darusamu.tistory.com/56#entry56comment</comments>
      <pubDate>Mon, 21 Mar 2022 15:13:04 +0900</pubDate>
    </item>
  </channel>
</rss>