<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>ygjang0421 님의 개발 자료집</title>
    <link>https://ygjang-421.tistory.com/</link>
    <description>ygjang0421 님의 블로그 입니다.</description>
    <language>ko</language>
    <pubDate>Mon, 1 Jun 2026 18:18:40 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>ygjang0421</managingEditor>
    <item>
      <title>Oracle] 오류 보고 - ORA-65096: 공통 사용자 또는 롤 이름이 부적합합니다. 해결법</title>
      <link>https://ygjang-421.tistory.com/entry/Oracle-%EC%98%A4%EB%A5%98-%EB%B3%B4%EA%B3%A0-ORA-65096-%EA%B3%B5%ED%86%B5-%EC%82%AC%EC%9A%A9%EC%9E%90-%EB%98%90%EB%8A%94-%EB%A1%A4-%EC%9D%B4%EB%A6%84%EC%9D%B4-%EB%B6%80%EC%A0%81%ED%95%A9%ED%95%A9%EB%8B%88%EB%8B%A4-%ED%95%B4%EA%B2%B0%EB%B2%95</link>
      <description>&lt;pre class=&quot;routeros&quot;&gt;&lt;code&gt;  -- sql
  SQL 명령 처리를 실패했습니다. 
  명령의 2 행에서 시작하는 중 오류 발생 -
  CREATE USER &quot;HR&quot; IDENTIFIED BY &quot;&quot;  
  DEFAULT TABLESPACE &quot;USERS&quot;
  TEMPORARY TABLESPACE &quot;TEMP&quot;
  ... &lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;원인&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기본적으로 &quot;CREATE USER&quot; 명령은 CDB 루트 컨테이너에서 실행되며, 이 경우 공통 사용자만 생성 가능&lt;/li&gt;
&lt;li&gt;공통 사용자 이름은 반드시 'C##' 접두사를 가져야 함 (예: 'C##HR'), 따라서 &quot;CREATE USER HR ...&quot;를 루트 컨테이너에서 실행하면 오류 발생&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;해결 방법&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;PDB에 접속해서 사용자 생성&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;coffeescript&quot;&gt;&lt;code&gt;  # bash
  sqlplus sys/비밀번호@localhost:1521/XEPDB1 as sysdba&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;routeros&quot;&gt;&lt;code&gt;  -- sql
  CREATE USER hr IDENTIFIED BY password
  DEFAULT TABLESPACE users
  TEMPORARY TABLESPACE temp;
  GRANT CONNECT, RESOURCE TO hr;&lt;/code&gt;&lt;/pre&gt;</description>
      <category>DBMS(SQL)/Oracle</category>
      <author>ygjang0421</author>
      <guid isPermaLink="true">https://ygjang-421.tistory.com/52</guid>
      <comments>https://ygjang-421.tistory.com/entry/Oracle-%EC%98%A4%EB%A5%98-%EB%B3%B4%EA%B3%A0-ORA-65096-%EA%B3%B5%ED%86%B5-%EC%82%AC%EC%9A%A9%EC%9E%90-%EB%98%90%EB%8A%94-%EB%A1%A4-%EC%9D%B4%EB%A6%84%EC%9D%B4-%EB%B6%80%EC%A0%81%ED%95%A9%ED%95%A9%EB%8B%88%EB%8B%A4-%ED%95%B4%EA%B2%B0%EB%B2%95#entry52comment</comments>
      <pubDate>Thu, 28 May 2026 23:54:19 +0900</pubDate>
    </item>
    <item>
      <title>[Oracle] SP2-0023: String not found. 오류 해결법</title>
      <link>https://ygjang-421.tistory.com/entry/Oracle-SP2-0023-String-not-found-%EC%98%A4%EB%A5%98-%ED%95%B4%EA%B2%B0%EB%B2%95</link>
      <description>&lt;ul&gt;
&lt;li&gt;Oracle SQLPlus에서 스크립트를 실행할 때 매개변수(Parameter)의 개수가 너무 많거나 공백 처리가 잘못되어 SQLPlus가 명령어를 제대로 인식하지 못했을 때 발생. SQLPlus 내부적으로 특정 입력 값을 찾지 못했거나 구문이 꼬였을 때 던지는 에러.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;1. 스크립트 실행 명령어(&amp;#39;@&amp;#39;) 추가&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;경로 앞에 &lt;strong&gt;&amp;#39;@&amp;#39;&lt;/strong&gt; 추가&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;-- SQL
@C:\app\user\product\21c\dbhomeXE\demo\schema\human_resources\hr_main.sql hr users temp oracle C:\app\user\product\21c\dbhomeXE\demo\schema\log\ localhost:1521/XEPDB1&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;2. 경로에 포함된 공백 문제 (또는 인자 전달 오류)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#39;hr_main.sql&amp;#39; 스크립트는 실행할 때 뒤에 여러 가지 매개변수(&amp;#39;비밀번호&amp;#39;, &amp;#39;테이블스페이스&amp;#39;, &amp;#39;임시 테이블스페이스&amp;#39;, &amp;#39;로그 경로&amp;#39; 등)를 받아야 함.&lt;/li&gt;
&lt;li&gt;로그 경로 부분(&amp;#39;C:\user...&amp;#39;) 중간에 공백이 있거나, 인자 구분을 위한 공백이 SQL*Plus에서 잘못 해석되었을 가능성 존재.&lt;/li&gt;
&lt;li&gt;로그 저장 경로 끝에 슬래시(&amp;#39;/&amp;#39;)나 역슬래시(&amp;#39;&amp;#39;)가 누락되거나 잘못 들어가면 다음 인자인 &amp;#39;localhost:1521/XEPDB1&amp;#39;를 찾지 못해 에러 발생 가능성 존재.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;3. 실행 방법&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;p&gt;오라클 홈 디렉터리의 &lt;code&gt;demo\schema&lt;/code&gt; 경로로 이동한 뒤 SQL*Plus를 실행.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;경로가 길어지면 인자 인식이 깨지기 쉬우므로, 로그 경로를 큰따옴표(&amp;quot;)로 감싸서 실행.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;-- SQL
-- 예시 (로그 경로 뒤에 \ 확인 및 따옴표 처리)
@C:\app\user\product\21c\dbhomeXE\demo\schema\human_resources\hr_main.sql hr users temp oracle &amp;quot;C:\app\user\product\21c\dbhomeXE\demo\schema\log\&amp;quot; localhost:1521/XEPDB1&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;4. 최종 정리&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;p&gt;CMD(명령 프롬프트) 실행&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;HR 스크립트가 있는 디렉터리로 이동.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-cmd&quot;&gt;# bash
cd C:\app\user\product\21c\dbhomeXE\demo\schema\human_resources&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;SQL*Plus를 관리자 권한으로 접속.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-cmd&quot;&gt;# bash
sqlplus sys@localhost:1521/XEPDB1 as sysdba&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;접속 후, 상대 경로를 이용해 실행.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-sql&quot;&gt;-- sql
@hr_main.sql hr users temp oracle &amp;quot;C:\app\user\product\21c\dbhomeXE\demo\schema\log\&amp;quot; localhost:1521/XEPDB1
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;</description>
      <category>DBMS(SQL)/Oracle</category>
      <author>ygjang0421</author>
      <guid isPermaLink="true">https://ygjang-421.tistory.com/51</guid>
      <comments>https://ygjang-421.tistory.com/entry/Oracle-SP2-0023-String-not-found-%EC%98%A4%EB%A5%98-%ED%95%B4%EA%B2%B0%EB%B2%95#entry51comment</comments>
      <pubDate>Thu, 28 May 2026 23:43:40 +0900</pubDate>
    </item>
    <item>
      <title>[Oracle] Oracle 21c XE 에 샘플 스키마 설치</title>
      <link>https://ygjang-421.tistory.com/entry/Oracle-Oracle-21c-XE-%EC%97%90-%EC%83%98%ED%94%8C-%EC%8A%A4%ED%82%A4%EB%A7%88-%EC%84%A4%EC%B9%98</link>
      <description>&lt;h2&gt;1. GitHub에서 샘플 스키마 다운로드&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;저장소: &lt;a href=&quot;https://github.com/oracle-samples/db-sample-schemas/releases/tag/v21.1&quot;&gt;Oracle db-sample-schemas&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;quot;Source code(zip)&amp;quot; 파일&lt;/strong&gt; 다운로드 후 압축 해제  &lt;/li&gt;
&lt;li&gt;압축 해제한 폴더를 &lt;strong&gt;Oracle 홈 디렉터리의 demo/schema 경로&lt;/strong&gt;로 이동&lt;br&gt;예: &lt;code&gt;C:\app\&amp;lt;사용자&amp;gt;\product\21c\dbhomeXE\demo\schema&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;\demo\schema\db-sample-schemas-21.1 폴더까지 이동&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# bash    
cd C:\app\user\product\21c\dbhomeXE\demo\schema\db-sample-schemas-21.1
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;2. SQL*Plus 접속&lt;/h2&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;  # bash
  sqlplus sys@localhost:1521/XEPDB1 as sysdba

  # XE 기본 PDB: `XEPDB1`
  # 접속 후 샘플 스키마 설치 준비&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;3. 설치 스크립트 실행&lt;/h2&gt;
&lt;h3&gt;전체 스키마 설치&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-sql&quot;&gt;  -- SQL
  @mksample.sql 
  -- () 는 파라미터 값(예: (systempw))
  -- specify password for SYSTEM as parameter 1:
  -- 1의 값을 입력하십시오: (systempw) system 계정의 패스워드 입력

  -- specify password for SYS as parameter 2:
  -- 2의 값을 입력하십시오: (syspw) sys 계정의 패스워드 입력

  -- specify password for HR as parameter 3:
  -- 3의 값을 입력하십시오: (hrpw) HR 샘플 스키마 계정의 패스워드 입력

  -- specify password for OE as parameter 4:
  -- 4의 값을 입력하십시오: (oepw) OE 샘플 스키마 계정의 패스워드 입력

  -- specify password for PM as parameter 5:
  -- 5의 값을 입력하십시오: (pmpw) PM 샘플 스키마 계정의 패스워드 입력

  -- specify password for IX as parameter 6:
  -- 6의 값을 입력하십시오: (ixpw) IX 샘플 스키마 계정의 패스워드 입력

  -- specify password for SH as parameter 7:
  -- 7의 값을 입력하십시오: (shpw) SH 샘플 스키마 계정의 패스워드 입력

  -- specify password for BI as parameter 8:
  -- 8의 값을 입력하십시오: (bipw) BI 샘플 스키마 계정의 패스워드 입력

  -- specify default tablespace as parameter 9:
  -- 9의 값을 입력하십시오: 기본 테이블스페이스 &amp;gt;&amp;gt; &amp;quot;users&amp;quot; 입력

  -- specify temporary tablespace as parameter 10:
  -- 10의 값을 입력하십시오: 임시 테이블스페이스 &amp;gt;&amp;gt; &amp;quot;temp&amp;quot; 입력

  -- specify log file directory (including trailing delimiter) as parameter 11:
  -- 11의 값을 입력하십시오: (/your/path/to/log/) &amp;gt;&amp;gt; 로그 경로 입력(예 : C:\app\user\product\21c\dbhomeXE\demo\schema\log\) &amp;gt;&amp;gt; &amp;quot; 끝에 &amp;#39;\&amp;#39; 필수 &amp;quot;

  -- specify connect string as parameter 12:
  -- 12의 값을 입력하십시오: (connect_string) (예: `localhost:1521/XEPDB1`)&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;HR 스키마만 설치하는 경우&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;  # 1. db-sample-schemas-21.1\human_resources 까지 이동
  cd C:\app\young\product\21c\dbhomeXE\demo\schema\db-sample-schemas-21.1\human_resources

  # 2. sqlplus 접속
  sqlplus sys@localhost:1521/XEPDB1 as sysdba

  # 3. 아래 명령어 실행
  ALTER SESSION SET &amp;quot;_ORACLE_SCRIPT&amp;quot;=TRUE; # 세션 변경

  # 4. hr_main.sql 파일 실행
  @hr_main.sql

  # # () 는 파라미터 값(예: (hr))
  # specify password for HR as parameter 1:
  # 1의 값을 입력하십시오: (hr) HR 계정의 패스워드 입력

  # specify default tablespeace for HR as parameter 2:
  # 2의 값을 입력하십시오: 기본 테이블스페이스 &amp;gt;&amp;gt; &amp;quot;users&amp;quot; 입력

  # specify temporary tablespace for HR as parameter 3:
  # 3의 값을 입력하십시오: 임시 테이블스페이스 &amp;gt;&amp;gt; &amp;quot;temp&amp;quot; 입력

  # specify password for SYS as parameter 4:
  # 4의 값을 입력하십시오: (syspw) sys 계정의 패스워드 입력

  # specify log path as parameter 5:
  # 5의 값을 입력하십시오: (/your/path/to/log/) &amp;gt;&amp;gt; 로그 경로 입력(예 : C:\app\user\product\21c\dbhomeXE\demo\schema\log\) &amp;gt;&amp;gt; &amp;quot; 끝에 &amp;#39;\&amp;#39; 필수 &amp;quot;

  # specify connect string as parameter 6:
  # 6의 값을 입력하십시오: (connect_string) (예: `localhost:1521/XEPDB1`)&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;4. SP2-0310 오류 발생 시&lt;/h2&gt;
&lt;pre&gt;&lt;code class=&quot;language-sql&quot;&gt;  SP2-0310: unable to open file &amp;quot;C:../human_resources/hr_cre.sql&amp;quot;
  SP2-0310: unable to open file &amp;quot;C:../human_resources/hr_popul.sql&amp;quot;
  SP2-0310: unable to open file &amp;quot;C:../human_resources/hr_idx.sql&amp;quot;
  SP2-0310: unable to open file &amp;quot;C:../human_resources/hr_code.sql&amp;quot;
  SP2-0310: unable to open file &amp;quot;C:../human_resources/hr_comnt.sql&amp;quot;
  SP2-0310: unable to open file &amp;quot;C:../human_resources/hr_analz.sql&amp;quot;&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code class=&quot;language-sql&quot;&gt;  -- 해결법
  -- SQL
  @hr_cre.sql
  @hr_popul.sql
  @hr_code.sql
  @hr_comnt.sql
  @hr_analz.sql&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;5. 설치 후 확인&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;생성된 계정: HR, OE, PM, SH, IX, BI 등  &lt;/li&gt;
&lt;li&gt;확인 방법&lt;pre&gt;&lt;code class=&quot;language-sql&quot;&gt;-- SQL
SELECT username FROM dba_users WHERE username IN (&amp;#39;HR&amp;#39;,&amp;#39;OE&amp;#39;,&amp;#39;PM&amp;#39;,&amp;#39;SH&amp;#39;,&amp;#39;IX&amp;#39;,&amp;#39;BI&amp;#39;);&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;HR 스키마 예제 실행&lt;pre&gt;&lt;code class=&quot;language-sql&quot;&gt;-- SQL
SELECT first_name, last_name FROM hr.employees WHERE department_id = 60;&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>DBMS(SQL)/Oracle</category>
      <author>ygjang0421</author>
      <guid isPermaLink="true">https://ygjang-421.tistory.com/50</guid>
      <comments>https://ygjang-421.tistory.com/entry/Oracle-Oracle-21c-XE-%EC%97%90-%EC%83%98%ED%94%8C-%EC%8A%A4%ED%82%A4%EB%A7%88-%EC%84%A4%EC%B9%98#entry50comment</comments>
      <pubDate>Thu, 28 May 2026 22:15:33 +0900</pubDate>
    </item>
    <item>
      <title>[Oracle]오라클 계정이 잠겼을 경우</title>
      <link>https://ygjang-421.tistory.com/entry/Oracle%EC%98%A4%EB%9D%BC%ED%81%B4-%EA%B3%84%EC%A0%95%EC%9D%B4-%EC%9E%A0%EA%B2%BC%EC%9D%84-%EA%B2%BD%EC%9A%B0</link>
      <description>&lt;p&gt;Oracle 계정이 잠겼을 때는 관리자 권한으로 계정을 해제해야 함. 로그인 시 &lt;code&gt;ORA-28000: The account is locked&lt;/code&gt; 오류가 발생하면 계정이 잠긴 상태.  &lt;/p&gt;
&lt;h2&gt;1. SYSDBA 권한으로 접속&lt;/h2&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sqlplus / as sysdba&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;2. 계정 상태 확인&lt;/h2&gt;
&lt;pre&gt;&lt;code class=&quot;language-sql&quot;&gt;  SELECT username, account_status 
  FROM dba_users 
  WHERE username = &amp;#39;HR&amp;#39;;
  -- &amp;#39;LOCKED&amp;#39; 또는 &amp;#39;EXPIRED &amp;amp; LOCKED&amp;#39; 상태면 계정이 잠긴 것&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;3. 계정 잠금 해제&lt;/h2&gt;
&lt;pre&gt;&lt;code class=&quot;language-sql&quot;&gt;  ALTER USER hr ACCOUNT UNLOCK;&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;4. 비밀번호 재설정&lt;/h2&gt;
&lt;pre&gt;&lt;code class=&quot;language-sql&quot;&gt;  ALTER USER hr IDENTIFIED BY 새비밀번호;&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;5. 주의사항&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;비밀번호 정책: Oracle은 기본적으로 일정 횟수 이상 로그인 실패 시 계정을 잠금, 해제 후에도 다시 잠길 경우 &amp;quot;PROFILE&amp;quot; 설정 확인 필요  &lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-sql&quot;&gt;SELECT profile, limit FROM dba_profiles WHERE resource_name=&amp;#39;FAILED_LOGIN_ATTEMPTS&amp;#39;;

-- 기본값은 10회, 필요 시 조정 가능
-- EXPIRED 상태라면 반드시 비밀번호를 새로 설정해야 로그인 가능&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>DBMS(SQL)/Oracle</category>
      <author>ygjang0421</author>
      <guid isPermaLink="true">https://ygjang-421.tistory.com/49</guid>
      <comments>https://ygjang-421.tistory.com/entry/Oracle%EC%98%A4%EB%9D%BC%ED%81%B4-%EA%B3%84%EC%A0%95%EC%9D%B4-%EC%9E%A0%EA%B2%BC%EC%9D%84-%EA%B2%BD%EC%9A%B0#entry49comment</comments>
      <pubDate>Thu, 28 May 2026 21:54:14 +0900</pubDate>
    </item>
    <item>
      <title>[Oracle] SYSDBA 나 sys 의 패스워드 재설정(reset)</title>
      <link>https://ygjang-421.tistory.com/entry/Oracle-SYSDBA-%EB%82%98-sys-%EC%9D%98-%ED%8C%A8%EC%8A%A4%EC%9B%8C%EB%93%9C-%EC%9E%AC%EC%84%A4%EC%A0%95reset</link>
      <description>&lt;h2&gt;1. 현재 비밀번호 확인은 불가능&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Oracle은 비밀번호를 해시 형태로 저장 &amp;gt;&amp;gt;&amp;gt; 평문으로 조회 불가  &lt;/li&gt;
&lt;li&gt;따라서 기존 비밀번호를 모르면 &lt;strong&gt;재설정&lt;/strong&gt;해야 함  &lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;2. SYS 계정 비밀번호 재설정&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;p&gt;OS에서 Oracle 서비스 계정으로 로그인  &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;SQL*Plus 실행:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sqlplus / as sysdba&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;비밀번호 변경:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-sql&quot;&gt;ALTER USER sys IDENTIFIED BY 새비밀번호;
-- SYS 계정 비밀번호를 새로 설정

-- SYSTEM 계정도 동일
ALTER USER system IDENTIFIED BY 새비밀번호;&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;3. XE 환경에서 기본 접속&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;기본 PDB: &lt;code&gt;XEPDB1&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;접속 예시:&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sqlplus sys/새비밀번호@localhost:1521/XEPDB1 as sysdba&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>DBMS(SQL)/Oracle</category>
      <author>ygjang0421</author>
      <guid isPermaLink="true">https://ygjang-421.tistory.com/48</guid>
      <comments>https://ygjang-421.tistory.com/entry/Oracle-SYSDBA-%EB%82%98-sys-%EC%9D%98-%ED%8C%A8%EC%8A%A4%EC%9B%8C%EB%93%9C-%EC%9E%AC%EC%84%A4%EC%A0%95reset#entry48comment</comments>
      <pubDate>Thu, 28 May 2026 21:46:06 +0900</pubDate>
    </item>
    <item>
      <title>[Oracle] 사용자 생성</title>
      <link>https://ygjang-421.tistory.com/entry/Oracle-%EC%82%AC%EC%9A%A9%EC%9E%90-%EC%83%9D%EC%84%B1</link>
      <description>&lt;p&gt;Oracle에서 사용자 계정을 생성하려면 SYSDBA 권한으로 접속한 뒤 &amp;quot;CREATE USER&amp;quot; 와 &amp;quot;GRANT&amp;quot; 명령을 사용.&lt;/p&gt;
&lt;h2&gt;1. SYSDBA로 접속&lt;/h2&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;  sqlplus sys / as sysdba

  # PBD 환경으로 접속
  sqlplus sys@localhost:1521/XEPDB1 as sysdba&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;2. 사용자 계정 생성&lt;/h2&gt;
&lt;pre&gt;&lt;code class=&quot;language-sql&quot;&gt;  -- ALTER SESSION SET &amp;quot;_ORACLE_SCRIPT&amp;quot;=TRUE; -- 세션 변경(PDB 로 전환할 경우)
  CREATE USER user_name IDENTIFIED BY password
  DEFAULT TABLESPACE users
  TEMPORARY TABLESPACE temp;

  -- &amp;#39;user_name&amp;#39; &amp;gt;&amp;gt; 새 계정 이름  
  -- &amp;#39;password&amp;#39; &amp;gt;&amp;gt; 계정 비밀번호  
  -- &amp;#39;DEFAULT TABLESPACE&amp;#39; &amp;gt;&amp;gt; 기본 테이블스페이스 지정  
  -- &amp;#39;TEMPORARY TABLESPACE&amp;#39; &amp;gt;&amp;gt; 임시 테이블스페이스 지정  

  -- CDB (Container Database) 환경
    -- 전체 데이터베이스를 관리하는 최상위(Root) 컨테이너 환경.
    -- 계정 생성 시 반드시 c## 또는 C##을 접두사로 붙여야만 생성할 수 있음. (예: c##test_user).&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;3. 권한 부여&lt;/h2&gt;
&lt;pre&gt;&lt;code class=&quot;language-sql&quot;&gt;  GRANT CONNECT, RESOURCE TO user_name;

  -- &amp;#39;CONNECT&amp;#39; &amp;gt;&amp;gt; DB 접속 권한  
  -- &amp;#39;RESOURCE&amp;#39; &amp;gt;&amp;gt; 테이블, 뷰, 시퀀스 등 객체 생성 권한


  -- 추가 권한 부여
  GRANT CREATE SESSION TO user_name;
  GRANT CREATE TABLE TO user_name;
  GRANT UNLIMITED TABLESPACE TO user_name;&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;4. 확인&lt;/h2&gt;
&lt;pre&gt;&lt;code class=&quot;language-sql&quot;&gt;  SELECT username, account_status FROM dba_users WHERE username = &amp;#39;MYUSER&amp;#39;;

  -- 계정이 정상적으로 생성되고 &amp;#39;OPEN&amp;#39; 상태인지 확인 &lt;/code&gt;&lt;/pre&gt;</description>
      <category>DBMS(SQL)/Oracle</category>
      <author>ygjang0421</author>
      <guid isPermaLink="true">https://ygjang-421.tistory.com/47</guid>
      <comments>https://ygjang-421.tistory.com/entry/Oracle-%EC%82%AC%EC%9A%A9%EC%9E%90-%EC%83%9D%EC%84%B1#entry47comment</comments>
      <pubDate>Thu, 28 May 2026 21:39:23 +0900</pubDate>
    </item>
    <item>
      <title>[Oracle] Oracle DB 버전 확인법 &amp;amp; Oracle SQL*Plus 접속 등</title>
      <link>https://ygjang-421.tistory.com/entry/Oracle-DB-%EB%B2%84%EC%A0%84-%ED%99%95%EC%9D%B8%EB%B2%95-Oracle-SQLPlus-%EC%A0%91%EC%86%8D-%EB%93%B1</link>
      <description>&lt;h2&gt;1. SQL*Plus에서 확인&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;  -- sql
  SELECT * FROM V$VERSION;

  -- Oracle Database Edition, Release, Patch 정보까지 확인 가능  
  -- BANNER, BANNER_FULL, BANNER_LEGACY, CON_ID&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;2. CMD(명령 프롬프트)에서 확인&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;접속 방법&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;p&gt;CMD(명령 프롬프트) 실행&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Oracle 홈 디렉토리로 이동 (예: &lt;code&gt;cd C:\oracle\product\&amp;lt;version&amp;gt;\dbhome_1&lt;/code&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;sqlplus / as sysdba&lt;/code&gt; 실행&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# bash
sqlplus / as sysdba

# sqlplus : 오라클에서 제공하는 명령줄 기반 클라이언트 툴, SQL 문이나 PL/SQL 블록 실행 가능.

# /: 사용자 이름과 비밀번호를 입력하지 않고 OS 인증(Operating System Authentication) 을 통해 접속. 즉, 현재 로그인한 운영체제 계정이 오라클에서 인증된 사용자라면 별도의 계정/비밀번호 없이 접속 가능

# as sysdba : 접속 권한을 SYSDBA 로 지정. SYSDBA는 오라클에서 가장 강력한 관리 권한으로, 데이터베이스 시작/종료, 백업/복구, 사용자 관리 등 시스템 레벨 작업을 수행할 수 있음. 일반 계정으로는 불가능한 작업까지 수행할 수 있기 때문에 보안상 매우 제한적으로 사용됨.

# sqlplus sys@DB as sysdba&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;접속 후 아래 명령어로 확인&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-sql&quot;&gt;  -- sql
  SELECT * FROM V$VERSION;

  -- Oracle Database Edition, Release, Patch 정보까지 확인 가능  
  -- BANNER, BANNER_FULL, BANNER_LEGACY, CON_ID&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;3. 패치 및 컴포넌트 상세 확인&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;패치 정보&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;  -- sql
  SELECT TO_CHAR(ACTION_TIME, &amp;#39;YYYY/MM/DD HH24:MI&amp;#39;) AS ACTION_TIME,
         DESCRIPTION
  FROM DBA_REGISTRY_SQLPATCH
  WHERE DESCRIPTION LIKE &amp;#39;Database%&amp;#39;;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;컴포넌트별 버전&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;  -- sql
  SELECT COMP_NAME, VERSION_FULL, STATUS
  FROM DBA_REGISTRY;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>DBMS(SQL)/Oracle</category>
      <author>ygjang0421</author>
      <guid isPermaLink="true">https://ygjang-421.tistory.com/46</guid>
      <comments>https://ygjang-421.tistory.com/entry/Oracle-DB-%EB%B2%84%EC%A0%84-%ED%99%95%EC%9D%B8%EB%B2%95-Oracle-SQLPlus-%EC%A0%91%EC%86%8D-%EB%93%B1#entry46comment</comments>
      <pubDate>Thu, 28 May 2026 20:40:44 +0900</pubDate>
    </item>
    <item>
      <title>Maven 설치 및 VS Code 적용(windows)</title>
      <link>https://ygjang-421.tistory.com/entry/Maven-%EC%84%A4%EC%B9%98-%EB%B0%8F-VS-Code-%EC%A0%81%EC%9A%A9windows</link>
      <description>&lt;ol&gt;
&lt;li&gt;설치하기 전에 Java가 설치되어있는지 확인&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;# 명령프롬프트(CMD)에서 
java --version
# 입력하여 Java 설치 확인&lt;/code&gt;&lt;/pre&gt;&lt;ol start=&quot;2&quot;&gt;
&lt;li&gt;&lt;p&gt;파일 다운로드( URL : &lt;a href=&quot;https://maven.apache.org/download.cgi&quot;&gt;https://maven.apache.org/download.cgi&lt;/a&gt;)    &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;다운로드 파일 압축 해제&lt;br&gt;&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;100%&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Np7Aw/dJMcabc7BdW/goXUmTeio6IKjaDMdDEi0K/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Np7Aw/dJMcabc7BdW/goXUmTeio6IKjaDMdDEi0K/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Np7Aw/dJMcabc7BdW/goXUmTeio6IKjaDMdDEi0K/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNp7Aw%2FdJMcabc7BdW%2FgoXUmTeio6IKjaDMdDEi0K%2Fimg.jpg&quot; width=&quot;100%&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
            &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;환경 변수 설정&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;[시스템 환경 변수 편집] 에서 [환경변수] 클릭&lt;/strong&gt;하고&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;시스템 변수 &amp;gt;&amp;gt; 새로 만들기&lt;/strong&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;변수 이름 : MVND_HOME&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;변수 값 : Maven 설치 폴더 경로(예 : C:\mvnd)&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Path 환경 변수&lt;/strong&gt; 설정&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;[편집] &amp;gt;&amp;gt; [새로만들기] &amp;gt;&amp;gt; %MVND_HOME%\bin 입력&lt;/strong&gt;        &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;mvnd 내 설정 파일(conf) 수정&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;conf 폴더 내 mvnd.properties 파일을 메모장이나 VS Code 로 열고&lt;/li&gt;
&lt;li&gt;146번에서 149번 라인 중&lt;pre&gt;&lt;code&gt;# 149번 라인의 
# java.home=&amp;lt;path&amp;gt; 부분의 주석을 해제하고 JDK 경로 삽입 
# 예) java.home=C:/Java/jdk-17.0.2&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;설치 확인 및 테스트&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;명령 프롬프트 또는 Windows PowerShell 에서&lt;ul&gt;
&lt;li&gt;&lt;code&gt;mvnd -v&lt;/code&gt; 으로 설치 확인&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mvnd clean package(프로젝트 빌드 시)&lt;/code&gt; 입력하여 테스트    &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;VS Code 적용&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;설정(Ctrl + ,)에서 maven.executable.path 를 검색하고&lt;/li&gt;
&lt;li&gt;mvnd 가 설치된 경로의 bin 폴더 내 exe실행 파일 경로 삽입(예. C:\dev\mvnd)&lt;/li&gt;
&lt;li&gt;VS Code 재시작하고 터미널에서&lt;ul&gt;
&lt;li&gt;&lt;code&gt;mvnd -v&lt;/code&gt; 으로 버전 확인&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mvnd clean package&lt;/code&gt; 로 프로젝트 빌드&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;</description>
      <category>JAVA</category>
      <author>ygjang0421</author>
      <guid isPermaLink="true">https://ygjang-421.tistory.com/45</guid>
      <comments>https://ygjang-421.tistory.com/entry/Maven-%EC%84%A4%EC%B9%98-%EB%B0%8F-VS-Code-%EC%A0%81%EC%9A%A9windows#entry45comment</comments>
      <pubDate>Sun, 17 May 2026 03:18:20 +0900</pubDate>
    </item>
    <item>
      <title>Git 설치(Linux)</title>
      <link>https://ygjang-421.tistory.com/entry/Git-%EC%84%A4%EC%B9%98Linux</link>
      <description>&lt;ul&gt;
&lt;li&gt;OS : Rocky Linux 9.7&lt;/li&gt;
&lt;li&gt;Git 설치되어있지 않을 경우 설치&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li&gt;&lt;p&gt;설치 단계&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;p&gt;시스템 업데이트&lt;br&gt;&lt;code&gt;sudo dnf update -y&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;git 다운로드&lt;br&gt;&lt;code&gt;sudo dnf install git -y&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;설치 확인&lt;br&gt;&lt;code&gt;git --version&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start=&quot;2&quot;&gt;
&lt;li&gt;초기 설정&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;# github 계정 설정

# 사용자 이름 설정
git config --global user.name “본인의 닉네임”

# 이메일 주소 설정
git config --global user.email “GitHub 가입 이메일”

# 설정 확인
git config --list&lt;/code&gt;&lt;/pre&gt;</description>
      <category>GitHub(Git)/git</category>
      <author>ygjang0421</author>
      <guid isPermaLink="true">https://ygjang-421.tistory.com/44</guid>
      <comments>https://ygjang-421.tistory.com/entry/Git-%EC%84%A4%EC%B9%98Linux#entry44comment</comments>
      <pubDate>Sun, 10 May 2026 20:25:31 +0900</pubDate>
    </item>
    <item>
      <title>Tomcat 9 설치(Linux)</title>
      <link>https://ygjang-421.tistory.com/entry/Tomcat-9-%EC%84%A4%EC%B9%98Linux</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. Tomcat 9 다운로드&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기존에 java 17, 21이 설치되어있다고 가정하고&lt;/li&gt;
&lt;li&gt;없을 경우 :&lt;a title=&quot;JDK 없을 경우&quot; href=&quot;https://ygjang-421.tistory.com/entry/Linux-OpenJDK-17-OpenJDK-21-설치&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt; https://ygjang-421.tistory.com/entry/Linux-OpenJDK-17-OpenJDK-21-설치&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;figure id=&quot;og_1777567705566&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Linux - OpenJDK 17, OpenJDK 21 설치&quot; data-og-description=&quot;1. 터미널에서 다음 명령어 입력# 1. 설치 가능한 OpenJDK 17 버전 확인sudo dnf search java-17-openjdk*# 2. OpenJDK 17 설치sudo dnf install java-17-openjdk-devel -y# 3. 설치 가능한 OpenJDK 21 버전 확인sudo dnf search java-21-ope&quot; data-og-host=&quot;ygjang-421.tistory.com&quot; data-og-source-url=&quot;https://ygjang-421.tistory.com/entry/Linux-OpenJDK-17-OpenJDK-21-설치&quot; data-og-url=&quot;https://ygjang-421.tistory.com/entry/Linux-OpenJDK-17-OpenJDK-21-%EC%84%A4%EC%B9%98&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bkPgxm/dJMb8QMfnJ6/hBDCaAzfx1NOddzuXXozT0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bbPFLw/dJMb8RRVfmI/2mwoyxSGPTQbbLyzkV6Ds0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/dlAwg7/dJMb8QMfnJ5/keuUZHICjGLF37fWjvQnS1/img.png?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400&quot;&gt;&lt;a href=&quot;https://ygjang-421.tistory.com/entry/Linux-OpenJDK-17-OpenJDK-21-설치&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://ygjang-421.tistory.com/entry/Linux-OpenJDK-17-OpenJDK-21-설치&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bkPgxm/dJMb8QMfnJ6/hBDCaAzfx1NOddzuXXozT0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bbPFLw/dJMb8RRVfmI/2mwoyxSGPTQbbLyzkV6Ds0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/dlAwg7/dJMb8QMfnJ5/keuUZHICjGLF37fWjvQnS1/img.png?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Linux - OpenJDK 17, OpenJDK 21 설치&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;1. 터미널에서 다음 명령어 입력# 1. 설치 가능한 OpenJDK 17 버전 확인sudo dnf search java-17-openjdk*# 2. OpenJDK 17 설치sudo dnf install java-17-openjdk-devel -y# 3. 설치 가능한 OpenJDK 21 버전 확인sudo dnf search java-21-ope&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;ygjang-421.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;pre id=&quot;code_1777567720057&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 1. Java 설치 경로 확인
# 보통 /usr/lib/jvm/ 하위에 설치됨.
which java

# 2. 개발 도구용 폴더 생성
mkdir -p /sdk

# 3. 심볼릭 링크로 버전 관리 (관리 편의성)
ln -s /usr/lib/jvm/java-17-openjdk /sdk/java17
ln -s /usr/lib/jvm/java-21-openjdk /sdk/java21

# 4. Tomcat 9 다운로드
cd /sdk
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.117/bin/apache-tomcat-9.0.117.tar.gz

# 5. 압축 해제 및 배치
sudo mkdir -p /sdk/tomcat
sudo tar -xzf apache-tomcat-9.0.117.tar.gz -C /sdk/tomcat --strip-components=1

# 6. tomcat 계정 생성 및 권한 설정
sudo useradd -r -m -U -d /sdk/tomcat -s /sbin/nologin tomcat
sudo chown -R tomcat:tomcat /sdk/tomcat
chmod +x /sdk/tomcat/bin/*.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. 심볼릭 링크와 Alias를 활용한 통합 환경 구성&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Tomcat의 Java 경로 고정 (setenv.sh)&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1777567734598&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 1. setenv.sh 파일 생성 (없을 경우 새로 만듬)
vi /sdk/tomcat/bin/setenv.sh

# 2. 심볼릭 링크 경로를 활용하여 유지보수성 확보
export JAVA_HOME=/sdk/java17  # 또는 java21
export CATALINA_HOME=/sdk/tomcat&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 실행 단축키 (Alias) 추가&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;터미널 어디서든 톰캣을 켜고 끌 수 있게 .bashrc에 추가&lt;/p&gt;
&lt;pre id=&quot;code_1777567746666&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 1 .bashrc 편집
vi ~/.bashrc

# 2. 하단에 추가
alias startTomcat='/sdk/tomcat/bin/startup.sh'
alias stopTomcat='/sdk/tomcat/bin/shutdown.sh'
alias tailTomcat='tail -f /sdk/tomcat/logs/catalina.out'

# 3. 반영
source ~/.bashrc&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. Tomcat 9 첫 기동 및 로그 확인&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 설정한 Alias를 사용하여 톰캣을 실행하고, 실시간 로그를 통해 엔진이 Java 17/21 환경에서 정상적으로 올라오는지 확인&lt;/p&gt;
&lt;pre id=&quot;code_1777567756065&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 1. Java 환경 선택
setJava17

# 2. 톰캣 실행 (Alias 사용)
startTomcat

# 3. 실시간 로그 확인 (Alias 사용)
# 'Server startup in [XXXX] ms' 문구가 보이면 성공
tailTomcat&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4. 방화벽(Firewall) 포트 개방&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1777567766634&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 1. 8080(Tomcat) 포트 영구 개방
sudo firewall-cmd --permanent --add-port=8080/tcp

# 2. 방화벽 설정 리로드 (즉시 반영)
sudo firewall-cmd --reload

# 3. 개방된 포트 목록 확인
sudo firewall-cmd --list-ports&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5. 접속 확인&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;브라우저에서 `http://서버IP:8080/`로 접속해 Tomcat 기본 페이지가 보이면 정상&lt;/p&gt;
&lt;pre id=&quot;code_1777567777045&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 또는 터미널에서
curl -I http://localhost:8080&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;6. setenv.sh 안될 경우&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만약 톰캣이 실행되지 않거나 Java 경로 오류가 난다면, /sdk/tomcat/bin/setenv.sh 파일에 &amp;ldquo;심볼릭 링크&amp;rdquo;가 정확히 적혀있는지 확인&lt;/p&gt;
&lt;pre id=&quot;code_1777567786761&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cat /sdk/tomcat/bin/setenv.sh

# 아래 두 줄 확인
export JAVA_HOME=/sdk/java17
export CATALINA_HOME=/sdk/tomcat&lt;/code&gt;&lt;/pre&gt;</description>
      <category>WEB, WAS</category>
      <author>ygjang0421</author>
      <guid isPermaLink="true">https://ygjang-421.tistory.com/43</guid>
      <comments>https://ygjang-421.tistory.com/entry/Tomcat-9-%EC%84%A4%EC%B9%98Linux#entry43comment</comments>
      <pubDate>Fri, 1 May 2026 01:50:09 +0900</pubDate>
    </item>
  </channel>
</rss>