<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Tracker</title>
    <link>https://junsuyoun.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Wed, 8 Apr 2026 22:05:16 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>junsuyoun</managingEditor>
    <image>
      <title>Tracker</title>
      <url>https://tistory1.daumcdn.net/tistory/3085794/attach/fdc13cd04fb847cda45793521c3676e7</url>
      <link>https://junsuyoun.tistory.com</link>
    </image>
    <item>
      <title>pmap을 통한 프로세스 메모리 덤프</title>
      <link>https://junsuyoun.tistory.com/entry/pmap%EC%9D%84-%ED%86%B5%ED%95%9C-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EB%8D%A4%ED%94%84</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;리눅스 환경에서 운영 중인 프로세스의 메모리 사용량을 확인하고 싶을 때가 있습니다. pmap 기본 유틸리티를 활용하면 top이나 ps를 통해 확인하는 메모리 사용량 보다 더 자세한 정보를 확인할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1709777930612&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@3408784cf86c /]# pmap --help

Usage:
 pmap [options] PID [PID ...]

Options:
 -x, --extended              show details
 -X                          show even more details
            WARNING: format changes according to /proc/PID/smaps
 -XX                         show everything the kernel provides
 -c, --read-rc               read the default rc
 -C, --read-rc-from=&amp;lt;file&amp;gt;   read the rc from file
 -n, --create-rc             create new default rc
 -N, --create-rc-to=&amp;lt;file&amp;gt;   create new rc to file
            NOTE: pid arguments are not allowed with -n, -N
 -d, --device                show the device format
 -q, --quiet                 do not display header and footer
 -p, --show-path             show path in the mapping
 -A, --range=&amp;lt;low&amp;gt;[,&amp;lt;high&amp;gt;]  limit results to the given range

 -h, --help     display this help and exit
 -V, --version  output version information and exit

For more details see pmap(1).&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;PMAP&lt;/b&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1709784653563&quot; class=&quot;angelscript&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;[root@374d23a5fa37 ~]# ps -ef
UID          PID    PPID  C STIME TTY          TIME CMD
root           1       0  0 03:13 pts/0    00:00:00 /bin/bash
root          15       0  0 03:13 pts/1    00:00:00 bash
root         190      15  0 04:10 pts/1    00:00:00 ps -ef&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;pmap 유틸리티는 기본적으로 리눅스 환경에 설치되는 유틸리티이며, 별도의 설치 과정 없이 수행 가능 합니다.&lt;/li&gt;
&lt;li&gt;수행에 앞서 메모리 덤프를 수행하고자하는 프로세스 ID를 확인 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1709784639115&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@374d23a5fa37 ~]# pmap 15
15:   bash
000055ca3c000000   1056K r-x-- bash
000055ca3c307000     16K r---- bash
000055ca3c30b000     36K rw--- bash
000055ca3c314000     40K rw---   [ anon ]
000055ca3d597000    368K rw---   [ anon ]
00007f32a7066000     44K r-x-- libnss_files-2.28.so
00007f32a7071000   2048K ----- libnss_files-2.28.so
00007f32a7271000      4K r---- libnss_files-2.28.so
00007f32a7272000      4K rw--- libnss_files-2.28.so
00007f32a7273000     24K rw---   [ anon ]
00007f32a7279000   1776K r-x-- libc-2.28.so
00007f32a7435000   2044K ----- libc-2.28.so
00007f32a7634000     16K r---- libc-2.28.so
00007f32a7638000      8K rw--- libc-2.28.so
00007f32a763a000     16K rw---   [ anon ]
00007f32a763e000     12K r-x-- libdl-2.28.so
00007f32a7641000   2044K ----- libdl-2.28.so
00007f32a7840000      4K r---- libdl-2.28.so
00007f32a7841000      4K rw--- libdl-2.28.so
00007f32a7842000    164K r-x-- libtinfo.so.6.1
00007f32a786b000   2044K ----- libtinfo.so.6.1
00007f32a7a6a000     16K r---- libtinfo.so.6.1
00007f32a7a6e000      4K rw--- libtinfo.so.6.1
00007f32a7a6f000    176K r-x-- ld-2.28.so
00007f32a7c93000     20K rw---   [ anon ]
00007f32a7c9b000      4K r---- ld-2.28.so
00007f32a7c9c000      8K rw--- ld-2.28.so
00007ffc76130000    132K rw---   [ stack ]
00007ffc761af000     16K r----   [ anon ]
00007ffc761b3000      8K r-x--   [ anon ]
ffffffffff600000      4K --x--   [ anon ]
 total            12160K&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;15번 프로세스에 대해 pmap을 수행 합니다.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1709784691525&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@374d23a5fa37 ~]# pmap -x 15
15:   bash
Address           Kbytes     RSS   Dirty Mode  Mapping
000055ca3c000000    1056     956       0 r-x-- bash
000055ca3c307000      16      16      16 r---- bash
000055ca3c30b000      36      36      36 rw--- bash
000055ca3c314000      40      28      28 rw---   [ anon ]
000055ca3d597000     368     248     248 rw---   [ anon ]
00007f32a7066000      44      44       0 r-x-- libnss_files-2.28.so
00007f32a7071000    2048       0       0 ----- libnss_files-2.28.so
00007f32a7271000       4       4       4 r---- libnss_files-2.28.so
00007f32a7272000       4       4       4 rw--- libnss_files-2.28.so
00007f32a7273000      24       0       0 rw---   [ anon ]
00007f32a7279000    1776    1372       0 r-x-- libc-2.28.so
00007f32a7435000    2044       0       0 ----- libc-2.28.so
00007f32a7634000      16      16      16 r---- libc-2.28.so
00007f32a7638000       8       8       8 rw--- libc-2.28.so
00007f32a763a000      16      16      16 rw---   [ anon ]
00007f32a763e000      12      12       0 r-x-- libdl-2.28.so
00007f32a7641000    2044       0       0 ----- libdl-2.28.so
00007f32a7840000       4       4       4 r---- libdl-2.28.so
00007f32a7841000       4       4       4 rw--- libdl-2.28.so
00007f32a7842000     164     164       0 r-x-- libtinfo.so.6.1
00007f32a786b000    2044       0       0 ----- libtinfo.so.6.1
00007f32a7a6a000      16      16      16 r---- libtinfo.so.6.1
00007f32a7a6e000       4       4       4 rw--- libtinfo.so.6.1
00007f32a7a6f000     176     176       0 r-x-- ld-2.28.so
00007f32a7c93000      20      16      16 rw---   [ anon ]
00007f32a7c9b000       4       4       4 r---- ld-2.28.so
00007f32a7c9c000       8       8       8 rw--- ld-2.28.so
00007ffc76130000     132     116     116 rw---   [ stack ]
00007ffc761af000      16       0       0 r----   [ anon ]
00007ffc761b3000       8       8       0 r-x--   [ anon ]
ffffffffff600000       4       0       0 --x--   [ anon ]
---------------- ------- ------- ------- 
total kB           12160    3280     548&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;-x 옵션을 통해 자세한 정보를 확인할 수 있습니다.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1709784783085&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@374d23a5fa37 ~]# pmap -X 15
15:   bash
         Address Perm   Offset Device    Inode  Size  Rss Pss Referenced Anonymous LazyFree ShmemPmdMapped FilePmdMapped Shared_Hugetlb Private_Hugetlb Swap SwapPss Locked THPeligible Mapping
    55ca3c000000 r-xp 00000000 00:11f 10487055  1056  956  68        956         0        0              0             0              0               0    0       0      0           0 bash
    55ca3c307000 r--p 00107000 00:11f 10487055    16   16  16         16        16        0              0             0              0               0    0       0      0           0 bash
    55ca3c30b000 rw-p 0010b000 00:11f 10487055    36   36  36         36        36        0              0             0              0               0    0       0      0           0 bash
    55ca3c314000 rw-p 00000000  00:00        0    40   28  28         28        28        0              0             0              0               0    0       0      0           0 
    55ca3d597000 rw-p 00000000  00:00        0   368  248 248        244       248        0              0             0              0               0    0       0      0           0 [heap]
    7f32a7066000 r-xp 00000000 00:11f 10490867    44   44   3         44         0        0              0             0              0               0    0       0      0           0 libnss_files-2.28.so
    7f32a7071000 ---p 0000b000 00:11f 10490867  2048    0   0          0         0        0              0             0              0               0    0       0      0           0 libnss_files-2.28.so
    7f32a7271000 r--p 0000b000 00:11f 10490867     4    4   4          4         4        0              0             0              0               0    0       0      0           0 libnss_files-2.28.so
    7f32a7272000 rw-p 0000c000 00:11f 10490867     4    4   4          4         4        0              0             0              0               0    0       0      0           0 libnss_files-2.28.so
    7f32a7273000 rw-p 00000000  00:00        0    24    0   0          0         0        0              0             0              0               0    0       0      0           0 
    7f32a7279000 r-xp 00000000 00:11f 10490670  1776 1372  44       1372         0        0              0             0              0               0    0       0      0           0 libc-2.28.so
    7f32a7435000 ---p 001bc000 00:11f 10490670  2044    0   0          0         0        0              0             0              0               0    0       0      0           0 libc-2.28.so
    7f32a7634000 r--p 001bb000 00:11f 10490670    16   16  16         16        16        0              0             0              0               0    0       0      0           0 libc-2.28.so
    7f32a7638000 rw-p 001bf000 00:11f 10490670     8    8   8          8         8        0              0             0              0               0    0       0      0           0 libc-2.28.so
    7f32a763a000 rw-p 00000000  00:00        0    16   16  16         16        16        0              0             0              0               0    0       0      0           0 
    7f32a763e000 r-xp 00000000 00:11f 10490696    12   12   0         12         0        0              0             0              0               0    0       0      0           0 libdl-2.28.so
    7f32a7641000 ---p 00003000 00:11f 10490696  2044    0   0          0         0        0              0             0              0               0    0       0      0           0 libdl-2.28.so
    7f32a7840000 r--p 00002000 00:11f 10490696     4    4   4          4         4        0              0             0              0               0    0       0      0           0 libdl-2.28.so
    7f32a7841000 rw-p 00003000 00:11f 10490696     4    4   4          4         4        0              0             0              0               0    0       0      0           0 libdl-2.28.so
    7f32a7842000 r-xp 00000000 00:11f 10490958   164  164  13        164         0        0              0             0              0               0    0       0      0           0 libtinfo.so.6.1
    7f32a786b000 ---p 00029000 00:11f 10490958  2044    0   0          0         0        0              0             0              0               0    0       0      0           0 libtinfo.so.6.1
    7f32a7a6a000 r--p 00028000 00:11f 10490958    16   16  16         16        16        0              0             0              0               0    0       0      0           0 libtinfo.so.6.1
    7f32a7a6e000 rw-p 0002c000 00:11f 10490958     4    4   4          4         4        0              0             0              0               0    0       0      0           0 libtinfo.so.6.1
    7f32a7a6f000 r-xp 00000000 00:11f 10490644   176  176   4        176         0        0              0             0              0               0    0       0      0           0 ld-2.28.so
    7f32a7c93000 rw-p 00000000  00:00        0    20   16  16         16        16        0              0             0              0               0    0       0      0           0 
    7f32a7c9b000 r--p 0002c000 00:11f 10490644     4    4   4          4         4        0              0             0              0               0    0       0      0           0 ld-2.28.so
    7f32a7c9c000 rw-p 0002d000 00:11f 10490644     8    8   8          8         8        0              0             0              0               0    0       0      0           0 ld-2.28.so
    7ffc76130000 rw-p 00000000  00:00        0   132  116 116        108       116        0              0             0              0               0    0       0      0           0 [stack]
    7ffc761af000 r--p 00000000  00:00        0    16    0   0          0         0        0              0             0              0               0    0       0      0           0 [vvar]
    7ffc761b3000 r-xp 00000000  00:00        0     8    8   0          8         0        0              0             0              0               0    0       0      0           0 [vdso]
ffffffffff600000 --xp 00000000  00:00        0     4    0   0          0         0        0              0             0              0               0    0       0      0           0 [vsyscall]
                                               ===== ==== === ========== ========= ======== ============== ============= ============== =============== ==== ======= ====== =========== 
                                               12160 3280 680       3268       548        0              0             0              0               0    0       0      0           0 KB&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;-X 옵션은 -x 옵션 보다 더 자세한 정보를 확인해줍니다.&lt;/li&gt;
&lt;li&gt;기본 수행과 -x옵을 사용했을 때는 /proc/PID/maps 정보를 통해 확인을 해주었지만 -X 옵션은 /proc/PID/smaps을 통해 자세하게 표현해줍니다.&lt;/li&gt;
&lt;li&gt;maps 가상 파일 보다 smaps 가상 파일이 더 자세한 정보를 표현 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1709784886278&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@374d23a5fa37 ~]# pmap -XX 15
15:   bash
         Address Perm   Offset Device    Inode  Size KernelPageSize MMUPageSize  Rss Pss Shared_Clean Shared_Dirty Private_Clean Private_Dirty Referenced Anonymous LazyFree AnonHugePages ShmemPmdMapped FilePmdMapped Shared_Hugetlb Private_Hugetlb Swap SwapPss Locked THPeligible              VmFlags Mapping
    55ca3c000000 r-xp 00000000 00:11f 10487055  1056              4           4  956  68          956            0             0             0        956         0        0             0              0             0              0               0    0       0      0           0    rd ex mr mw me sd bash
    55ca3c307000 r--p 00107000 00:11f 10487055    16              4           4   16  16            0            0             0            16         16        16        0             0              0             0              0               0    0       0      0           0    rd mr mw me ac sd bash
    55ca3c30b000 rw-p 0010b000 00:11f 10487055    36              4           4   36  36            0            0             0            36         36        36        0             0              0             0              0               0    0       0      0           0 rd wr mr mw me ac sd bash
    55ca3c314000 rw-p 00000000  00:00        0    40              4           4   28  28            0            0             0            28         28        28        0             0              0             0              0               0    0       0      0           0 rd wr mr mw me ac sd 
    55ca3d597000 rw-p 00000000  00:00        0   368              4           4  248 248            0            0             0           248        240       248        0             0              0             0              0               0    0       0      0           0 rd wr mr mw me ac sd [heap]
    7f32a7066000 r-xp 00000000 00:11f 10490867    44              4           4   44   3           44            0             0             0         44         0        0             0              0             0              0               0    0       0      0           0    rd ex mr mw me sd libnss_files-2.28.so
    7f32a7071000 ---p 0000b000 00:11f 10490867  2048              4           4    0   0            0            0             0             0          0         0        0             0              0             0              0               0    0       0      0           0          mr mw me sd libnss_files-2.28.so
    7f32a7271000 r--p 0000b000 00:11f 10490867     4              4           4    4   4            0            0             0             4          4         4        0             0              0             0              0               0    0       0      0           0    rd mr mw me ac sd libnss_files-2.28.so
    7f32a7272000 rw-p 0000c000 00:11f 10490867     4              4           4    4   4            0            0             0             4          4         4        0             0              0             0              0               0    0       0      0           0 rd wr mr mw me ac sd libnss_files-2.28.so
    7f32a7273000 rw-p 00000000  00:00        0    24              4           4    0   0            0            0             0             0          0         0        0             0              0             0              0               0    0       0      0           0 rd wr mr mw me ac sd 
    7f32a7279000 r-xp 00000000 00:11f 10490670  1776              4           4 1372  44         1372            0             0             0       1372         0        0             0              0             0              0               0    0       0      0           0    rd ex mr mw me sd libc-2.28.so
    7f32a7435000 ---p 001bc000 00:11f 10490670  2044              4           4    0   0            0            0             0             0          0         0        0             0              0             0              0               0    0       0      0           0          mr mw me sd libc-2.28.so
    7f32a7634000 r--p 001bb000 00:11f 10490670    16              4           4   16  16            0            0             0            16         16        16        0             0              0             0              0               0    0       0      0           0    rd mr mw me ac sd libc-2.28.so
    7f32a7638000 rw-p 001bf000 00:11f 10490670     8              4           4    8   8            0            0             0             8          8         8        0             0              0             0              0               0    0       0      0           0 rd wr mr mw me ac sd libc-2.28.so
    7f32a763a000 rw-p 00000000  00:00        0    16              4           4   16  16            0            0             0            16         16        16        0             0              0             0              0               0    0       0      0           0 rd wr mr mw me ac sd 
    7f32a763e000 r-xp 00000000 00:11f 10490696    12              4           4   12   0           12            0             0             0         12         0        0             0              0             0              0               0    0       0      0           0    rd ex mr mw me sd libdl-2.28.so
    7f32a7641000 ---p 00003000 00:11f 10490696  2044              4           4    0   0            0            0             0             0          0         0        0             0              0             0              0               0    0       0      0           0          mr mw me sd libdl-2.28.so
    7f32a7840000 r--p 00002000 00:11f 10490696     4              4           4    4   4            0            0             0             4          4         4        0             0              0             0              0               0    0       0      0           0    rd mr mw me ac sd libdl-2.28.so
    7f32a7841000 rw-p 00003000 00:11f 10490696     4              4           4    4   4            0            0             0             4          4         4        0             0              0             0              0               0    0       0      0           0 rd wr mr mw me ac sd libdl-2.28.so
    7f32a7842000 r-xp 00000000 00:11f 10490958   164              4           4  164  13          164            0             0             0        164         0        0             0              0             0              0               0    0       0      0           0    rd ex mr mw me sd libtinfo.so.6.1
    7f32a786b000 ---p 00029000 00:11f 10490958  2044              4           4    0   0            0            0             0             0          0         0        0             0              0             0              0               0    0       0      0           0          mr mw me sd libtinfo.so.6.1
    7f32a7a6a000 r--p 00028000 00:11f 10490958    16              4           4   16  16            0            0             0            16         16        16        0             0              0             0              0               0    0       0      0           0    rd mr mw me ac sd libtinfo.so.6.1
    7f32a7a6e000 rw-p 0002c000 00:11f 10490958     4              4           4    4   4            0            0             0             4          4         4        0             0              0             0              0               0    0       0      0           0 rd wr mr mw me ac sd libtinfo.so.6.1
    7f32a7a6f000 r-xp 00000000 00:11f 10490644   176              4           4  176   4          176            0             0             0        176         0        0             0              0             0              0               0    0       0      0           0    rd ex mr mw me sd ld-2.28.so
    7f32a7c93000 rw-p 00000000  00:00        0    20              4           4   16  16            0            0             0            16         16        16        0             0              0             0              0               0    0       0      0           0 rd wr mr mw me ac sd 
    7f32a7c9b000 r--p 0002c000 00:11f 10490644     4              4           4    4   4            0            0             0             4          4         4        0             0              0             0              0               0    0       0      0           0    rd mr mw me ac sd ld-2.28.so
    7f32a7c9c000 rw-p 0002d000 00:11f 10490644     8              4           4    8   8            0            0             0             8          8         8        0             0              0             0              0               0    0       0      0           0 rd wr mr mw me ac sd ld-2.28.so
    7ffc76130000 rw-p 00000000  00:00        0   132              4           4  116 116            0            0             0           116        108       116        0             0              0             0              0               0    0       0      0           0 rd wr mr mw me gd ac [stack]
    7ffc761af000 r--p 00000000  00:00        0    16              4           4    0   0            0            0             0             0          0         0        0             0              0             0              0               0    0       0      0           0 rd mr pf io de dd sd [vvar]
    7ffc761b3000 r-xp 00000000  00:00        0     8              4           4    8   0            8            0             0             0          8         0        0             0              0             0              0               0    0       0      0           0 rd ex mr mw me de sd [vdso]
ffffffffff600000 --xp 00000000  00:00        0     4              4           4    0   0            0            0             0             0          0         0        0             0              0             0              0               0    0       0      0           0                   ex [vsyscall]
                                               ===== ============== =========== ==== === ============ ============ ============= ============= ========== ========= ======== ============= ============== ============= ============== =============== ==== ======= ====== =========== 
                                               12160            124         124 3280 680         2732            0             0           548       3264       548        0             0              0             0              0               0    0       0      0           0 KB&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;-XX 옵션은 커널에서 제공 받을 수 있는 모든 정보를 표현 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;응용&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사실 pmap은 별도의 정보를 활용하는 것이 아니며, /proc 경로에 프로세스 별로 생성 되는 메모리 정보를 담은 가상파일을 통해 파싱하여 정보를 사용자가 보기 쉽게 출력해줍니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1709785061793&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@374d23a5fa37 ~]# cat /proc/15/maps
55ca3c000000-55ca3c108000 r-xp 00000000 00:11f 10487055                  /usr/bin/bash
55ca3c307000-55ca3c30b000 r--p 00107000 00:11f 10487055                  /usr/bin/bash
55ca3c30b000-55ca3c314000 rw-p 0010b000 00:11f 10487055                  /usr/bin/bash
55ca3c314000-55ca3c31e000 rw-p 00000000 00:00 0 
55ca3d597000-55ca3d5f3000 rw-p 00000000 00:00 0                          [heap]
7f32a7066000-7f32a7071000 r-xp 00000000 00:11f 10490867                  /usr/lib64/libnss_files-2.28.so
7f32a7071000-7f32a7271000 ---p 0000b000 00:11f 10490867                  /usr/lib64/libnss_files-2.28.so
7f32a7271000-7f32a7272000 r--p 0000b000 00:11f 10490867                  /usr/lib64/libnss_files-2.28.so
7f32a7272000-7f32a7273000 rw-p 0000c000 00:11f 10490867                  /usr/lib64/libnss_files-2.28.so
7f32a7273000-7f32a7279000 rw-p 00000000 00:00 0 
7f32a7279000-7f32a7435000 r-xp 00000000 00:11f 10490670                  /usr/lib64/libc-2.28.so
7f32a7435000-7f32a7634000 ---p 001bc000 00:11f 10490670                  /usr/lib64/libc-2.28.so
7f32a7634000-7f32a7638000 r--p 001bb000 00:11f 10490670                  /usr/lib64/libc-2.28.so
7f32a7638000-7f32a763a000 rw-p 001bf000 00:11f 10490670                  /usr/lib64/libc-2.28.so
7f32a763a000-7f32a763e000 rw-p 00000000 00:00 0 
7f32a763e000-7f32a7641000 r-xp 00000000 00:11f 10490696                  /usr/lib64/libdl-2.28.so
7f32a7641000-7f32a7840000 ---p 00003000 00:11f 10490696                  /usr/lib64/libdl-2.28.so
7f32a7840000-7f32a7841000 r--p 00002000 00:11f 10490696                  /usr/lib64/libdl-2.28.so
7f32a7841000-7f32a7842000 rw-p 00003000 00:11f 10490696                  /usr/lib64/libdl-2.28.so
7f32a7842000-7f32a786b000 r-xp 00000000 00:11f 10490958                  /usr/lib64/libtinfo.so.6.1
7f32a786b000-7f32a7a6a000 ---p 00029000 00:11f 10490958                  /usr/lib64/libtinfo.so.6.1
7f32a7a6a000-7f32a7a6e000 r--p 00028000 00:11f 10490958                  /usr/lib64/libtinfo.so.6.1
7f32a7a6e000-7f32a7a6f000 rw-p 0002c000 00:11f 10490958                  /usr/lib64/libtinfo.so.6.1
7f32a7a6f000-7f32a7a9b000 r-xp 00000000 00:11f 10490644                  /usr/lib64/ld-2.28.so
7f32a7c93000-7f32a7c98000 rw-p 00000000 00:00 0 
7f32a7c9b000-7f32a7c9c000 r--p 0002c000 00:11f 10490644                  /usr/lib64/ld-2.28.so
7f32a7c9c000-7f32a7c9e000 rw-p 0002d000 00:11f 10490644                  /usr/lib64/ld-2.28.so
7ffc76130000-7ffc76151000 rw-p 00000000 00:00 0                          [stack]
7ffc761af000-7ffc761b3000 r--p 00000000 00:00 0                          [vvar]
7ffc761b3000-7ffc761b5000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 --xp 00000000 00:00 0                  [vsyscall]&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;maps 가상 파일에 담긴 메모리 주소 별 메모리 용량 그리고 점유하고 있는 라이브러리 또는 메모리 유형 정보를 확인할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1709785148462&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@374d23a5fa37 ~]# cat /proc/15/smaps
55ca3c000000-55ca3c108000 r-xp 00000000 00:11f 10487055                  /usr/bin/bash
Size:               1056 kB
KernelPageSize:        4 kB
MMUPageSize:           4 kB
Rss:                 956 kB
Pss:                  68 kB
Shared_Clean:        956 kB
Shared_Dirty:          0 kB
Private_Clean:         0 kB
Private_Dirty:         0 kB
Referenced:          956 kB
Anonymous:             0 kB
LazyFree:              0 kB
AnonHugePages:         0 kB
ShmemPmdMapped:        0 kB
FilePmdMapped:         0 kB
Shared_Hugetlb:        0 kB
Private_Hugetlb:       0 kB
Swap:                  0 kB
SwapPss:               0 kB
Locked:                0 kB
THPeligible:    0
VmFlags: rd ex mr mw me sd 
55ca3c307000-55ca3c30b000 r--p 00107000 00:11f 10487055                  /usr/bin/bash
Size:                 16 kB
KernelPageSize:        4 kB
MMUPageSize:           4 kB
Rss:                  16 kB
Pss:                  16 kB
Shared_Clean:          0 kB
Shared_Dirty:          0 kB
Private_Clean:         0 kB
Private_Dirty:        16 kB
Referenced:           16 kB
Anonymous:            16 kB
LazyFree:              0 kB
AnonHugePages:         0 kB
ShmemPmdMapped:        0 kB
FilePmdMapped:         0 kB
Shared_Hugetlb:        0 kB
Private_Hugetlb:       0 kB
Swap:                  0 kB
SwapPss:               0 kB
Locked:                0 kB
THPeligible:    0
VmFlags: rd mr mw me ac sd 
55ca3c30b000-55ca3c314000 rw-p 0010b000 00:11f 10487055                  /usr/bin/bash
Size:                 36 kB
KernelPageSize:        4 kB
MMUPageSize:           4 kB
Rss:                  36 kB
Pss:                  36 kB
Shared_Clean:          0 kB
Shared_Dirty:          0 kB
Private_Clean:         0 kB
Private_Dirty:        36 kB
Referenced:           36 kB
Anonymous:            36 kB
LazyFree:              0 kB
AnonHugePages:         0 kB
ShmemPmdMapped:        0 kB
FilePmdMapped:         0 kB
Shared_Hugetlb:        0 kB
Private_Hugetlb:       0 kB
Swap:                  0 kB
SwapPss:               0 kB
Locked:                0 kB
THPeligible:    0
VmFlags: rd wr mr mw me ac sd 
55ca3c314000-55ca3c31e000 rw-p 00000000 00:00 0 
Size:                 40 kB
KernelPageSize:        4 kB
MMUPageSize:           4 kB
Rss:                  28 kB
Pss:                  28 kB
Shared_Clean:          0 kB
Shared_Dirty:          0 kB
Private_Clean:         0 kB
Private_Dirty:        28 kB
Referenced:           28 kB
Anonymous:            28 kB
LazyFree:              0 kB
AnonHugePages:         0 kB
ShmemPmdMapped:        0 kB
FilePmdMapped:         0 kB
Shared_Hugetlb:        0 kB
Private_Hugetlb:       0 kB
Swap:                  0 kB
SwapPss:               0 kB
Locked:                0 kB
THPeligible:    0&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;smaps 파일은 maps 파일에서 표현된 메모리 주소별 상세 메모리 사용량을 표현해줍니다.&lt;/li&gt;
&lt;li&gt;즉, 메모리 사용량에 따른 사용 종류도 다양한대 이러한 정보를 표현해줍니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1709785308648&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@374d23a5fa37 ~]# grep &quot;Swap:&quot; /proc/15/smaps
Swap:                  0 kB
Swap:                  0 kB
Swap:                  0 kB
Swap:                  0 kB
Swap:                  0 kB
Swap:                  0 kB
Swap:                  0 kB
Swap:                  0 kB
Swap:                  0 kB
Swap:                  0 kB
Swap:                  0 kB
Swap:                  0 kB
Swap:                  0 kB
Swap:                  0 kB
Swap:                  0 kB
Swap:                  0 kB
Swap:                  0 kB
Swap:                  0 kB
Swap:                  0 kB
Swap:                  0 kB
Swap:                  0 kB
Swap:                  0 kB
Swap:                  0 kB
Swap:                  0 kB
Swap:                  0 kB
Swap:                  0 kB
Swap:                  0 kB
Swap:                  0 kB
Swap:                  0 kB
Swap:                  0 kB
Swap:                  0 kB&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;smaps 파일에서 어떠한 프로세스가 스왑 메모리를 사용하는지 확인할 수도 있고 제공되는 값들을 통해 다양하게 사용할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;806&quot; data-origin-height=&quot;599&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/l8SAh/btsFygXytaL/8FG04zMWitvnFrDfDlMXv0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/l8SAh/btsFygXytaL/8FG04zMWitvnFrDfDlMXv0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/l8SAh/btsFygXytaL/8FG04zMWitvnFrDfDlMXv0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fl8SAh%2FbtsFygXytaL%2F8FG04zMWitvnFrDfDlMXv0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;806&quot; height=&quot;599&quot; data-origin-width=&quot;806&quot; data-origin-height=&quot;599&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Operation System/Unix &amp;amp; Linux</category>
      <category>Linux</category>
      <category>Maps</category>
      <category>Memory Dump</category>
      <category>PID</category>
      <category>pmap</category>
      <category>Proc</category>
      <category>Process</category>
      <category>smaps</category>
      <category>덤프</category>
      <category>메모리</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/178</guid>
      <comments>https://junsuyoun.tistory.com/entry/pmap%EC%9D%84-%ED%86%B5%ED%95%9C-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EB%8D%A4%ED%94%84#entry178comment</comments>
      <pubDate>Thu, 7 Mar 2024 13:23:03 +0900</pubDate>
    </item>
    <item>
      <title>CentOS 8, yum 오류 Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist</title>
      <link>https://junsuyoun.tistory.com/entry/CentOS-8-yum-%EC%98%A4%EB%A5%98-Error-Failed-to-download-metadata-for-repo-appstream-Cannot-prepare-internal-mirrorlist-No-URLs-in-mirrorlist</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;CentOS 8 버전에서 yum 수행 시 발생하는 오류&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1709687218548&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@localhost ~]# yum install -y lsof net-tools openssh-server 
Failed to set locale, defaulting to C.UTF-8
CentOS Linux 8 - AppStream                                                        56  B/s |  38  B     00:00    
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;문제&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;CentOS 8버전부터는 미러 사이트 변경 됨&lt;/li&gt;
&lt;li&gt;yum 유틸리티에서 바라보는 mirrorlist 값에 해당하는 주소에 패키지가 없어짐&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://mirror.centos.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;http://mirror.centos.org/&lt;/a&gt; 에서 &lt;a href=&quot;https://vault.centos.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://vault.centos.org/&lt;/a&gt; 변경 필요&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1740&quot; data-origin-height=&quot;924&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6Dai2/btsFAwqM4ec/zY842j7Brg8YH8gkNUIli1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6Dai2/btsFAwqM4ec/zY842j7Brg8YH8gkNUIli1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6Dai2/btsFAwqM4ec/zY842j7Brg8YH8gkNUIli1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6Dai2%2FbtsFAwqM4ec%2FzY842j7Brg8YH8gkNUIli1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1740&quot; height=&quot;924&quot; data-origin-width=&quot;1740&quot; data-origin-height=&quot;924&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;miiror.centos.org에는 readme 파일만 존재하고 vault.centos.org 이용해야함&lt;/li&gt;
&lt;li&gt;readme 파일 내용을 확인해보면 8이상부터 더 이상 사용되지 않는 미러 사이트 입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1709688157075&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;This directory (and version of CentOS) is deprecated.  For normal users,
you should use /8/ and not /8.4.2105/ in your path. Please see this FAQ
concerning the CentOS release scheme:

https://wiki.centos.org/FAQ/General

If you know what you are doing, and absolutely want to remain at the 8.4.2105
level, go to http://vault.centos.org/ for packages. 

Please keep in mind that 8.4.2105 no longer gets any updates, nor
any security fix's.&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;해결&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;mirrorlist 변경 또는 baseurl 변경&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1709688217982&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sed -i -e &quot;s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g&quot; /etc/yum.repos.d/CentOS-*
sed -i -e &quot;s|mirrorlist=|#mirrorlist=|g&quot; /etc/yum.repos.d/CentOS-*&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1709688260087&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@e44c1b786b32 yum.repos.d]# yum install -y lsof
Failed to set locale, defaulting to C.UTF-8
CentOS Linux 8 - AppStream                                                                                                                                                         50  B/s |  38  B     00:00    
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist

[root@e44c1b786b32 yum.repos.d]# sed -i -e &quot;s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g&quot; /etc/yum.repos.d/CentOS-*
[root@e44c1b786b32 yum.repos.d]# sed -i -e &quot;s|mirrorlist=|#mirrorlist=|g&quot; /etc/yum.repos.d/CentOS-*

[root@e44c1b786b32 yum.repos.d]# yum install -y lsof
Failed to set locale, defaulting to C.UTF-8
CentOS Linux 8 - AppStream                                                                                                                                                        5.4 MB/s | 8.4 MB     00:01    
CentOS Linux 8 - BaseOS                                                                                                                                                           5.2 MB/s | 4.6 MB     00:00    
CentOS Linux 8 - Extras                                                                                                                                                            18 kB/s |  10 kB     00:00    
Dependencies resolved.
==================================================================================================================================================================================================================
 Package                                        Architecture                                     Version                                                   Repository                                        Size
==================================================================================================================================================================================================================
Installing:
 lsof                                           x86_64                                           4.93.2-1.el8                                              baseos                                           253 k

Transaction Summary
==================================================================================================================================================================================================================
Install  1 Package

Total download size: 253 k
Installed size: 623 k
Downloading Packages:
lsof-4.93.2-1.el8.x86_64.rpm                                                                                                                                                      452 kB/s | 253 kB     00:00    
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                                             450 kB/s | 253 kB     00:00     
warning: /var/cache/dnf/baseos-398269605bdca3dc/packages/lsof-4.93.2-1.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 8483c65d: NOKEY
CentOS Linux 8 - BaseOS                                                                                                                                                           1.6 MB/s | 1.6 kB     00:00    
Importing GPG key 0x8483C65D:
 Userid     : &quot;CentOS (CentOS Official Signing Key) &amp;lt;security@centos.org&amp;gt;&quot;
 Fingerprint: 99DB 70FA E1D7 CE22 7FB6 4882 05B5 55B3 8483 C65D
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                                                          1/1 
  Installing       : lsof-4.93.2-1.el8.x86_64                                                                                                                                                                 1/1 
  Running scriptlet: lsof-4.93.2-1.el8.x86_64                                                                                                                                                                 1/1 
  Verifying        : lsof-4.93.2-1.el8.x86_64                                                                                                                                                                 1/1 

Installed:
  lsof-4.93.2-1.el8.x86_64                                                                                                                                                                                        

Complete!&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;508&quot; data-origin-height=&quot;156&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EAuJ8/btsFBJiRs4E/ETZaeukvCLZLQzkK8Z5b5K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EAuJ8/btsFBJiRs4E/ETZaeukvCLZLQzkK8Z5b5K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EAuJ8/btsFBJiRs4E/ETZaeukvCLZLQzkK8Z5b5K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEAuJ8%2FbtsFBJiRs4E%2FETZaeukvCLZLQzkK8Z5b5K%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;508&quot; height=&quot;156&quot; data-origin-width=&quot;508&quot; data-origin-height=&quot;156&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Operation System/Unix &amp;amp; Linux</category>
      <category>baseurl</category>
      <category>centos</category>
      <category>Linux</category>
      <category>MIRROR</category>
      <category>yum</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/177</guid>
      <comments>https://junsuyoun.tistory.com/entry/CentOS-8-yum-%EC%98%A4%EB%A5%98-Error-Failed-to-download-metadata-for-repo-appstream-Cannot-prepare-internal-mirrorlist-No-URLs-in-mirrorlist#entry177comment</comments>
      <pubDate>Wed, 6 Mar 2024 10:28:40 +0900</pubDate>
    </item>
    <item>
      <title>Tibero ZetaData3 구성 정보</title>
      <link>https://junsuyoun.tistory.com/entry/Tibero-ZetaData-%EA%B5%AC%EC%84%B1</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;Tibero의 ZetaData는 Oracle의 ExaData 경쟁 모델로 OLTP+OLAP+DW 형태의 데이터베이스를 만들고 싶어하는 환경에서 사용하며 &lt;span style=&quot;text-align: start;&quot;&gt;고성능/고양량 모델 입니다. (하드웨어는 Lenovo, 소프트웨어는 Tibero OEM 제품)&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Eighth Rack (1/8)&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;DB Server 2대 (24 Core * 2)&lt;/li&gt;
&lt;li&gt;Infiniband Switch&lt;/li&gt;
&lt;li&gt;Storage Server 3대 (16 Core * 2)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;HDD DISK Size : 252 TB&lt;/li&gt;
&lt;li&gt;Flash Cache (용량 15%) : 38.4 TB&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Quarter Rack (1/4)&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;DB server 2대 (24 Core * 2)&lt;/li&gt;
&lt;li&gt;Infiniband Switch&lt;/li&gt;
&lt;li&gt;Storage Server 3대 (16 Core * 2)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;HDD DISK Size : 504TB&lt;/li&gt;
&lt;li&gt;Flash Cache (용량 15%) : 76.8 TB&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Half Rack (1/2)&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;DB server 4대 (24 Core * 2)&lt;/li&gt;
&lt;li&gt;Infiniband Switch&lt;/li&gt;
&lt;li&gt;Storage Server 7대 (16 Core * 2)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;HDD DISK Size : 1,176TB&lt;/li&gt;
&lt;li&gt;Flash Cache (용량 15%) : 179.2 TB&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Full Rack&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;DB Server 8대 (24 Core * 2)&lt;/li&gt;
&lt;li&gt;Infiniband Switch&lt;/li&gt;
&lt;li&gt;Storage Server 14대 (16 Core * 2)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;HDD DISK Size : 2,352TB&lt;/li&gt;
&lt;li&gt;Flash Cache (용량 15%) : 358.4 TB&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;Storage&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;EF (Extreme&amp;nbsp;Flash) : 고성능 모델 / SDS or Flash Card&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;HC (High Capacity) : 고용량 모델 / SAS 디스크&lt;/b&gt;&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;b&gt;Source&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;youtube&quot; data-video-url=&quot;https://www.youtube.com/watch?v=Z3o7lEvy_ME&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/l00Km/hyVuiwZnpW/ErTF0rfcHYEOKOJ9T9AL7K/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720&quot; data-video-width=&quot;860&quot; data-video-height=&quot;484&quot; data-video-origin-width=&quot;860&quot; data-video-origin-height=&quot;484&quot; data-ke-mobilestyle=&quot;widthContent&quot; data-original-url=&quot;&quot; data-video-title=&quot;&quot;&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/Z3o7lEvy_ME&quot; width=&quot;860&quot; height=&quot;484&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption style=&quot;display: none;&quot;&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1108&quot; data-origin-height=&quot;1000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cLO5c7/btsFs2p9j3L/QNq15iAySptPJuMZlhyY91/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cLO5c7/btsFs2p9j3L/QNq15iAySptPJuMZlhyY91/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cLO5c7/btsFs2p9j3L/QNq15iAySptPJuMZlhyY91/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcLO5c7%2FbtsFs2p9j3L%2FQNq15iAySptPJuMZlhyY91%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;340&quot; height=&quot;307&quot; data-origin-width=&quot;1108&quot; data-origin-height=&quot;1000&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>RDBMS/ORACLE &amp;amp; TIBERO</category>
      <category>DW</category>
      <category>exadata</category>
      <category>OLAP</category>
      <category>OLTP</category>
      <category>Tibero</category>
      <category>Zetadata</category>
      <category>고성능</category>
      <category>고용량</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/176</guid>
      <comments>https://junsuyoun.tistory.com/entry/Tibero-ZetaData-%EA%B5%AC%EC%84%B1#entry176comment</comments>
      <pubDate>Mon, 4 Mar 2024 13:59:07 +0900</pubDate>
    </item>
    <item>
      <title>CUBRID HA 구성</title>
      <link>https://junsuyoun.tistory.com/entry/CUBRID-HA-%EA%B5%AC%EC%84%B1</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;CUBRID HA 구성을 다양하게 할 수 있습니다.&lt;/b&gt;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;구성&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 기본적인 구성 : Master Node : Slave Node&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1016&quot; data-origin-height=&quot;274&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/obNSq/btsFqYAHpzU/UxrzV2IOSqOjdm0pXjgwgK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/obNSq/btsFqYAHpzU/UxrzV2IOSqOjdm0pXjgwgK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/obNSq/btsFqYAHpzU/UxrzV2IOSqOjdm0pXjgwgK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FobNSq%2FbtsFqYAHpzU%2FUxrzV2IOSqOjdm0pXjgwgK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;350&quot; height=&quot;94&quot; data-origin-width=&quot;1016&quot; data-origin-height=&quot;274&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다중 슬레이브 구성 : Master Node : Slave Node : Slave Node : ...&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1534&quot; data-origin-height=&quot;274&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZWhcV/btsFoaaPWKp/a9kySFcOg2C9TZ2buTBE30/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZWhcV/btsFoaaPWKp/a9kySFcOg2C9TZ2buTBE30/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZWhcV/btsFoaaPWKp/a9kySFcOg2C9TZ2buTBE30/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZWhcV%2FbtsFoaaPWKp%2Fa9kySFcOg2C9TZ2buTBE30%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;89&quot; data-origin-width=&quot;1534&quot; data-origin-height=&quot;274&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;복제 구성 : Master Node : Replica Node&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1016&quot; data-origin-height=&quot;274&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ArLSc/btsFjWSpCjq/r8rgSdxqT3YJUa77BP05y1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ArLSc/btsFjWSpCjq/r8rgSdxqT3YJUa77BP05y1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ArLSc/btsFjWSpCjq/r8rgSdxqT3YJUa77BP05y1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FArLSc%2FbtsFjWSpCjq%2Fr8rgSdxqT3YJUa77BP05y1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;350&quot; height=&quot;94&quot; data-origin-width=&quot;1016&quot; data-origin-height=&quot;274&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;슬레이브/복제 구성 : Master Node : Slave Node : Replica Node&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1534&quot; data-origin-height=&quot;274&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kzvvf/btsFm34cLYp/WeICQkH2u457zzREqJPpkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kzvvf/btsFm34cLYp/WeICQkH2u457zzREqJPpkk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kzvvf/btsFm34cLYp/WeICQkH2u457zzREqJPpkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fkzvvf%2FbtsFm34cLYp%2FWeICQkH2u457zzREqJPpkk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;89&quot; data-origin-width=&quot;1534&quot; data-origin-height=&quot;274&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;역할&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1개의 Master Node와 다중 Slave Node, Replica Node를 구성하여 부하분산 및 배치 업무용으로도 구성을 할 수 있습니다.일반적으로는 Master : Slave 구성으로 HA 기본 기능만 수행하며, 추가적으로 부하분산 목적이 크다면 다중 Slave Node를 구성할 수 있습니다. 또한 Replica Node를 사용하여 별도의 업무를 추가할 수 있는데요. Master : Slave : Replica 구성으로 Master와 Slave는 HA 목적으로 활용하며 특정 테이블들만 Replica로 동기화를 하고 별도의 서비스를 Replica 단독으로 구성할 수 있어 연계 업무에 활용할 수 있습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Master Node
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Read/Write 구성 및 Slave Node로 복제 로그를 전달&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Slave Node
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Read 구성 및 Master Node로 부터 복제 로그를 받아 Master Node 동기화 유지&lt;/li&gt;
&lt;li&gt;Fail-Over 및 Fail-Back으로 Master Node의 역할을 수행할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Replica Node
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Read/Write 구성 가능 단, Write는 Replica Node에만 적용되며 타 Node에 적용되지 않음&lt;/li&gt;
&lt;li&gt;Fail-Over 및 Fail-Back 동작을 적용받지 못하며, Master Node 복제 로그를 반영하여 동기화만 할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;500&quot; data-origin-height=&quot;500&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bizK5z/btsFmgCCX6h/UgkfxmzptGXdB86qgWT5H1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bizK5z/btsFmgCCX6h/UgkfxmzptGXdB86qgWT5H1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bizK5z/btsFmgCCX6h/UgkfxmzptGXdB86qgWT5H1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbizK5z%2FbtsFmgCCX6h%2FUgkfxmzptGXdB86qgWT5H1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; data-origin-width=&quot;500&quot; data-origin-height=&quot;500&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>RDBMS/CUBRID &amp;amp; PostgreSQL</category>
      <category>CUBRID</category>
      <category>HA</category>
      <category>Slave</category>
      <category>동기화</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/174</guid>
      <comments>https://junsuyoun.tistory.com/entry/CUBRID-HA-%EA%B5%AC%EC%84%B1#entry174comment</comments>
      <pubDate>Thu, 29 Feb 2024 14:11:07 +0900</pubDate>
    </item>
    <item>
      <title>TIBERO 다중 노드 파라미터(Parameter) 확인</title>
      <link>https://junsuyoun.tistory.com/entry/TIBERO-Parameter%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0-%EB%8B%A4%EC%A4%91-%EB%85%B8%EB%93%9C%EC%9D%B8-%EA%B2%BD%EC%9A%B0</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;TIBERO 데이터베이스에서 다중 노드 구성 (TSC or TAC) 일 경우 파라미터 적용하는 경우 각 노드가 개별로 가져야하는 파라미터 값과 동일하게 가져야하는 파라미터를 알아 볼 수 있습니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;VT_PARAMETER 확인&lt;/b&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1709165695931&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- 같아도 되고 달라도 되고 상관 없음
SELECT * FROM VT_PARAMETER  WHERE GLOBAL='BOTH'

-- Node 별로 값이 같아야 한다.
SELECT * FROM VT_PARAMETER  WHERE GLOBAL='GLOBAL'

-- Node 별로 값이 달라야한다.
SELECT * FROM VT_PARAMETER  WHERE GLOBAL='LOCAL'&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;PUBLIC.VT_PARAMETER 을 조회할 때 GLOBAL 칼럼의 값이 구분하는데 사용 됩니다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;BOTH: 노드 마다 같아도 되고 달라도 되고&lt;/li&gt;
&lt;li&gt;GLOBAL: 노드 마다 같아야하고&lt;/li&gt;
&lt;li&gt;LOCAL: 노드 마다 달라도 된다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;VT_PARAMETER 조회&lt;/b&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1709165825502&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;NAME	&quot;TYPE&quot;	DFLT_VALUE	IS_OPTIONAL	IS_ADJUSTABLE	IS_DYNAMIC	IS_HIDDEN	BOUND	&quot;GLOBAL&quot;	VALUE	INST_VALUE	STATUS	INST_STATUS	&quot;RANGE&quot;
_INLINE_LOB_MAX_DATA_SIZE	UINT32	4096	1	1	1	1	SYS	BOTH	4096	4096	DEFAULT	DEFAULT	
BIND_VARIABLE_CAPTURE_POOL_SIZE	UINT64	4194304	1	1	0	0	SYS	BOTH	4194304	4194304	DEFAULT	DEFAULT	
BIND_VARIABLE_CAPTURE_POOL_PCTDEL	UINT32	10	1	1	0	0	SYS	BOTH	10	10	DEFAULT	DEFAULT	
_SGMT_MERGE_RECOVERY_TEST	INT32	0	1	1	1	1	SYS	BOTH	0	0	DEFAULT	DEFAULT	
_DP_TEMP_SGMT_CLEANUP_INTERVAL	UINT32	60	1	1	1	1	SYS	BOTH	60	60	DEFAULT	DEFAULT	0 - 86400 (0 - 86400 seconds)
_DP_LOAD_PARALLEL_SESSION_HOLD_GLOBAL_WLOCK	Y_N	NO	1	1	1	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_TD_IOT_USE_TRAIL_NULL	Y_N	YES	1	1	1	1	SYS	BOTH	YES	YES	DEFAULT	DEFAULT	
_ALLOW_SELECT_LIST_TO_LOB	Y_N	NO	1	1	1	1	SESS	BOTH	NO	NO	DEFAULT	DEFAULT	
_USGMT_USE_FREEPOOL	Y_N	YES	1	1	1	1	SESS	BOTH	YES	YES	DEFAULT	DEFAULT	
_DDL_DEFAULT_REDEF_PARALLEL_CNT	INT32	0	1	1	1	1	SYS	BOTH	0	0	DEFAULT	DEFAULT	
_DUMP_ALL_PROCESS	Y_N	YES	1	1	0	1	SYS	BOTH	YES	YES	DEFAULT	DEFAULT	
SHP_ALLOC_FULL_DUMP	Y_N	NO	1	1	1	0	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
SHP_ALLOC_DUMP_IDX	INT32	0	1	1	1	0	SYS	BOTH	0	0	DEFAULT	DEFAULT	
CLOSE_REMOTE_SESSION_ON_SESSION_RESET	Y_N	YES	1	1	1	0	SYS	BOTH	YES	YES	DEFAULT	DEFAULT	
BATCHUPDATE_MODE	INT32	1	1	1	1	0	SYS	BOTH	1	1	DEFAULT	DEFAULT	
_BATCHUPDATE_READ_MSG_IN_EX	Y_N	NO	1	1	1	1	SESS	BOTH	NO	NO	DEFAULT	DEFAULT	
_DDL_LOCK_GRACE_TIME_FOR_TBL_RENAME	INT32	0	1	1	1	1	SYS	BOTH	0	0	DEFAULT	DEFAULT	
BIND_VARIABLE_CAPTURE_ALLOC_COUNT	UINT32	4	1	1	0	0	SYS	BOTH	4	4	DEFAULT	DEFAULT	
BIND_VARIABLE_CAPTURE_KEEP_FIRST	Y_N	NO	1	1	1	0	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
BIND_VARIABLE_CAPTURE_MAX_VAR_COUNT	UINT32	512	1	1	1	0	SYS	BOTH	512	512	DEFAULT	DEFAULT	
_OPT_VSIZABLE_COLUMN_ON_TMPTBL	Y_N	NO	1	1	1	1	SESS	BOTH	NO	NO	DEFAULT	DEFAULT	
_OPT_ANALYZE_SKEWNESS	Y_N	YES	1	1	1	1	SESS	BOTH	YES	YES	DEFAULT	DEFAULT	
_DDL_DEFAULT_PARALLEL_CNT	INT32	0	1	1	1	1	SYS	BOTH	0	0	DEFAULT	DEFAULT	
_INDEX_BUILD_INTEGRITY_CHECK	Y_N	NO	1	1	1	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_USE_DD_IMAGE	Y_N	NO	1	1	1	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_DBMS_STATS_PARALLEL_GATHERING	Y_N	NO	1	1	1	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_DBMS_STATS_GATHER_AUTO_STALED	STRING	WEEKLY	1	1	1	1	SYS	BOTH	WEEKLY	WEEKLY	DEFAULT	DEFAULT	DAILY | WEEKLY | MONTHLY | NONE
_ROWID_SORT_MIN_EXCESS_CNT	UINT32	50	1	1	1	1	SESS	BOTH	50	50	DEFAULT	DEFAULT	0 ~ 1000000
OPTIMIZER_TRACE	Y_N	NO	1	1	1	0	SESS	BOTH	NO	NO	DEFAULT	DEFAULT	
USE_TRUNCATE_PRIVILEGE	Y_N	NO	1	1	1	0	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_EX_HJ_USE_MAX_PIN_CNT	Y_N	NO	1	1	1	1	SESS	BOTH	NO	NO	DEFAULT	DEFAULT	
_EX_SA_USE_MAX_PIN_CNT	Y_N	NO	1	1	1	1	SESS	BOTH	NO	NO	DEFAULT	DEFAULT	
_OPT_INDEX_JOIN_COMPLEX_RIGHT_CARD	UINT32	2	1	1	1	1	SESS	BOTH	2	2	DEFAULT	DEFAULT	0 ~ 1000000
BIND_VARIABLE_CAPTURE	Y_N	NO	1	1	1	0	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
BIND_VARIABLE_CAPTURE_MAX_COUNT	UINT32	1000	1	1	1	0	SYS	BOTH	1000	1000	DEFAULT	DEFAULT	10 ~ 1000000
BIND_VARIABLE_CAPTURE_INTERVAL	UINT32	600	1	1	1	0	SYS	BOTH	600	600	DEFAULT	DEFAULT	0 ~ 86400
_DDL_LOCK_GRACE_TIME_FOR_IDX_RENAME	INT32	0	1	1	1	1	SYS	BOTH	0	0	DEFAULT	DEFAULT	
_DDL_PROCEED_FORCE	Y_N	NO	1	1	1	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_DDL_INDEX_REBUILD_WITHOUT_LOCK	Y_N	NO	1	1	1	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_ENABLE_SIMPLE_HASH_JOIN_OPTIMIZE	Y_N	NO	1	1	1	1	SESS	BOTH	NO	NO	DEFAULT	DEFAULT	
SUMMARY_FIRST_IN_GROUPBY_CUBE	Y_N	NO	1	1	1	0	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_DECODE_TO_OR	Y_N	NO	1	1	1	1	SESS	BOTH	NO	NO	DEFAULT	DEFAULT	
_TRANS_DECODE_TO_OR	Y_N	NO	1	1	1	1	SESS	BOTH	NO	NO	DEFAULT	DEFAULT	
_TEST_TX_RECOVERY_DELAYTIME	INT32	0	1	1	1	1	SYS	BOTH	0	0	DEFAULT	DEFAULT	
_DD_CACHE_INVALIDATE_GLOBAL	Y_N	NO	1	1	1	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_VIRTUAL_PRIVATE_DATABASE	Y_N	YES	1	1	0	1	SYS	BOTH	YES	YES	DEFAULT	DEFAULT	
_SCAN_DROPPED_SGMT_CR_RETRY	Y_N	YES	1	1	1	1	SYS	BOTH	YES	YES	DEFAULT	DEFAULT	
_BUF_BUCKET_CR_LIMIT	Y_N	NO	1	1	0	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_BUF_BUCKET_CR_LIMIT_MAX	INT32	5	1	1	0	1	SYS	BOTH	5	5	DEFAULT	DEFAULT	
_BUF_BUCKET_CR_LIMIT_SKIP	Y_N	YES	1	1	0	1	SYS	BOTH	YES	YES	DEFAULT	DEFAULT	
_BUF_BUCKET_CR_LIMIT_SKIP_LOCK_FREE	Y_N	NO	1	1	1	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_MBR_DROPPED_SGMT	Y_N	YES	1	1	1	1	SYS	BOTH	YES	YES	DEFAULT	DEFAULT	
_MBR_DROPPED_SGMT_DUMP	Y_N	YES	1	1	1	1	SYS	BOTH	YES	YES	DEFAULT	DEFAULT	
_BUF_RESOLVE_SELF_DEADLOCK_FORCE	Y_N	NO	1	1	1	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_BUF_BUCKET_CR_SORT	Y_N	NO	1	1	0	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_ENABLE_PRIOR_EXP_ORDERBY	Y_N	NO	1	1	1	1	SESS	BOTH	NO	NO	DEFAULT	DEFAULT	
_ENABLE_MRG_TDD_MU	Y_N	NO	1	1	1	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_ENABLE_MRG_TDD_MI	Y_N	YES	1	1	1	1	SYS	BOTH	YES	YES	DEFAULT	DEFAULT	
_DDL_LOCK_GRACE_TIME_FOR_IDX_REBUILD	INT32	-1	1	1	1	1	SYS	BOTH	-1	-1	DEFAULT	DEFAULT	
_DDL_LOCK_GRACE_TIME	INT32	10	1	1	1	1	SYS	BOTH	10	10	DEFAULT	DEFAULT	
_USE_DML_WITH_CURBLK	Y_N	YES	1	1	1	1	SYS	BOTH	YES	YES	DEFAULT	DEFAULT	
_ALLOW_OPEN_NORMAL	Y_N	YES	1	1	1	1	SYS	BOTH	YES	YES	DEFAULT	DEFAULT	
_DISABLE_DML_TRIGGER_SCHEMA	STRING		1	1	1	1	SYS	BOTH			DEFAULT	DEFAULT	
_ADJUST_CKPT_RBA_TO_CKPT_TSN	Y_N	YES	1	1	1	1	SYS	BOTH	YES	YES	DEFAULT	DEFAULT	
_DBWR_BLK_MOVE_TO_LRU_MAIN_MIDDLE	Y_N	YES	1	1	1	1	SYS	BOTH	YES	YES	DEFAULT	DEFAULT	
_FREE_BH_USE_DBWR_AFFINITY	Y_N	YES	1	1	1	1	SYS	BOTH	YES	YES	DEFAULT	DEFAULT	
_FREE_BH_USE_DBWR_AFFINITY_IR	Y_N	NO	1	1	1	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_FREE_BH_USE_DBWR_AFFINITY_FORCE	Y_N	NO	1	1	1	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_DBWR_AFFINITY_SHIFT	UINT32	0	1	1	0	1	SYS	BOTH	0	0	DEFAULT	DEFAULT	0 - 12
_DBWR_RESOLVE_SKIPPED_GWR_ENTRY	Y_N	YES	1	1	1	1	SYS	BOTH	YES	YES	DEFAULT	DEFAULT	
_CCC_PB_MERGE_UPDATE_TSN_HIGH	Y_N	NO	1	1	1	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_CCC_ALWAYS_SEND_WRITE_NOTIFY	Y_N	NO	1	1	1	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_USE_BUCKET_HASH_V2	Y_N	YES	1	1	0	1	SYS	BOTH	YES	YES	DEFAULT	DEFAULT	
_DDL_DEFAULT_INITRANS	INT32	2	1	1	1	1	SYS	BOTH	2	2	DEFAULT	DEFAULT	
_OPT_STAT_COLLECTION_V2	Y_N	YES	1	1	1	1	SESS	BOTH	YES	YES	DEFAULT	DEFAULT	
_DBMS_STATS_USE_TMP_TBL	Y_N	NO	1	1	1	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_ENABLE_IOT_OVERFLOW_MI	Y_N	NO	1	1	0	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
LOG_LVL_AS	UINT32	5	1	1	1	0	SYS	BOTH	5	5	DEFAULT	DEFAULT	1 - 6
_LRUF_WRITE_CLEAN_CR_FORCE	Y_N	NO	1	1	1	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_NOTIFICATION_SENDER_COUNT	INT32	1	1	1	0	1	SYS	BOTH	1	1	DEFAULT	DEFAULT	1 ~ 4
_NOTIFICATION_MAX_COUNT_PER_SENDER	INT32	1024	1	1	0	1	SYS	BOTH	1024	1024	DEFAULT	DEFAULT	
_TQ_BUCKET_COUNT_PER_SENDER	INT32	128	1	1	0	1	SYS	BOTH	128	128	DEFAULT	DEFAULT	
_NOTIFICATION_NETWORK_TIMEOUT	INT32	1	1	1	0	1	SYS	BOTH	1	1	DEFAULT	DEFAULT	
_CR_BUILD_USE_HANG_DETECTION	Y_N	NO	1	1	1	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_CRX_BUILD_USE_HANG_DETECTION	Y_N	NO	1	1	1	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_AGENT_CR_BUILD_USE_HANG_DETECTION	Y_N	NO	1	1	1	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_HANG_DECTECTION_WITH_BLOCK_IMAGE_BACKUP	Y_N	NO	1	1	1	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_CR_BUILD_TIME_LIMIT	UINT32	60	1	1	1	1	SYS	BOTH	60	60	DEFAULT	DEFAULT	
_CRX_BUILD_TIME_LIMIT	UINT32	60	1	1	1	1	SYS	BOTH	60	60	DEFAULT	DEFAULT	
_AGENT_CR_BUILD_TIME_LIMIT	UINT32	10	1	1	1	1	SYS	BOTH	10	10	DEFAULT	DEFAULT	
_CR_BUILD_TRY_CNT_IN_DEBUG_MODE	INT32	10	1	1	1	1	SYS	BOTH	10	10	DEFAULT	DEFAULT	
_CRX_BUILD_TRY_CNT_IN_DEBUG_MODE	INT32	10	1	1	1	1	SYS	BOTH	10	10	DEFAULT	DEFAULT	
_CR_AGENT_CAN_BE_DISABLED_BY_HANG	Y_N	YES	1	1	1	1	SYS	BOTH	YES	YES	DEFAULT	DEFAULT	
DISK_PATH	STRING		1	1	0	0	SYS	BOTH			DEFAULT	DEFAULT	
_PROXY_DEFERRED_PUT_BUF_SIZE	INT32	32768	1	1	1	1	SESS	BOTH	32768	32768	DEFAULT	DEFAULT	4K ~ 1M
_TLOB_SLAB_EXT_SIZE	INT32	2	1	1	0	1	SYS	BOTH	2	2	DEFAULT	DEFAULT	
_FORCE_NATIVE_ALLOC_USE	Y_N	NO	1	1	0	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_SUPPLOG_FOR_ALL_TABLES	Y_N	NO	1	1	1	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_SUPPLOG_PKEY_FOR_ALL_TABLES	Y_N	NO	1	1	1	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_EXTRA_SUPPLOG_FOR_UPDATE_QUERY	Y_N	NO	1	1	0	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_DUMMY_TX_LOGGING	Y_N	NO	1	1	1	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_DUMMY_TX_LOGGING_INTERVAL	INT32	3	1	1	1	1	SYS	BOTH	3	3	DEFAULT	DEFAULT	0 - INT32_MAX
_RECR_HANDLE_PIN_COUNT_MAX	UINT32	32768	1	1	1	1	SYS	BOTH	32768	32768	DEFAULT	DEFAULT	1024 ~ UINT16_MAX
_MALLOPT_DISCLAIM_CHECK_INTERVAL	UINT32	60	1	1	1	1	SYS	BOTH	60	60	DEFAULT	DEFAULT	
_MALLOPT_DISCLAIM_LIMIT	UINT64	1048576	1	1	1	1	SYS	BOTH	1048576	1048576	DEFAULT	DEFAULT	
_DB_BLOCK_INVAL_BLOCK_TYPE_DUMP	Y_N	YES	1	1	1	1	SYS	BOTH	YES	YES	DEFAULT	DEFAULT	
_DB_BLOCK_CHECK_FAIL_DUMP	Y_N	YES	1	1	1	1	SYS	BOTH	YES	YES	DEFAULT	DEFAULT	
_DISABLE_NORM_COMP	Y_N	YES	1	1	1	1	SESS	BOTH	YES	YES	DEFAULT	DEFAULT	
_TLOB_USE_PGA	Y_N	YES	1	1	1	1	SESS	BOTH	YES	YES	DEFAULT	DEFAULT	
_TLOB_AUTO_ELIMINATION_TIME	UINT32	0	1	1	1	1	SESS	BOTH	0	0	DEFAULT	DEFAULT	0 ~ 86400
_TLOB_SLAB_CHILD_SIZE	INT32	12	1	1	0	1	SYS	BOTH	12	12	DEFAULT	DEFAULT	
_TLOB_SLAB_INIT_SIZE	INT32	2	1	1	0	1	SYS	BOTH	2	2	DEFAULT	DEFAULT	
_ESCAPE_INF_CR_BUILD	INT32	2147483647	1	1	1	1	SYS	BOTH	2147483647	2147483647	DEFAULT	DEFAULT	
_ESCAPE_INF_CRX_BUILD	INT32	2147483647	1	1	1	1	SYS	BOTH	2147483647	2147483647	DEFAULT	DEFAULT	
_ESCAPE_INF_AGENT_CR_BUILD	INT32	2147483647	1	1	1	1	SYS	BOTH	2147483647	2147483647	DEFAULT	DEFAULT	
_IGNORE_PCTFREE_FOR_INSERT	Y_N	NO	1	1	1	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_LOG_INVALID_FREESPACE_INSTEAD_OF_ASSERT	Y_N	NO	1	1	1	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_CORRECT_RPCOL_LEN_FOR_DP	Y_N	NO	1	1	1	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_DPL_SET_BM_FULL	Y_N	YES	1	1	1	1	SYS	BOTH	YES	YES	DEFAULT	DEFAULT	
_EX_ROWID_SORT_MAX_PREFETCH	UINT32	7	1	1	1	1	SYS	BOTH	7	7	DEFAULT	DEFAULT	0 ~ 64
_BUF_GET_PREFETCH_CNT	UINT32	0	1	1	0	1	SYS	BOTH	0	0	DEFAULT	DEFAULT	0 ~ 64
_BUF_PIN_WAIT_DIAG_DUMP	Y_N	YES	1	1	1	1	SYS	BOTH	YES	YES	DEFAULT	DEFAULT	
_BUF_PIN_WAIT_DIAG_DUMP_ALL_BUCKETS	Y_N	YES	1	1	1	1	SYS	BOTH	YES	YES	DEFAULT	DEFAULT	
_BUF_PIN_WAIT_DIAG_DUMP_LRU	Y_N	NO	1	1	1	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_BUF_PIN_WAIT_DIAG_DUMP_DBWR	Y_N	YES	1	1	1	1	SYS	BOTH	YES	YES	DEFAULT	DEFAULT	
_BUF_PIN_WAIT_DIAG_DUMP_TIMEOUT	INT32	600	1	1	1	1	SYS	BOTH	600	600	DEFAULT	DEFAULT	
_BUF_PIN_WAIT_DIAG_DUMP_INTERVAL	INT32	180	1	1	1	1	SYS	BOTH	180	180	DEFAULT	DEFAULT	
_BUF_PIN_WAIT_BUCKET_DUMP_INTERVAL	INT32	3600	1	1	1	1	SYS	BOTH	3600	3600	DEFAULT	DEFAULT	
_BUF_PIN_WAIT_LRU_DUMP_INTERVAL	INT32	3600	1	1	1	1	SYS	BOTH	3600	3600	DEFAULT	DEFAULT	
_BUF_PIN_WAIT_DIAG_DUMP_CNT	INT32	10	1	1	1	1	SYS	BOTH	10	10	DEFAULT	DEFAULT	
_ENABLE_IOT_MI	Y_N	NO	1	1	0	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_USE_PSM_PREFETCH	Y_N	YES	1	1	1	1	SYS	BOTH	YES	YES	DEFAULT	DEFAULT	
_EX_HTBL_BUILD_SESSKILL_CHK_CNT	INT32	1000	1	1	1	1	SESS	BOTH	1000	1000	DEFAULT	DEFAULT	
_ACS_MAX_PREDICATE_COUNT	UINT32	16	1	1	1	1	SYS	BOTH	16	16	DEFAULT	DEFAULT	
_RECO_STATUS_ACK_SLEEP_DURATION	INT32	100000	1	1	1	1	SYS	BOTH	100000	100000	DEFAULT	DEFAULT	
ACTIVE_SESSION_TIMEOUT	INT32	0	1	1	1	0	SESS	BOTH	0	0	DEFAULT	DEFAULT	
_EX_TSCAN_ROWID_SFC	Y_N	YES	1	1	1	1	SESS	BOTH	YES	YES	DEFAULT	DEFAULT	
_EX_FILTER_SFC	Y_N	YES	1	1	1	1	SESS	BOTH	YES	YES	DEFAULT	DEFAULT	
_DDL_RECOVERY_TEST	INT32	0	1	1	1	1	SYS	BOTH	0	0	DEFAULT	DEFAULT	
_EX_WC_SIZE	UINT32	0	1	1	0	1	SYS	BOTH	0	0	DEFAULT	DEFAULT	0 - 1000
_ENABLE_INLIST_ISCAN	Y_N	NO	1	1	1	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_EX_TSCAN_SFC	Y_N	YES	1	1	0	1	SESS	BOTH	YES	YES	DEFAULT	DEFAULT	
_ENABLE_LIKE_TO_OP	Y_N	YES	1	1	1	1	SESS	BOTH	YES	YES	DEFAULT	DEFAULT	
_PCTAS_SKIP_UNDO	Y_N	YES	1	1	1	1	SESS	BOTH	YES	YES	DEFAULT	DEFAULT	
_SKIP_UNDO	Y_N	NO	1	1	1	1	SESS	BOTH	NO	NO	DEFAULT	DEFAULT	
_CHECK_INSERT_UNDO_CV	Y_N	NO	1	1	1	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_SPAN_UNDO	Y_N	YES	1	1	1	1	SYS	BOTH	YES	YES	DEFAULT	DEFAULT	
_SPAN_UNDO_MIN	UINT32	100	1	1	1	1	SYS	BOTH	100	100	DEFAULT	DEFAULT	
_ADAPTIVE_CURSOR_SHARING	Y_N	NO	1	1	0	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_ACS_STAT_THRESHOLD	UINT32	50	1	1	1	1	SYS	BOTH	50	50	DEFAULT	DEFAULT	
_BUF_BUCKET_CR_SORT_CHECK_CUR_POS	Y_N	NO	1	1	0	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_DISABLE_CR_SORT_FOR_INVALID_BUCKET	Y_N	YES	1	1	1	1	SYS	BOTH	YES	YES	DEFAULT	DEFAULT	
_DDL_MOVE_COMPRESS_PARALLEL	INT32	0	1	1	1	1	SYS	BOTH	0	0	DEFAULT	DEFAULT	
_DDL_AUTO_SUPPLOG_CTBL	Y_N	NO	1	1	1	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_DDL_AFTER_TRIGGER_FIRE_WHEN_FAILURE	Y_N	NO	1	1	1	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
STATS_RETENTION	INT32	31	1	1	1	1	SYS	BOTH	31	31	DEFAULT	DEFAULT	
_ENABLE_DBMS_STATS_TRACE	Y_N	NO	1	1	1	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_LOG_FILE_WITH_GROUP_READ_PERM	Y_N	NO	1	1	0	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_FILE_DELETE_PROTECTION	Y_N	NO	1	1	0	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_TXINFO_SLAB_CHILD_SIZE	INT32	12	1	1	0	1	SYS	BOTH	12	12	DEFAULT	DEFAULT	
_TXINFO_SLAB_INIT_SIZE	INT32	2	1	1	0	1	SYS	BOTH	2	2	DEFAULT	DEFAULT	
_TXINFO_SLAB_EXT_SIZE	INT32	1	1	1	0	1	SYS	BOTH	1	1	DEFAULT	DEFAULT	
_CL_LIST_SLAB_CHILD_SIZE	INT32	12	1	1	0	1	SYS	BOTH	12	12	DEFAULT	DEFAULT	
_CL_LIST_SLAB_INIT_SIZE	INT32	2	1	1	0	1	SYS	BOTH	2	2	DEFAULT	DEFAULT	
_CL_LIST_SLAB_EXT_SIZE	INT32	2	1	1	0	1	SYS	BOTH	2	2	DEFAULT	DEFAULT	
_CTSN_CACHE_SLAB_CHILD_SIZE	INT32	12	1	1	0	1	SYS	BOTH	12	12	DEFAULT	DEFAULT	
_CTSN_CACHE_SLAB_INIT_SIZE	INT32	2	1	1	0	1	SYS	BOTH	2	2	DEFAULT	DEFAULT	
_CTSN_CACHE_SLAB_EXT_SIZE	INT32	1	1	1	0	1	SYS	BOTH	1	1	DEFAULT	DEFAULT	
_DDL_MOVE_COMPRESS_ORDER_BY	Y_N	NO	1	1	1	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_PPC_ELEM_AGGR_SIZE_MAX	INT64	4294967	1	1	1	1	SYS	BOTH	4294967	4294967	DEFAULT	DEFAULT	
_OPT_CHECK_INLIST_EXPAND	Y_N	YES	1	1	1	1	SYS	BOTH	YES	YES	DEFAULT	DEFAULT	
_AUTO_RECR_HANDLE_GC	Y_N	YES	1	1	1	1	SYS	BOTH	YES	YES	DEFAULT	DEFAULT	
_AUTO_RECR_HANDLE_GC_INTERVAL	UINT32	1	1	1	1	1	SYS	BOTH	1	1	DEFAULT	DEFAULT	
_RECR_HANDLE_GC_LEVEL	UINT32	20	1	1	1	1	SYS	BOTH	20	20	DEFAULT	DEFAULT	
_CHECK_NORMAL_BOOT_MODE	Y_N	NO	1	1	0	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_BATCH_UPDATE_TCP_RCVBUF_SIZE	UINT32	1048576	1	1	0	1	SYS	BOTH	1048576	1048576	DEFAULT	DEFAULT	
_EX_SSGMT_MBRC	INT32	8	1	1	1	1	SESS	BOTH	8	8	DEFAULT	DEFAULT	
_ACOAL_ELEM_POOL_INIT_SIZE	INT32	100	1	1	0	1	SYS	BOTH	100	100	DEFAULT	DEFAULT	
_ACOAL_ELEM_POOL_EXP_SIZE	INT32	100	1	1	0	1	SYS	BOTH	100	100	DEFAULT	DEFAULT	
_ACOAL_ELEM_FREELIST_CNT	INT32	1	1	1	0	1	SYS	BOTH	1	1	DEFAULT	DEFAULT	
_TTS_SPIN_SET_COUNT_MAX	INT32	1	1	1	0	1	SYS	BOTH	1	1	DEFAULT	DEFAULT	
_SPIN_USE_WAITER_LIST	Y_N	YES	1	1	0	1	SYS	BOTH	YES	YES	DEFAULT	DEFAULT	
_SPINLOCK_FEATURE2	Y_N	YES	1	1	0	1	SYS	BOTH	YES	YES	DEFAULT	DEFAULT	
_NO_QUERY_TRANSFORMATION	Y_N	NO	1	1	1	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_DDL_NEW_TRUNCATE	Y_N	YES	1	1	1	1	SYS	BOTH	YES	YES	DEFAULT	DEFAULT	
LIBRARY_DD_CACHE_MAX	UINT64	429706444	1	1	1	0	SYS	BOTH	429496729	429496729	DEFAULT	DEFAULT	10M -
_SHP_ADVICE_INFO_COLLECTION_INTERVAL	UINT32	864000	1	1	1	1	SYS	BOTH	864000	864000	DEFAULT	DEFAULT	
TEMP_TS_CNT_MAX	INT32	10	1	1	0	0	SYS	BOTH	10	10	DEFAULT	DEFAULT	
_TEMP_TS_IO_USE_O_DIRECT	Y_N	NO	1	1	1	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT	
_SESS_LTIME_SLAB_CHILD_SIZE	INT32	12	1	1	0	1	SYS	BOTH	12	12	DEFAULT	DEFAULT	
_AS_DMON_TERM	INT32	30	1	1	1	1	SYS	BOTH	30	30	DEFAULT	DEFAULT	0 - 10000
_AS_DMON_CHECK_RETRY_CNT	UINT32	3	1	1	1	1	SYS	BOTH	3	3	DEFAULT	DEFAULT	0 - 128
_AS_EXTMAP_MEM_LIMIT	INT64	214748364	1	1	1	1	SYS	BOTH	214748364	214748364	DEFAULT	DEFAULT	
_AS_EXTPAGE_LOCK_CNT	UINT32	4096	1	1	0	1	SYS	BOTH	4096	4096	DEFAULT	DEFAULT	
_AS_EXTPAGE_WS_CNT	UINT32	24	1	1	0	1	SYS	BOTH	24	24	DEFAULT	DEFAULT	
_AS_AIOCB_SPLIT_CNT	UINT32	6	1	1	1	1	SYS	BOTH	6	6	DEFAULT	DEFAULT	
_AS_IO_FAIL_NOTI_INTERVAL	UINT32	180	1	1	1	1	SYS	BOTH	180	180	DEFAULT	DEFAULT	
_AS_FREE_ATB_RETRY_MAX	UINT32	10	1	1	1	1	SYS	BOTH	10	10	DEFAULT	DEFAULT	
_AS_ALLOC_FAIL_RETRY_MAX	UINT32	10	1	1	1	1	SYS	BOTH	10	10	DEFAULT	DEFAULT	
_AS_LISTIO_DEBUG	Y_N	NO	1	1	1	1	SYS	BOTH	NO	NO	DEFAULT	DEFAULT&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;557&quot; data-origin-height=&quot;220&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cfF2iy/btsFmnayxlE/TWQKGPlaGIOrfxHAulaEhK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cfF2iy/btsFmnayxlE/TWQKGPlaGIOrfxHAulaEhK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cfF2iy/btsFmnayxlE/TWQKGPlaGIOrfxHAulaEhK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcfF2iy%2FbtsFmnayxlE%2FTWQKGPlaGIOrfxHAulaEhK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;557&quot; height=&quot;220&quot; data-origin-width=&quot;557&quot; data-origin-height=&quot;220&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>RDBMS/ORACLE &amp;amp; TIBERO</category>
      <category>parameter</category>
      <category>RDBMS</category>
      <category>Tibero</category>
      <category>파라미터</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/173</guid>
      <comments>https://junsuyoun.tistory.com/entry/TIBERO-Parameter%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0-%EB%8B%A4%EC%A4%91-%EB%85%B8%EB%93%9C%EC%9D%B8-%EA%B2%BD%EC%9A%B0#entry173comment</comments>
      <pubDate>Thu, 29 Feb 2024 09:18:38 +0900</pubDate>
    </item>
    <item>
      <title>Container: mysql MYSQL_ROOT_PASSWORD 잊어버린 경우</title>
      <link>https://junsuyoun.tistory.com/entry/Container-mysql-MYSQLROOTPASSWORD-%EC%9E%8A%EC%96%B4%EB%B2%84%EB%A6%B0-%EA%B2%BD%EC%9A%B0</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;도커 환경에서 컨테이너를 배포했을 경우 비밀번호를 잊어버린 경우가 있는데요. 그럴 때 다음과 같은 방법으로 비밀번호를 찾을 수 있습니다. 비밀번호를 잊어버렸다고 컨테이너 삭제 후 재배포하는 비효율을 없앨 수 있습니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;문제&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;테스트 용으로 배포 해놓고 오랫동안 접속을 안하는 경우 비밀번호를 잊어버려 재배포하는 경우가 있습니다.&lt;/li&gt;
&lt;li&gt;비밀번호를 잊어버렸다고 재배포하지 않는 방법을 알아보겠습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;해결&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;도커 서버에서는 컨테이너의 프로세스 ID를 확인할 수 있습니다.&lt;/li&gt;
&lt;li&gt;컨테이너 프로세스 ID로 배포될 때 적용한 MYSQL_ROOT_PASSWORD 변수를 확인할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1705390156548&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@junsu-desktop 1262421]docker_host# ps -ef |grep my
systemd+ 1262421 1262400  0  1월15 pts/0  00:04:57 mysqld
root     2062517 2000852  0 16:26 pts/1    00:00:00 grep --color=auto my

[root@junsu-desktop 1262421]docker_host# cd /proc/1262421

[root@junsu-desktop 1262421]docker_host# strings environ 
MYSQL_PASSWORD=
HOSTNAME=fed334bfe48a
MYSQL_DATABASE=
MYSQL_ROOT_PASSWORD=비밀번호
PWD=/
HOME=/var/lib/mysql
MYSQL_MAJOR=8.0
GOSU_VERSION=1.16
MYSQL_USER=
MYSQL_VERSION=8.0.33-1.el8
TERM=xterm
SHLVL=0
MYSQL_ROOT_HOST=%
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
MYSQL_SHELL_VERSION=8.0.33-1.el8&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;488&quot; data-origin-height=&quot;252&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZfEYD/btsDyQd27LR/4kmkXcKGCi7A6D9GM4AxZ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZfEYD/btsDyQd27LR/4kmkXcKGCi7A6D9GM4AxZ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZfEYD/btsDyQd27LR/4kmkXcKGCi7A6D9GM4AxZ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZfEYD%2FbtsDyQd27LR%2F4kmkXcKGCi7A6D9GM4AxZ0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;488&quot; height=&quot;252&quot; data-origin-width=&quot;488&quot; data-origin-height=&quot;252&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>RDBMS/MySQL &amp;amp; MariaDB</category>
      <category>Container</category>
      <category>MySQL</category>
      <category>비밀번호</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/172</guid>
      <comments>https://junsuyoun.tistory.com/entry/Container-mysql-MYSQLROOTPASSWORD-%EC%9E%8A%EC%96%B4%EB%B2%84%EB%A6%B0-%EA%B2%BD%EC%9A%B0#entry172comment</comments>
      <pubDate>Tue, 16 Jan 2024 16:30:08 +0900</pubDate>
    </item>
    <item>
      <title>Visual Studio Code (비주얼 스튜디오 코드) 대소문자 일괄 변경</title>
      <link>https://junsuyoun.tistory.com/entry/Visual-Studio-Code-%EB%B9%84%EC%A3%BC%EC%96%BC-%EC%8A%A4%ED%8A%9C%EB%94%94%EC%98%A4-%EC%BD%94%EB%93%9C-%EB%8C%80%EC%86%8C%EB%AC%B8%EC%9E%90-%EC%9D%BC%EA%B4%84-%EB%B3%80%EA%B2%BD</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Visual Studio Code에서 대소문자를 일괄 변경하는 방법&lt;/b&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;문제&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일반적으로 대소문자를 혼용해서 사용하다가 대문자를 소문자로 또는 소문자를 대문자로 변경하고 싶을 수가 있습니다. 이러한 경우 Visual Studio Code의 &quot;transform to&quot; 기능을 사용하면 일괄 변경이 가능 합니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;해결&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Ctrl + P&amp;nbsp;&lt;/li&gt;
&lt;li&gt;transform to&lt;/li&gt;
&lt;li&gt;원하는 유형으로 일괄 변경 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;626&quot; data-origin-height=&quot;195&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4Pu2d/btsDohqBWga/zAa0kJEdi9GTbAV2oy1Gnk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4Pu2d/btsDohqBWga/zAa0kJEdi9GTbAV2oy1Gnk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4Pu2d/btsDohqBWga/zAa0kJEdi9GTbAV2oy1Gnk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4Pu2d%2FbtsDohqBWga%2FzAa0kJEdi9GTbAV2oy1Gnk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;626&quot; height=&quot;195&quot; data-origin-width=&quot;626&quot; data-origin-height=&quot;195&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Operation System/Windows</category>
      <category>VisualStudioCode</category>
      <category>대소문자</category>
      <category>일괄변경</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/170</guid>
      <comments>https://junsuyoun.tistory.com/entry/Visual-Studio-Code-%EB%B9%84%EC%A3%BC%EC%96%BC-%EC%8A%A4%ED%8A%9C%EB%94%94%EC%98%A4-%EC%BD%94%EB%93%9C-%EB%8C%80%EC%86%8C%EB%AC%B8%EC%9E%90-%EC%9D%BC%EA%B4%84-%EB%B3%80%EA%B2%BD#entry170comment</comments>
      <pubDate>Mon, 15 Jan 2024 09:39:52 +0900</pubDate>
    </item>
    <item>
      <title>윈도우에서 애플에서 만든 자음 모음 분리되는 현상</title>
      <link>https://junsuyoun.tistory.com/entry/%EC%9C%88%EB%8F%84%EC%9A%B0%EC%97%90%EC%84%9C-%EC%95%A0%ED%94%8C%EC%97%90%EC%84%9C-%EB%A7%8C%EB%93%A0-%EC%9E%90%EC%9D%8C-%EB%AA%A8%EC%9D%8C-%EB%B6%84%EB%A6%AC%EB%90%98%EB%8A%94-%ED%98%84%EC%83%81</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;파일을 저장할 때 사용되는 파일명의 문자 인코딩 방식이 달라서 그런대요. 애플 제품의 경우 기본적으로 UTF-8을 사용하고 있습니다. 윈도우에서는 CP949가 기본 문자 집합이라서 애플 제품에서 생성한 파일을 윈도우에 다운로드하는 경우 자음과 모음이 분리됩니다. 다만, Windows에서 유니코드 UTF-8을 기본으로 설정하면 해당 문제를 해결할 수 있지만, 다른 엑셀파일과 같이 한글이 모두 깨져 보일 수 있기 때문에 바꾸지 않고 다음 해결 방법을 통해 사용하시기 바랍니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;문제&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;애플 제품과 윈도우의 제품의 파일명의 문자 저장 인코딩 방식이 달라서 발생&lt;/li&gt;
&lt;li&gt;윈도우 인코딩 방식을 바꿔 해결 할 수 있으나 호환성이 낮아 사용 비권장해결&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;해결&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파일명을 단순히 수정해주면 되지만 너무 많은 파일들을 일일이 작업하는건 비효율이다.&lt;/li&gt;
&lt;li&gt;nfd2nfc 도구를 사용하면 이러한 불편한 문제를 해결해준다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/srY2X/btsDnwVyfXj/aKNUyVSucKNPiRC6IZrguk/nfd2nfc.exe?attach=1&amp;amp;knm=tfile.exe&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;nfd2nfc.exe&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;1.21MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;614&quot; data-origin-height=&quot;342&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dsz0Ph/btsDql6AfMt/bTQyAfdOJjv6CjfYERSqg0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dsz0Ph/btsDql6AfMt/bTQyAfdOJjv6CjfYERSqg0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dsz0Ph/btsDql6AfMt/bTQyAfdOJjv6CjfYERSqg0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdsz0Ph%2FbtsDql6AfMt%2FbTQyAfdOJjv6CjfYERSqg0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;614&quot; height=&quot;342&quot; data-origin-width=&quot;614&quot; data-origin-height=&quot;342&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;애플 제품에서 저장된 파일을 다운로드하여 자음과 모음이 분리되어있는 상태&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;619&quot; data-origin-height=&quot;585&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OxLoH/btsDqcaZUgZ/frXSi0CozvcC1mpiSOAFAK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OxLoH/btsDqcaZUgZ/frXSi0CozvcC1mpiSOAFAK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OxLoH/btsDqcaZUgZ/frXSi0CozvcC1mpiSOAFAK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOxLoH%2FbtsDqcaZUgZ%2FfrXSi0CozvcC1mpiSOAFAK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;619&quot; height=&quot;585&quot; data-origin-width=&quot;619&quot; data-origin-height=&quot;585&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;원하는 경로에서 nfd2nfc.exe를 사용해주면 자음과 모음이 다시 합쳐지게 된다.&lt;/b&gt;&lt;/p&gt;</description>
      <category>Operation System/Windows</category>
      <category>centos</category>
      <category>Linux</category>
      <category>passwd</category>
      <category>password</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/169</guid>
      <comments>https://junsuyoun.tistory.com/entry/%EC%9C%88%EB%8F%84%EC%9A%B0%EC%97%90%EC%84%9C-%EC%95%A0%ED%94%8C%EC%97%90%EC%84%9C-%EB%A7%8C%EB%93%A0-%EC%9E%90%EC%9D%8C-%EB%AA%A8%EC%9D%8C-%EB%B6%84%EB%A6%AC%EB%90%98%EB%8A%94-%ED%98%84%EC%83%81#entry169comment</comments>
      <pubDate>Sat, 13 Jan 2024 18:13:25 +0900</pubDate>
    </item>
    <item>
      <title>passwd: command not found</title>
      <link>https://junsuyoun.tistory.com/entry/passwd-command-not-found</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;passwd 유틸리티 설치&lt;/b&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;passwd&lt;br /&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;CentOS&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1664416543927&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;yum install -y passwd&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Ubuntu&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1664416548735&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;apt-get install -y passwd&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;837&quot; data-origin-height=&quot;369&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ehZm7C/btsDhTIiq9G/FeRddA1kE79Sn6EymxGeT1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ehZm7C/btsDhTIiq9G/FeRddA1kE79Sn6EymxGeT1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ehZm7C/btsDhTIiq9G/FeRddA1kE79Sn6EymxGeT1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FehZm7C%2FbtsDhTIiq9G%2FFeRddA1kE79Sn6EymxGeT1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;837&quot; height=&quot;369&quot; data-origin-width=&quot;837&quot; data-origin-height=&quot;369&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;패키지 매니저로 설치가 불가능한 경우 아래 링크를 통해 직접 파일로 다운 받아 설치 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure id=&quot;og_1664416574355&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  package  / utility / libarary 파일 다운로드&quot; data-og-description=&quot;리눅스 환경에서 yum 또는 apt-get과 같은 패키지 관리자로 패키지를 다운 받지 못할 때 파일로 준비해야 합니다. package, utility, librarary Repository CentOS Index of /centos mirror.navercorp.com CentOS..&quot; data-og-host=&quot;junsuyoun.tistory.com&quot; data-og-source-url=&quot;https://junsuyoun.tistory.com/46&quot; data-og-url=&quot;https://junsuyoun.tistory.com/46&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/MHa1H/hyPXOgnkl6/Fm3dsSq0Dkm3RvIGhKZD0K/img.png?width=800&amp;amp;height=498&amp;amp;face=0_0_800_498,https://scrap.kakaocdn.net/dn/fpMR7/hyPWOvvAvW/lv3KjknecrmJHjktUiQ4h1/img.png?width=800&amp;amp;height=498&amp;amp;face=0_0_800_498,https://scrap.kakaocdn.net/dn/7aOXY/hyPXLxaTI3/UsNK2oXn8gRXDkIQALuPU0/img.png?width=814&amp;amp;height=518&amp;amp;face=0_0_814_518&quot;&gt;&lt;a href=&quot;https://junsuyoun.tistory.com/46&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://junsuyoun.tistory.com/46&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/MHa1H/hyPXOgnkl6/Fm3dsSq0Dkm3RvIGhKZD0K/img.png?width=800&amp;amp;height=498&amp;amp;face=0_0_800_498,https://scrap.kakaocdn.net/dn/fpMR7/hyPWOvvAvW/lv3KjknecrmJHjktUiQ4h1/img.png?width=800&amp;amp;height=498&amp;amp;face=0_0_800_498,https://scrap.kakaocdn.net/dn/7aOXY/hyPXLxaTI3/UsNK2oXn8gRXDkIQALuPU0/img.png?width=814&amp;amp;height=518&amp;amp;face=0_0_814_518');&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 package / utility / libarary 파일 다운로드&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;리눅스 환경에서 yum 또는 apt-get과 같은 패키지 관리자로 패키지를 다운 받지 못할 때 파일로 준비해야 합니다. package, utility, librarary Repository CentOS Index of /centos mirror.navercorp.com CentOS..&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;junsuyoun.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Operation System/Unix &amp;amp; Linux</category>
      <category>centos</category>
      <category>Linux</category>
      <category>passwd</category>
      <category>password</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/168</guid>
      <comments>https://junsuyoun.tistory.com/entry/passwd-command-not-found#entry168comment</comments>
      <pubDate>Tue, 9 Jan 2024 17:08:08 +0900</pubDate>
    </item>
    <item>
      <title>SELECT 문장에서 FROM절 또는 JOIN절에서 사용된 오브젝트 (TABLE, VIEW, CTE 등) 추출하기</title>
      <link>https://junsuyoun.tistory.com/entry/SELECT-%EB%AC%B8%EC%9E%A5%EC%97%90%EC%84%9C-FROM%EC%A0%88-%EB%98%90%EB%8A%94-JOIN%EC%A0%88%EC%97%90%EC%84%9C-%EC%82%AC%EC%9A%A9%EB%90%9C-%EC%98%A4%EB%B8%8C%EC%A0%9D%ED%8A%B8-TABLE-VIEW-CTE-%EB%93%B1-%EC%B6%94%EC%B6%9C%ED%95%98%EA%B8%B0</link>
      <description>&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;별도의 IDE 도구 없이 커맨드라인으로 SQL 분석 중에 사용하면 유용합니다.&lt;/li&gt;
&lt;li&gt;리눅스에서 사용 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;명령문&lt;/b&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1692866948491&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;FileName=select.sql
cat $FileName \
| awk '{for(i=1; i&amp;lt;=NF; i++) if(tolower($i)==&quot;from&quot; || tolower($i)==&quot;join&quot;) print $(i+1)}'|grep -v &quot;^$&quot; \
|sed 's/;//g' \
|sort \
|uniq -c \
|grep -viE &quot;dual&quot; \
|awk '{print $NF}'&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;명령문해설&lt;/b&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1692867224846&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;FileName=select.sql
cat $FileName \
| awk '{for(i=1; i&amp;lt;=NF; i++) if(tolower($i)==&quot;from&quot; || tolower($i)==&quot;join&quot;) print $(i+1)}'|grep -v &quot;^$&quot; \ # 특정 문자열 뒤의 문자열 추출
|grep -v &quot;^$&quot; \ # 공백 라인 제거
|sed 's/;//g' \ # 세미콜론 제거
|sort \ # 정렬
|uniq -c \ # 공백 제거
|grep -viE &quot;dual&quot; \ # 결과의 필요없는 문자열 제거 &quot;dual|추가|추가&quot; 형태
|awk '{print $NF}' # 최종 결과는  &quot;중복개수 오브젝트이름&quot; 2개의 열로 나오는데 오브젝트 이름만 출력하기&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1010&quot; data-origin-height=&quot;478&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bt4XdH/btsrYWxRLZJ/moSdC7vrphp5ITmXiXqsE1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bt4XdH/btsrYWxRLZJ/moSdC7vrphp5ITmXiXqsE1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bt4XdH/btsrYWxRLZJ/moSdC7vrphp5ITmXiXqsE1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbt4XdH%2FbtsrYWxRLZJ%2FmoSdC7vrphp5ITmXiXqsE1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1010&quot; height=&quot;478&quot; data-origin-width=&quot;1010&quot; data-origin-height=&quot;478&quot;/&gt;&lt;/span&gt;&lt;/figure&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;&amp;nbsp;&lt;/p&gt;</description>
      <category>Language/Bash</category>
      <category>From</category>
      <category>select</category>
      <category>SQL</category>
      <category>리눅스</category>
      <category>중복</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/167</guid>
      <comments>https://junsuyoun.tistory.com/entry/SELECT-%EB%AC%B8%EC%9E%A5%EC%97%90%EC%84%9C-FROM%EC%A0%88-%EB%98%90%EB%8A%94-JOIN%EC%A0%88%EC%97%90%EC%84%9C-%EC%82%AC%EC%9A%A9%EB%90%9C-%EC%98%A4%EB%B8%8C%EC%A0%9D%ED%8A%B8-TABLE-VIEW-CTE-%EB%93%B1-%EC%B6%94%EC%B6%9C%ED%95%98%EA%B8%B0#entry167comment</comments>
      <pubDate>Thu, 24 Aug 2023 17:56:25 +0900</pubDate>
    </item>
    <item>
      <title>sshpass: command not found</title>
      <link>https://junsuyoun.tistory.com/entry/sshpass-command-not-found</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;sshpass 유틸리티 설&lt;/b&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;sshpass&lt;br /&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;CentOS&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1664416543927&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;yum install -y sshpass&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Ubuntu&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1664416548735&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;apt-get install -y sshpass&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;837&quot; data-origin-height=&quot;369&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bOT5qw/btsqKiBVcyE/WAQieBX6ttWG1sMFlBjivk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bOT5qw/btsqKiBVcyE/WAQieBX6ttWG1sMFlBjivk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bOT5qw/btsqKiBVcyE/WAQieBX6ttWG1sMFlBjivk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbOT5qw%2FbtsqKiBVcyE%2FWAQieBX6ttWG1sMFlBjivk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;837&quot; height=&quot;369&quot; data-origin-width=&quot;837&quot; data-origin-height=&quot;369&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;패키지 매니저로 설치가 불가능한 경우 아래 링크를 통해 직접 파일로 다운 받아 설치 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure id=&quot;og_1664416574355&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  package  / utility / libarary 파일 다운로드&quot; data-og-description=&quot;리눅스 환경에서 yum 또는 apt-get과 같은 패키지 관리자로 패키지를 다운 받지 못할 때 파일로 준비해야 합니다. package, utility, librarary Repository CentOS Index of /centos mirror.navercorp.com CentOS..&quot; data-og-host=&quot;junsuyoun.tistory.com&quot; data-og-source-url=&quot;https://junsuyoun.tistory.com/46&quot; data-og-url=&quot;https://junsuyoun.tistory.com/46&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/MHa1H/hyPXOgnkl6/Fm3dsSq0Dkm3RvIGhKZD0K/img.png?width=800&amp;amp;height=498&amp;amp;face=0_0_800_498,https://scrap.kakaocdn.net/dn/fpMR7/hyPWOvvAvW/lv3KjknecrmJHjktUiQ4h1/img.png?width=800&amp;amp;height=498&amp;amp;face=0_0_800_498,https://scrap.kakaocdn.net/dn/7aOXY/hyPXLxaTI3/UsNK2oXn8gRXDkIQALuPU0/img.png?width=814&amp;amp;height=518&amp;amp;face=0_0_814_518&quot;&gt;&lt;a href=&quot;https://junsuyoun.tistory.com/46&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://junsuyoun.tistory.com/46&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/MHa1H/hyPXOgnkl6/Fm3dsSq0Dkm3RvIGhKZD0K/img.png?width=800&amp;amp;height=498&amp;amp;face=0_0_800_498,https://scrap.kakaocdn.net/dn/fpMR7/hyPWOvvAvW/lv3KjknecrmJHjktUiQ4h1/img.png?width=800&amp;amp;height=498&amp;amp;face=0_0_800_498,https://scrap.kakaocdn.net/dn/7aOXY/hyPXLxaTI3/UsNK2oXn8gRXDkIQALuPU0/img.png?width=814&amp;amp;height=518&amp;amp;face=0_0_814_518');&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 package / utility / libarary 파일 다운로드&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;리눅스 환경에서 yum 또는 apt-get과 같은 패키지 관리자로 패키지를 다운 받지 못할 때 파일로 준비해야 합니다. package, utility, librarary Repository CentOS Index of /centos mirror.navercorp.com CentOS..&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;junsuyoun.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Operation System/Unix &amp;amp; Linux</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/163</guid>
      <comments>https://junsuyoun.tistory.com/entry/sshpass-command-not-found#entry163comment</comments>
      <pubDate>Thu, 10 Aug 2023 15:23:33 +0900</pubDate>
    </item>
    <item>
      <title>리눅스(Linux)의 CPU loadaverage 분석</title>
      <link>https://junsuyoun.tistory.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4Linux%EC%9D%98-CPU-loadaverage-%EB%B6%84%EC%84%9D</link>
      <description>&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;리눅스 환경에서 &quot;top&quot; 명령어를 통해 확인 결과 load average라는 수치가 확인됩니다.&lt;/li&gt;
&lt;li&gt;이 수치는 CPU 사용량을 파악하는데 큰 도움을 주는 정보 입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;CPU Core&lt;/b&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1691567863230&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# cat /proc/cpuinfo |grep proc
processor	: 0
processor	: 1
processor	: 2
processor	: 3
processor	: 4
processor	: 5
processor	: 6
processor	: 7
processor	: 8
processor	: 9
processor	: 10
processor	: 11&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;할당된 CPU의 코어수를 확인 합니다.&lt;/li&gt;
&lt;li&gt;CPU의 코어수는 총 12개를 사용할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;CPU Load Average&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Load Average 수치가 만약 10이라면 현재 일을 처리하고 있는 CPU Core 개수가 10개라는 뜻 입니다.&lt;/li&gt;
&lt;li&gt;리눅스 시스템에 할당 된 CPU Core에 따라 상대적인 수치이기 때문에 매우 중요한데요.&lt;/li&gt;
&lt;li&gt;만약 CPU Core 수가 4개라면 Load Average 수치가 10인 경우라면 리소스 대비 부하가 발생하고 있는 상황입니다.&lt;br /&gt;CPU Core 수가 32개인데 Load Average 수치가 10인 경우라면 리소스 대비 부하가 발생하지 않고 있는 상황 입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;Current CPU Load Average&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실시간으로 CPU Load Average를 확인하는 방법은 2가지 정도로 할 수 있습니다.&lt;/li&gt;
&lt;li&gt;&quot;top&quot;,&quot;sar&quot; 두 가지 명령어를 통해 확인할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;top&lt;/b&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1691568096480&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;top - 17:01:24 up 1 day, 19:19,  3 users,  load average: 0.00, 0.00, 0.00
Tasks: 464 total,   1 running, 463 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.1 us,  0.1 sy,  0.0 ni, 99.8 id,  0.1 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :  40028.6 total,  27787.9 free,   1810.5 used,  10430.1 buff/cache
MiB Swap:   2048.0 total,   1530.6 free,    517.4 used.  32227.6 avail Mem 

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                    
   1045 root      20   0 2087124  27380   3456 S   0.7   0.1   2:56.79 containerd                                 
 172523 root      20   0   14964   4232   3384 R   0.7   0.0   0:00.05 top                                        
   1372 junsu     20   0  919660  54036  16568 S   0.3   0.1   0:09.91 node                                       
   4343 54321     20   0 1736600  37164  33964 S   0.3   0.1   0:28.69 ora_mmnl_orclcd                            
   4659 54321     20   0 1736580   5000   2104 S   0.3   0.0   0:04.15 ora_p019_orclcd                            
   4820 54321     20   0 1748080 210880 203068 S   0.3   0.5   4:53.43 ora_cjq0_orclcd                            
  87999 root      20   0 9474944 244380 219892 S   0.3   0.6   0:48.97 tbsvr                                      
      1 root      20   0  169252   9796   4780 S   0.0   0.0   0:29.81 systemd                                    
      2 root      20   0       0      0      0 S   0.0   0.0   0:00.24 kthreadd&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;load average: 0.00, 0.00, 0.00&lt;br /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;첫 번째 수치 1분 동안 평균&lt;/li&gt;
&lt;li&gt;두 번째 수치 5분 동안 평균&lt;/li&gt;
&lt;li&gt;세 번째 수치 15분 동안 평균&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;sar -q&lt;/b&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1691568170262&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# sar -q 1
Linux 5.15.0-78-generic (junsu-desktop) 	2023년 08월 09일 	_x86_64_	(12 CPU)

17시 02분 35초   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
17시 02분 36초         0      1113      0.10      0.03      0.01         0
17시 02분 37초         0      1114      0.10      0.03      0.01         0
17시 02분 38초         0      1114      0.10      0.03      0.01         0
17시 02분 39초         0      1114      0.10      0.03      0.01         0&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;sar 명령어의 -q 옵션을 사용하면 Load Average 통계 정보를 확인할 수 있습니다.&lt;/li&gt;
&lt;li&gt;sar의 -e 옵션과 -f 옵션을 통해 /var/log/sa 의 sa로 시작하는 파일을 통해 과거 시점의 정보도 확인 할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;Past Point in Time&lt;/b&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1691568777241&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# sar -q -f sa08  |more
Linux 3.10.0-1160.31.1.el7.x86_64 (KSTPRDDB01) 	08/08/2023 	_x86_64_	(8 CPU)

12:00:01 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
12:10:01 AM         2      1775      0.60      0.53      0.53         0
12:20:01 AM         1      1777      1.58      0.89      0.64         0
12:30:01 AM         1      1775      0.34      0.58      0.66         1
12:40:01 AM         2      1774      0.24      0.37      0.51         0
12:50:01 AM         1      1768      0.28      0.32      0.41         0
01:00:01 AM         5      1768      0.41      0.27      0.32         0
01:10:02 AM         4      1771      0.50      0.63      0.58         0
01:20:01 AM         1      1770      1.74      0.80      0.61         0
01:30:01 AM         2      1772      0.24      0.44      0.55         0
01:40:01 AM         2      1772      0.26      0.35      0.46         0&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;-f 옵션은 과거 시점의 sar의 통계 정보가 저장된 파일을 불러올 수 있습니다.&lt;/li&gt;
&lt;li&gt;-q -f 옵션을 사용하면 과거 시점의 수집된 시간대별로 Load Average 수치를 확인할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1691569116113&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# sar --help
Usage: sar [ options ] [ &amp;lt;interval&amp;gt; [ &amp;lt;count&amp;gt; ] ]
Options are:
[ -A ] [ -B ] [ -b ] [ -C ] [ -d ] [ -F [ MOUNT ] ] [ -H ] [ -h ] [ -p ] [ -q ] [ -R ]
[ -r ] [ -S ] [ -t ] [ -u [ ALL ] ] [ -V ] [ -v ] [ -W ] [ -w ] [ -y ]
[ -I { &amp;lt;int&amp;gt; [,...] | SUM | ALL | XALL } ] [ -P { &amp;lt;cpu&amp;gt; [,...] | ALL } ]
[ -m { &amp;lt;keyword&amp;gt; [,...] | ALL } ] [ -n { &amp;lt;keyword&amp;gt; [,...] | ALL } ]
[ -j { ID | LABEL | PATH | UUID | ... } ]
[ -f [ &amp;lt;filename&amp;gt; ] | -o [ &amp;lt;filename&amp;gt; ] | -[0-9]+ ]
[ -i &amp;lt;interval&amp;gt; ] [ -s [ &amp;lt;hh:mm:ss&amp;gt; ] ] [ -e [ &amp;lt;hh:mm:ss&amp;gt; ] ]&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1691569165524&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# sar -q -f sa08  -s 10:00:00 -e 11:00:00
Linux 3.10.0-1160.31.1.el7.x86_64 (KSTPRDDB01) 	08/08/2023 	_x86_64_	(8 CPU)

10:00:01 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
10:10:01 AM         1      1773      0.85      1.31      1.17         0
10:20:01 AM         1      1777      0.58      0.96      1.07         0
10:30:01 AM         4      1775      0.85      0.87      0.96         0
10:40:02 AM         3      1780      0.96      0.83      0.88         0
10:50:01 AM         2      1775      0.51      0.71      0.81         0&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;만약 특정 시간에 대한 확인이 필요하다면 -s와 -e 옵션을 사용하면 특정 시점의 정보만 출력 됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;639&quot; data-origin-height=&quot;365&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bjwJjY/btsqCtqivlH/B6fcNpYiAklEBOUe4fsYbk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bjwJjY/btsqCtqivlH/B6fcNpYiAklEBOUe4fsYbk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bjwJjY/btsqCtqivlH/B6fcNpYiAklEBOUe4fsYbk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbjwJjY%2FbtsqCtqivlH%2FB6fcNpYiAklEBOUe4fsYbk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;639&quot; height=&quot;365&quot; data-origin-width=&quot;639&quot; data-origin-height=&quot;365&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Operation System/Unix &amp;amp; Linux</category>
      <category>cpu</category>
      <category>Linux</category>
      <category>loadaverage</category>
      <category>ubuntu</category>
      <category>부하</category>
      <category>큐</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/162</guid>
      <comments>https://junsuyoun.tistory.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4Linux%EC%9D%98-CPU-loadaverage-%EB%B6%84%EC%84%9D#entry162comment</comments>
      <pubDate>Wed, 9 Aug 2023 17:14:49 +0900</pubDate>
    </item>
    <item>
      <title>리눅스 버전 확인</title>
      <link>https://junsuyoun.tistory.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4-%EB%B2%84%EC%A0%84-%ED%99%95%EC%9D%B8</link>
      <description>&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;리눅스 버전을 확인하는 방법&lt;/li&gt;
&lt;li&gt;리눅스 버전은 크게 두 가지로 나뉩니다. 페도라 계열, 데비안 계열&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;페도라 (Fedora) 계열&lt;/h2&gt;
&lt;pre id=&quot;code_1691567536671&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)

$ cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;데비안 (Debian) 계열&lt;/h2&gt;
&lt;pre id=&quot;code_1691567574240&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ cat /etc/issue
Ubuntu 22.04.2 LTS \n \l&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;639&quot; data-origin-height=&quot;365&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oDsNa/btsqFtXjm0j/TYsNmxoTUKijs9WnWZu3Zk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oDsNa/btsqFtXjm0j/TYsNmxoTUKijs9WnWZu3Zk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oDsNa/btsqFtXjm0j/TYsNmxoTUKijs9WnWZu3Zk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoDsNa%2FbtsqFtXjm0j%2FTYsNmxoTUKijs9WnWZu3Zk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;639&quot; height=&quot;365&quot; data-origin-width=&quot;639&quot; data-origin-height=&quot;365&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Operation System/Unix &amp;amp; Linux</category>
      <category>centos</category>
      <category>debian</category>
      <category>Fedora</category>
      <category>Linux</category>
      <category>ubuntu</category>
      <category>버전 확인</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/160</guid>
      <comments>https://junsuyoun.tistory.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4-%EB%B2%84%EC%A0%84-%ED%99%95%EC%9D%B8#entry160comment</comments>
      <pubDate>Wed, 9 Aug 2023 16:53:31 +0900</pubDate>
    </item>
    <item>
      <title>telnet통한 네트워크 상태 체크</title>
      <link>https://junsuyoun.tistory.com/entry/telnet%ED%86%B5%ED%95%9C-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EC%83%81%ED%83%9C-%EC%B2%B4%ED%81%AC</link>
      <description>&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;리눅스 환경에서 네트워크가 간헐적으로 연결이 끊기는 현상이 발생하는 경우 사용할 수 있습니다.&lt;/li&gt;
&lt;li&gt;이러한 경우 정확한 지표가 있어야 간헐적 끊김을 증명할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;telnet&lt;/b&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1691472069986&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#!/bin/bash
# create by junsuyoun
telnet_check_ip=
telnet_check_port=
telnet_check_log_path=

telnet_check_runtime=`date +%s`
telnet_check=`telnet $telnet_check_ip $telnet_check_port |exit`
telnet_check_endtime=`date +%s`

telnet_check_difftime=`expr &quot;$telnet_check_endtime - telnet_check_runtime&quot;`

if [ $telnet_check_]; then
	2&amp;gt;/dev/null
else
	date &amp;gt;&amp;gt; $telnet_check_log_path
	echo $telnet_check_difftime &amp;gt;&amp;gt; telnet_check_log_path
fi&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 포트에 오픈 여부를 확인할 경우 telnet을 많이 사용하는데요.&lt;/li&gt;
&lt;li&gt;telnet 요청 후 15초간 대기하다 연결이 이루어지지 않으면 telnet 명령이 종료 됩니다.&lt;/li&gt;
&lt;li&gt;즉시 연결되면 runtime과 endtime의 지연이 없지만 간헐적으로 연결이 끊기는 상황에서는 지연이 발생합니다.&lt;/li&gt;
&lt;li&gt;위 스크립트를 활용하면 간헐적 끊김을 증명할 지표를 만들 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;639&quot; data-origin-height=&quot;365&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YrlnV/btsqtvInNBP/msWck6HHRX6EaWW8rfnI3K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YrlnV/btsqtvInNBP/msWck6HHRX6EaWW8rfnI3K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YrlnV/btsqtvInNBP/msWck6HHRX6EaWW8rfnI3K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYrlnV%2FbtsqtvInNBP%2FmsWck6HHRX6EaWW8rfnI3K%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;639&quot; height=&quot;365&quot; data-origin-width=&quot;639&quot; data-origin-height=&quot;365&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Operation System/Unix &amp;amp; Linux</category>
      <category>telnet</category>
      <category>간헐적</category>
      <category>네트워크</category>
      <category>리눅스</category>
      <category>연결끊김</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/158</guid>
      <comments>https://junsuyoun.tistory.com/entry/telnet%ED%86%B5%ED%95%9C-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EC%83%81%ED%83%9C-%EC%B2%B4%ED%81%AC#entry158comment</comments>
      <pubDate>Tue, 8 Aug 2023 14:23:19 +0900</pubDate>
    </item>
    <item>
      <title>리눅스 100만개(개당170바이트) 파일 삭제 (rm or find) 성능 비교</title>
      <link>https://junsuyoun.tistory.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4-100%EB%A7%8C%EA%B0%9C%EA%B0%9C%EB%8B%B9170%EB%B0%94%EC%9D%B4%ED%8A%B8-%ED%8C%8C%EC%9D%BC-%EC%82%AD%EC%A0%9C-rm-or-find-%EC%84%B1%EB%8A%A5-%EB%B9%84%EA%B5%90</link>
      <description>&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;리눅스에서 생각 보다 작은 디렉토리를 지우려고 하는데 속도가 상당히 느린 경우가 있습니다.&lt;/li&gt;
&lt;li&gt;그러한 경우 rm -rf &amp;lt;디렉토리&amp;gt; 수행 시 상당한 시간이 발생하는데요.&lt;/li&gt;
&lt;li&gt;리눅스에서는 파일 관리를 위해 i-node 개념을 사용합니다.&lt;/li&gt;
&lt;li&gt;파일 개당 i-node를 가지고 있으며 파일이 삭제되는 경우 해당 i-node를 해제해주어야 합니다.&lt;/li&gt;
&lt;li&gt;이러한 이유로 속도 저하에 대해서 rm -rf와 find -delete 속도를 비교해보겠습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;environ&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1691386898640&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#!/bin/bash

# 파일 크기 (바이트 단위)
file_size=170

# 파일 개수
file_count=1000000

# 작업할 디렉토리 경로
find_remove_dir=&quot;./find_remove&quot;
rm_remove_dir=&quot;./rm_remove&quot;

# 디렉토리 생성
mkdir -p &quot;$find_remove_dir&quot;
mkdir -p &quot;$rm_remove_dir&quot;

# 파일 생성 함수
create_files() {
  local dir=&quot;$1&quot;
  local count=$2

  for ((i=1; i&amp;lt;=count; i++)); do
    dd if=/dev/urandom of=&quot;$dir/file$i&quot; bs=$file_size count=1 status=none
  done
}

# find_remove 디렉토리에 파일 생성
echo &quot;Creating files in find_remove directory...&quot;
create_files &quot;$find_remove_dir&quot; $file_count
echo &quot;Files created in find_remove directory.&quot;

# rm_remove 디렉토리에 파일 생성
echo &quot;Creating files in rm_remove directory...&quot;
create_files &quot;$rm_remove_dir&quot; $file_count
echo &quot;Files created in rm_remove directory.&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;170바이트 크기 파일을 100만개 생성하는 스크립트입니다.&lt;/li&gt;
&lt;li&gt;테스트는 rm과 find 두 가지로 각각 삭제했을 때 속도를 체크를 목표로 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1691386968892&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@tibero file_test]$ ls -rlthi
total 58M
14418568 -rw-r--r-- 1 root root 825 Aug  4 09:08 GenFile.sh
14418564 drwxr-xr-x 2 root root 29M Aug  4 09:34 find_remove
14418565 drwxr-xr-x 2 root root 29M Aug  4 10:00 rm_remove

[root@tibero file_test]$ du -skh *
4.0K	GenFile.sh
3.9G	find_remove
3.9G	rm_remove&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;time rm -rf $remove_path&lt;/b&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1691387069068&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@tibero file_test]$ time rm -rf rm_remove/

real	0m13.680s
user	0m1.009s
sys	0m11.970s&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;time find &lt;b&gt;$remove_path&lt;/b&gt; -type d -delete&lt;/b&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1691387094315&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@tibero file_test]$ time find find_remove -type d -delete

real	0m13.214s
user	0m1.255s
sys	0m10.847s&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;큰 성능 차이를 나타내지 않았습니다.&lt;/li&gt;
&lt;li&gt;다음 포스팅에서는 개수를 좀 더 늘려보고 테스트 해봐야겠네요.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;639&quot; data-origin-height=&quot;365&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cvugdJ/btsp8a5HlU1/oNNiKl081IzxEjsqXibnX0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cvugdJ/btsp8a5HlU1/oNNiKl081IzxEjsqXibnX0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cvugdJ/btsp8a5HlU1/oNNiKl081IzxEjsqXibnX0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcvugdJ%2Fbtsp8a5HlU1%2FoNNiKl081IzxEjsqXibnX0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;639&quot; height=&quot;365&quot; data-origin-width=&quot;639&quot; data-origin-height=&quot;365&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Operation System/Unix &amp;amp; Linux</category>
      <category>centos</category>
      <category>Find</category>
      <category>Linux</category>
      <category>remove</category>
      <category>rm</category>
      <category>ubuntu</category>
      <category>리눅스</category>
      <category>삭제</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/153</guid>
      <comments>https://junsuyoun.tistory.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4-100%EB%A7%8C%EA%B0%9C%EA%B0%9C%EB%8B%B9170%EB%B0%94%EC%9D%B4%ED%8A%B8-%ED%8C%8C%EC%9D%BC-%EC%82%AD%EC%A0%9C-rm-or-find-%EC%84%B1%EB%8A%A5-%EB%B9%84%EA%B5%90#entry153comment</comments>
      <pubDate>Mon, 7 Aug 2023 14:47:28 +0900</pubDate>
    </item>
    <item>
      <title>프로세스가 열고 있는 파일 0으로 만들기</title>
      <link>https://junsuyoun.tistory.com/entry/%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EA%B0%80-%EC%97%B4%EA%B3%A0-%EC%9E%88%EB%8A%94-%ED%8C%8C%EC%9D%BC-0%EC%9C%BC%EB%A1%9C-%EB%A7%8C%EB%93%A4%EA%B8%B0</link>
      <description>&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;리눅스에서 특정 프로세스가 오픈하고 있는 파일 크기를 0으로 만들기&lt;/li&gt;
&lt;li&gt;특정 프로세스를 재기동하지 않고 로그성 메시지 파일 크기를 줄이는 방법&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;rm을 하면 왜 안될까&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보통 로그 메시지를 기록하기 위해서는 메시지를 기록할 때 마다 file open,close를 반복하지 않습니다.&lt;/li&gt;
&lt;li&gt;프로세스가 기동될 때 file open 하고 프로세스가 종료 될 때 file close를 수행합니다.&lt;/li&gt;
&lt;li&gt;필요에 의해서 메시지를 기록 또는 파일을 사용할 때 마다 open, close를 사용하는 경우가 있을 수 있습니다.&lt;/li&gt;
&lt;li&gt;본 문서에서는 매번 file open, close를 하는 것이 아닌 재기동 시에만 파일 open, close가 되는 경우 입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1691070328296&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@tibero sch]$ ls -rlti
total 8
18612964 drwxr-xr-x 2 root root 4096 Aug  3 13:41 source
18612962 -rw-r--r-- 1 root root  195 Aug  3 13:41 time.log

[root@tibero sch]$ rm time.log 
rm: remove regular file 'time.log'? y

[root@tibero sch]$ ls -rlti
total 4
18612964 drwxr-xr-x 2 root root 4096 Aug  3 13:41 source

[root@tibero sch]$ ls -rlti
total 4
18612964 drwxr-xr-x 2 root root 4096 Aug  3 13:41 source&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;자바 애플리케이션에서 매 1초마다 time.log 파일에 로그를 기록 합니다.&lt;/li&gt;
&lt;li&gt;이 상황에서 만약 rm으로 파일을 삭제 했을 경우 time.log 파일에 대한 공간은 확보 되지 않습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1691070400348&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@tibero sch]$ ps -ef |grep java
root        7084    6822  1 13:41 pts/6    00:00:00 java FileLogger
root        7074    6845  0 13:42 pts/7    00:00:00 grep --color=auto java

[root@tibero sch]$ lsof -p 7084
COMMAND  PID USER   FD   TYPE             DEVICE SIZE/OFF     NODE NAME
java    7084 root  cwd    DIR               0,66     4096 18612964 /root/work/sch/source
java    7084 root  rtd    DIR               0,66     4096 14024776 /
java    7084 root  txt    REG               0,66     8984 18512370 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.372.b07-1.el7_9.x86_64/jre/bin/java
java    7084 root  mem    REG               0,66   123920 18512407 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.372.b07-1.el7_9.x86_64/jre/lib/amd64/libnet.so
java    7084 root  mem    REG               0,66   100064 18512408 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.372.b07-1.el7_9.x86_64/jre/lib/amd64/libnio.so
java    7084 root  mem    REG               0,66 73975048 18512475 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.372.b07-1.el7_9.x86_64/jre/lib/rt.jar
java    7084 root  mem    REG               0,66  1030832 18512458 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.372.b07-1.el7_9.x86_64/jre/lib/jfr.jar
java    7084 root  mem    REG               0,66    44320 18512415 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.372.b07-1.el7_9.x86_64/jre/lib/amd64/libzip.so
java    7084 root  mem    REG               0,66    61560 14812148 /usr/lib64/libnss_files-2.17.so
java    7084 root  mem    REG               0,66   219360 18512397 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.372.b07-1.el7_9.x86_64/jre/lib/amd64/libjava.so
java    7084 root  mem    REG               0,66    66440 18512414 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.372.b07-1.el7_9.x86_64/jre/lib/amd64/libverify.so
java    7084 root  mem    REG               0,66    43712 14812160 /usr/lib64/librt-2.17.so
java    7084 root  mem    REG               0,66    88720  9177377 /usr/lib64/libgcc_s-4.8.5-20150702.so.1
java    7084 root  mem    REG               0,66  1136944 14812138 /usr/lib64/libm-2.17.so
java    7084 root  mem    REG               0,66   995840  9177562 /usr/lib64/libstdc++.so.6.0.19
java    7084 root  mem    REG               0,66 18107752 18512419 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.372.b07-1.el7_9.x86_64/jre/lib/amd64/server/libjvm.so
java    7084 root  mem    REG               0,66  2156592 14812130 /usr/lib64/libc-2.17.so
java    7084 root  mem    REG               0,66    19248 14812136 /usr/lib64/libdl-2.17.so
java    7084 root  mem    REG               0,66    71184 18512384 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.372.b07-1.el7_9.x86_64/jre/lib/amd64/jli/libjli.so
java    7084 root  mem    REG               0,66    90160 14812177 /usr/lib64/libz.so.1.2.7
java    7084 root  mem    REG               0,66   142144 14812156 /usr/lib64/libpthread-2.17.so
java    7084 root  mem    REG               0,66   163312 14812123 /usr/lib64/ld-2.17.so
java    7084 root  mem    REG               0,66    32768 17958299 /tmp/hsperfdata_root/7042
java    7084 root    0u   CHR              136,6      0t0        9 /dev/pts/6
java    7084 root    1u   CHR              136,6      0t0        9 /dev/pts/6
java    7084 root    2u   CHR              136,6      0t0        9 /dev/pts/6
java    7084 root    3r   REG               0,66 73975048 18512475 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.372.b07-1.el7_9.x86_64/jre/lib/rt.jar
java    7084 root    4r   REG               0,66  1030832 18512458 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.372.b07-1.el7_9.x86_64/jre/lib/jfr.jar
java    7084 root    5w   REG               0,66     1443 18612962 /root/work/sch/time.log (deleted)
java    7084 root    6u  unix 0xffff9d9f089d8cc0      0t0  2338807 socket&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;자바 애플리케이션은 아직 수행되고 있고 자바 애플리케이션이 오픈하고 있는 파일 리스트를 확인 합니다.&lt;/li&gt;
&lt;li&gt;lsof 명령어로 파일의 오픈 리스트를 확인하면 &quot;/root/work/sch/time.log (deleted)&quot; deleted 정보가 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure id=&quot;og_1691071205850&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;lsof: command not found&quot; data-og-description=&quot;lsof 유틸리티 설치 lsof CentOS [root@d86a1cc708f1 ~]# yum install -y lsof [root@d86a1cc708f1 ~]# lsof COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME bash 1 root cwd DIR 0,138 4096 50464903 / bash 1 root rtd DIR 0,138 4096 50464903 / bash 1 root t&quot; data-og-host=&quot;junsuyoun.tistory.com&quot; data-og-source-url=&quot;https://junsuyoun.tistory.com/entry/lsof-command-not-found&quot; data-og-url=&quot;https://junsuyoun.tistory.com/entry/lsof-command-not-found&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/zAvDg/hyTwcGkQiH/GBJmNqCQHB7WyuCJollNA0/img.png?width=800&amp;amp;height=353&amp;amp;face=0_0_800_353,https://scrap.kakaocdn.net/dn/mBsLi/hyTxRHkdF2/i8fcq75NmMzdwCP9v4e2P0/img.png?width=800&amp;amp;height=353&amp;amp;face=0_0_800_353,https://scrap.kakaocdn.net/dn/bSLQpj/hyTxQazKw9/OVmJBeXAt3kkkY44SYgs61/img.png?width=837&amp;amp;height=370&amp;amp;face=0_0_837_370&quot;&gt;&lt;a href=&quot;https://junsuyoun.tistory.com/entry/lsof-command-not-found&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://junsuyoun.tistory.com/entry/lsof-command-not-found&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/zAvDg/hyTwcGkQiH/GBJmNqCQHB7WyuCJollNA0/img.png?width=800&amp;amp;height=353&amp;amp;face=0_0_800_353,https://scrap.kakaocdn.net/dn/mBsLi/hyTxRHkdF2/i8fcq75NmMzdwCP9v4e2P0/img.png?width=800&amp;amp;height=353&amp;amp;face=0_0_800_353,https://scrap.kakaocdn.net/dn/bSLQpj/hyTxQazKw9/OVmJBeXAt3kkkY44SYgs61/img.png?width=837&amp;amp;height=370&amp;amp;face=0_0_837_370');&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;lsof: command not found&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;lsof 유틸리티 설치 lsof CentOS [root@d86a1cc708f1 ~]# yum install -y lsof [root@d86a1cc708f1 ~]# lsof COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME bash 1 root cwd DIR 0,138 4096 50464903 / bash 1 root rtd DIR 0,138 4096 50464903 / bash 1 root t&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;junsuyoun.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사실 처음에 rm으로 time.log 파일을 삭제하였지만 아직 물리적으로 파일이 삭제되진 않은거죠.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1691070586253&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@tibero sch]$ ls -rlti /proc/7084/fd
total 0
2340634 lrwx------ 1 root root 64 Aug  3 13:49 2 -&amp;gt; /dev/pts/6
2343722 lrwx------ 1 root root 64 Aug  3 13:49 6 -&amp;gt; socket:[2341839]
2343721 l-wx------ 1 root root 64 Aug  3 13:49 5 -&amp;gt; /root/work/sch/time.log (deleted)
2343720 lr-x------ 1 root root 64 Aug  3 13:49 4 -&amp;gt; /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.372.b07-1.el7_9.x86_64/jre/lib/jfr.jar
2343719 lr-x------ 1 root root 64 Aug  3 13:49 3 -&amp;gt; /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.372.b07-1.el7_9.x86_64/jre/lib/rt.jar
2343718 lrwx------ 1 root root 64 Aug  3 13:49 1 -&amp;gt; /dev/pts/6
2343717 lrwx------ 1 root root 64 Aug  3 13:49 0 -&amp;gt; /dev/pts/6&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;좀 더 정확하게 보면 리눅스에서는 i-node라는 파일 관리 체계가 존재하는데요.&lt;/li&gt;
&lt;li&gt;file open 후 프로세스가 아직 오픈하고 있다면 해당 i-node로 파일을 갖고 있습니다.&lt;/li&gt;
&lt;li&gt;그러한 이유로 파일을 삭제하더라도 실제로는 파일이 삭제 되지 않은 것이죠.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1691070764388&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- time.log i-node 정보(18612962)
[root@tibero sch]$ ls -rlti
total 8
18612964 drwxr-xr-x 2 root root 4096 Aug  3 13:41 source
18612962 -rw-r--r-- 1 root root  195 Aug  3 13:41 time.log

--- 삭제 후 재 생성

-- time.log i-node 정보(18612965)
[root@tibero sch]$ touch time.log

[root@tibero sch]$ ls -lrti
total 4
18612964 drwxr-xr-x 2 root root 4096 Aug  3 13:41 source
18612965 -rw-r--r-- 1 root root    0 Aug  3 13:52 time.log&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;time.log 파일이 존재하던 위치에서 동일한 파일명으로 생성하게 되더라도 i-node가 다르기 때문에 실제로 다른 파일이 됩니다.&lt;/li&gt;
&lt;li&gt;이러한 이유로 &lt;b&gt;&lt;i&gt;&lt;u&gt;프로세스가 메시지성 로그 파일을 오픈하고 있는 상태에서 삭제하더라도 공간 확보가 되지 않습니다.&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&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;해당 파일이 메시지성파일이라면 파일 내용을 덮어쓰기 해주면 됩니다.&lt;/li&gt;
&lt;li&gt;i-node를 건들지 않고 파일 내용만 덮어쓰면 문제가 없습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1691070992015&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@tibero sch]$ cat time.log 
Logging message at 2023-08-03 13:55:04
Logging message at 2023-08-03 13:55:05
Logging message at 2023-08-03 13:55:06
Logging message at 2023-08-03 13:55:07
Logging message at 2023-08-03 13:55:08
Logging message at 2023-08-03 13:55:09
Logging message at 2023-08-03 13:55:10
Logging message at 2023-08-03 13:55:11
Logging message at 2023-08-03 13:55:12
Logging message at 2023-08-03 13:55:13
Logging message at 2023-08-03 13:55:14
Logging message at 2023-08-03 13:55:15
Logging message at 2023-08-03 13:55:16
Logging message at 2023-08-03 13:55:17
Logging message at 2023-08-03 13:55:18
Logging message at 2023-08-03 13:55:19
Logging message at 2023-08-03 13:55:20

[root@tibero sch]$ echo &amp;gt; time.log

[root@tibero sch]$ cat time.log 
Logging message at 2023-08-03 13:55:25&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;위와 같이 파일에 빈 값으로 덮어쓰기하더라도 메시지 로그가 정상적으로 기록되는 것을 확인할 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;u&gt;&lt;i&gt;프로세스의 file open, close 개념과 i-node 개념을 알고 있다면 사용자 실수에 의한 파일 복구도 가능합니다.&lt;/i&gt;&lt;/u&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;u&gt;&lt;i&gt;해당 내용은 다음 포스팅에서 다루도록 하겠습니다.&lt;/i&gt;&lt;/u&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;639&quot; data-origin-height=&quot;365&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/btlJz5/btspVMJLooE/lRs3dDv71Fxonp3wWvzdG0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/btlJz5/btspVMJLooE/lRs3dDv71Fxonp3wWvzdG0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/btlJz5/btspVMJLooE/lRs3dDv71Fxonp3wWvzdG0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbtlJz5%2FbtspVMJLooE%2FlRs3dDv71Fxonp3wWvzdG0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;639&quot; height=&quot;365&quot; data-origin-width=&quot;639&quot; data-origin-height=&quot;365&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Operation System/Unix &amp;amp; Linux</category>
      <category>centos</category>
      <category>Linux</category>
      <category>ubuntu</category>
      <category>크기 줄이기</category>
      <category>파일 초기화</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/151</guid>
      <comments>https://junsuyoun.tistory.com/entry/%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EA%B0%80-%EC%97%B4%EA%B3%A0-%EC%9E%88%EB%8A%94-%ED%8C%8C%EC%9D%BC-0%EC%9C%BC%EB%A1%9C-%EB%A7%8C%EB%93%A4%EA%B8%B0#entry151comment</comments>
      <pubDate>Thu, 3 Aug 2023 22:58:30 +0900</pubDate>
    </item>
    <item>
      <title>리눅스 errno 확인하기</title>
      <link>https://junsuyoun.tistory.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4-C%EC%96%B8%EC%96%B4%EB%A1%9C-%EA%B0%9C%EB%B0%9C%ED%95%A0-%EB%95%8C</link>
      <description>&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;C 언어로 개발된 프로그램에서 errno-base.h 또는 errno.h를 include 상황에 따른 에러 번호를 사용할 수 있습니다.&lt;/li&gt;
&lt;li&gt;추가적으로 특정 소프트웨어를 트러블 슈팅할 때 다음 에러 번호가 의미하는 바를 통해 분석을 진행할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;errno-base.h&lt;/b&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1690811852809&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cat /usr/include/asm-generic/errno-base.h 
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _ASM_GENERIC_ERRNO_BASE_H
#define _ASM_GENERIC_ERRNO_BASE_H

#define	EPERM		 1	/* Operation not permitted */
#define	ENOENT		 2	/* No such file or directory */
#define	ESRCH		 3	/* No such process */
#define	EINTR		 4	/* Interrupted system call */
#define	EIO		 5	/* I/O error */
#define	ENXIO		 6	/* No such device or address */
#define	E2BIG		 7	/* Argument list too long */
#define	ENOEXEC		 8	/* Exec format error */
#define	EBADF		 9	/* Bad file number */
#define	ECHILD		10	/* No child processes */
#define	EAGAIN		11	/* Try again */
#define	ENOMEM		12	/* Out of memory */
#define	EACCES		13	/* Permission denied */
#define	EFAULT		14	/* Bad address */
#define	ENOTBLK		15	/* Block device required */
#define	EBUSY		16	/* Device or resource busy */
#define	EEXIST		17	/* File exists */
#define	EXDEV		18	/* Cross-device link */
#define	ENODEV		19	/* No such device */
#define	ENOTDIR		20	/* Not a directory */
#define	EISDIR		21	/* Is a directory */
#define	EINVAL		22	/* Invalid argument */
#define	ENFILE		23	/* File table overflow */
#define	EMFILE		24	/* Too many open files */
#define	ENOTTY		25	/* Not a typewriter */
#define	ETXTBSY		26	/* Text file busy */
#define	EFBIG		27	/* File too large */
#define	ENOSPC		28	/* No space left on device */
#define	ESPIPE		29	/* Illegal seek */
#define	EROFS		30	/* Read-only file system */
#define	EMLINK		31	/* Too many links */
#define	EPIPE		32	/* Broken pipe */
#define	EDOM		33	/* Math argument out of domain of func */
#define	ERANGE		34	/* Math result not representable */

#endif&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;errno.h&lt;/b&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1690811789570&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cat /usr/include/asm-generic/errno.h 
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _ASM_GENERIC_ERRNO_H
#define _ASM_GENERIC_ERRNO_H

#include &amp;lt;asm-generic/errno-base.h&amp;gt;

#define	EDEADLK		35	/* Resource deadlock would occur */
#define	ENAMETOOLONG	36	/* File name too long */
#define	ENOLCK		37	/* No record locks available */

/*
 * This error code is special: arch syscall entry code will return
 * -ENOSYS if users try to call a syscall that doesn't exist.  To keep
 * failures of syscalls that really do exist distinguishable from
 * failures due to attempts to use a nonexistent syscall, syscall
 * implementations should refrain from returning -ENOSYS.
 */
#define	ENOSYS		38	/* Invalid system call number */

#define	ENOTEMPTY	39	/* Directory not empty */
#define	ELOOP		40	/* Too many symbolic links encountered */
#define	EWOULDBLOCK	EAGAIN	/* Operation would block */
#define	ENOMSG		42	/* No message of desired type */
#define	EIDRM		43	/* Identifier removed */
#define	ECHRNG		44	/* Channel number out of range */
#define	EL2NSYNC	45	/* Level 2 not synchronized */
#define	EL3HLT		46	/* Level 3 halted */
#define	EL3RST		47	/* Level 3 reset */
#define	ELNRNG		48	/* Link number out of range */
#define	EUNATCH		49	/* Protocol driver not attached */
#define	ENOCSI		50	/* No CSI structure available */
#define	EL2HLT		51	/* Level 2 halted */
#define	EBADE		52	/* Invalid exchange */
#define	EBADR		53	/* Invalid request descriptor */
#define	EXFULL		54	/* Exchange full */
#define	ENOANO		55	/* No anode */
#define	EBADRQC		56	/* Invalid request code */
#define	EBADSLT		57	/* Invalid slot */

#define	EDEADLOCK	EDEADLK

#define	EBFONT		59	/* Bad font file format */
#define	ENOSTR		60	/* Device not a stream */
#define	ENODATA		61	/* No data available */
#define	ETIME		62	/* Timer expired */
#define	ENOSR		63	/* Out of streams resources */
#define	ENONET		64	/* Machine is not on the network */
#define	ENOPKG		65	/* Package not installed */
#define	EREMOTE		66	/* Object is remote */
#define	ENOLINK		67	/* Link has been severed */
#define	EADV		68	/* Advertise error */
#define	ESRMNT		69	/* Srmount error */
#define	ECOMM		70	/* Communication error on send */
#define	EPROTO		71	/* Protocol error */
#define	EMULTIHOP	72	/* Multihop attempted */
#define	EDOTDOT		73	/* RFS specific error */
#define	EBADMSG		74	/* Not a data message */
#define	EOVERFLOW	75	/* Value too large for defined data type */
#define	ENOTUNIQ	76	/* Name not unique on network */
#define	EBADFD		77	/* File descriptor in bad state */
#define	EREMCHG		78	/* Remote address changed */
#define	ELIBACC		79	/* Can not access a needed shared library */
#define	ELIBBAD		80	/* Accessing a corrupted shared library */
#define	ELIBSCN		81	/* .lib section in a.out corrupted */
#define	ELIBMAX		82	/* Attempting to link in too many shared libraries */
#define	ELIBEXEC	83	/* Cannot exec a shared library directly */
#define	EILSEQ		84	/* Illegal byte sequence */
#define	ERESTART	85	/* Interrupted system call should be restarted */
#define	ESTRPIPE	86	/* Streams pipe error */
#define	EUSERS		87	/* Too many users */
#define	ENOTSOCK	88	/* Socket operation on non-socket */
#define	EDESTADDRREQ	89	/* Destination address required */
#define	EMSGSIZE	90	/* Message too long */
#define	EPROTOTYPE	91	/* Protocol wrong type for socket */
#define	ENOPROTOOPT	92	/* Protocol not available */
#define	EPROTONOSUPPORT	93	/* Protocol not supported */
#define	ESOCKTNOSUPPORT	94	/* Socket type not supported */
#define	EOPNOTSUPP	95	/* Operation not supported on transport endpoint */
#define	EPFNOSUPPORT	96	/* Protocol family not supported */
#define	EAFNOSUPPORT	97	/* Address family not supported by protocol */
#define	EADDRINUSE	98	/* Address already in use */
#define	EADDRNOTAVAIL	99	/* Cannot assign requested address */
#define	ENETDOWN	100	/* Network is down */
#define	ENETUNREACH	101	/* Network is unreachable */
#define	ENETRESET	102	/* Network dropped connection because of reset */
#define	ECONNABORTED	103	/* Software caused connection abort */
#define	ECONNRESET	104	/* Connection reset by peer */
#define	ENOBUFS		105	/* No buffer space available */
#define	EISCONN		106	/* Transport endpoint is already connected */
#define	ENOTCONN	107	/* Transport endpoint is not connected */
#define	ESHUTDOWN	108	/* Cannot send after transport endpoint shutdown */
#define	ETOOMANYREFS	109	/* Too many references: cannot splice */
#define	ETIMEDOUT	110	/* Connection timed out */
#define	ECONNREFUSED	111	/* Connection refused */
#define	EHOSTDOWN	112	/* Host is down */
#define	EHOSTUNREACH	113	/* No route to host */
#define	EALREADY	114	/* Operation already in progress */
#define	EINPROGRESS	115	/* Operation now in progress */
#define	ESTALE		116	/* Stale file handle */
#define	EUCLEAN		117	/* Structure needs cleaning */
#define	ENOTNAM		118	/* Not a XENIX named type file */
#define	ENAVAIL		119	/* No XENIX semaphores available */
#define	EISNAM		120	/* Is a named type file */
#define	EREMOTEIO	121	/* Remote I/O error */
#define	EDQUOT		122	/* Quota exceeded */

#define	ENOMEDIUM	123	/* No medium found */
#define	EMEDIUMTYPE	124	/* Wrong medium type */
#define	ECANCELED	125	/* Operation Canceled */
#define	ENOKEY		126	/* Required key not available */
#define	EKEYEXPIRED	127	/* Key has expired */
#define	EKEYREVOKED	128	/* Key has been revoked */
#define	EKEYREJECTED	129	/* Key was rejected by service */

/* for robust mutexes */
#define	EOWNERDEAD	130	/* Owner died */
#define	ENOTRECOVERABLE	131	/* State not recoverable */

#define ERFKILL		132	/* Operation not possible due to RF-kill */

#define EHWPOISON	133	/* Memory page has hardware error */

#endif&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;errno -l&lt;/b&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1690812008973&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ errno -l
EPERM 1 Operation not permitted
ENOENT 2 No such file or directory
ESRCH 3 No such process
EINTR 4 Interrupted system call
EIO 5 Input/output error
ENXIO 6 No such device or address
E2BIG 7 Argument list too long
ENOEXEC 8 Exec format error
EBADF 9 Bad file descriptor
ECHILD 10 No child processes
EAGAIN 11 Resource temporarily unavailable
ENOMEM 12 Cannot allocate memory
EACCES 13 Permission denied
EFAULT 14 Bad address
ENOTBLK 15 Block device required
EBUSY 16 Device or resource busy
EEXIST 17 File exists
EXDEV 18 Invalid cross-device link
ENODEV 19 No such device
ENOTDIR 20 Not a directory
EISDIR 21 Is a directory
EINVAL 22 Invalid argument
ENFILE 23 Too many open files in system
EMFILE 24 Too many open files
ENOTTY 25 Inappropriate ioctl for device
ETXTBSY 26 Text file busy
EFBIG 27 File too large
ENOSPC 28 No space left on device
ESPIPE 29 Illegal seek
EROFS 30 Read-only file system
EMLINK 31 Too many links
EPIPE 32 Broken pipe
EDOM 33 Numerical argument out of domain
ERANGE 34 Numerical result out of range
EDEADLK 35 Resource deadlock avoided
ENAMETOOLONG 36 File name too long
ENOLCK 37 No locks available
ENOSYS 38 Function not implemented
ENOTEMPTY 39 Directory not empty
ELOOP 40 Too many levels of symbolic links
EWOULDBLOCK 11 Resource temporarily unavailable
ENOMSG 42 No message of desired type
EIDRM 43 Identifier removed
ECHRNG 44 Channel number out of range
EL2NSYNC 45 Level 2 not synchronized
EL3HLT 46 Level 3 halted
EL3RST 47 Level 3 reset
ELNRNG 48 Link number out of range
EUNATCH 49 Protocol driver not attached
ENOCSI 50 No CSI structure available
EL2HLT 51 Level 2 halted
EBADE 52 Invalid exchange
EBADR 53 Invalid request descriptor
EXFULL 54 Exchange full
ENOANO 55 No anode
EBADRQC 56 Invalid request code
EBADSLT 57 Invalid slot
EDEADLOCK 35 Resource deadlock avoided
EBFONT 59 Bad font file format
ENOSTR 60 Device not a stream
ENODATA 61 No data available
ETIME 62 Timer expired
ENOSR 63 Out of streams resources
ENONET 64 Machine is not on the network
ENOPKG 65 Package not installed
EREMOTE 66 Object is remote
ENOLINK 67 Link has been severed
EADV 68 Advertise error
ESRMNT 69 Srmount error
ECOMM 70 Communication error on send
EPROTO 71 Protocol error
EMULTIHOP 72 Multihop attempted
EDOTDOT 73 RFS specific error
EBADMSG 74 Bad message
EOVERFLOW 75 Value too large for defined data type
ENOTUNIQ 76 Name not unique on network
EBADFD 77 File descriptor in bad state
EREMCHG 78 Remote address changed
ELIBACC 79 Can not access a needed shared library
ELIBBAD 80 Accessing a corrupted shared library
ELIBSCN 81 .lib section in a.out corrupted
ELIBMAX 82 Attempting to link in too many shared libraries
ELIBEXEC 83 Cannot exec a shared library directly
EILSEQ 84 Invalid or incomplete multibyte or wide character
ERESTART 85 Interrupted system call should be restarted
ESTRPIPE 86 Streams pipe error
EUSERS 87 Too many users
ENOTSOCK 88 Socket operation on non-socket
EDESTADDRREQ 89 Destination address required
EMSGSIZE 90 Message too long
EPROTOTYPE 91 Protocol wrong type for socket
ENOPROTOOPT 92 Protocol not available
EPROTONOSUPPORT 93 Protocol not supported
ESOCKTNOSUPPORT 94 Socket type not supported
EOPNOTSUPP 95 Operation not supported
EPFNOSUPPORT 96 Protocol family not supported
EAFNOSUPPORT 97 Address family not supported by protocol
EADDRINUSE 98 Address already in use
EADDRNOTAVAIL 99 Cannot assign requested address
ENETDOWN 100 Network is down
ENETUNREACH 101 Network is unreachable
ENETRESET 102 Network dropped connection on reset
ECONNABORTED 103 Software caused connection abort
ECONNRESET 104 Connection reset by peer
ENOBUFS 105 No buffer space available
EISCONN 106 Transport endpoint is already connected
ENOTCONN 107 Transport endpoint is not connected
ESHUTDOWN 108 Cannot send after transport endpoint shutdown
ETOOMANYREFS 109 Too many references: cannot splice
ETIMEDOUT 110 Connection timed out
ECONNREFUSED 111 Connection refused
EHOSTDOWN 112 Host is down
EHOSTUNREACH 113 No route to host
EALREADY 114 Operation already in progress
EINPROGRESS 115 Operation now in progress
ESTALE 116 Stale file handle
EUCLEAN 117 Structure needs cleaning
ENOTNAM 118 Not a XENIX named type file
ENAVAIL 119 No XENIX semaphores available
EISNAM 120 Is a named type file
EREMOTEIO 121 Remote I/O error
EDQUOT 122 Disk quota exceeded
ENOMEDIUM 123 No medium found
EMEDIUMTYPE 124 Wrong medium type
ECANCELED 125 Operation canceled
ENOKEY 126 Required key not available
EKEYEXPIRED 127 Key has expired
EKEYREVOKED 128 Key has been revoked
EKEYREJECTED 129 Key was rejected by service
EOWNERDEAD 130 Owner died
ENOTRECOVERABLE 131 State not recoverable
ERFKILL 132 Operation not possible due to RF-kill
EHWPOISON 133 Memory page has hardware error
ENOTSUP 95 Operation not supported&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;리눅스에서 errno 명령어를 통해 확인할 수 있습니다.&lt;/li&gt;
&lt;li&gt;만약 설치가 안되어 있고 설치가 필요하다면 다음 북마크에서 설치할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure id=&quot;og_1690812072816&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;errno: command not found&quot; data-og-description=&quot;errno 유틸리티 설치 error CentOS yum install -y moreutils Ubuntu apt-get install -y moreutils 패키지 매니저로 설치가 불가능한 경우 아래 링크를 통해 직접 파일로 다운 받아 설치 합니다. Linux package / utility / liba&quot; data-og-host=&quot;junsuyoun.tistory.com&quot; data-og-source-url=&quot;https://junsuyoun.tistory.com/entry/errno-command-not-found&quot; data-og-url=&quot;https://junsuyoun.tistory.com/entry/errno-command-not-found&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/7wWnc/hyTvlhX8QE/2ljOkzbGXiUgGmp9maCwW1/img.png?width=800&amp;amp;height=353&amp;amp;face=0_0_800_353,https://scrap.kakaocdn.net/dn/uOSyc/hyTvntj0oy/1SMUk7jxbK19H1Dp4prRo0/img.png?width=800&amp;amp;height=353&amp;amp;face=0_0_800_353,https://scrap.kakaocdn.net/dn/cdTeVn/hyTvhfyDmJ/pq0FW27mP18HnDxCqEkkPk/img.png?width=837&amp;amp;height=370&amp;amp;face=0_0_837_370&quot;&gt;&lt;a href=&quot;https://junsuyoun.tistory.com/entry/errno-command-not-found&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://junsuyoun.tistory.com/entry/errno-command-not-found&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/7wWnc/hyTvlhX8QE/2ljOkzbGXiUgGmp9maCwW1/img.png?width=800&amp;amp;height=353&amp;amp;face=0_0_800_353,https://scrap.kakaocdn.net/dn/uOSyc/hyTvntj0oy/1SMUk7jxbK19H1Dp4prRo0/img.png?width=800&amp;amp;height=353&amp;amp;face=0_0_800_353,https://scrap.kakaocdn.net/dn/cdTeVn/hyTvhfyDmJ/pq0FW27mP18HnDxCqEkkPk/img.png?width=837&amp;amp;height=370&amp;amp;face=0_0_837_370');&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;errno: command not found&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;errno 유틸리티 설치 error CentOS yum install -y moreutils Ubuntu apt-get install -y moreutils 패키지 매니저로 설치가 불가능한 경우 아래 링크를 통해 직접 파일로 다운 받아 설치 합니다. Linux package / utility / liba&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;junsuyoun.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;639&quot; data-origin-height=&quot;365&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dcjEMk/btspolzidXY/akWpkCe20GkNLo6cvoZjV0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dcjEMk/btspolzidXY/akWpkCe20GkNLo6cvoZjV0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dcjEMk/btspolzidXY/akWpkCe20GkNLo6cvoZjV0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdcjEMk%2FbtspolzidXY%2FakWpkCe20GkNLo6cvoZjV0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;639&quot; height=&quot;365&quot; data-origin-width=&quot;639&quot; data-origin-height=&quot;365&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Operation System/Unix &amp;amp; Linux</category>
      <category>Errno</category>
      <category>Linux</category>
      <category>에러</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/135</guid>
      <comments>https://junsuyoun.tistory.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4-C%EC%96%B8%EC%96%B4%EB%A1%9C-%EA%B0%9C%EB%B0%9C%ED%95%A0-%EB%95%8C#entry135comment</comments>
      <pubDate>Mon, 31 Jul 2023 23:01:30 +0900</pubDate>
    </item>
    <item>
      <title>쉘 환경에서 ! 변수로 사용 되는 경우 주의</title>
      <link>https://junsuyoun.tistory.com/entry/%EC%89%98-%ED%99%98%EA%B2%BD%EC%97%90%EC%84%9C-%EB%B3%80%EC%88%98%EB%A1%9C-%EC%82%AC%EC%9A%A9-%EB%90%98%EB%8A%94-%EA%B2%BD%EC%9A%B0-%EC%A3%BC%EC%9D%98</link>
      <description>&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쉘 환경에서 ! 변수로 사용 시 주의 사항&lt;/li&gt;
&lt;li&gt;!는 histroy의 n번째 명령을 수행하려고 할 때 사용 된다.&lt;/li&gt;
&lt;li&gt;!100이면 history 결과의 100번에 해당하는 명령어가 사용된다.&lt;/li&gt;
&lt;li&gt;특수문자가 쉘 명령어로 사용되는 경우 문자열 처리하는 단계가 필요하다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;pre id=&quot;code_1690776828005&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@tibero ~]$ pass=&quot;test\!2023&quot;
[root@tibero ~]$ echo $pass
test\!2023
[root@tibero ~]$ pass=\&quot;test\!2023\&quot;
[root@tibero ~]$ echo $pass
&quot;test!2023&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;837&quot; data-origin-height=&quot;369&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bX7Fly/btspFkS8qRf/D0w5vLHR7gsRL7FbRyjowk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bX7Fly/btspFkS8qRf/D0w5vLHR7gsRL7FbRyjowk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bX7Fly/btspFkS8qRf/D0w5vLHR7gsRL7FbRyjowk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbX7Fly%2FbtspFkS8qRf%2FD0w5vLHR7gsRL7FbRyjowk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;837&quot; height=&quot;369&quot; data-origin-width=&quot;837&quot; data-origin-height=&quot;369&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Operation System/Unix &amp;amp; Linux</category>
      <category>!</category>
      <category>Shell</category>
      <category>쉘</category>
      <category>특수문자</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/134</guid>
      <comments>https://junsuyoun.tistory.com/entry/%EC%89%98-%ED%99%98%EA%B2%BD%EC%97%90%EC%84%9C-%EB%B3%80%EC%88%98%EB%A1%9C-%EC%82%AC%EC%9A%A9-%EB%90%98%EB%8A%94-%EA%B2%BD%EC%9A%B0-%EC%A3%BC%EC%9D%98#entry134comment</comments>
      <pubDate>Mon, 31 Jul 2023 13:15:28 +0900</pubDate>
    </item>
    <item>
      <title>sqlplus/tbsql에서 특수문자 암호 접속 하는 방법</title>
      <link>https://junsuyoun.tistory.com/entry/sqlplustbsql%EC%97%90%EC%84%9C-%ED%8A%B9%EC%88%98%EB%AC%B8%EC%9E%90-%EC%95%94%ED%98%B8-%EC%A0%91%EC%86%8D-%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95</link>
      <description>&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쉘 스크립트 환경에서는 일부 특수문자가 쉘 명령어와 같이 사용되는 경우가 있습니다.&lt;/li&gt;
&lt;li&gt;쉘 스크립트 유틸리티 암호를 입력할 때 오류가 발생하기도 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;sqlplus&lt;/b&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1690774732496&quot; class=&quot;sql&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[oracle@oracle ~]$ sqlplus migration_user/test@2023

SQL*Plus: Release 12.2.0.1.0 Production on Mon Jul 31 03:38:21 2023

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

ERROR:
ORA-12170: TNS:Connect timeout occurred


Enter user-name: 

[oracle@oracle ~]$ sqlplus migration_user/&quot;test@2023&quot;

SQL*Plus: Release 12.2.0.1.0 Production on Mon Jul 31 03:37:29 2023

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

ERROR:
ORA-12170: TNS:Connect timeout occurred


Enter user-name:&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1690774735341&quot; class=&quot;sql&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[oracle@oracle ~]$ sqlplus migration_user/\&quot;test@2023\&quot;

SQL*Plus: Release 12.2.0.1.0 Production on Mon Jul 31 03:40:00 2023

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

Last Successful login time: Mon Jul 31 2023 02:09:22 +00:00

Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL&amp;gt; 

[oracle@oracle ~]$ sqlplus migration_user/\&quot;test\@2023\&quot;

SQL*Plus: Release 12.2.0.1.0 Production on Mon Jul 31 02:09:22 2023

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

Last Successful login time: Mon Jul 31 2023 02:08:57 +00:00

Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;@ 특수문자의 경우에도 일반적인 방법으로는 접속할 수 없습니다.&lt;/li&gt;
&lt;li&gt;앞뒤 \&quot; 붙여주면 접속 가능 합니다.&lt;/li&gt;
&lt;li&gt;그 외 특수문자가 쉘 명령어로 처리되는 경우 앞뒤 \&quot; 외에 특수문자 앞에 \ 역슬래시 처리 해주어야 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1690774561042&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[oracle@oracle ~]$ sqlplus migration_user/test!2023
bash: !2023: event not found

[oracle@oracle ~]$ sqlplus migration_user/&quot;test!2023&quot;
bash: !2023: event not found&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;!의 경우에는 !뒤에 숫자가 쉘 history의 작업 번호에 대한 명령이기 때문에 정상적인 처리가 불가 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1690769331438&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[oracle@oracle ~]$ sqlplus migration_user/\&quot;test!2023\&quot;
bash: !2023: event not found

[oracle@oracle ~]$ sqlplus migration_user/\&quot;test\!2023\&quot;

SQL*Plus: Release 12.2.0.1.0 Production on Mon Jul 31 02:08:57 2023

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

Last Successful login time: Mon Jul 31 2023 01:09:51 +00:00

Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;!의 경우에는 앞뒤 \&quot; 및 특수문자 \ 처리 해주어야 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;연속적인 특수문자의 경우&amp;nbsp;&lt;/b&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1690774983303&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[oracle@oracle ~]$ sqlplus migration_user/\&quot;test\!!2023\&quot;
bash: !2023: event not found

[oracle@oracle ~]$ sqlplus migration_user/\&quot;test\!\!2023\&quot;

SQL*Plus: Release 12.2.0.1.0 Production on Mon Jul 31 03:42:34 2023

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

Last Successful login time: Mon Jul 31 2023 03:40:00 +00:00

Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;tbsql&lt;/b&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1690775056816&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@tibero ~]$ tbsql tibero/test@2023

tbSQL 6  

TmaxData Corporation Copyright (c) 2008-. All rights reserved.

TBS-70003: Invalid command. Enter HELP or HELP &amp;lt;command&amp;gt;.
at line 1, column 21:
CONNECT tibero/test@2023
                    ^^^^

SQL&amp;gt; q
[root@tibero ~]$ tbsql tibero/&quot;test@2023&quot;

tbSQL 6  

TmaxData Corporation Copyright (c) 2008-. All rights reserved.

TBS-70003: Invalid command. Enter HELP or HELP &amp;lt;command&amp;gt;.
at line 1, column 21:
CONNECT tibero/test@2023
                    ^^^^

SQL&amp;gt; q&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;sqlplus와 마찬가지로 일반적인 방법으로는 암호를 정상적으로 입력하지 못합니다.&lt;/li&gt;
&lt;li&gt;특수문자의 별도 처리가 필요 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1690775122057&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@tibero ~]$ tbsql tibero/\&quot;test@2023\&quot;

tbSQL 6  

TmaxData Corporation Copyright (c) 2008-. All rights reserved.

Connected to Tibero.

SQL&amp;gt; 

[root@tibero ~]$ tbsql tibero/\&quot;test\@2023\&quot;

tbSQL 6  

TmaxData Corporation Copyright (c) 2008-. All rights reserved.

Connected to Tibero.

SQL&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;@ 특수문자의 경우에도 일반적인 방법으로는 접속할 수 없습니다.&lt;/li&gt;
&lt;li&gt;앞뒤 \&quot; 붙여주면 접속 가능 합니다.&lt;/li&gt;
&lt;li&gt;그 외 특수문자가 쉘 명령어로 처리되는 경우 앞뒤 \&quot; 외에 특수문자 앞에 \ 역슬래시 처리 해주어야 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1690775242594&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@tibero ~]$ tbsql tibero/test!2023
bash: !2023: event not found

[root@tibero ~]$ tbsql tibero/&quot;test!2023&quot;
bash: !2023: event not found

[root@tibero ~]$ tbsql tibero/\&quot;test!2023\&quot;
bash: !2023: event not found&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;!의 경우에는 !뒤에 숫자가 쉘 history의 작업 번호에 대한 명령이기 때문에 정상적인 처리가 불가 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1690775255311&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@tibero ~]$ tbsql tibero/\&quot;test\!2023\&quot;

tbSQL 6  

TmaxData Corporation Copyright (c) 2008-. All rights reserved.

Connected to Tibero.

SQL&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;!의 경우에는 앞뒤 \&quot; 및 특수문자 \ 처리 해주어야 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;연속적인 특수문자의 경우&lt;/b&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1690775285903&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@tibero ~]$ tbsql tibero/\&quot;test\!!2023\&quot;
bash: !2023: event not found
[root@tibero ~]$ tbsql tibero/\&quot;test\!\!2023\&quot;

tbSQL 6  

TmaxData Corporation Copyright (c) 2008-. All rights reserved.

Connected to Tibero.

SQL&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;599&quot; data-origin-height=&quot;463&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bGF5lc/btsplMYfg9k/GHcNmY2FgrF3sNFQqOXY5k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bGF5lc/btsplMYfg9k/GHcNmY2FgrF3sNFQqOXY5k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bGF5lc/btsplMYfg9k/GHcNmY2FgrF3sNFQqOXY5k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbGF5lc%2FbtsplMYfg9k%2FGHcNmY2FgrF3sNFQqOXY5k%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;599&quot; height=&quot;463&quot; data-origin-width=&quot;599&quot; data-origin-height=&quot;463&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>RDBMS/ORACLE &amp;amp; TIBERO</category>
      <category>Oracle</category>
      <category>sqlplus</category>
      <category>tbSQL</category>
      <category>Tibero</category>
      <category>특수문자</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/133</guid>
      <comments>https://junsuyoun.tistory.com/entry/sqlplustbsql%EC%97%90%EC%84%9C-%ED%8A%B9%EC%88%98%EB%AC%B8%EC%9E%90-%EC%95%94%ED%98%B8-%EC%A0%91%EC%86%8D-%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95#entry133comment</comments>
      <pubDate>Mon, 31 Jul 2023 12:49:39 +0900</pubDate>
    </item>
    <item>
      <title>ORACLE/TIBERO 한글 포함 데이터 찾기 (REGEXP_LIKE)</title>
      <link>https://junsuyoun.tistory.com/entry/ORACLETIBERO-%ED%95%9C%EA%B8%80-%ED%8F%AC%ED%95%A8-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%B0%BE%EA%B8%B0-REGEXPLIKE</link>
      <description>&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;데이터 작업을 하다보면 한글이 들어있는 특정 로우들을 제외하거나 찾아야하는 경우&lt;/li&gt;
&lt;li&gt;데이터에 한글이 포함되었는지 찾아야하기 때문에 테이블 풀 스캔은 불가피 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;pre id=&quot;code_1690774206554&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT
	column1,
	CASE 
		WHEN
			REGEXP_LIKE (column2,'[가-힣]') THEN '한글 포함'
		ELSE
			'한글 미포함'
	END
FROM
	tbl;
    
    
SELECT
	column1
FROM
	tbl
WHERE 
	REGEXP_LIKE (column2,'[가-힣]');&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;REGEXP_LIKE 문자열 내 한글이 포함된지 모두 찾아야하기 때문에 DBMS에서 제공하는 REGEXP_LIKE 함수의 내부 알고리즘이 어떻게 구현했는지에 따라 성능 차이가 있겠지만 기본적으로는 많은 데이터를 작업하기에는 느릴 수 밖에 없습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;599&quot; data-origin-height=&quot;463&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/RWBwH/btsplbKLVyi/QYpjcQButsiStALtJ9fmw1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/RWBwH/btsplbKLVyi/QYpjcQButsiStALtJ9fmw1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/RWBwH/btsplbKLVyi/QYpjcQButsiStALtJ9fmw1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRWBwH%2FbtsplbKLVyi%2FQYpjcQButsiStALtJ9fmw1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;599&quot; height=&quot;463&quot; data-origin-width=&quot;599&quot; data-origin-height=&quot;463&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>RDBMS/ORACLE &amp;amp; TIBERO</category>
      <category>Oracle</category>
      <category>regexp_like</category>
      <category>Tibero</category>
      <category>오라클</category>
      <category>정규표현식</category>
      <category>티베로</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/132</guid>
      <comments>https://junsuyoun.tistory.com/entry/ORACLETIBERO-%ED%95%9C%EA%B8%80-%ED%8F%AC%ED%95%A8-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%B0%BE%EA%B8%B0-REGEXPLIKE#entry132comment</comments>
      <pubDate>Mon, 31 Jul 2023 12:34:09 +0900</pubDate>
    </item>
    <item>
      <title>ORACLE/TIBERO SQL 튜닝(최적화) 학습을 위한 테스트 데이터 만들기</title>
      <link>https://junsuyoun.tistory.com/entry/ORACLETIBERO-SQL-%ED%8A%9C%EB%8B%9D%EC%B5%9C%EC%A0%81%ED%99%94-%ED%95%99%EC%8A%B5%EC%9D%84-%EC%9C%84%ED%95%9C-%ED%85%8C%EC%8A%A4%ED%8A%B8-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%A7%8C%EB%93%A4%EA%B8%B0</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1076&quot; data-origin-height=&quot;600&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bFbZGR/btsouYyKnOY/BLvKvfYunzE4ZtaI2NVVdk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bFbZGR/btsouYyKnOY/BLvKvfYunzE4ZtaI2NVVdk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bFbZGR/btsouYyKnOY/BLvKvfYunzE4ZtaI2NVVdk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbFbZGR%2FbtsouYyKnOY%2FBLvKvfYunzE4ZtaI2NVVdk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;640&quot; height=&quot;357&quot; data-origin-width=&quot;1076&quot; data-origin-height=&quot;600&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;SQL 튜닝 학습을 하고 싶은데, ORACLE 데모 데이터 외의 데이터로 테스트를 하고 싶은 경우 활용하면 좋습니다.&lt;/li&gt;
&lt;li&gt;자체적으로 고민해서 만든 모델이며 정규화, SQL 튜닝 등등 다양한 케이스로 활용할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;DDL&lt;/b&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1689922855728&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- 20만
CREATE TABLE user_info(
	uuid number(38),
	user_id varchar(400),
	password varchar(4000),
	email varchar(1000),
	oauth_type varchar(1000),
	singup_date date
);

-- 100만
CREATE TABLE user_post_info(
	uuid varchar(5000),
	user_id varchar(1000),
	post_id number(38),
	post_path varchar(5000),
	post_view number(38),
	post_like number(38),
	post_dislike number(38),
	post_createdate date
);

-- 150만
CREATE TABLE user_comment_info(
	uuid number(38),
	user_id varchar(1000),
	post_id number(38),
	comment_id number(38),
	comment_content varchar(4000),
	comment_like number(38),
	comment_dislike number(38),
	comment_createdate date
);&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;user_info: 20만개, user_post_info: 100만개, user_comment_info: 150만개&lt;/li&gt;
&lt;li&gt;건수는 향후 조정할 수 있으며 일단 테스트 데이터 작성 건수는 위와 같습니다.&lt;/li&gt;
&lt;li&gt;VARCHAR를 VARCHAR2로 변경하면 오라클에서도 사용 가능합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;USER_INFO&lt;/b&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1689922923930&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- PL/SQL 스크립트로 랜덤 데이터 삽입
DECLARE
    max_records CONSTANT NUMBER := 200000; -- 생성할 데이터 건수
    commit_interval CONSTANT NUMBER := 10000; -- 커밋 주기
    min_year CONSTANT NUMBER := 2021;     -- 가입 날짜 최소 연도
    max_year CONSTANT NUMBER := 2023;     -- 가입 날짜 최대 연도
    date_range CONSTANT NUMBER := max_year - min_year + 1; -- 가입 날짜 범위 (연도 차이)
    base_date CONSTANT DATE := TO_DATE('2021-01-01', 'YYYY-MM-DD'); -- 시작 날짜

    -- 랜덤 문자열 생성 함수
    FUNCTION random_string(p_length IN NUMBER) RETURN VARCHAR2 IS
        random_str VARCHAR2(4000);
    BEGIN
        SELECT DBMS_RANDOM.STRING('A', p_length) INTO random_str FROM DUAL;
        RETURN random_str;
    END random_string;

    -- 랜덤 소셜 타입 생성 함수
    FUNCTION random_oauth_type RETURN VARCHAR2 IS
        oauth_types CONSTANT sys.odcivarchar2list := sys.odcivarchar2list('Facebook', 'Twitter', 'Google', 'Kakao', 'Naver');
    BEGIN
        RETURN oauth_types(DBMS_RANDOM.VALUE(1, oauth_types.COUNT));
    END random_oauth_type;

    -- 이메일 도메인 생성 함수
    FUNCTION generate_email_domain(p_oauth_type IN VARCHAR2) RETURN VARCHAR2 IS
    BEGIN
        CASE p_oauth_type
            WHEN 'Facebook' THEN
                RETURN '@facebook.com';
            WHEN 'Twitter' THEN
                RETURN '@twitter.com';
            WHEN 'Google' THEN
                RETURN '@google.com';
            WHEN 'Kakao' THEN
                RETURN '@kakao.com';
            WHEN 'Naver' THEN
                RETURN '@naver.com';
            ELSE
                RETURN '@example.com';
        END CASE;
    END generate_email_domain;

    -- 랜덤 날짜 생성 함수
    FUNCTION random_date RETURN DATE IS
        random_days NUMBER;
    BEGIN
        random_days := DBMS_RANDOM.VALUE(0, date_range * 365);
        RETURN base_date + random_days;
    END random_date;
BEGIN
    FOR i IN 1..max_records LOOP
        DECLARE
            v_oauth_type VARCHAR2(1000);
            v_email_domain VARCHAR2(1000);
        BEGIN
            v_oauth_type := random_oauth_type;
            v_email_domain := generate_email_domain(v_oauth_type);
        
            INSERT INTO user_info (uuid, user_id, password, email, oauth_type, singup_date)
            VALUES (
                i,
                random_string(10),  -- user_id는 10자리 랜덤 문자열로 생성
                random_string(20),  -- password는 20자리 랜덤 문자열로 생성
                random_string(15) || v_email_domain, -- 랜덤 이메일 생성
                v_oauth_type,  -- 랜덤 소셜 타입 생성
                random_date         -- 가입 날짜는 랜덤으로 생성
            );
        
            -- 주기적으로 COMMIT을 수행하여 성능을 개선
            IF MOD(i, commit_interval) = 0 THEN
                COMMIT;
            END IF;
        EXCEPTION
            WHEN OTHERS THEN
                -- 예외 처리
                DBMS_OUTPUT.PUT_LINE('Error occurred: ' || SQLERRM);
                ROLLBACK; -- 롤백 처리
        END;
    END LOOP;
    
    COMMIT; -- 마지막으로 COMMIT 수행
EXCEPTION
    WHEN OTHERS THEN
        -- 예외 처리
        DBMS_OUTPUT.PUT_LINE('Error occurred: ' || SQLERRM);
        ROLLBACK; -- 롤백 처리
END;
/&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;프로시저로 테스트 데이터를 생성합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;USER_POST_INFO&lt;/b&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1689922974770&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;create index idx_user_info_uuid on user_info(uuid); -- uuid 칼럼에 INDEX 생성이 이루어져야만 데이터 생성이 빨리 됩니다.
create sequence seq_user_post_info_uuid; -- SEQUENCE를 통해 uuid 순번을 생성 합니다.

INSERT INTO user_post_info(uuid,user_id,post_id,post_path,post_view,post_like,post_dislike,post_createdate)
 SELECT
  seq_user_post_info_uuid.nextval uuid,
  (SELECT user_id FROM user_info WHERE uuid =b.rand) user_id,
  seq_user_post_info_uuid.nextval post_id,
  'path:/contents/post/'||seq_user_post_info_uuid.nextval post_path,
  CEIL(dbms_random.VALUE(0,50000)) post_view,
  CEIL(dbms_random.VALUE(0,4000)) post_like, 
  CEIL(dbms_random.VALUE(0,3999)) post_dislike,
  (SELECT singup_date + b.trand FROM user_info WHERE uuid =b.rand) post_createdate
 FROM(
	SELECT CEIL(dbms_random.VALUE(1,200000)) rand, --user_info 테이블 건수만큼 지정
	CEIL(dbms_random.VALUE(1,730)) trand FROM dual CONNECT BY LEVEL &amp;lt;=1000000 -- 원하는 user_post_info 테이블 건수
) b;&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&quot;CEIL(dbms_random.VALUE(1,200000))&quot; user_info 테이블과 연결을 위해 동일하게 건수 설정&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;USER_COMMENT_INFO&lt;/b&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1689923109064&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;create index idx_user_post_info_uuid on user_post_info(uuid); -- uuid 칼럼에 INDEX 생성이 이루어져야만 데이터 생성이 빨리 됩니다.
create index idx_user_post_info_post_id on user_post_info(post_id);
create sequence seq_user_comment_info_uuid; -- SEQUENCE를 통해 uuid 순번을 생성 합니다.

INSERT INTO user_comment_info (uuid,user_id,post_id,comment_id,comment_content,comment_like,comment_dislike,comment_createdate)
SELECT
 seq_user_comment_info_uuid.nextval uuid,
 (SELECT user_id FROM user_info WHERE uuid =b.rand) user_id,
 (SELECT post_id FROM user_post_info WHERE post_id = b.prand) post_id,
 seq_user_comment_info_uuid.nextval comment_id,
 dbms_random.string('p',b.trand) comment_content,	
 dbms_random.VALUE(0,1000) comment_like,
 dbms_random.VALUE(0,1001) comment_dislike,
 (SELECT POST_CREATEDATE + b.trand AS post_createdate FROM user_post_info WHERE post_id = b.prand) comment_createdate
FROM
 (
 	SELECT 
 		CEIL(dbms_random.value(1,200000)) rand, -- user_info 테이블 건수와 동일
 		CEIL(dbms_random.value(1,765)) trand,
 		CEIL(dbms_random.value(1,1000000)) prand  -- user_post_info 테이블 건수와 동일
 	FROM
    	dual CONNECT BY LEVEL &amp;lt;=1500000
  ) b;&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&quot;CEIL(dbms_random.value(1,200000)) rand&quot; user_info 테이블과 연결을 위해 user_info 건수와 동일하게 설정&lt;/li&gt;
&lt;li&gt;&quot;CEIL(dbms_random.value(1,1000000)) prand&quot; user_post_info 테이블과 연결을 위해 user_post_info 건수와 동일하게 설정&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;684&quot; data-origin-height=&quot;259&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/m8quM/btsovtEUfmO/ua5dC1kgFWnPBPYK1qLed0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/m8quM/btsovtEUfmO/ua5dC1kgFWnPBPYK1qLed0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/m8quM/btsovtEUfmO/ua5dC1kgFWnPBPYK1qLed0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fm8quM%2FbtsovtEUfmO%2Fua5dC1kgFWnPBPYK1qLed0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;684&quot; height=&quot;259&quot; data-origin-width=&quot;684&quot; data-origin-height=&quot;259&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>RDBMS/Tuning</category>
      <category>Oracle</category>
      <category>Tibero</category>
      <category>최적화</category>
      <category>테스트데이터</category>
      <category>튜닝</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/131</guid>
      <comments>https://junsuyoun.tistory.com/entry/ORACLETIBERO-SQL-%ED%8A%9C%EB%8B%9D%EC%B5%9C%EC%A0%81%ED%99%94-%ED%95%99%EC%8A%B5%EC%9D%84-%EC%9C%84%ED%95%9C-%ED%85%8C%EC%8A%A4%ED%8A%B8-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%A7%8C%EB%93%A4%EA%B8%B0#entry131comment</comments>
      <pubDate>Fri, 21 Jul 2023 16:10:00 +0900</pubDate>
    </item>
    <item>
      <title>errno: command not found</title>
      <link>https://junsuyoun.tistory.com/entry/errno-command-not-found</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;errno 유틸리티 설치&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;error&lt;/b&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;CentOS&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1664416543927&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;yum install -y moreutils&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Ubuntu&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1664416548735&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;apt-get install -y moreutils&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;837&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cnIidT/btsorZQ8UpH/0OxN9f9n7NdLEYZamL6Pwk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cnIidT/btsorZQ8UpH/0OxN9f9n7NdLEYZamL6Pwk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cnIidT/btsorZQ8UpH/0OxN9f9n7NdLEYZamL6Pwk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcnIidT%2FbtsorZQ8UpH%2F0OxN9f9n7NdLEYZamL6Pwk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;837&quot; height=&quot;370&quot; data-origin-width=&quot;837&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;패키지 매니저로 설치가 불가능한 경우 아래 링크를 통해 직접 파일로 다운 받아 설치 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure id=&quot;og_1664416574355&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  package  / utility / libarary 파일 다운로드&quot; data-og-description=&quot;리눅스 환경에서 yum 또는 apt-get과 같은 패키지 관리자로 패키지를 다운 받지 못할 때 파일로 준비해야 합니다. package, utility, librarary Repository CentOS Index of /centos mirror.navercorp.com CentOS..&quot; data-og-host=&quot;junsuyoun.tistory.com&quot; data-og-source-url=&quot;https://junsuyoun.tistory.com/46&quot; data-og-url=&quot;https://junsuyoun.tistory.com/46&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/MHa1H/hyPXOgnkl6/Fm3dsSq0Dkm3RvIGhKZD0K/img.png?width=800&amp;amp;height=498&amp;amp;face=0_0_800_498,https://scrap.kakaocdn.net/dn/fpMR7/hyPWOvvAvW/lv3KjknecrmJHjktUiQ4h1/img.png?width=800&amp;amp;height=498&amp;amp;face=0_0_800_498,https://scrap.kakaocdn.net/dn/7aOXY/hyPXLxaTI3/UsNK2oXn8gRXDkIQALuPU0/img.png?width=814&amp;amp;height=518&amp;amp;face=0_0_814_518&quot;&gt;&lt;a href=&quot;https://junsuyoun.tistory.com/46&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://junsuyoun.tistory.com/46&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/MHa1H/hyPXOgnkl6/Fm3dsSq0Dkm3RvIGhKZD0K/img.png?width=800&amp;amp;height=498&amp;amp;face=0_0_800_498,https://scrap.kakaocdn.net/dn/fpMR7/hyPWOvvAvW/lv3KjknecrmJHjktUiQ4h1/img.png?width=800&amp;amp;height=498&amp;amp;face=0_0_800_498,https://scrap.kakaocdn.net/dn/7aOXY/hyPXLxaTI3/UsNK2oXn8gRXDkIQALuPU0/img.png?width=814&amp;amp;height=518&amp;amp;face=0_0_814_518');&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 package / utility / libarary 파일 다운로드&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;리눅스 환경에서 yum 또는 apt-get과 같은 패키지 관리자로 패키지를 다운 받지 못할 때 파일로 준비해야 합니다. package, utility, librarary Repository CentOS Index of /centos mirror.navercorp.com CentOS..&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;junsuyoun.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Operation System/Unix &amp;amp; Linux</category>
      <category>centos</category>
      <category>Errno</category>
      <category>ubuntu</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/130</guid>
      <comments>https://junsuyoun.tistory.com/entry/errno-command-not-found#entry130comment</comments>
      <pubDate>Fri, 21 Jul 2023 13:32:44 +0900</pubDate>
    </item>
    <item>
      <title>CUBRID 백업 스크립트</title>
      <link>https://junsuyoun.tistory.com/entry/CUBRID-%EB%B0%B1%EC%97%85-%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8</link>
      <description>&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;CUBRID 데이터베이스에서는 backupdb라는 백업 유틸리티를 제공 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;스크립트&lt;/b&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1689836416123&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#!/bin/bash

########### USER Configuration
	FULL_BACKUP_ARCHIVE_DATE=7
	INCRE_BACKUP_ARCHIVE_DATE=1

##############################

	DBNAME=$1
	LEVEL=$2
	HOST_NM=`hostname`
	BACKUP_DATE=`date +%Y%m%d_%H`
	BACKUP_DIR=/DB_BACKUP/CUBRID_BACKUP/$HOST_NM/$DBNAME/level$LEVEL/$BACKUP_DATE
	RM_BACKUP_DATE=`date -d &quot;-&quot;$INCRE_BACKUP_ARCHIVE_DATE&quot; day&quot; +%Y%m%d`
	RM_BACKUP_DATE=`date -d &quot;-&quot;$FULL_BACKUP_ARCHIVE_DATE&quot; day&quot; +%Y%m%d`
	
function CUBRID_BACKUP_RUN(){
	mkdir -p $BACKUP_DIR
	cubrid backupdb -C -D $BACKUP_DIR -l $LEVEL -z -o $BACKUP_DIR/${DBNAME}-backupdb-${LEVEL}.log $DBNAME@localhost
}

function ARCHIVE_BACKUP_RM(){
	if [ $LEVEL = 0 ]; then
		
		RM_BACKUP_DIR=/DB_BACKUP/CUBRID_BACKUP/$HOST_NM/$DBNAME/level$LEVEL/$RM_BACKUP_DATE
		rm -rf &quot;$RM_BACKUP_DIR&quot;_*

	elif [ $LEVEL = 1 ]; then
		
		RM_BACKUP_DIR=/DB_BACKUP/CUBRID_BACKUP/$HOST_NM/$DBNAME/level$LEVEL/$RM_BACKUP_DATE
		rm -rf &quot;$RM_BACKUP_DIR&quot;_*

	fi
}

CUBRID_BACKUP_RUN 2&amp;gt;/dev/null
ARCHIVE_BACKUP_RM 2&amp;gt;/dev/null&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;backupdb 유틸리티를 통해 수행되는 스크립트 입니다.&lt;/li&gt;
&lt;li&gt;백업 명령과 백업 보관 주기까지 구현한 스크립트 입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;500&quot; data-origin-height=&quot;500&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bwOoUF/btsoid3RO62/LMBdklQ4YLNJFgaKmtcqk1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bwOoUF/btsoid3RO62/LMBdklQ4YLNJFgaKmtcqk1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bwOoUF/btsoid3RO62/LMBdklQ4YLNJFgaKmtcqk1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbwOoUF%2Fbtsoid3RO62%2FLMBdklQ4YLNJFgaKmtcqk1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; data-origin-width=&quot;500&quot; data-origin-height=&quot;500&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>RDBMS/CUBRID &amp;amp; PostgreSQL</category>
      <category>backup</category>
      <category>CUBRID</category>
      <category>Opensource</category>
      <category>RDBMS</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/129</guid>
      <comments>https://junsuyoun.tistory.com/entry/CUBRID-%EB%B0%B1%EC%97%85-%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8#entry129comment</comments>
      <pubDate>Thu, 20 Jul 2023 16:01:52 +0900</pubDate>
    </item>
    <item>
      <title>CUBRID 오브젝트 확인하는 SQL</title>
      <link>https://junsuyoun.tistory.com/entry/CUBRID-%EC%98%A4%EB%B8%8C%EC%A0%9D%ED%8A%B8-%ED%99%95%EC%9D%B8%ED%95%98%EB%8A%94-SQL</link>
      <description>&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;CUBRID 데이터베이스의 오브젝트를 확인하는 SQL문 입니다.&lt;/li&gt;
&lt;li&gt;주석 내용을 확인하고 사용하시기 바랍니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;pre id=&quot;code_1689836256694&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;select 
    cls.owner_name,
    cls.class_name,
    att.attr_name,
    att.data_type,
    att.prec,
    att.scale,
    att.default_value,
    att.is_nullable
from 
    db_class cls inner join 
    /* CUBRID 11.1 이하 */
    db_attribute att on cls.class_name = att.class_name
    /* CUBRID 11.2 이상 */
    --db_attribute att on cls.class_name = att.class_name and cls.owner_name = att.owner_name
where 
    cls.is_system_class='NO' and cls.class_type='CLASS';


-- characterset
select
    b.charset_name
from
    db_root a,
    db_collation b
where
    a.charset = b.coll_id;


-- object type
select
    owner,
    object_name,
    object_type
from     
    (   select
            CAST(owner.name AS VARCHAR(255)) owner,
            class_name object_name,
            case class_type 
                when 0 then 'TABLE'
                when 1 then 'VIEW'
                else 'UNKNOW'
            end object_type
        from
            _db_class
        where
            is_system_class = 0 and
            class_name not in (select partition_class_name from db_partition union all select class_name from db_partition)
    union all
        select
            CAST(b.owner.name AS VARCHAR(255)) owner,
            b.class_name object_name,
            'PARTITION '||a.partition_type||' TABLE' object_type
        from
           db_partition a, _db_class b
        where
            a.class_name = b.class_name
            -- 11.2 이상 버전
            -- and a.owner_name= CAST(b.owner.name AS VARCHAR(255))
        group by 
            b.owner, b.class_name
    union all
        select 
            CAST(b.owner.name AS VARCHAR(255)) owner,
            b.class_name object_name,
            'PARTITION '||a.partition_type||' TABLE' object_type
        from
            db_partition a, _db_class b
        where
            a.partition_class_name = b.class_name
            -- 11.2 이상 버전
            -- and a.owner_name= CAST(b.owner.name AS VARCHAR(255))        
        group by
            b.owner, b.class_name
    union all
        select
            -- 11.1 이하 버전
            (select owner_name from db_class where is_system_class = 'NO' and db_idx.class_name = class_name) owner,
            -- 11.2 이상 버전
            -- db_idx.owner_name owner,
            db_idx.index_name object_name,
            case
                when db_idx.is_unique = 'YES' and db_idx.is_primary_key = 'NO' then 'INDEX (UNIQUE)'
                -- 9 이상 버전 (8버전 비활성화)
                --when db_idx.have_function = 'YES' then 'INDEX (FUNCTION)'
                when db_idx.is_primary_key = 'YES' then 'INDEX (PRIMARY KEY)'
                when db_idx.is_foreign_key = 'YES' then 'INDEX (FOREIGN KEY)'        
                else 'INDEX (NORMAL)'
            end object_type
        from
            db_index db_idx
        where
            db_idx.class_name in (select class_name from db_class where is_system_class='NO')
    union all
        select 
            CAST(owner.name AS VARCHAR(255)) owner,
            name object_name,
            'SERIAL' object_type
        from
            db_serial
    union all
        select
            CAST(owner.name AS VARCHAR(255)) owner,
            sp_name object_name,
            'Java Stored Procedure'||sp_type object_type
        from
            _db_stored_procedure
    union all
        select
            CAST(owner.name AS VARCHAR(255)) owner,
            name object_name,
            'TRIGGER' object_type
        from
            db_trigger
    
        /* 
            CUBRID 11.2버전 부터 SYNONYM 개념이 생겨
            CUBRID 11.2 사용 시에만 활성 
        */
    -- union all
        --     synonym_owner_name,
        --     synonym_name,
        --     'SYNONYM'
        -- from
        --     db_synonym
    ) object_result;&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;500&quot; data-origin-height=&quot;500&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cHUC7V/btsol7WANhM/P8sShn2lewMuCkBKDiGj11/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cHUC7V/btsol7WANhM/P8sShn2lewMuCkBKDiGj11/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cHUC7V/btsol7WANhM/P8sShn2lewMuCkBKDiGj11/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcHUC7V%2Fbtsol7WANhM%2FP8sShn2lewMuCkBKDiGj11%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; data-origin-width=&quot;500&quot; data-origin-height=&quot;500&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>RDBMS/CUBRID &amp;amp; PostgreSQL</category>
      <category>CUBRID</category>
      <category>objects</category>
      <category>Opensource</category>
      <category>RDBMS</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/128</guid>
      <comments>https://junsuyoun.tistory.com/entry/CUBRID-%EC%98%A4%EB%B8%8C%EC%A0%9D%ED%8A%B8-%ED%99%95%EC%9D%B8%ED%95%98%EB%8A%94-SQL#entry128comment</comments>
      <pubDate>Thu, 20 Jul 2023 15:58:26 +0900</pubDate>
    </item>
    <item>
      <title>PostgreSQL 15 PL/Python 사용해보기</title>
      <link>https://junsuyoun.tistory.com/entry/PostgreSQL-15-PLPython-%EC%82%AC%EC%9A%A9%ED%95%B4%EB%B3%B4%EA%B8%B0</link>
      <description>&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;PostgreSQL에서는 프로시저 언어로 파이썬을 지원 합니다.&lt;/li&gt;
&lt;li&gt;PL/Python을 사용하는 방법에 대해 테스트 해보겠습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;PL/Python&lt;span&gt;&amp;nbsp;&lt;/span&gt;EXTENSION 생성&lt;/b&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1689835718306&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;CREATE EXTENSION plpython3u;&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;PL/Python을 사용하기 위해서는 EXTENSION을 통해 PL/Python 모듈을 사용할 수 있도록 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;PL/Python 테스트 코드&lt;/b&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1689835778928&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- FUNCTION 생성
CREATE OR REPLACE FUNCTION your_function_name(arg1 integer, arg2 integer)
RETURNS TABLE (column1 int, column2 int) AS $$
result = []
query = f&quot;SELECT {arg1}, {arg2};&quot;
result.append((arg1 + 100, arg2 + 100))
for row in result:
    yield row
$$ LANGUAGE plpython3u;

-- 수행
select column1, column2 FROM your_function_name(1, 2);

postgres=#  select column1, column2 FROM your_function_name(1, 2);
 column1 | column2 
---------+---------
     101 |     102
(1 row)&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;제대로 동작하지 않는다면&lt;/b&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1689835829639&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- $PGDATA/postgresql/extension의 control파일을 보고 확인
postgres=# select name, default_version, installed_version from pg_available_extensions;
  name   | default_version | installed_version 
---------+-----------------+-------------------
 plpgsql | 1.0             | 1.0

-- 데이터베이스 내에 오브젝트로 존재
postgres=# select * from pg_language;
  oid  |  lanname   | lanowner | lanispl | lanpltrusted | lanplcallfoid | laninline | lanvalidator | lanacl 
-------+------------+----------+---------+--------------+---------------+-----------+--------------+--------
    12 | internal   |       10 | f       | f            |             0 |         0 |         2246 | 
    13 | c          |       10 | f       | f            |             0 |         0 |         2247 | 
    14 | sql        |       10 | f       | t            |             0 |         0 |         2248 | 
 12758 | plpgsql    |       10 | t       | t            |         12755 |     12756 |        12757 |
 
postgres=# CREATE EXTENSION plpython3u;
ERROR:  extension &quot;plpython3u&quot; is not available
DETAIL:  Could not open extension control file &quot;/pgdata/postgresql/extension/plpython3u.control&quot;: No such file or directory.
HINT:  The extension must first be installed on the system where PostgreSQL is running.&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;PL/Python을 사용하는 기능이 비활성화 되어 있는 경우&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;소스 코드에서 PL/Python 컴파일&lt;/b&gt;&lt;/blockquote&gt;
&lt;pre id=&quot;code_1689835896269&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- OS에서 Python 사용하고자 하는 경우 설치
# yum install -y python3-devel

-- 의존성 확인
# yum deplist python3-devel

-- PostgreSQL PL/Python 모듈 컴파일 준비
cd $HOME/postgres-15.3/
./configure --with-python

-- 파이썬이 설치되어 있지 않은 경우 configure 단계에서 오류 발생
configure: using python 2.7.5 (default, Oct 14 2020, 14:45:30) 
configure: error: Python version 2.7 is too old (version 3 or later is required)

-- PostgreSQL PL/Python 모듈 컴파일
cd $HOME/postgresql-15.3/src/pl/plpython
make -f Makefile

-- PL/Python 모듈 라이브러리 및 control, sql 파일 확인
plpython3.so
plpython3u--1.0.sql
plpython3u.control&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;엔진에 PL/Python 모듈 플러그인&lt;/b&gt;&lt;/blockquote&gt;
&lt;pre id=&quot;code_1689835937816&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- $PGDATA/postgresql/extension 경로에 control, sql 파일 이동
cp plpython3u--1.0.sql $PGDATA/postgresql/extension 
cp plpython3u.control $PGDATA/postgresql/extension 

-- 라이브러리를 옮기지 않고 EXTENSION 수행 시 오류 발생
postgres=# CREATE EXTENSION plpython3u;
ERROR:  could not access file &quot;$libdir/plpython3&quot;: No such file or directory

-- 라이브러리 이동
cp plpython3.so $PGHOME/lib 

postgres=# select name, default_version, installed_version from pg_available_extensions;
    name    | default_version | installed_version 
------------+-----------------+-------------------
 plpython3u | 1.0             | 
 plpgsql    | 1.0             | 1.0
(2 rows)

postgres=# select * from pg_language;
  oid  | lanname  | lanowner | lanispl | lanpltrusted | lanplcallfoid | laninline | lanvalidator | lanacl 
-------+----------+----------+---------+--------------+---------------+-----------+--------------+--------
    12 | internal |       10 | f       | f            |             0 |         0 |         2246 | 
    13 | c        |       10 | f       | f            |             0 |         0 |         2247 | 
    14 | sql      |       10 | f       | t            |             0 |         0 |         2248 | 
 12758 | plpgsql  |       10 | t       | t            |         12755 |     12756 |        12757 | 
(4 rows)&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;EXTENSION 재생성 및 테스트 코드 수행&lt;/b&gt;&lt;/blockquote&gt;
&lt;pre id=&quot;code_1689835969054&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;postgres=# CREATE EXTENSION plpython3u;
CREATE EXTENSION

-- FUNCTION 생성
CREATE OR REPLACE FUNCTION your_function_name(arg1 integer, arg2 integer)
RETURNS TABLE (column1 int, column2 int) AS $$
result = []
query = f&quot;SELECT {arg1}, {arg2};&quot;
result.append((arg1 + 100, arg2 + 100))
for row in result:
    yield row
$$ LANGUAGE plpython3u;

-- 수행
select column1, column2 FROM your_function_name(1, 2);

postgres=#  select column1, column2 FROM your_function_name(1, 2);
 column1 | column2 
---------+---------
     101 |     102
(1 row)&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;564&quot; data-origin-height=&quot;532&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9xpg1/btsohXUw3eJ/7Cd3DQQ3Gvw767WP0Grua0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9xpg1/btsohXUw3eJ/7Cd3DQQ3Gvw767WP0Grua0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9xpg1/btsohXUw3eJ/7Cd3DQQ3Gvw767WP0Grua0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9xpg1%2FbtsohXUw3eJ%2F7Cd3DQQ3Gvw767WP0Grua0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;564&quot; height=&quot;532&quot; data-origin-width=&quot;564&quot; data-origin-height=&quot;532&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>RDBMS/CUBRID &amp;amp; PostgreSQL</category>
      <category>pl/python</category>
      <category>PostgreSQL</category>
      <category>RDBMS</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/127</guid>
      <comments>https://junsuyoun.tistory.com/entry/PostgreSQL-15-PLPython-%EC%82%AC%EC%9A%A9%ED%95%B4%EB%B3%B4%EA%B8%B0#entry127comment</comments>
      <pubDate>Thu, 20 Jul 2023 15:54:19 +0900</pubDate>
    </item>
    <item>
      <title>PostgreSQL 15 버전 설치 (소스 코드)</title>
      <link>https://junsuyoun.tistory.com/entry/PostgreSQL-15-%EB%B2%84%EC%A0%84-%EC%84%A4%EC%B9%98</link>
      <description>&lt;figure id=&quot;og_1689829211399&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;DB-Engines Ranking&quot; data-og-description=&quot;Popularity ranking of database management systems.&quot; data-og-host=&quot;db-engines.com&quot; data-og-source-url=&quot;https://db-engines.com/en/ranking&quot; data-og-url=&quot;https://db-engines.com/en/ranking&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dLCkUk/hyTnUEpaRU/owfgLAzvIGboke3GQOKkKK/img.png?width=128&amp;amp;height=128&amp;amp;face=0_0_128_128,https://scrap.kakaocdn.net/dn/kHdQW/hyTnLgoUAu/DYqjd0zkygzw8er3cKCJ9K/img.png?width=128&amp;amp;height=128&amp;amp;face=0_0_128_128&quot;&gt;&lt;a href=&quot;https://db-engines.com/en/ranking&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://db-engines.com/en/ranking&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dLCkUk/hyTnUEpaRU/owfgLAzvIGboke3GQOKkKK/img.png?width=128&amp;amp;height=128&amp;amp;face=0_0_128_128,https://scrap.kakaocdn.net/dn/kHdQW/hyTnLgoUAu/DYqjd0zkygzw8er3cKCJ9K/img.png?width=128&amp;amp;height=128&amp;amp;face=0_0_128_128');&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;DB-Engines Ranking&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Popularity ranking of database management systems.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;db-engines.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;데이터베이스 랭킹에서 상위 레벨에 속하는 PostgreSQL 데이터베이스를 설치 해보겠습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;설치 파일 다운로드&lt;/b&gt;&lt;/h2&gt;
&lt;figure id=&quot;og_1689833100530&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;PostgreSQL: File Browser&quot; data-og-description=&quot;&quot; data-og-host=&quot;www.postgresql.org&quot; data-og-source-url=&quot;https://www.postgresql.org/ftp/source/&quot; data-og-url=&quot;https://www.postgresql.org/ftp/source/&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://www.postgresql.org/ftp/source/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.postgresql.org/ftp/source/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&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;PostgreSQL: File Browser&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.postgresql.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;소스 코드 방식으로 설치를 진행 합니다.&lt;/li&gt;
&lt;li&gt;소스 코드 방식은 rpm, yum과 같은 방식 보다 자유도가 높습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure id=&quot;og_1689833338211&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;object&quot; data-og-title=&quot;GitHub - postgres/postgres: Mirror of the official PostgreSQL GIT repository. Note that this is just a *mirror* - we don't work &quot; data-og-description=&quot;Mirror of the official PostgreSQL GIT repository. Note that this is just a *mirror* - we don't work with pull requests on github. To contribute, please see https://wiki.postgresql.org/wiki/Subm...&quot; data-og-host=&quot;github.com&quot; data-og-source-url=&quot;https://github.com/postgres/postgres&quot; data-og-url=&quot;https://github.com/postgres/postgres&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/Kr9Bt/hyTnW96dKm/N1tJaXawcxJdZV7HjNcGt0/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600&quot;&gt;&lt;a href=&quot;https://github.com/postgres/postgres&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://github.com/postgres/postgres&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/Kr9Bt/hyTnW96dKm/N1tJaXawcxJdZV7HjNcGt0/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600');&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;GitHub - postgres/postgres: Mirror of the official PostgreSQL GIT repository. Note that this is just a *mirror* - we don't work&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Mirror of the official PostgreSQL GIT repository. Note that this is just a *mirror* - we don't work with pull requests on github. To contribute, please see https://wiki.postgresql.org/wiki/Subm...&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;github.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;PostgreSQL 깃허브에서 최신 업데이트 내용을 확인할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;설치 전 라이브러리 확인&lt;/b&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1689833159637&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;rpm -qlia make gcc gzip readline-devel zip unzip zlib-devel&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;PostgreSQL을 설치하기 전 필수 라이브러리를 꼭 확인 해야 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1689830848852&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;yum install -y make gcc gzip readline-devel zip unzip zlib-devel lz4-devel lz4&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;PostgreSQL 필수 패키지를 yum을 통해 설치 합니다.&lt;/li&gt;
&lt;li&gt;PostgreSQL 별도 기능에서는 추가 패키지를 설치해야 동작 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure id=&quot;og_1689833435836&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  package  / utility / libarary 파일 다운로드&quot; data-og-description=&quot;리눅스 환경에서 yum 또는 apt-get과 같은 패키지 관리자로 패키지를 다운 받지 못할 때 파일로 준비해야 합니다. package, utility, librarary Repository CentOS Index of /centos mirror.navercorp.com CentOS 버전에 맞게 &quot; data-og-host=&quot;junsuyoun.tistory.com&quot; data-og-source-url=&quot;https://junsuyoun.tistory.com/entry/Linux-libarary-%ED%8C%8C%EC%9D%BC-%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%93%9C&quot; data-og-url=&quot;https://junsuyoun.tistory.com/entry/Linux-libarary-%ED%8C%8C%EC%9D%BC-%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%93%9C&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/Az1FK/hyTmtPfo3l/3nZXs60qHgpgFK7Qq9TGp0/img.png?width=800&amp;amp;height=498&amp;amp;face=0_0_800_498,https://scrap.kakaocdn.net/dn/us3eu/hyTmoAnz8w/Nn2A6io7ekIVZW50Smk1O0/img.png?width=800&amp;amp;height=498&amp;amp;face=0_0_800_498,https://scrap.kakaocdn.net/dn/b7h29j/hyTmrDSTgV/EbBAEuFKwlAwPhyW9CJQA1/img.png?width=814&amp;amp;height=518&amp;amp;face=0_0_814_518&quot;&gt;&lt;a href=&quot;https://junsuyoun.tistory.com/entry/Linux-libarary-%ED%8C%8C%EC%9D%BC-%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%93%9C&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://junsuyoun.tistory.com/entry/Linux-libarary-%ED%8C%8C%EC%9D%BC-%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%93%9C&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/Az1FK/hyTmtPfo3l/3nZXs60qHgpgFK7Qq9TGp0/img.png?width=800&amp;amp;height=498&amp;amp;face=0_0_800_498,https://scrap.kakaocdn.net/dn/us3eu/hyTmoAnz8w/Nn2A6io7ekIVZW50Smk1O0/img.png?width=800&amp;amp;height=498&amp;amp;face=0_0_800_498,https://scrap.kakaocdn.net/dn/b7h29j/hyTmrDSTgV/EbBAEuFKwlAwPhyW9CJQA1/img.png?width=814&amp;amp;height=518&amp;amp;face=0_0_814_518');&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 package / utility / libarary 파일 다운로드&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;리눅스 환경에서 yum 또는 apt-get과 같은 패키지 관리자로 패키지를 다운 받지 못할 때 파일로 준비해야 합니다. package, utility, librarary Repository CentOS Index of /centos mirror.navercorp.com CentOS 버전에 맞게&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;junsuyoun.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;yum을 사용하지 못하는 환경이라면 위의 링크에서 패키지 의존성을 확인해서 다운로드 받아 준비해야합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;설치&lt;/b&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1689833526080&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;groupadd dba

useradd -d /postgres -g dba postgres

mkdir /pgdata

chown -R postgres:dba /pgdata

chown -R postgres:dba /postgres

yum install -y make gcc gzip readline-devel zip unzip zlib-devel lz4-devel lz4

su - postgres

-- 소스 파일 준비

cd postgresql-15.3

./configure --with-lz4 \
--prefix=/postgres \
--exec-prefix=/postgres \
--datadir=/pgdata

make install&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;CentOS 7.9.2009에서 설치를 진행 합니다.&lt;/li&gt;
&lt;li&gt;root가 아닌 postgres 유저로 설치하기를 권장 합니다.&lt;/li&gt;
&lt;li&gt;./configure --help를 통해 ./configure 옵션을 통해 여러가지 기능들을 활성화 할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;실행&lt;/b&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1689833549485&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;initdb -D /postgres/pgengine -U postgres
pg_ctl -D /postgres/pgengine -l logfile start&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;접속&lt;/b&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1689833907925&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;psql -U postgres
psql (15.3)
Type &quot;help&quot; for help.

postgres=# \l
                                             List of databases
   Name    |  Owner   | Encoding  | Collate | Ctype | ICU Locale | Locale Provider |   Access privileges   
-----------+----------+-----------+---------+-------+------------+-----------------+-----------------------
 postgres  | postgres | SQL_ASCII | C       | C     |            | libc            | 
 template0 | postgres | SQL_ASCII | C       | C     |            | libc            | =c/postgres          +
           |          |           |         |       |            |                 | postgres=CTc/postgres
 template1 | postgres | SQL_ASCII | C       | C     |            | libc            | =c/postgres          +
           |          |           |         |       |            |                 | postgres=CTc/postgres
(3 rows)&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;563&quot; data-origin-height=&quot;423&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bzMxVx/btsonk1Pzkn/e4ZbhvvPHnoy1feKejW6N1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bzMxVx/btsonk1Pzkn/e4ZbhvvPHnoy1feKejW6N1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bzMxVx/btsonk1Pzkn/e4ZbhvvPHnoy1feKejW6N1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbzMxVx%2Fbtsonk1Pzkn%2Fe4ZbhvvPHnoy1feKejW6N1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;563&quot; height=&quot;423&quot; data-origin-width=&quot;563&quot; data-origin-height=&quot;423&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>RDBMS/CUBRID &amp;amp; PostgreSQL</category>
      <category>PostgreSQL</category>
      <category>RDBMS</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/126</guid>
      <comments>https://junsuyoun.tistory.com/entry/PostgreSQL-15-%EB%B2%84%EC%A0%84-%EC%84%A4%EC%B9%98#entry126comment</comments>
      <pubDate>Thu, 20 Jul 2023 15:20:44 +0900</pubDate>
    </item>
    <item>
      <title>CentOS 또는 Fedora 계열  네트워크 IP 설정하기</title>
      <link>https://junsuyoun.tistory.com/entry/CentOS-%EB%98%90%EB%8A%94-Fedora-%EA%B3%84%EC%97%B4-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-IP-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;VM 환경에서 CentOS 설치 이후 IP를 설정하는 방법에 대해 설명 하겠습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;CentOS 이더넷 정보 확인하기&lt;/b&gt;&lt;/h2&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1486&quot; data-origin-height=&quot;890&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bxT8PW/btr6O0t79DT/CQk2pFKb03OnLQDdnZjehK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bxT8PW/btr6O0t79DT/CQk2pFKb03OnLQDdnZjehK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bxT8PW/btr6O0t79DT/CQk2pFKb03OnLQDdnZjehK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbxT8PW%2Fbtr6O0t79DT%2FCQk2pFKb03OnLQDdnZjehK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;863&quot; height=&quot;517&quot; data-origin-width=&quot;1486&quot; data-origin-height=&quot;890&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;일반적으로 설치 단계에서 네트워크를 설정하지 않으면 이더넷이 ON되어 있지 않아 IP가 할당 되어 있지 않습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;dhcp (동적IP)&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1486&quot; data-origin-height=&quot;890&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bDZfOu/btr6RCe0qj2/HdAaFUnWGqpXvrjcWSE79K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bDZfOu/btr6RCe0qj2/HdAaFUnWGqpXvrjcWSE79K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bDZfOu/btr6RCe0qj2/HdAaFUnWGqpXvrjcWSE79K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDZfOu%2Fbtr6RCe0qj2%2FHdAaFUnWGqpXvrjcWSE79K%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1486&quot; height=&quot;890&quot; data-origin-width=&quot;1486&quot; data-origin-height=&quot;890&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기본적으로 ifup 이더넷명을 수행하면 dhcp로 할당 된 IP 대역의 임의의 IP를 할당하게 됩니다.&lt;/p&gt;
&lt;pre id=&quot;code_1680161237037&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# ifup eno16777736&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;동적으로 할당하는 IP말고 고정으로 IP를 설정하고 싶다면 이더넷에 static 옵션을 사용하면 됩니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;static(고정 IP)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;고정으로 설정하려면 이더넷 설정 파일에서 몇가지 파라미터를 수정해줘야 합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1680162026371&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@localhost network-scripts]# ip a
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eno16777736: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:05:b3:02 brd ff:ff:ff:ff:ff:ff
    inet 192.168.52.128/24 brd 192.168.52.255 scope global dynamic eno16777736
       valid_lft 1774sec preferred_lft 1774sec
    inet6 fe80::20c:29ff:fe05:b302/64 scope link 
       valid_lft forever preferred_lft forever&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이더넷명을 확인하고 설정 파일을 오픈 합니다. (eno16777736)&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1680162065779&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# ls
ifcfg-eno16777736  ifdown-bnep  ifdown-isdn    ifdown-tunnel  ifup-bnep  ifup-isdn   ifup-routes       network-functions
ifcfg-lo           ifdown-eth   ifdown-post    ifup           ifup-eth   ifup-plip   ifup-sit          network-functions-ipv6
ifdown             ifdown-ib    ifdown-ppp     ifup-Team      ifup-ib    ifup-plusb  ifup-tunnel
ifdown-Team        ifdown-ippp  ifdown-routes  ifup-TeamPort  ifup-ippp  ifup-post   ifup-wireless

[root@localhost network-scripts]# cat ifcfg-eno16777736 
TYPE=Ethernet
#BOOTPROTO=dhcp
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777736
UUID=7cbb5df6-2560-4211-87d4-f944f14ec6da
DEVICE=eno16777736
#ONBOOT=no
ONBOOT=yes
IPADDR=192.168.152.10
GATEWAY=192.168.152.2
BROADCAST=255.255.255.0&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;BOOTPROTO=dhcp -&amp;gt; static 변경
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;동적 IP가 아닌 설정한 고정 IP로 활성화 되도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;ONBOOT=no -&amp;gt; yes 변경
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;OS 재기동 시 자동으로 이더넷이 활성화 될지 여부&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;IPADDR, GATEWAY, BROADCAST 추가
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;고정하고자 하는 경우 IP, IP 대역, 게이트웨이 정보를 꼭 넣어줘야 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1486&quot; data-origin-height=&quot;890&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dV6mD5/btr6YRCKQGL/zkN1vPaW6JZxDkFbe7Qd3k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dV6mD5/btr6YRCKQGL/zkN1vPaW6JZxDkFbe7Qd3k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dV6mD5/btr6YRCKQGL/zkN1vPaW6JZxDkFbe7Qd3k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdV6mD5%2Fbtr6YRCKQGL%2FzkN1vPaW6JZxDkFbe7Qd3k%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1486&quot; height=&quot;890&quot; data-origin-width=&quot;1486&quot; data-origin-height=&quot;890&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설정 파일을 수정한 상태로 네트워크 데몬 재기동을 수행하면 자동으로 기동 됩니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;837&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ewu64E/btr6Qog5T8P/fbWEk8UOtW9uRo9AdEMZnk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ewu64E/btr6Qog5T8P/fbWEk8UOtW9uRo9AdEMZnk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ewu64E/btr6Qog5T8P/fbWEk8UOtW9uRo9AdEMZnk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fewu64E%2Fbtr6Qog5T8P%2FfbWEk8UOtW9uRo9AdEMZnk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;837&quot; height=&quot;370&quot; data-origin-width=&quot;837&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Operation System/Unix &amp;amp; Linux</category>
      <category>centos</category>
      <category>Fedora</category>
      <category>ifconfig</category>
      <category>ifup</category>
      <category>ip a</category>
      <category>Network</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/120</guid>
      <comments>https://junsuyoun.tistory.com/entry/CentOS-%EB%98%90%EB%8A%94-Fedora-%EA%B3%84%EC%97%B4-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-IP-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0#entry120comment</comments>
      <pubDate>Thu, 30 Mar 2023 16:47:12 +0900</pubDate>
    </item>
    <item>
      <title>ChatGPT 유료 결제</title>
      <link>https://junsuyoun.tistory.com/entry/ChatGPT-%EC%9C%A0%EB%A3%8C-%EA%B2%B0%EC%A0%9C</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;머신러닝을 통해 질의 응답, 텍스트 생성, 번역 등 다양한 NLP 태스크에 사용 할 수 있는 웹 서비스 입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;849&quot; data-origin-height=&quot;269&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Wpq9L/btrY8hVIqjw/U5tUfM0jvb01llnLBsJ1k1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Wpq9L/btrY8hVIqjw/U5tUfM0jvb01llnLBsJ1k1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Wpq9L/btrY8hVIqjw/U5tUfM0jvb01llnLBsJ1k1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWpq9L%2FbtrY8hVIqjw%2FU5tUfM0jvb01llnLBsJ1k1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;849&quot; height=&quot;269&quot; data-origin-width=&quot;849&quot; data-origin-height=&quot;269&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;유료 결제를 결정한 이유&lt;/b&gt;&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색 엔진을 대체할 서비스라는 내용이 많아 검색 엔진 의존을 낮추고 ChatGPT에 의존 했을 경우 정말 효율적인지 테스트 해보려 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1369&quot; data-origin-height=&quot;1299&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Ye5r5/btrY8jlFLYb/8EJgM1uW3cOWnMqmGEkLk0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Ye5r5/btrY8jlFLYb/8EJgM1uW3cOWnMqmGEkLk0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Ye5r5/btrY8jlFLYb/8EJgM1uW3cOWnMqmGEkLk0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYe5r5%2FbtrY8jlFLYb%2F8EJgM1uW3cOWnMqmGEkLk0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1369&quot; height=&quot;1299&quot; data-origin-width=&quot;1369&quot; data-origin-height=&quot;1299&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;결제하기&lt;/b&gt;&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Upgrade to Plus 메뉴를 선택합니다.&lt;/li&gt;
&lt;li&gt;해외 결제 카드를 등록 합니다. (20달러 한화 약 2만5천원)&lt;/li&gt;
&lt;li&gt;등록 후&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1369&quot; data-origin-height=&quot;611&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/UVMcE/btrY7Mg9yfK/IwAF5ViKT70Zs9cikO5kA1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/UVMcE/btrY7Mg9yfK/IwAF5ViKT70Zs9cikO5kA1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/UVMcE/btrY7Mg9yfK/IwAF5ViKT70Zs9cikO5kA1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUVMcE%2FbtrY7Mg9yfK%2FIwAF5ViKT70Zs9cikO5kA1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1369&quot; height=&quot;611&quot; data-origin-width=&quot;1369&quot; data-origin-height=&quot;611&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1369&quot; data-origin-height=&quot;1222&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/UXEhf/btrYTf6LNAF/e1neOY5qodZOtsYmDe6071/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/UXEhf/btrYTf6LNAF/e1neOY5qodZOtsYmDe6071/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/UXEhf/btrYTf6LNAF/e1neOY5qodZOtsYmDe6071/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUXEhf%2FbtrYTf6LNAF%2Fe1neOY5qodZOtsYmDe6071%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1369&quot; height=&quot;1222&quot; data-origin-width=&quot;1369&quot; data-origin-height=&quot;1222&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1344&quot; data-origin-height=&quot;612&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tFLMW/btrYXjmLK2U/gmarPEfCReLFCkfBpuFGIk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tFLMW/btrYXjmLK2U/gmarPEfCReLFCkfBpuFGIk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tFLMW/btrYXjmLK2U/gmarPEfCReLFCkfBpuFGIk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtFLMW%2FbtrYXjmLK2U%2FgmarPEfCReLFCkfBpuFGIk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1344&quot; height=&quot;612&quot; data-origin-width=&quot;1344&quot; data-origin-height=&quot;612&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1370&quot; data-origin-height=&quot;1302&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bSGmgw/btrYV86D3ou/TRghcdB9ngSVJeGfIm2TT1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bSGmgw/btrYV86D3ou/TRghcdB9ngSVJeGfIm2TT1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bSGmgw/btrYV86D3ou/TRghcdB9ngSVJeGfIm2TT1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbSGmgw%2FbtrYV86D3ou%2FTRghcdB9ngSVJeGfIm2TT1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1370&quot; height=&quot;1302&quot; data-origin-width=&quot;1370&quot; data-origin-height=&quot;1302&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;ChatGPT&lt;/b&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;834&quot; data-origin-height=&quot;495&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bDCk3W/btrYT8zia9S/JhI6qbPzRIVpnbCHBaCEDK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bDCk3W/btrYT8zia9S/JhI6qbPzRIVpnbCHBaCEDK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bDCk3W/btrYT8zia9S/JhI6qbPzRIVpnbCHBaCEDK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDCk3W%2FbtrYT8zia9S%2FJhI6qbPzRIVpnbCHBaCEDK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;834&quot; height=&quot;495&quot; data-origin-width=&quot;834&quot; data-origin-height=&quot;495&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Operation System/Windows</category>
      <category>Ai</category>
      <category>ChatGPT</category>
      <category>OpenAPI</category>
      <category>검색엔진</category>
      <category>머신러닝</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/119</guid>
      <comments>https://junsuyoun.tistory.com/entry/ChatGPT-%EC%9C%A0%EB%A3%8C-%EA%B2%B0%EC%A0%9C#entry119comment</comments>
      <pubDate>Mon, 13 Feb 2023 09:40:36 +0900</pubDate>
    </item>
    <item>
      <title>iptables 정책 삭제</title>
      <link>https://junsuyoun.tistory.com/entry/iptables-%EC%A0%95%EC%B1%85-%EC%82%AD%EC%A0%9C</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;iptables 부여 된 정책 삭제 방법&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;Chain 정책 정보에 부여된 번호 확인&lt;/b&gt;&lt;/blockquote&gt;
&lt;pre id=&quot;code_1673876815100&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;iptables -L --line-numbers&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1794&quot; data-origin-height=&quot;1481&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OIxoA/btrWr7n6vLy/t4FMzD1UbsJJKAc83mw4f0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OIxoA/btrWr7n6vLy/t4FMzD1UbsJJKAc83mw4f0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OIxoA/btrWr7n6vLy/t4FMzD1UbsJJKAc83mw4f0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOIxoA%2FbtrWr7n6vLy%2Ft4FMzD1UbsJJKAc83mw4f0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1794&quot; height=&quot;1481&quot; data-origin-width=&quot;1794&quot; data-origin-height=&quot;1481&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;특정 Chain의 정책 번호로 삭제&lt;/b&gt;&lt;/blockquote&gt;
&lt;pre id=&quot;code_1673876835512&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;iptables -D INPUT 4&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1071&quot; data-origin-height=&quot;1091&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Carh0/btrWmnzrNlT/zKseqoLdIk4IKZMBFXd210/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Carh0/btrWmnzrNlT/zKseqoLdIk4IKZMBFXd210/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Carh0/btrWmnzrNlT/zKseqoLdIk4IKZMBFXd210/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCarh0%2FbtrWmnzrNlT%2FzKseqoLdIk4IKZMBFXd210%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1071&quot; height=&quot;1091&quot; data-origin-width=&quot;1071&quot; data-origin-height=&quot;1091&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Operation System/Unix &amp;amp; Linux</category>
      <category>centos</category>
      <category>firewalld</category>
      <category>iptables</category>
      <category>Linux</category>
      <category>ubuntu</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/118</guid>
      <comments>https://junsuyoun.tistory.com/entry/iptables-%EC%A0%95%EC%B1%85-%EC%82%AD%EC%A0%9C#entry118comment</comments>
      <pubDate>Mon, 16 Jan 2023 22:49:01 +0900</pubDate>
    </item>
    <item>
      <title>다빈치 리졸브(davinci resolve) 동영상 media offline 오류</title>
      <link>https://junsuyoun.tistory.com/entry/%EB%8B%A4%EB%B9%88%EC%B9%98-%EB%A6%AC%EC%A1%B8%EB%B8%8Cdavinci-resolve-%EB%8F%99%EC%98%81%EC%83%81-media-offline-%EC%98%A4%EB%A5%98</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;고프로로 촬영 후 다빈치 리졸브에 영상 편집하려고 동영상 임포트 수행 시 media offline 오류가 발생할 수 있습니다. media offline 오류는 영상을 파일로 저장할 때 사용된 인코딩 방식 때문에 그런데요. 현재 해당 파일을 디코딩하여 영상을 재생할 수 있는 코덱이 설치 되어 있지 않아 발생하는 것으로 방식에 맞는 코덱을 설치해주면 됩니다. &lt;span style=&quot;letter-spacing: 0px;&quot;&gt;고프로 영상 촬영 시 H.265로 촬영이 되어 HEVC 코덱을 사용하면 해당 문제는 해결 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1673227910046&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;H.265 - 나무위키&quot; data-og-description=&quot;동영상을 손실 압축하여 저장하는 비디오 표준이자 2013년 이후 영상업계 최대의 떡밥. 2003년 H.264 발표 이후 10년 만에 후속으로 등장했다. 해당 코덱의 후속작은 7년 뒤 2020년에 발표한 H.266 이다.&quot; data-og-host=&quot;namu.wiki&quot; data-og-source-url=&quot;https://namu.wiki/w/H.265&quot; data-og-url=&quot;https://namu.wiki/w/H.265&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dazFDP/hyRczxeng1/7EKGj1lLrms5842pkdkClK/img.png?width=379&amp;amp;height=266&amp;amp;face=0_0_379_266&quot;&gt;&lt;a href=&quot;https://namu.wiki/w/H.265&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://namu.wiki/w/H.265&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dazFDP/hyRczxeng1/7EKGj1lLrms5842pkdkClK/img.png?width=379&amp;amp;height=266&amp;amp;face=0_0_379_266');&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;H.265 - 나무위키&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;동영상을 손실 압축하여 저장하는 비디오 표준이자 2013년 이후 영상업계 최대의 떡밥. 2003년 H.264 발표 이후 10년 만에 후속으로 등장했다. 해당 코덱의 후속작은 7년 뒤 2020년에 발표한 H.266 이다.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;namu.wiki&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;media offline&lt;/b&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;860&quot; data-origin-height=&quot;484&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/y1vZv/btrVNglo4nL/Ap1sLbKNVMcvdiNJQRdqAk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/y1vZv/btrVNglo4nL/Ap1sLbKNVMcvdiNJQRdqAk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/y1vZv/btrVNglo4nL/Ap1sLbKNVMcvdiNJQRdqAk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fy1vZv%2FbtrVNglo4nL%2FAp1sLbKNVMcvdiNJQRdqAk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;860&quot; height=&quot;484&quot; data-origin-width=&quot;860&quot; data-origin-height=&quot;484&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;HEVC 코덱&lt;/b&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;무료로 코덱을 다운로드 할 수 있습니다.&lt;/p&gt;
&lt;figure id=&quot;og_1673227673036&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Codecs.com | Downloads for HEVC Video Extension 2.0.53348&quot; data-og-description=&quot;DOWNLOAD EU Main LINK HEVC Video Extension 2.0.53348 DOWNLOAD EU Main LINK HEVC Video Extension 2.0.53348 x64 DOWNLOAD EXT Main LINK HEVC Video Extension 2.0.53348 - from Microsoft Store DOWNLOAD EU Main LINK HEVC Video Extension 2.0.52911 DOWNLOAD EU Main&quot; data-og-host=&quot;www.free-codecs.com&quot; data-og-source-url=&quot;https://www.free-codecs.com/hevc_video_extension_download.htm&quot; data-og-url=&quot;https://www.free-codecs.com/hevc_video_extension_download.htm&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://www.free-codecs.com/hevc_video_extension_download.htm&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.free-codecs.com/hevc_video_extension_download.htm&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&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;Codecs.com | Downloads for HEVC Video Extension 2.0.53348&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;DOWNLOAD EU Main LINK HEVC Video Extension 2.0.53348 DOWNLOAD EU Main LINK HEVC Video Extension 2.0.53348 x64 DOWNLOAD EXT Main LINK HEVC Video Extension 2.0.53348 - from Microsoft Store DOWNLOAD EU Main LINK HEVC Video Extension 2.0.52911 DOWNLOAD EU Main&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.free-codecs.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;윈도우 스토어에서는 유료로 다운로드가 가능 합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1002&quot; data-origin-height=&quot;792&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FVdFa/btrVz9WqUuo/1DCTTBJJSYeCWM00W80qKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FVdFa/btrVz9WqUuo/1DCTTBJJSYeCWM00W80qKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FVdFa/btrVz9WqUuo/1DCTTBJJSYeCWM00W80qKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFVdFa%2FbtrVz9WqUuo%2F1DCTTBJJSYeCWM00W80qKK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;577&quot; height=&quot;792&quot; data-origin-width=&quot;1002&quot; data-origin-height=&quot;792&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Operation System/Windows</category>
      <category>Davinci Resolve</category>
      <category>고프로</category>
      <category>다빈치 리졸브</category>
      <category>영상 촬영</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/117</guid>
      <comments>https://junsuyoun.tistory.com/entry/%EB%8B%A4%EB%B9%88%EC%B9%98-%EB%A6%AC%EC%A1%B8%EB%B8%8Cdavinci-resolve-%EB%8F%99%EC%98%81%EC%83%81-media-offline-%EC%98%A4%EB%A5%98#entry117comment</comments>
      <pubDate>Mon, 9 Jan 2023 10:34:48 +0900</pubDate>
    </item>
    <item>
      <title>vmhgfs-fuse Error -107 cannot open connection!</title>
      <link>https://junsuyoun.tistory.com/entry/vmhgfs-fuse-Error-107-cannot-open-connection</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;Windows 폴더와 VM 내 폴더를 공유해서 사용하는 경우 &quot;vmhgfs-fuse Error -107 cannot open connection!&quot; 에러가 발생하는 경우 VMworkstation의 Shared Folders 설정이 Disabled 된 경우 발생할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1672994311950&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@DB1 ~]# vmhgfs-fuse -o nonempty -o allow_other .host:/SHARE_FILES /SHARE_FILES
Error -107 cannot open connection!&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;887&quot; data-origin-height=&quot;901&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EoLqb/btrVyWIQRbv/Czfsp5WBtkaOQDA0uYtko1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EoLqb/btrVyWIQRbv/Czfsp5WBtkaOQDA0uYtko1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EoLqb/btrVyWIQRbv/Czfsp5WBtkaOQDA0uYtko1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEoLqb%2FbtrVyWIQRbv%2FCzfsp5WBtkaOQDA0uYtko1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;571&quot; height=&quot;901&quot; data-origin-width=&quot;887&quot; data-origin-height=&quot;901&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;pre id=&quot;code_1672994339462&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@DB1 ~]# vmhgfs-fuse -o nonempty -o allow_other .host:/SHARE_FILES /SHARE_FILES
[root@DB1 ~]#&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;887&quot; data-origin-height=&quot;901&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dOCByR/btrVAtFyB4v/JK4CWcYxqA6Uhe8yREq4lK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dOCByR/btrVAtFyB4v/JK4CWcYxqA6Uhe8yREq4lK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dOCByR/btrVAtFyB4v/JK4CWcYxqA6Uhe8yREq4lK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdOCByR%2FbtrVAtFyB4v%2FJK4CWcYxqA6Uhe8yREq4lK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;569&quot; height=&quot;578&quot; data-origin-width=&quot;887&quot; data-origin-height=&quot;901&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Cloud/Virtualization</category>
      <category>vm</category>
      <category>vmwareworkstation</category>
      <category>공유폴더</category>
      <category>폴더 공유</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/116</guid>
      <comments>https://junsuyoun.tistory.com/entry/vmhgfs-fuse-Error-107-cannot-open-connection#entry116comment</comments>
      <pubDate>Fri, 6 Jan 2023 17:39:23 +0900</pubDate>
    </item>
    <item>
      <title>clear: command not found</title>
      <link>https://junsuyoun.tistory.com/entry/clear-command-not-found</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;clear 유틸리티 설치&lt;/b&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;clear&lt;/b&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;CentOS&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1664416543927&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;yum -y install ncurses&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;838&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AHc45/btrU1p4vYvZ/BPS8uCAw7DnKQgZEFCSUL1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AHc45/btrU1p4vYvZ/BPS8uCAw7DnKQgZEFCSUL1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AHc45/btrU1p4vYvZ/BPS8uCAw7DnKQgZEFCSUL1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAHc45%2FbtrU1p4vYvZ%2FBPS8uCAw7DnKQgZEFCSUL1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;838&quot; height=&quot;370&quot; data-origin-width=&quot;838&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;패키지 매니저로 설치가 불가능한 경우 아래 링크를 통해 직접 파일로 다운 받아 설치 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure id=&quot;og_1664416574355&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  package  / utility / libarary 파일 다운로드&quot; data-og-description=&quot;리눅스 환경에서 yum 또는 apt-get과 같은 패키지 관리자로 패키지를 다운 받지 못할 때 파일로 준비해야 합니다. package, utility, librarary Repository CentOS Index of /centos mirror.navercorp.com CentOS..&quot; data-og-host=&quot;junsuyoun.tistory.com&quot; data-og-source-url=&quot;https://junsuyoun.tistory.com/46&quot; data-og-url=&quot;https://junsuyoun.tistory.com/46&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/MHa1H/hyPXOgnkl6/Fm3dsSq0Dkm3RvIGhKZD0K/img.png?width=800&amp;amp;height=498&amp;amp;face=0_0_800_498,https://scrap.kakaocdn.net/dn/fpMR7/hyPWOvvAvW/lv3KjknecrmJHjktUiQ4h1/img.png?width=800&amp;amp;height=498&amp;amp;face=0_0_800_498,https://scrap.kakaocdn.net/dn/7aOXY/hyPXLxaTI3/UsNK2oXn8gRXDkIQALuPU0/img.png?width=814&amp;amp;height=518&amp;amp;face=0_0_814_518&quot;&gt;&lt;a href=&quot;https://junsuyoun.tistory.com/46&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://junsuyoun.tistory.com/46&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/MHa1H/hyPXOgnkl6/Fm3dsSq0Dkm3RvIGhKZD0K/img.png?width=800&amp;amp;height=498&amp;amp;face=0_0_800_498,https://scrap.kakaocdn.net/dn/fpMR7/hyPWOvvAvW/lv3KjknecrmJHjktUiQ4h1/img.png?width=800&amp;amp;height=498&amp;amp;face=0_0_800_498,https://scrap.kakaocdn.net/dn/7aOXY/hyPXLxaTI3/UsNK2oXn8gRXDkIQALuPU0/img.png?width=814&amp;amp;height=518&amp;amp;face=0_0_814_518');&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 package / utility / libarary 파일 다운로드&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;리눅스 환경에서 yum 또는 apt-get과 같은 패키지 관리자로 패키지를 다운 받지 못할 때 파일로 준비해야 합니다. package, utility, librarary Repository CentOS Index of /centos mirror.navercorp.com CentOS..&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;junsuyoun.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Operation System/Unix &amp;amp; Linux</category>
      <category>centos</category>
      <category>Clear</category>
      <category>Linux</category>
      <category>ubuntu</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/115</guid>
      <comments>https://junsuyoun.tistory.com/entry/clear-command-not-found#entry115comment</comments>
      <pubDate>Fri, 30 Dec 2022 14:25:00 +0900</pubDate>
    </item>
    <item>
      <title>SESSION(세션) / TRANSACTION(트랜잭션) / SQL</title>
      <link>https://junsuyoun.tistory.com/entry/SESSION%EC%84%B8%EC%85%98-TRANSACTION%ED%8A%B8%EB%9E%9C%EC%9E%AD%EC%85%98-SQL</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;데이터베이스의 세션, 트랜잭션, SQL에 대해 간단하게 알아보겠습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;세션: 데이터베이스와 트랜잭션을 수행하기 위해 연결되는 논리적 단위&lt;/li&gt;
&lt;li&gt;트랜잭션: 데이터베이스와 연결 된 세션 내의 데이터를 처리하는 단위&lt;/li&gt;
&lt;li&gt;SQL: 트랜잭션 내에서 데이터베이스와 데이터를 상호 작용할 수 있는 언어&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;SESSION&lt;/b&gt;&lt;/h2&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;database certification&lt;/b&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;TCP 3 Way-Handshake 단계를 통해 TCP 통신 정상이 확인된다면 Connection URL의 데이터베이스 이름 / USER ID / USER PASSWORD를 통해 인증 단계를 확인 합니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;database session&lt;/b&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터베이스의 인증 단계를 거치고난 후 일을 처리하는 워킹 프로세스의 특정 Thread에 연결을 시도 하고 난 후에는 워킹 프로세스와 실질적으로 일을 처리할 수 있는 세션이 활성화 됩니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;TRANSACTION&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;세션 활성화 이후 해당 세션은 SQL 수행을 위한 준비 상태가 됩니다. SQL 수행 시 자동으로 트랜잭션이 활성화 SQL 수행이 완료 되더라도 트랜잭션 종료를 알리는 TCL을 만나기 전까지는 트랜잭션이 활성화 된 상태 입니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;Statement(or PrepareStatement) 활성&lt;/b&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SQL을 수행하기 위해서 기본적으로 Statement(or PrepareStatement)를 활성화 해야 합니다. 만약 활성화를 하지 않는 경우 세션 연결 이후 트랜잭션 연결을 하지 못 합니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;Cursor 활성&lt;/b&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;커서는 데이터를 주고 받는 역할을 합니다. 데이터베이스에 데이터를 입력하거나 데이터를 읽어오거나 할 때 데이터를 처리하는 단위가 됩니다. 세션이 활성화 되고 트랜잭션을 처리하는 단계 커서까지 오픈이 되면 SQL을 처리할 수 있는 단계가 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;SQL&lt;/b&gt;&lt;/h2&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;최초 SQL 수행 (하드 파싱)&lt;/b&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SQL 수행 시 compile 단계에서 SQL ID를 만들고 Loader 단계에서 plan scan을 통해 동일한 SQL ID가 존재 하지 않으면 plan generation을 수행 하고 SQL을 수행 합니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;캐싱 SQL 수행 (소프트 파싱)&lt;/b&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SQL 수행 시 compile 단게에서 SQL ID를 만들고 Loader 단계에서 plan scan을 통해 동일한 SQL ID가 발견되면 plan generation을 하지 않고 SQL을 수행 합니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2348&quot; data-origin-height=&quot;787&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/be8D1S/btrT4FaT6eK/Q8cKPa865KUhMCiwNZflBK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/be8D1S/btrT4FaT6eK/Q8cKPa865KUhMCiwNZflBK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/be8D1S/btrT4FaT6eK/Q8cKPa865KUhMCiwNZflBK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbe8D1S%2FbtrT4FaT6eK%2FQ8cKPa865KUhMCiwNZflBK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;2348&quot; height=&quot;787&quot; data-origin-width=&quot;2348&quot; data-origin-height=&quot;787&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;1390&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dwWUqu/btrT5TFu1eX/8cAT3IQNxOIeN7ika9lgz1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dwWUqu/btrT5TFu1eX/8cAT3IQNxOIeN7ika9lgz1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dwWUqu/btrT5TFu1eX/8cAT3IQNxOIeN7ika9lgz1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdwWUqu%2FbtrT5TFu1eX%2F8cAT3IQNxOIeN7ika9lgz1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;2000&quot; height=&quot;1390&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;1390&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>RDBMS/General</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/114</guid>
      <comments>https://junsuyoun.tistory.com/entry/SESSION%EC%84%B8%EC%85%98-TRANSACTION%ED%8A%B8%EB%9E%9C%EC%9E%AD%EC%85%98-SQL#entry114comment</comments>
      <pubDate>Wed, 28 Dec 2022 21:41:50 +0900</pubDate>
    </item>
    <item>
      <title>LINUX 프로세스(environ) 환경 변수 값 확인하기</title>
      <link>https://junsuyoun.tistory.com/entry/LINUX-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4environ-%ED%99%98%EA%B2%BD-%EB%B3%80%EC%88%98-%EA%B0%92-%ED%99%95%EC%9D%B8%ED%95%98%EA%B8%B0</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;linux 프로세스가 기동 될 때 어떠한 환경 변수를 가지고 기동 되었는지 확인할 수 있습니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;/proc/4095310/environ&lt;/b&gt;&lt;/blockquote&gt;
&lt;pre id=&quot;code_1672230798574&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@junsu-desktop 4095310]docker_host# cat /proc/4095310/environ 
HOSTNAME=2235f66166cfTERM=xtermLS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:ORACLE_SID=ORCLCDBOH=/u01/app/oracle/product/12.2.0/dbhome_1TNS_ADMIN=/u01/app/oracle/product/12.2.0/dbhome_1/admin/ORCLCDBPATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/u01/app/oracle/product/12.2.0/dbhome_1/binPWD=/home/oracleSHLVL=1HOME=/home/oracleORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1_=/usr/bin/rlwrapOLDPWD=/ORA_NET2_DESC=9,12&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;가독성 높이기&lt;/b&gt;&lt;/blockquote&gt;
&lt;pre id=&quot;code_1672230963518&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@junsu-desktop 4095310]docker_host# xargs -0 -L1 -a /proc/4095310/environ 
HOSTNAME=2235f66166cf
TERM=xterm
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:
ORACLE_SID=ORCLCDB
OH=/u01/app/oracle/product/12.2.0/dbhome_1
TNS_ADMIN=/u01/app/oracle/product/12.2.0/dbhome_1/admin/ORCLCDB
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/u01/app/oracle/product/12.2.0/dbhome_1/bin
PWD=/home/oracle
SHLVL=1
HOME=/home/oracle
ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1
_=/usr/bin/rlwrap
OLDPWD=/
ORA_NET2_DESC=9,12&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;639&quot; data-origin-height=&quot;365&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CC7mG/btrUYpLqImQ/uWyo0UBYMQLYiZHiABAoe0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CC7mG/btrUYpLqImQ/uWyo0UBYMQLYiZHiABAoe0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CC7mG/btrUYpLqImQ/uWyo0UBYMQLYiZHiABAoe0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCC7mG%2FbtrUYpLqImQ%2FuWyo0UBYMQLYiZHiABAoe0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;639&quot; height=&quot;365&quot; data-origin-width=&quot;639&quot; data-origin-height=&quot;365&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Operation System/Unix &amp;amp; Linux</category>
      <category>enV</category>
      <category>Environ</category>
      <category>Linux</category>
      <category>리눅스</category>
      <category>환경변수</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/113</guid>
      <comments>https://junsuyoun.tistory.com/entry/LINUX-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4environ-%ED%99%98%EA%B2%BD-%EB%B3%80%EC%88%98-%EA%B0%92-%ED%99%95%EC%9D%B8%ED%95%98%EA%B8%B0#entry113comment</comments>
      <pubDate>Wed, 28 Dec 2022 21:36:52 +0900</pubDate>
    </item>
    <item>
      <title>LINUX 프로세스 limit 설정 값 확인하기</title>
      <link>https://junsuyoun.tistory.com/entry/LINUX-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4-limit-%EC%84%A4%EC%A0%95-%EA%B0%92-%ED%99%95%EC%9D%B8%ED%95%98%EA%B8%B0</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;ulimit -a 명령 결과 수행 시 유저별로만 확인 가능한 limit 값이 프로세스에 적용되어 있는 값을 확인할 수 있습니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;&amp;nbsp;/proc/&amp;lt;PID&amp;gt;/limits&lt;/b&gt;&lt;/blockquote&gt;
&lt;pre id=&quot;code_1672230550022&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@junsu-desktop 4095310]docker_host# cat /proc/4095310/limits 
Limit                     Soft Limit           Hard Limit           Units     
Max cpu time              unlimited            unlimited            seconds   
Max file size             unlimited            unlimited            bytes     
Max data size             unlimited            unlimited            bytes     
Max stack size            33554432             unlimited            bytes     
Max core file size        unlimited            unlimited            bytes     
Max resident set          unlimited            unlimited            bytes     
Max processes             unlimited            unlimited            processes 
Max open files            1048576              1048576              files     
Max locked memory         65536                65536                bytes     
Max address space         unlimited            unlimited            bytes     
Max file locks            unlimited            unlimited            locks     
Max pending signals       159877               159877               signals   
Max msgqueue size         819200               819200               bytes     
Max nice priority         0                    0                    
Max realtime priority     0                    0                    
Max realtime timeout      unlimited            unlimited            us&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;/proc 밑에 프로세스별 디렉토리 하위에 limits 파일이 프로세스가 기동 될 때 적용 된 limit 값 입니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;639&quot; data-origin-height=&quot;365&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cOFG6U/btrUXoTpkEO/GOA78jWklkI33M1D2dU3H0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cOFG6U/btrUXoTpkEO/GOA78jWklkI33M1D2dU3H0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cOFG6U/btrUXoTpkEO/GOA78jWklkI33M1D2dU3H0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcOFG6U%2FbtrUXoTpkEO%2FGOA78jWklkI33M1D2dU3H0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;639&quot; height=&quot;365&quot; data-origin-width=&quot;639&quot; data-origin-height=&quot;365&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;</description>
      <category>Operation System/Unix &amp;amp; Linux</category>
      <category>LIMIT</category>
      <category>Linux</category>
      <category>ulimit</category>
      <category>리눅스</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/112</guid>
      <comments>https://junsuyoun.tistory.com/entry/LINUX-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4-limit-%EC%84%A4%EC%A0%95-%EA%B0%92-%ED%99%95%EC%9D%B8%ED%95%98%EA%B8%B0#entry112comment</comments>
      <pubDate>Wed, 28 Dec 2022 21:31:25 +0900</pubDate>
    </item>
    <item>
      <title>tmux: command not found</title>
      <link>https://junsuyoun.tistory.com/entry/tmux-command-not-found</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;tmux 유틸리티 설치&lt;/b&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;tmux&lt;br /&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;CentOS&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1664416543927&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@36db4f37d7cd /]# yum install -y tmux&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Ubuntu&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1664416548735&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;root@2e7d55ea6f88:/# apt-get install -y procps&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;838&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dNPpvS/btrUfPqxeq6/ya322ChfdnHkTVmcorpwB1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dNPpvS/btrUfPqxeq6/ya322ChfdnHkTVmcorpwB1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dNPpvS/btrUfPqxeq6/ya322ChfdnHkTVmcorpwB1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdNPpvS%2FbtrUfPqxeq6%2Fya322ChfdnHkTVmcorpwB1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;838&quot; height=&quot;370&quot; data-origin-width=&quot;838&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;패키지 매니저로 설치가 불가능한 경우 아래 링크를 통해 직접 파일로 다운 받아 설치 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure id=&quot;og_1664416574355&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  package  / utility / libarary 파일 다운로드&quot; data-og-description=&quot;리눅스 환경에서 yum 또는 apt-get과 같은 패키지 관리자로 패키지를 다운 받지 못할 때 파일로 준비해야 합니다. package, utility, librarary Repository CentOS Index of /centos mirror.navercorp.com CentOS..&quot; data-og-host=&quot;junsuyoun.tistory.com&quot; data-og-source-url=&quot;https://junsuyoun.tistory.com/46&quot; data-og-url=&quot;https://junsuyoun.tistory.com/46&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/MHa1H/hyPXOgnkl6/Fm3dsSq0Dkm3RvIGhKZD0K/img.png?width=800&amp;amp;height=498&amp;amp;face=0_0_800_498,https://scrap.kakaocdn.net/dn/fpMR7/hyPWOvvAvW/lv3KjknecrmJHjktUiQ4h1/img.png?width=800&amp;amp;height=498&amp;amp;face=0_0_800_498,https://scrap.kakaocdn.net/dn/7aOXY/hyPXLxaTI3/UsNK2oXn8gRXDkIQALuPU0/img.png?width=814&amp;amp;height=518&amp;amp;face=0_0_814_518&quot;&gt;&lt;a href=&quot;https://junsuyoun.tistory.com/46&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://junsuyoun.tistory.com/46&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/MHa1H/hyPXOgnkl6/Fm3dsSq0Dkm3RvIGhKZD0K/img.png?width=800&amp;amp;height=498&amp;amp;face=0_0_800_498,https://scrap.kakaocdn.net/dn/fpMR7/hyPWOvvAvW/lv3KjknecrmJHjktUiQ4h1/img.png?width=800&amp;amp;height=498&amp;amp;face=0_0_800_498,https://scrap.kakaocdn.net/dn/7aOXY/hyPXLxaTI3/UsNK2oXn8gRXDkIQALuPU0/img.png?width=814&amp;amp;height=518&amp;amp;face=0_0_814_518');&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 package / utility / libarary 파일 다운로드&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;리눅스 환경에서 yum 또는 apt-get과 같은 패키지 관리자로 패키지를 다운 받지 못할 때 파일로 준비해야 합니다. package, utility, librarary Repository CentOS Index of /centos mirror.navercorp.com CentOS..&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;junsuyoun.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Operation System/Unix &amp;amp; Linux</category>
      <category>tmux</category>
      <category>화면분할</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/111</guid>
      <comments>https://junsuyoun.tistory.com/entry/tmux-command-not-found#entry111comment</comments>
      <pubDate>Thu, 22 Dec 2022 00:16:53 +0900</pubDate>
    </item>
    <item>
      <title>유니코드 UTF-8 / UTF-16 / UTF-32</title>
      <link>https://junsuyoun.tistory.com/entry/%EC%9C%A0%EB%8B%88%EC%BD%94%EB%93%9C-UTF-8-UTF-16-UTF-32</link>
      <description>&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&quot;모든 문자 체계를 온전히 표현한다.&quot;&amp;nbsp;&lt;/b&gt;국가간 교류가 많아지면서 특정 국가에만 국한되지 않고 모든 언어/기호를 표현할 수 있도록 설계된게 유니코드이다. 유니코드는 문자셋이고 유니코드를 어떻게 표현할건지에 대한 문자 인코딩 방식이 UTF-8, UTF-16, UTF-32 입니다.&lt;/p&gt;
&lt;figure id=&quot;og_1671497865677&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;유니코드 - 위키백과, 우리 모두의 백과사전&quot; data-og-description=&quot;위키백과, 우리 모두의 백과사전. 유니의 음반에 대해서는 U;Nee Code 문서를 참고하십시오. 유니코드(영어: Unicode)는 전 세계의 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 있도록 설계된 &quot; data-og-host=&quot;ko.wikipedia.org&quot; data-og-source-url=&quot;https://ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%88%EC%BD%94%EB%93%9C&quot; data-og-url=&quot;https://ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%88%EC%BD%94%EB%93%9C&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/M7v7J/hyQYMhp9qK/6Oj6JJDV8YhjVFDN7ni1J1/img.png?width=1200&amp;amp;height=1440&amp;amp;face=0_0_1200_1440,https://scrap.kakaocdn.net/dn/bSUQJ9/hyQYFCAtjr/ogvmKGcXKBtsKLnxGQLNu0/img.png?width=800&amp;amp;height=960&amp;amp;face=0_0_800_960,https://scrap.kakaocdn.net/dn/yEC1f/hyQYHApblJ/9dSA42WDAtUk1j0CrFKFuK/img.png?width=640&amp;amp;height=768&amp;amp;face=0_0_640_768&quot;&gt;&lt;a href=&quot;https://ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%88%EC%BD%94%EB%93%9C&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%88%EC%BD%94%EB%93%9C&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/M7v7J/hyQYMhp9qK/6Oj6JJDV8YhjVFDN7ni1J1/img.png?width=1200&amp;amp;height=1440&amp;amp;face=0_0_1200_1440,https://scrap.kakaocdn.net/dn/bSUQJ9/hyQYFCAtjr/ogvmKGcXKBtsKLnxGQLNu0/img.png?width=800&amp;amp;height=960&amp;amp;face=0_0_800_960,https://scrap.kakaocdn.net/dn/yEC1f/hyQYHApblJ/9dSA42WDAtUk1j0CrFKFuK/img.png?width=640&amp;amp;height=768&amp;amp;face=0_0_640_768');&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;유니코드 - 위키백과, 우리 모두의 백과사전&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;위키백과, 우리 모두의 백과사전. 유니의 음반에 대해서는 U;Nee Code 문서를 참고하십시오. 유니코드(영어: Unicode)는 전 세계의 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 있도록 설계된&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;ko.wikipedia.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;영어권과 유럽에서는 1byte 문자 집합을 통해 언어/기호를 표현했다. 하지만 CJK (중국/일본/한국)과 제2외국어를 사용하는 국가에서는 1byte의 알파벳과 숫자 특정기호들만 가지고 자신의 언어를 표현할 수가 없어 국가별로 자신들의 문자집합을 만들어서 사용하였으며 하나의 문자 집합으로 모든 언어를 표현할 수 없는 문제가 생겼다.&lt;br /&gt;(C: GB2312, GBK, EUC-CN, GB18030 / J: Shiuft-JIS, JIS x0201, JIS x0208, JIS x021, EUC-JP / K: EUC-KR, CP949)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위와 같은 문제를 해결하는것이 모든 언어를 표현할 수 있는 문자 집합 유니코드를 통해 모든 언어를 표현할 수 있도록 되었다.&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;nbsp;UTF-8: 문자 인코딩을 8bit 단위로 쪼개서 표현&lt;/li&gt;
&lt;li&gt;&amp;nbsp;UTF-16: 문자 인코딩을 16bit 단위로 쪼개서 표현&lt;/li&gt;
&lt;li&gt;&amp;nbsp;UTF-32: 문자 인코딩을 32bit 단위로 쪼개서 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 100px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;text-align: center; height: 20px;&quot; width=&quot;141&quot;&gt;&lt;b&gt;구분&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; height: 20px;&quot; width=&quot;142&quot;&gt;&lt;b&gt;UNICODE&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; height: 20px;&quot; width=&quot;104&quot;&gt;&lt;b&gt;UTF-8&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; height: 20px;&quot; width=&quot;66&quot;&gt;&lt;b&gt;UTF-16&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; height: 20px;&quot; width=&quot;85&quot;&gt;&lt;b&gt;UTF-32&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;height: 20px;&quot; width=&quot;141&quot;&gt;&lt;span&gt;&lt;span&gt;ASCII &lt;/span&gt;&lt;span&gt;전체 &lt;span&gt;(&lt;/span&gt;영어&lt;span&gt;/&lt;/span&gt;숫자 등&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; height: 20px;&quot; width=&quot;142&quot;&gt;&lt;span&gt;&lt;span&gt;U+0000 ~ U+007F&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; height: 20px;&quot; width=&quot;104&quot;&gt;&lt;span&gt;&lt;span&gt;1 byte&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; height: 20px;&quot; width=&quot;66&quot;&gt;&lt;span&gt;&lt;span&gt;2 byte&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; height: 20px;&quot; width=&quot;85&quot;&gt;&lt;span&gt;&lt;span&gt;4 byte&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;height: 20px;&quot; width=&quot;141&quot;&gt;&lt;span&gt;&lt;span&gt;일부 문자&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; height: 20px;&quot; width=&quot;142&quot;&gt;&lt;span&gt;&lt;span&gt;U+0080 ~ U+07FF&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; height: 20px;&quot; width=&quot;104&quot;&gt;&lt;span&gt;&lt;span&gt;2 byte&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; height: 20px;&quot; width=&quot;66&quot;&gt;&lt;span&gt;&lt;span&gt;2 byte&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; height: 20px;&quot; width=&quot;85&quot;&gt;&lt;span&gt;&lt;span&gt;4 byte&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;height: 20px;&quot; width=&quot;141&quot;&gt;&lt;span&gt;&lt;span&gt;대부분의 문자&lt;span&gt;(&lt;/span&gt;한글 등&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; height: 20px;&quot; width=&quot;142&quot;&gt;&lt;span&gt;&lt;span&gt;U+0800 ~ U+FFFF&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; height: 20px;&quot; width=&quot;104&quot;&gt;&lt;span&gt;&lt;span&gt;3 byte&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; height: 20px;&quot; width=&quot;66&quot;&gt;&lt;span&gt;&lt;span&gt;4 byte&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; height: 20px;&quot; width=&quot;85&quot;&gt;&lt;span&gt;&lt;span&gt;4 byte&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;height: 20px;&quot; width=&quot;141&quot;&gt;&lt;span&gt;&lt;span&gt;BMP&lt;/span&gt;&lt;span&gt;속하지 않는 문자들&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; height: 20px;&quot; width=&quot;142&quot;&gt;&lt;span&gt;&lt;span&gt;U+10000 ~ U+10FFFF&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; height: 20px;&quot; width=&quot;104&quot;&gt;&lt;span&gt;&lt;span&gt;4 byte&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; height: 20px;&quot; width=&quot;66&quot;&gt;&lt;span&gt;&lt;span&gt;4 byte&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; height: 20px;&quot; width=&quot;85&quot;&gt;&lt;span&gt;&lt;span&gt;4 byte&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;551&quot; data-origin-height=&quot;205&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/byy2Nt/btrT6ewyblV/rehcOgdpOyAJb5kpG8uuXK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/byy2Nt/btrT6ewyblV/rehcOgdpOyAJb5kpG8uuXK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/byy2Nt/btrT6ewyblV/rehcOgdpOyAJb5kpG8uuXK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbyy2Nt%2FbtrT6ewyblV%2FrehcOgdpOyAJb5kpG8uuXK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;551&quot; height=&quot;205&quot; data-origin-width=&quot;551&quot; data-origin-height=&quot;205&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>RDBMS/General</category>
      <category>characterset</category>
      <category>CharSet</category>
      <category>Unicode</category>
      <category>UTF16</category>
      <category>utf32</category>
      <category>utf8</category>
      <category>문자 집합</category>
      <category>유니코드</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/110</guid>
      <comments>https://junsuyoun.tistory.com/entry/%EC%9C%A0%EB%8B%88%EC%BD%94%EB%93%9C-UTF-8-UTF-16-UTF-32#entry110comment</comments>
      <pubDate>Tue, 20 Dec 2022 11:16:50 +0900</pubDate>
    </item>
    <item>
      <title>ifdown과 ifconfig down flags 차이</title>
      <link>https://junsuyoun.tistory.com/entry/ifdown%EA%B3%BC-ifconfig-down-%EC%B0%A8%EC%9D%B4%EC%A0%90</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;리눅스에서 특정 이더넷을 다운 시키는 명령어 두가지가 있습니다. 두 명령어 모두 해당 이더넷으로 접속을 못하게 되는데요.&amp;nbsp; 두 명령 수행 결과에 따라 이더넷 flags 상태 값에 차이가 있습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ifdown &amp;lt;ethernet&amp;gt;&lt;/li&gt;
&lt;li&gt;ifconfig &amp;lt;ethernet&amp;gt; down&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;ifdown &amp;lt;ethernet&amp;gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;pre id=&quot;code_1671437089460&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@host ~]# ifconfig -a
ens36: flags=4163&amp;lt;UP,BROADCAST,RUNNING,MULTICAST&amp;gt;  mtu 1500
        inet 192.168.78.21  netmask 255.255.255.0  broadcast 192.168.78.255
        inet6 fe80::db6f:5a7b:d011:e418  prefixlen 64  scopeid 0x20&amp;lt;link&amp;gt;
        ether 00:0c:29:1e:fe:ba  txqueuelen 1000  (Ethernet)
        RX packets 202  bytes 23718 (23.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 14  bytes 1422 (1.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1671437099700&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@host ~]# ifdown ens36
장치 'ens36'의 연결이 성공적으로 해제되었습니다.
[root@host ~]# ifconfig -a
ens36: flags=4163&amp;lt;UP,BROADCAST,RUNNING,MULTICAST&amp;gt;  mtu 1500
        ether 00:0c:29:1e:fe:ba  txqueuelen 1000  (Ethernet)
        RX packets 202  bytes 23718 (23.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 16  bytes 1722 (1.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;ifconfig &amp;lt;ethernet&amp;gt; down&lt;/b&gt;&lt;/blockquote&gt;
&lt;pre id=&quot;code_1671437187476&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@host ~]# ifconfig -a
ens36: flags=4163&amp;lt;UP,BROADCAST,RUNNING,MULTICAST&amp;gt;  mtu 1500
        inet 192.168.78.21  netmask 255.255.255.0  broadcast 192.168.78.255
        inet6 fe80::db6f:5a7b:d011:e418  prefixlen 64  scopeid 0x20&amp;lt;link&amp;gt;
        ether 00:0c:29:1e:fe:ba  txqueuelen 1000  (Ethernet)
        RX packets 202  bytes 23718 (23.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 27  bytes 2920 (2.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1671437175475&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@host ~]# ifconfig ens36 down
[root@host ~]# ifconfig -a
ens36: flags=4098&amp;lt;BROADCAST,MULTICAST&amp;gt;  mtu 1500
        inet 192.168.78.21  netmask 255.255.255.0  broadcast 192.168.78.255
        ether 00:0c:29:1e:fe:ba  txqueuelen 1000  (Ethernet)
        RX packets 202  bytes 23718 (23.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 30  bytes 3104 (3.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;flags 값 확인&lt;/b&gt;&lt;/blockquote&gt;
&lt;pre id=&quot;code_1671437285643&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@host ~]# ifconfig -a
ens36: flags=4163&amp;lt;UP,BROADCAST,RUNNING,MULTICAST&amp;gt;  mtu 1500
[root@host ~]# ifdown ens36
장치 'ens36'의 연결이 성공적으로 해제되었습니다.
[root@host ~]# ifconfig -a
ens36: flags=4163&amp;lt;UP,BROADCAST,RUNNING,MULTICAST&amp;gt;  mtu 1500

[root@host ~]# ifconfig -a
ens36: flags=4163&amp;lt;UP,BROADCAST,RUNNING,MULTICAST&amp;gt;  mtu 1500
[root@host ~]# ifconfig ens36 down
[root@host ~]# ifconfig -a
ens36: flags=4098&amp;lt;BROADCAST,MULTICAST&amp;gt;  mtu 1500&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ifdown &amp;lt;ethernet&amp;gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;flags 값에 변동이 없습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;ifconfig &amp;lt;ethernet&amp;gt; down
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;flags 값의 RUNNING 값이 빠져 변경 됨&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이더넷 플래그 값을 통해 쉘 스크립트나 코드를 작성할 경우 주의해야 합니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;698&quot; data-origin-height=&quot;161&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bOKe1B/btrT0SVwLpA/xZa3HWxSUrN8DolDoDyTh1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bOKe1B/btrT0SVwLpA/xZa3HWxSUrN8DolDoDyTh1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bOKe1B/btrT0SVwLpA/xZa3HWxSUrN8DolDoDyTh1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbOKe1B%2FbtrT0SVwLpA%2FxZa3HWxSUrN8DolDoDyTh1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;698&quot; height=&quot;161&quot; data-origin-width=&quot;698&quot; data-origin-height=&quot;161&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Operation System/Unix &amp;amp; Linux</category>
      <category>Ethernet</category>
      <category>Flags</category>
      <category>ifconfig</category>
      <category>ifdown</category>
      <category>이더넷</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/109</guid>
      <comments>https://junsuyoun.tistory.com/entry/ifdown%EA%B3%BC-ifconfig-down-%EC%B0%A8%EC%9D%B4%EC%A0%90#entry109comment</comments>
      <pubDate>Mon, 19 Dec 2022 17:11:11 +0900</pubDate>
    </item>
    <item>
      <title>네이버 캘린더를 구글 캘린더로 옮기기</title>
      <link>https://junsuyoun.tistory.com/entry/%EB%84%A4%EC%9D%B4%EB%B2%84-%EC%BA%98%EB%A6%B0%EB%8D%94%EB%A5%BC-%EA%B5%AC%EA%B8%80-%EC%BA%98%EB%A6%B0%EB%8D%94%EB%A1%9C-%EC%98%AE%EA%B8%B0%EA%B8%B0</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;캘린더를 옮기는 일을 고민할 때 기존에 있던 데이터를 어떻게 할까에 대한 고민을 할 수 있습니다.&lt;br /&gt;기본적으로 캘린더 애플리케이션에서는 표준화된 ics(&lt;span style=&quot;background-color: #ffffff; color: #202122;&quot;&gt;iCalendar) 파일 확장자로 데이터를 내려 받을 수 있습니다.&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #202122; letter-spacing: 0px;&quot;&gt;이메일 내보내기랑 비슷하다고 보면 됩니다.&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #202122; letter-spacing: 0px;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1671409135729&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;아이캘린더 - 위키백과, 우리 모두의 백과사전&quot; data-og-description=&quot;위키백과, 우리 모두의 백과사전. 아이캘린더 구성 요소 및 속성 아이캘린더(iCalendar)는 인터넷 사용자들이 다른 인터넷 사용자들에게 전자 메일을 이용하여 미팅 요청과 할 일을 보내거나 .ics &quot; data-og-host=&quot;ko.wikipedia.org&quot; data-og-source-url=&quot;https://ko.wikipedia.org/wiki/%EC%95%84%EC%9D%B4%EC%BA%98%EB%A6%B0%EB%8D%94&quot; data-og-url=&quot;https://ko.wikipedia.org/wiki/%EC%95%84%EC%9D%B4%EC%BA%98%EB%A6%B0%EB%8D%94&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bYGJzK/hyQWuPl2OB/UAkvcZqB7ea6ZU6wSuCofK/img.png?width=1061&amp;amp;height=839&amp;amp;face=0_0_1061_839,https://scrap.kakaocdn.net/dn/cCbfSl/hyQWDyKTYV/if3dh8bjoNyRqgBkuLWmt1/img.png?width=800&amp;amp;height=633&amp;amp;face=0_0_800_633,https://scrap.kakaocdn.net/dn/z1U8P/hyQWr59DCo/WVcKaKJeAw3NJHNmokADWk/img.png?width=640&amp;amp;height=506&amp;amp;face=0_0_640_506&quot;&gt;&lt;a href=&quot;https://ko.wikipedia.org/wiki/%EC%95%84%EC%9D%B4%EC%BA%98%EB%A6%B0%EB%8D%94&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://ko.wikipedia.org/wiki/%EC%95%84%EC%9D%B4%EC%BA%98%EB%A6%B0%EB%8D%94&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bYGJzK/hyQWuPl2OB/UAkvcZqB7ea6ZU6wSuCofK/img.png?width=1061&amp;amp;height=839&amp;amp;face=0_0_1061_839,https://scrap.kakaocdn.net/dn/cCbfSl/hyQWDyKTYV/if3dh8bjoNyRqgBkuLWmt1/img.png?width=800&amp;amp;height=633&amp;amp;face=0_0_800_633,https://scrap.kakaocdn.net/dn/z1U8P/hyQWr59DCo/WVcKaKJeAw3NJHNmokADWk/img.png?width=640&amp;amp;height=506&amp;amp;face=0_0_640_506');&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;아이캘린더 - 위키백과, 우리 모두의 백과사전&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;위키백과, 우리 모두의 백과사전. 아이캘린더 구성 요소 및 속성 아이캘린더(iCalendar)는 인터넷 사용자들이 다른 인터넷 사용자들에게 전자 메일을 이용하여 미팅 요청과 할 일을 보내거나 .ics&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;ko.wikipedia.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;네이버 캘린더에서 데이터 내보내기&lt;/b&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wZjPN/btrTT8cR4q1/fWPaKFqAhK1PkOVS3GuSF0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wZjPN/btrTT8cR4q1/fWPaKFqAhK1PkOVS3GuSF0/img.png&quot; data-origin-width=&quot;359&quot; data-origin-height=&quot;677&quot; data-is-animation=&quot;false&quot; style=&quot;width: 24.3%; margin-right: 10px;&quot; data-widthpercent=&quot;24.59&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wZjPN/btrTT8cR4q1/fWPaKFqAhK1PkOVS3GuSF0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwZjPN%2FbtrTT8cR4q1%2FfWPaKFqAhK1PkOVS3GuSF0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;359&quot; height=&quot;677&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4HJcu/btrTR8dmp60/aCbklKOruegTf1eeDbK6uK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4HJcu/btrTR8dmp60/aCbklKOruegTf1eeDbK6uK/img.png&quot; data-origin-width=&quot;1555&quot; data-origin-height=&quot;956&quot; data-is-animation=&quot;false&quot; style=&quot;width: 74.5372%;&quot; data-widthpercent=&quot;75.41&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4HJcu/btrTR8dmp60/aCbklKOruegTf1eeDbK6uK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4HJcu%2FbtrTR8dmp60%2FaCbklKOruegTf1eeDbK6uK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1555&quot; height=&quot;956&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;네이버 캘린더 애플리케이션에서 환경 설정에서 원하는 캘린더 &quot;내보내기(백업)&quot;을 선택&amp;nbsp; 합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sCuvc/btrTT60ssyK/IS7ZLWMP9dUknq7IXlXeW0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sCuvc/btrTT60ssyK/IS7ZLWMP9dUknq7IXlXeW0/img.png&quot; data-origin-width=&quot;912&quot; data-origin-height=&quot;878&quot; data-is-animation=&quot;false&quot; style=&quot;width: 39.0609%; margin-right: 10px;&quot; data-widthpercent=&quot;39.52&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sCuvc/btrTT60ssyK/IS7ZLWMP9dUknq7IXlXeW0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsCuvc%2FbtrTT60ssyK%2FIS7ZLWMP9dUknq7IXlXeW0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;912&quot; height=&quot;878&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/POxnT/btrT1GsOjEE/ZyCGlNXNQCGNbxhLTQ1zA0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/POxnT/btrT1GsOjEE/ZyCGlNXNQCGNbxhLTQ1zA0/img.png&quot; data-origin-width=&quot;1100&quot; data-origin-height=&quot;692&quot; data-is-animation=&quot;false&quot; style=&quot;width: 59.7763%;&quot; data-widthpercent=&quot;60.48&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/POxnT/btrT1GsOjEE/ZyCGlNXNQCGNbxhLTQ1zA0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPOxnT%2FbtrT1GsOjEE%2FZyCGlNXNQCGNbxhLTQ1zA0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1100&quot; height=&quot;692&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;팝업창이 뜨고 원하는 일정 기간을 선택해서 ics확장자로 파일을 다운로드 합니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;구글 캘린더에서 데이터 가져오기&lt;/b&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bd0Gd0/btrTRontEQo/Av5IkqUXftZrh42RmYIK1k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bd0Gd0/btrTRontEQo/Av5IkqUXftZrh42RmYIK1k/img.png&quot; data-origin-width=&quot;2625&quot; data-origin-height=&quot;871&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;86.31&quot; style=&quot;width: 85.3031%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bd0Gd0/btrTRontEQo/Av5IkqUXftZrh42RmYIK1k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbd0Gd0%2FbtrTRontEQo%2FAv5IkqUXftZrh42RmYIK1k%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;2625&quot; height=&quot;871&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0KKVW/btrT2RHHelq/JOFbi5GdwbFcSo0GH7q7MK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0KKVW/btrT2RHHelq/JOFbi5GdwbFcSo0GH7q7MK/img.png&quot; data-origin-width=&quot;427&quot; data-origin-height=&quot;893&quot; data-is-animation=&quot;false&quot; style=&quot;width: 13.5341%;&quot; data-widthpercent=&quot;13.69&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0KKVW/btrT2RHHelq/JOFbi5GdwbFcSo0GH7q7MK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0KKVW%2FbtrT2RHHelq%2FJOFbi5GdwbFcSo0GH7q7MK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;427&quot; height=&quot;893&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;구글 캘린더 애플리케이션에서 설정을 눌러 &quot;가져오기/선택하기&quot;를 선택 합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cedDcZ/btrTRo14x1z/4IiR9r9cMsMeKCXCXzDN71/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cedDcZ/btrTRo14x1z/4IiR9r9cMsMeKCXCXzDN71/img.png&quot; data-origin-width=&quot;1190&quot; data-origin-height=&quot;469&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.5779%; margin-right: 10px;&quot; data-widthpercent=&quot;50.16&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cedDcZ/btrTRo14x1z/4IiR9r9cMsMeKCXCXzDN71/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcedDcZ%2FbtrTRo14x1z%2F4IiR9r9cMsMeKCXCXzDN71%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1190&quot; height=&quot;469&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lxzKj/btrTTo1gR85/gplkRwrBbjkAkEACwgcTQ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lxzKj/btrTTo1gR85/gplkRwrBbjkAkEACwgcTQ1/img.png&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;476&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.2593%;&quot; data-widthpercent=&quot;49.84&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lxzKj/btrTTo1gR85/gplkRwrBbjkAkEACwgcTQ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlxzKj%2FbtrTTo1gR85%2FgplkRwrBbjkAkEACwgcTQ1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1200&quot; height=&quot;476&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;네이버 캘린더에서 내려받은 ics 파일을 업로드 하고 미리 생성한 구글 캘린더를 선택 합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;312&quot; data-origin-height=&quot;125&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cHvEd0/btrTT7ruIHe/nVEQEqC2JM9V2Q3E4MV9YK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cHvEd0/btrTT7ruIHe/nVEQEqC2JM9V2Q3E4MV9YK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cHvEd0/btrTT7ruIHe/nVEQEqC2JM9V2Q3E4MV9YK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcHvEd0%2FbtrTT7ruIHe%2FnVEQEqC2JM9V2Q3E4MV9YK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;312&quot; height=&quot;125&quot; data-origin-width=&quot;312&quot; data-origin-height=&quot;125&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Operation System/Windows</category>
      <category>ICS</category>
      <category>구글 캘린더</category>
      <category>네이버 캘린더</category>
      <category>캘린더</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/108</guid>
      <comments>https://junsuyoun.tistory.com/entry/%EB%84%A4%EC%9D%B4%EB%B2%84-%EC%BA%98%EB%A6%B0%EB%8D%94%EB%A5%BC-%EA%B5%AC%EA%B8%80-%EC%BA%98%EB%A6%B0%EB%8D%94%EB%A1%9C-%EC%98%AE%EA%B8%B0%EA%B8%B0#entry108comment</comments>
      <pubDate>Mon, 19 Dec 2022 09:32:37 +0900</pubDate>
    </item>
    <item>
      <title>Linux 포그라운드(forground) 프로세스 백그라운드(background)로 변경하기</title>
      <link>https://junsuyoun.tistory.com/entry/Linux-%ED%8F%AC%EA%B7%B8%EB%9D%BC%EC%9A%B4%EB%93%9Cforground-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4-%EB%B0%B1%EA%B7%B8%EB%9D%BC%EC%9A%B4%EB%93%9Cbackground%EB%A1%9C-%EB%B3%80%EA%B2%BD%ED%95%98%EA%B8%B0</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;리눅스에서 프로세스를 포그라운드(forground)에서 백그라운드(background)로 동작시키는 방법&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;포그라운드 프로세스 수행&lt;br /&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;pre id=&quot;code_1671205694559&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;junsu@junsu-desktop:~$ cat forground.sh 
sleep 30
junsu@junsu-desktop:~$ sh forground.sh&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;일시 중지&lt;/b&gt;&lt;/blockquote&gt;
&lt;pre id=&quot;code_1671205748693&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;junsu@junsu-desktop:~$ sh forground.sh 
^Z
[1]+  멈춤                  sh forground.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Ctrl + Z 로 프로세스 중지&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;백그라운드 수행&lt;br /&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;pre id=&quot;code_1671205813543&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;junsu@junsu-desktop:~$ jobs
[1]+  멈춤                  sh forground.sh
junsu@junsu-desktop:~$ bg
[1]+ sh forground.sh &amp;amp;
junsu@junsu-desktop:~$ jobs
[1]+  실행중               sh forground.sh &amp;amp;
junsu@junsu-desktop:~$&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;터미널이 끊겨도 포그라운드 프로세스를 백그라운드로 보내기&lt;/b&gt;&lt;/blockquote&gt;
&lt;pre id=&quot;code_1671205916850&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;junsu@junsu-desktop:~$ jobs
[1]+  실행중               sh forground.sh &amp;amp;
junsu@junsu-desktop:~$ disown
junsu@junsu-desktop:~$ jobs
junsu@junsu-desktop:~$ ps -ef |grep forground
junsu     400658  386647  0 00:50 pts/0    00:00:00 sh forground.sh
junsu     400701  386647  0 00:50 pts/0    00:00:00 grep forground&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;954&quot; data-origin-height=&quot;330&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b8EFvt/btrTQAgm2e7/SM5IkPnHEqyZ9eDTszdCd0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b8EFvt/btrTQAgm2e7/SM5IkPnHEqyZ9eDTszdCd0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b8EFvt/btrTQAgm2e7/SM5IkPnHEqyZ9eDTszdCd0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb8EFvt%2FbtrTQAgm2e7%2FSM5IkPnHEqyZ9eDTszdCd0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;954&quot; height=&quot;330&quot; data-origin-width=&quot;954&quot; data-origin-height=&quot;330&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Operation System/Unix &amp;amp; Linux</category>
      <category>Background</category>
      <category>forground</category>
      <category>백그라운드</category>
      <category>포그라운드</category>
      <category>프로세스</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/107</guid>
      <comments>https://junsuyoun.tistory.com/entry/Linux-%ED%8F%AC%EA%B7%B8%EB%9D%BC%EC%9A%B4%EB%93%9Cforground-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4-%EB%B0%B1%EA%B7%B8%EB%9D%BC%EC%9A%B4%EB%93%9Cbackground%EB%A1%9C-%EB%B3%80%EA%B2%BD%ED%95%98%EA%B8%B0#entry107comment</comments>
      <pubDate>Sat, 17 Dec 2022 00:53:33 +0900</pubDate>
    </item>
    <item>
      <title>EUCKR / MSWIN949(CP949) / UTF8  한글 정렬</title>
      <link>https://junsuyoun.tistory.com/entry/EUCKR-MSWIN949CP949-UTF8-%ED%95%9C%EA%B8%80-%EC%A0%95%EB%A0%AC</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;한글을 지원하는 EUCKR / MSWIN949(CP949) / UTF8 대표적으로 3가지 문자 집합의 한글 정렬&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%; text-align: center;&quot;&gt;구분&lt;/td&gt;
&lt;td style=&quot;width: 25%; text-align: center;&quot;&gt;EUCKR&lt;/td&gt;
&lt;td style=&quot;width: 25%; text-align: center;&quot;&gt;MSWIN949 (CP949)&lt;/td&gt;
&lt;td style=&quot;width: 25%; text-align: center;&quot;&gt;UTF8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%; text-align: center;&quot;&gt;한글 크기&lt;/td&gt;
&lt;td style=&quot;width: 25%; text-align: center;&quot;&gt;2 byte&lt;/td&gt;
&lt;td style=&quot;width: 25%; text-align: center;&quot;&gt;2 byte&lt;/td&gt;
&lt;td style=&quot;width: 25%; text-align: center;&quot;&gt;3 byte&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%; text-align: center;&quot;&gt;완성형 한글자 지원&lt;/td&gt;
&lt;td style=&quot;width: 25%; text-align: center;&quot;&gt;2,350자&lt;/td&gt;
&lt;td style=&quot;width: 25%; text-align: center;&quot;&gt;11,172자&lt;/td&gt;
&lt;td style=&quot;width: 25%; text-align: center;&quot;&gt;11,172자&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%; text-align: center;&quot;&gt;한글 정렬 보장&lt;/td&gt;
&lt;td style=&quot;width: 25%; text-align: center;&quot;&gt;2,350자에 한하여 보장&lt;/td&gt;
&lt;td style=&quot;width: 25%; text-align: center;&quot;&gt;보장하지 못함&lt;/td&gt;
&lt;td style=&quot;width: 25%; text-align: center;&quot;&gt;보장&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%; text-align: center;&quot;&gt;'가'의 정렬 순서&lt;/td&gt;
&lt;td style=&quot;width: 25%; text-align: center;&quot;&gt;2,350자 중 1번째&lt;/td&gt;
&lt;td style=&quot;width: 25%; text-align: center;&quot;&gt;11,172자 중 7,041번째&lt;/td&gt;
&lt;td style=&quot;width: 25%; text-align: center;&quot;&gt;11,172자 중 1번째&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;EUCKR은 완성형 한글자를 2,350자만 지원하고 MSWIN949는 한글 정렬을 지원하지 못할까요 ?&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/l7SDo/btrUDh1L9XC/Eky2KBsYVILOutsEKiyNSK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/l7SDo/btrUDh1L9XC/Eky2KBsYVILOutsEKiyNSK/img.png&quot; data-origin-width=&quot;1106&quot; data-origin-height=&quot;716&quot; data-is-animation=&quot;false&quot; width=&quot;517&quot; height=&quot;335&quot; data-widthpercent=&quot;49.92&quot; style=&quot;width: 49.3416%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/l7SDo/btrUDh1L9XC/Eky2KBsYVILOutsEKiyNSK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fl7SDo%2FbtrUDh1L9XC%2FEky2KBsYVILOutsEKiyNSK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1106&quot; height=&quot;716&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bqrgWE/btrUKYfgTmP/tSI6GbmhPayScPsqI8be30/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bqrgWE/btrUKYfgTmP/tSI6GbmhPayScPsqI8be30/img.png&quot; data-origin-width=&quot;1111&quot; data-origin-height=&quot;717&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.4956%;&quot; data-widthpercent=&quot;50.08&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bqrgWE/btrUKYfgTmP/tSI6GbmhPayScPsqI8be30/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqrgWE%2FbtrUKYfgTmP%2FtSI6GbmhPayScPsqI8be30%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1111&quot; height=&quot;717&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;EUCKR은 KS X 1003(ASCII와 비슷)을 통해 알파벳과 숫자를 지원하며 KS X 1001를 통해 완성형 한글자 2,350자까지 지원 합니다. MSWIN949는 EUCKR에서 지원하지 않는 완성형 한글자 8,826자를 추가하였습니다. 추가하는 과정에서 KS X 1001 보다 앞에 오는 코드번호를 사용하게 되어 한글 정렬을 보장하지 못합니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;완성형 한글자 11,172 전체&lt;/b&gt;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가 각 갂 갃 간 갅 갆 갇 갈 갉 갊 갋 갌 갍 갎 갏 감 갑 값 갓 갔 강 갖 갗 갘 같 갚 갛 개 객 갞 갟 갠 갡 갢 갣 갤 갥 갦 갧 갨 갩 갪 갫 갬 갭 갮 갯 갰 갱 갲 갳 갴 갵 갶 갷 갸 갹 갺 갻 갼 갽 갾 갿 걀 걁 걂 걃 걄 걅 걆 걇 걈 걉 걊 걋 걌 걍 걎 걏 걐 걑 걒 걓 걔 걕 걖 걗 걘 걙 걚 걛 걜 걝 걞 걟 걠 걡 걢 걣 걤 걥 걦 걧 걨 걩 걪 걫 걬 걭 걮 걯 거 걱 걲 걳 건 걵 걶 걷 걸 걹 걺 걻 걼 걽 걾 걿 검 겁 겂 것 겄 겅 겆 겇 겈 겉 겊 겋 게 겍 겎 겏 겐 겑 겒 겓 겔 겕 겖 겗 겘 겙 겚 겛 겜 겝 겞 겟 겠 겡 겢 겣 겤 겥 겦 겧 겨 격 겪 겫 견 겭 겮 겯 결 겱 겲 겳 겴 겵 겶 겷 겸 겹 겺 겻 겼 경 겾 겿 곀 곁 곂 곃 계 곅 곆 곇 곈 곉 곊 곋 곌 곍 곎 곏 곐 곑 곒 곓 곔 곕 곖 곗 곘 곙 곚 곛 곜 곝 곞 곟 고 곡 곢 곣 곤 곥 곦 곧 골 곩 곪 곫 곬 곭 곮 곯 곰 곱 곲 곳 곴 공 곶 곷 곸 곹 곺 곻 과 곽 곾 곿 관 괁 괂 괃 괄 괅 괆 괇 괈 괉 괊 괋 괌 괍 괎 괏 괐 광 괒 괓 괔 괕 괖 괗 괘 괙 괚 괛 괜 괝 괞 괟 괠 괡 괢 괣 괤 괥 괦 괧 괨 괩 괪 괫 괬 괭 괮 괯 괰 괱 괲 괳 괴 괵 괶 괷 괸 괹 괺 괻 괼 괽 괾 괿 굀 굁 굂 굃 굄 굅 굆 굇 굈 굉 굊 굋 굌 굍 굎 굏 교 굑 굒 굓 굔 굕 굖 굗 굘 굙 굚 굛 굜 굝 굞 굟 굠 굡 굢 굣 굤 굥 굦 굧 굨 굩 굪 굫 구 국 굮 굯 군 굱 굲 굳 굴 굵 굶 굷 굸 굹 굺 굻 굼 굽 굾 굿 궀 궁 궂 궃 궄 궅 궆 궇 궈 궉 궊 궋 권 궍 궎 궏 궐 궑 궒 궓 궔 궕 궖 궗 궘 궙 궚 궛 궜 궝 궞 궟 궠 궡 궢 궣 궤 궥 궦 궧 궨 궩 궪 궫 궬 궭 궮 궯 궰 궱 궲 궳 궴 궵 궶 궷 궸 궹 궺 궻 궼 궽 궾 궿 귀 귁 귂 귃 귄 귅 귆 귇 귈 귉 귊 귋 귌 귍 귎 귏 귐 귑 귒 귓 귔 귕 귖 귗 귘 귙 귚 귛 규 귝 귞 귟 균 귡 귢 귣 귤 귥 귦 귧 귨 귩 귪 귫 귬 귭 귮 귯 귰 귱 귲 귳 귴 귵 귶 귷 그 극 귺 귻 근 귽 귾 귿 글 긁 긂 긃 긄 긅 긆 긇 금 급 긊 긋 긌 긍 긎 긏 긐 긑 긒 긓 긔 긕 긖 긗 긘 긙 긚 긛 긜 긝 긞 긟 긠 긡 긢 긣 긤 긥 긦 긧 긨 긩 긪 긫 긬 긭 긮 긯 기 긱 긲 긳 긴 긵 긶 긷 길 긹 긺 긻 긼 긽 긾 긿 김 깁 깂 깃 깄 깅 깆 깇 깈 깉 깊 깋 까 깍 깎 깏 깐 깑 깒 깓 깔 깕 깖 깗 깘 깙 깚 깛 깜 깝 깞 깟 깠 깡 깢 깣 깤 깥 깦 깧 깨 깩 깪 깫 깬 깭 깮 깯 깰 깱 깲 깳 깴 깵 깶 깷 깸 깹 깺 깻 깼 깽 깾 깿 꺀 꺁 꺂 꺃 꺄 꺅 꺆 꺇 꺈 꺉 꺊 꺋 꺌 꺍 꺎 꺏 꺐 꺑 꺒 꺓 꺔 꺕 꺖 꺗 꺘 꺙 꺚 꺛 꺜 꺝 꺞 꺟 꺠 꺡 꺢 꺣 꺤 꺥 꺦 꺧 꺨 꺩 꺪 꺫 꺬 꺭 꺮 꺯 꺰 꺱 꺲 꺳 꺴 꺵 꺶 꺷 꺸 꺹 꺺 꺻 꺼 꺽 꺾 꺿 껀 껁 껂 껃 껄 껅 껆 껇 껈 껉 껊 껋 껌 껍 껎 껏 껐 껑 껒 껓 껔 껕 껖 껗 께 껙 껚 껛 껜 껝 껞 껟 껠 껡 껢 껣 껤 껥 껦 껧 껨 껩 껪 껫 껬 껭 껮 껯 껰 껱 껲 껳 껴 껵 껶 껷 껸 껹 껺 껻 껼 껽 껾 껿 꼀 꼁 꼂 꼃 꼄 꼅 꼆 꼇 꼈 꼉 꼊 꼋 꼌 꼍 꼎 꼏 꼐 꼑 꼒 꼓 꼔 꼕 꼖 꼗 꼘 꼙 꼚 꼛 꼜 꼝 꼞 꼟 꼠 꼡 꼢 꼣 꼤 꼥 꼦 꼧 꼨 꼩 꼪 꼫 꼬 꼭 꼮 꼯 꼰 꼱 꼲 꼳 꼴 꼵 꼶 꼷 꼸 꼹 꼺 꼻 꼼 꼽 꼾 꼿 꽀 꽁 꽂 꽃 꽄 꽅 꽆 꽇 꽈 꽉 꽊 꽋 꽌 꽍 꽎 꽏 꽐 꽑 꽒 꽓 꽔 꽕 꽖 꽗 꽘 꽙 꽚 꽛 꽜 꽝 꽞 꽟 꽠 꽡 꽢 꽣 꽤 꽥 꽦 꽧 꽨 꽩 꽪 꽫 꽬 꽭 꽮 꽯 꽰 꽱 꽲 꽳 꽴 꽵 꽶 꽷 꽸 꽹 꽺 꽻 꽼 꽽 꽾 꽿 꾀 꾁 꾂 꾃 꾄 꾅 꾆 꾇 꾈 꾉 꾊 꾋 꾌 꾍 꾎 꾏 꾐 꾑 꾒 꾓 꾔 꾕 꾖 꾗 꾘 꾙 꾚 꾛 꾜 꾝 꾞 꾟 꾠 꾡 꾢 꾣 꾤 꾥 꾦 꾧 꾨 꾩 꾪 꾫 꾬 꾭 꾮 꾯 꾰 꾱 꾲 꾳 꾴 꾵 꾶 꾷 꾸 꾹 꾺 꾻 꾼 꾽 꾾 꾿 꿀 꿁 꿂 꿃 꿄 꿅 꿆 꿇 꿈 꿉 꿊 꿋 꿌 꿍 꿎 꿏 꿐 꿑 꿒 꿓 꿔 꿕 꿖 꿗 꿘 꿙 꿚 꿛 꿜 꿝 꿞 꿟 꿠 꿡 꿢 꿣 꿤 꿥 꿦 꿧 꿨 꿩 꿪 꿫 꿬 꿭 꿮 꿯 꿰 꿱 꿲 꿳 꿴 꿵 꿶 꿷 꿸 꿹 꿺 꿻 꿼 꿽 꿾 꿿 뀀 뀁 뀂 뀃 뀄 뀅 뀆 뀇 뀈 뀉 뀊 뀋 뀌 뀍 뀎 뀏 뀐 뀑 뀒 뀓 뀔 뀕 뀖 뀗 뀘 뀙 뀚 뀛 뀜 뀝 뀞 뀟 뀠 뀡 뀢 뀣 뀤 뀥 뀦 뀧 뀨 뀩 뀪 뀫 뀬 뀭 뀮 뀯 뀰 뀱 뀲 뀳 뀴 뀵 뀶 뀷 뀸 뀹 뀺 뀻 뀼 뀽 뀾 뀿 끀 끁 끂 끃 끄 끅 끆 끇 끈 끉 끊 끋 끌 끍 끎 끏 끐 끑 끒 끓 끔 끕 끖 끗 끘 끙 끚 끛 끜 끝 끞 끟 끠 끡 끢 끣 끤 끥 끦 끧 끨 끩 끪 끫 끬 끭 끮 끯 끰 끱 끲 끳 끴 끵 끶 끷 끸 끹 끺 끻 끼 끽 끾 끿 낀 낁 낂 낃 낄 낅 낆 낇 낈 낉 낊 낋 낌 낍 낎 낏 낐 낑 낒 낓 낔 낕 낖 낗 나 낙 낚 낛 난 낝 낞 낟 날 낡 낢 낣 낤 낥 낦 낧 남 납 낪 낫 났 낭 낮 낯 낰 낱 낲 낳 내 낵 낶 낷 낸 낹 낺 낻 낼 낽 낾 낿 냀 냁 냂 냃 냄 냅 냆 냇 냈 냉 냊 냋 냌 냍 냎 냏 냐 냑 냒 냓 냔 냕 냖 냗 냘 냙 냚 냛 냜 냝 냞 냟 냠 냡 냢 냣 냤 냥 냦 냧 냨 냩 냪 냫 냬 냭 냮 냯 냰 냱 냲 냳 냴 냵 냶 냷 냸 냹 냺 냻 냼 냽 냾 냿 넀 넁 넂 넃 넄 넅 넆 넇 너 넉 넊 넋 넌 넍 넎 넏 널 넑 넒 넓 넔 넕 넖 넗 넘 넙 넚 넛 넜 넝 넞 넟 넠 넡 넢 넣 네 넥 넦 넧 넨 넩 넪 넫 넬 넭 넮 넯 넰 넱 넲 넳 넴 넵 넶 넷 넸 넹 넺 넻 넼 넽 넾 넿 녀 녁 녂 녃 년 녅 녆 녇 녈 녉 녊 녋 녌 녍 녎 녏 념 녑 녒 녓 녔 녕 녖 녗 녘 녙 녚 녛 녜 녝 녞 녟 녠 녡 녢 녣 녤 녥 녦 녧 녨 녩 녪 녫 녬 녭 녮 녯 녰 녱 녲 녳 녴 녵 녶 녷 노 녹 녺 녻 논 녽 녾 녿 놀 놁 놂 놃 놄 놅 놆 놇 놈 놉 놊 놋 놌 농 놎 놏 놐 놑 높 놓 놔 놕 놖 놗 놘 놙 놚 놛 놜 놝 놞 놟 놠 놡 놢 놣 놤 놥 놦 놧 놨 놩 놪 놫 놬 놭 놮 놯 놰 놱 놲 놳 놴 놵 놶 놷 놸 놹 놺 놻 놼 놽 놾 놿 뇀 뇁 뇂 뇃 뇄 뇅 뇆 뇇 뇈 뇉 뇊 뇋 뇌 뇍 뇎 뇏 뇐 뇑 뇒 뇓 뇔 뇕 뇖 뇗 뇘 뇙 뇚 뇛 뇜 뇝 뇞 뇟 뇠 뇡 뇢 뇣 뇤 뇥 뇦 뇧 뇨 뇩 뇪 뇫 뇬 뇭 뇮 뇯 뇰 뇱 뇲 뇳 뇴 뇵 뇶 뇷 뇸 뇹 뇺 뇻 뇼 뇽 뇾 뇿 눀 눁 눂 눃 누 눅 눆 눇 눈 눉 눊 눋 눌 눍 눎 눏 눐 눑 눒 눓 눔 눕 눖 눗 눘 눙 눚 눛 눜 눝 눞 눟 눠 눡 눢 눣 눤 눥 눦 눧 눨 눩 눪 눫 눬 눭 눮 눯 눰 눱 눲 눳 눴 눵 눶 눷 눸 눹 눺 눻 눼 눽 눾 눿 뉀 뉁 뉂 뉃 뉄 뉅 뉆 뉇 뉈 뉉 뉊 뉋 뉌 뉍 뉎 뉏 뉐 뉑 뉒 뉓 뉔 뉕 뉖 뉗 뉘 뉙 뉚 뉛 뉜 뉝 뉞 뉟 뉠 뉡 뉢 뉣 뉤 뉥 뉦 뉧 뉨 뉩 뉪 뉫 뉬 뉭 뉮 뉯 뉰 뉱 뉲 뉳 뉴 뉵 뉶 뉷 뉸 뉹 뉺 뉻 뉼 뉽 뉾 뉿 늀 늁 늂 늃 늄 늅 늆 늇 늈 늉 늊 늋 늌 늍 늎 늏 느 늑 늒 늓 는 늕 늖 늗 늘 늙 늚 늛 늜 늝 늞 늟 늠 늡 늢 늣 늤 능 늦 늧 늨 늩 늪 늫 늬 늭 늮 늯 늰 늱 늲 늳 늴 늵 늶 늷 늸 늹 늺 늻 늼 늽 늾 늿 닀 닁 닂 닃 닄 닅 닆 닇 니 닉 닊 닋 닌 닍 닎 닏 닐 닑 닒 닓 닔 닕 닖 닗 님 닙 닚 닛 닜 닝 닞 닟 닠 닡 닢 닣 다 닥 닦 닧 단 닩 닪 닫 달 닭 닮 닯 닰 닱 닲 닳 담 답 닶 닷 닸 당 닺 닻 닼 닽 닾 닿 대 댁 댂 댃 댄 댅 댆 댇 댈 댉 댊 댋 댌 댍 댎 댏 댐 댑 댒 댓 댔 댕 댖 댗 댘 댙 댚 댛 댜 댝 댞 댟 댠 댡 댢 댣 댤 댥 댦 댧 댨 댩 댪 댫 댬 댭 댮 댯 댰 댱 댲 댳 댴 댵 댶 댷 댸 댹 댺 댻 댼 댽 댾 댿 덀 덁 덂 덃 덄 덅 덆 덇 덈 덉 덊 덋 덌 덍 덎 덏 덐 덑 덒 덓 더 덕 덖 덗 던 덙 덚 덛 덜 덝 덞 덟 덠 덡 덢 덣 덤 덥 덦 덧 덨 덩 덪 덫 덬 덭 덮 덯 데 덱 덲 덳 덴 덵 덶 덷 델 덹 덺 덻 덼 덽 덾 덿 뎀 뎁 뎂 뎃 뎄 뎅 뎆 뎇 뎈 뎉 뎊 뎋 뎌 뎍 뎎 뎏 뎐 뎑 뎒 뎓 뎔 뎕 뎖 뎗 뎘 뎙 뎚 뎛 뎜 뎝 뎞 뎟 뎠 뎡 뎢 뎣 뎤 뎥 뎦 뎧 뎨 뎩 뎪 뎫 뎬 뎭 뎮 뎯 뎰 뎱 뎲 뎳 뎴 뎵 뎶 뎷 뎸 뎹 뎺 뎻 뎼 뎽 뎾 뎿 돀 돁 돂 돃 도 독 돆 돇 돈 돉 돊 돋 돌 돍 돎 돏 돐 돑 돒 돓 돔 돕 돖 돗 돘 동 돚 돛 돜 돝 돞 돟 돠 돡 돢 돣 돤 돥 돦 돧 돨 돩 돪 돫 돬 돭 돮 돯 돰 돱 돲 돳 돴 돵 돶 돷 돸 돹 돺 돻 돼 돽 돾 돿 됀 됁 됂 됃 됄 됅 됆 됇 됈 됉 됊 됋 됌 됍 됎 됏 됐 됑 됒 됓 됔 됕 됖 됗 되 됙 됚 됛 된 됝 됞 됟 될 됡 됢 됣 됤 됥 됦 됧 됨 됩 됪 됫 됬 됭 됮 됯 됰 됱 됲 됳 됴 됵 됶 됷 됸 됹 됺 됻 됼 됽 됾 됿 둀 둁 둂 둃 둄 둅 둆 둇 둈 둉 둊 둋 둌 둍 둎 둏 두 둑 둒 둓 둔 둕 둖 둗 둘 둙 둚 둛 둜 둝 둞 둟 둠 둡 둢 둣 둤 둥 둦 둧 둨 둩 둪 둫 둬 둭 둮 둯 둰 둱 둲 둳 둴 둵 둶 둷 둸 둹 둺 둻 둼 둽 둾 둿 뒀 뒁 뒂 뒃 뒄 뒅 뒆 뒇 뒈 뒉 뒊 뒋 뒌 뒍 뒎 뒏 뒐 뒑 뒒 뒓 뒔 뒕 뒖 뒗 뒘 뒙 뒚 뒛 뒜 뒝 뒞 뒟 뒠 뒡 뒢 뒣 뒤 뒥 뒦 뒧 뒨 뒩 뒪 뒫 뒬 뒭 뒮 뒯 뒰 뒱 뒲 뒳 뒴 뒵 뒶 뒷 뒸 뒹 뒺 뒻 뒼 뒽 뒾 뒿 듀 듁 듂 듃 듄 듅 듆 듇 듈 듉 듊 듋 듌 듍 듎 듏 듐 듑 듒 듓 듔 듕 듖 듗 듘 듙 듚 듛 드 득 듞 듟 든 듡 듢 듣 들 듥 듦 듧 듨 듩 듪 듫 듬 듭 듮 듯 듰 등 듲 듳 듴 듵 듶 듷 듸 듹 듺 듻 듼 듽 듾 듿 딀 딁 딂 딃 딄 딅 딆 딇 딈 딉 딊 딋 딌 딍 딎 딏 딐 딑 딒 딓 디 딕 딖 딗 딘 딙 딚 딛 딜 딝 딞 딟 딠 딡 딢 딣 딤 딥 딦 딧 딨 딩 딪 딫 딬 딭 딮 딯 따 딱 딲 딳 딴 딵 딶 딷 딸 딹 딺 딻 딼 딽 딾 딿 땀 땁 땂 땃 땄 땅 땆 땇 땈 땉 땊 땋 때 땍 땎 땏 땐 땑 땒 땓 땔 땕 땖 땗 땘 땙 땚 땛 땜 땝 땞 땟 땠 땡 땢 땣 땤 땥 땦 땧 땨 땩 땪 땫 땬 땭 땮 땯 땰 땱 땲 땳 땴 땵 땶 땷 땸 땹 땺 땻 땼 땽 땾 땿 떀 떁 떂 떃 떄 떅 떆 떇 떈 떉 떊 떋 떌 떍 떎 떏 떐 떑 떒 떓 떔 떕 떖 떗 떘 떙 떚 떛 떜 떝 떞 떟 떠 떡 떢 떣 떤 떥 떦 떧 떨 떩 떪 떫 떬 떭 떮 떯 떰 떱 떲 떳 떴 떵 떶 떷 떸 떹 떺 떻 떼 떽 떾 떿 뗀 뗁 뗂 뗃 뗄 뗅 뗆 뗇 뗈 뗉 뗊 뗋 뗌 뗍 뗎 뗏 뗐 뗑 뗒 뗓 뗔 뗕 뗖 뗗 뗘 뗙 뗚 뗛 뗜 뗝 뗞 뗟 뗠 뗡 뗢 뗣 뗤 뗥 뗦 뗧 뗨 뗩 뗪 뗫 뗬 뗭 뗮 뗯 뗰 뗱 뗲 뗳 뗴 뗵 뗶 뗷 뗸 뗹 뗺 뗻 뗼 뗽 뗾 뗿 똀 똁 똂 똃 똄 똅 똆 똇 똈 똉 똊 똋 똌 똍 똎 똏 또 똑 똒 똓 똔 똕 똖 똗 똘 똙 똚 똛 똜 똝 똞 똟 똠 똡 똢 똣 똤 똥 똦 똧 똨 똩 똪 똫 똬 똭 똮 똯 똰 똱 똲 똳 똴 똵 똶 똷 똸 똹 똺 똻 똼 똽 똾 똿 뙀 뙁 뙂 뙃 뙄 뙅 뙆 뙇 뙈 뙉 뙊 뙋 뙌 뙍 뙎 뙏 뙐 뙑 뙒 뙓 뙔 뙕 뙖 뙗 뙘 뙙 뙚 뙛 뙜 뙝 뙞 뙟 뙠 뙡 뙢 뙣 뙤 뙥 뙦 뙧 뙨 뙩 뙪 뙫 뙬 뙭 뙮 뙯 뙰 뙱 뙲 뙳 뙴 뙵 뙶 뙷 뙸 뙹 뙺 뙻 뙼 뙽 뙾 뙿 뚀 뚁 뚂 뚃 뚄 뚅 뚆 뚇 뚈 뚉 뚊 뚋 뚌 뚍 뚎 뚏 뚐 뚑 뚒 뚓 뚔 뚕 뚖 뚗 뚘 뚙 뚚 뚛 뚜 뚝 뚞 뚟 뚠 뚡 뚢 뚣 뚤 뚥 뚦 뚧 뚨 뚩 뚪 뚫 뚬 뚭 뚮 뚯 뚰 뚱 뚲 뚳 뚴 뚵 뚶 뚷 뚸 뚹 뚺 뚻 뚼 뚽 뚾 뚿 뛀 뛁 뛂 뛃 뛄 뛅 뛆 뛇 뛈 뛉 뛊 뛋 뛌 뛍 뛎 뛏 뛐 뛑 뛒 뛓 뛔 뛕 뛖 뛗 뛘 뛙 뛚 뛛 뛜 뛝 뛞 뛟 뛠 뛡 뛢 뛣 뛤 뛥 뛦 뛧 뛨 뛩 뛪 뛫 뛬 뛭 뛮 뛯 뛰 뛱 뛲 뛳 뛴 뛵 뛶 뛷 뛸 뛹 뛺 뛻 뛼 뛽 뛾 뛿 뜀 뜁 뜂 뜃 뜄 뜅 뜆 뜇 뜈 뜉 뜊 뜋 뜌 뜍 뜎 뜏 뜐 뜑 뜒 뜓 뜔 뜕 뜖 뜗 뜘 뜙 뜚 뜛 뜜 뜝 뜞 뜟 뜠 뜡 뜢 뜣 뜤 뜥 뜦 뜧 뜨 뜩 뜪 뜫 뜬 뜭 뜮 뜯 뜰 뜱 뜲 뜳 뜴 뜵 뜶 뜷 뜸 뜹 뜺 뜻 뜼 뜽 뜾 뜿 띀 띁 띂 띃 띄 띅 띆 띇 띈 띉 띊 띋 띌 띍 띎 띏 띐 띑 띒 띓 띔 띕 띖 띗 띘 띙 띚 띛 띜 띝 띞 띟 띠 띡 띢 띣 띤 띥 띦 띧 띨 띩 띪 띫 띬 띭 띮 띯 띰 띱 띲 띳 띴 띵 띶 띷 띸 띹 띺 띻 라 락 띾 띿 란 랁 랂 랃 랄 랅 랆 랇 랈 랉 랊 랋 람 랍 랎 랏 랐 랑 랒 랓 랔 랕 랖 랗 래 랙 랚 랛 랜 랝 랞 랟 랠 랡 랢 랣 랤 랥 랦 랧 램 랩 랪 랫 랬 랭 랮 랯 랰 랱 랲 랳 랴 략 랶 랷 랸 랹 랺 랻 랼 랽 랾 랿 럀 럁 럂 럃 럄 럅 럆 럇 럈 량 럊 럋 럌 럍 럎 럏 럐 럑 럒 럓 럔 럕 럖 럗 럘 럙 럚 럛 럜 럝 럞 럟 럠 럡 럢 럣 럤 럥 럦 럧 럨 럩 럪 럫 러 럭 럮 럯 런 럱 럲 럳 럴 럵 럶 럷 럸 럹 럺 럻 럼 럽 럾 럿 렀 렁 렂 렃 렄 렅 렆 렇 레 렉 렊 렋 렌 렍 렎 렏 렐 렑 렒 렓 렔 렕 렖 렗 렘 렙 렚 렛 렜 렝 렞 렟 렠 렡 렢 렣 려 력 렦 렧 련 렩 렪 렫 렬 렭 렮 렯 렰 렱 렲 렳 렴 렵 렶 렷 렸 령 렺 렻 렼 렽 렾 렿 례 롁 롂 롃 롄 롅 롆 롇 롈 롉 롊 롋 롌 롍 롎 롏 롐 롑 롒 롓 롔 롕 롖 롗 롘 롙 롚 롛 로 록 롞 롟 론 롡 롢 롣 롤 롥 롦 롧 롨 롩 롪 롫 롬 롭 롮 롯 롰 롱 롲 롳 롴 롵 롶 롷 롸 롹 롺 롻 롼 롽 롾 롿 뢀 뢁 뢂 뢃 뢄 뢅 뢆 뢇 뢈 뢉 뢊 뢋 뢌 뢍 뢎 뢏 뢐 뢑 뢒 뢓 뢔 뢕 뢖 뢗 뢘 뢙 뢚 뢛 뢜 뢝 뢞 뢟 뢠 뢡 뢢 뢣 뢤 뢥 뢦 뢧 뢨 뢩 뢪 뢫 뢬 뢭 뢮 뢯 뢰 뢱 뢲 뢳 뢴 뢵 뢶 뢷 뢸 뢹 뢺 뢻 뢼 뢽 뢾 뢿 룀 룁 룂 룃 룄 룅 룆 룇 룈 룉 룊 룋 료 룍 룎 룏 룐 룑 룒 룓 룔 룕 룖 룗 룘 룙 룚 룛 룜 룝 룞 룟 룠 룡 룢 룣 룤 룥 룦 룧 루 룩 룪 룫 룬 룭 룮 룯 룰 룱 룲 룳 룴 룵 룶 룷 룸 룹 룺 룻 룼 룽 룾 룿 뤀 뤁 뤂 뤃 뤄 뤅 뤆 뤇 뤈 뤉 뤊 뤋 뤌 뤍 뤎 뤏 뤐 뤑 뤒 뤓 뤔 뤕 뤖 뤗 뤘 뤙 뤚 뤛 뤜 뤝 뤞 뤟 뤠 뤡 뤢 뤣 뤤 뤥 뤦 뤧 뤨 뤩 뤪 뤫 뤬 뤭 뤮 뤯 뤰 뤱 뤲 뤳 뤴 뤵 뤶 뤷 뤸 뤹 뤺 뤻 뤼 뤽 뤾 뤿 륀 륁 륂 륃 륄 륅 륆 륇 륈 륉 륊 륋 륌 륍 륎 륏 륐 륑 륒 륓 륔 륕 륖 륗 류 륙 륚 륛 륜 륝 륞 륟 률 륡 륢 륣 륤 륥 륦 륧 륨 륩 륪 륫 륬 륭 륮 륯 륰 륱 륲 륳 르 륵 륶 륷 른 륹 륺 륻 를 륽 륾 륿 릀 릁 릂 릃 름 릅 릆 릇 릈 릉 릊 릋 릌 릍 릎 릏 릐 릑 릒 릓 릔 릕 릖 릗 릘 릙 릚 릛 릜 릝 릞 릟 릠 릡 릢 릣 릤 릥 릦 릧 릨 릩 릪 릫 리 릭 릮 릯 린 릱 릲 릳 릴 릵 릶 릷 릸 릹 릺 릻 림 립 릾 릿 맀 링 맂 맃 맄 맅 맆 맇 마 막 맊 맋 만 맍 많 맏 말 맑 맒 맓 맔 맕 맖 맗 맘 맙 맚 맛 맜 망 맞 맟 맠 맡 맢 맣 매 맥 맦 맧 맨 맩 맪 맫 맬 맭 맮 맯 맰 맱 맲 맳 맴 맵 맶 맷 맸 맹 맺 맻 맼 맽 맾 맿 먀 먁 먂 먃 먄 먅 먆 먇 먈 먉 먊 먋 먌 먍 먎 먏 먐 먑 먒 먓 먔 먕 먖 먗 먘 먙 먚 먛 먜 먝 먞 먟 먠 먡 먢 먣 먤 먥 먦 먧 먨 먩 먪 먫 먬 먭 먮 먯 먰 먱 먲 먳 먴 먵 먶 먷 머 먹 먺 먻 먼 먽 먾 먿 멀 멁 멂 멃 멄 멅 멆 멇 멈 멉 멊 멋 멌 멍 멎 멏 멐 멑 멒 멓 메 멕 멖 멗 멘 멙 멚 멛 멜 멝 멞 멟 멠 멡 멢 멣 멤 멥 멦 멧 멨 멩 멪 멫 멬 멭 멮 멯 며 멱 멲 멳 면 멵 멶 멷 멸 멹 멺 멻 멼 멽 멾 멿 몀 몁 몂 몃 몄 명 몆 몇 몈 몉 몊 몋 몌 몍 몎 몏 몐 몑 몒 몓 몔 몕 몖 몗 몘 몙 몚 몛 몜 몝 몞 몟 몠 몡 몢 몣 몤 몥 몦 몧 모 목 몪 몫 몬 몭 몮 몯 몰 몱 몲 몳 몴 몵 몶 몷 몸 몹 몺 못 몼 몽 몾 몿 뫀 뫁 뫂 뫃 뫄 뫅 뫆 뫇 뫈 뫉 뫊 뫋 뫌 뫍 뫎 뫏 뫐 뫑 뫒 뫓 뫔 뫕 뫖 뫗 뫘 뫙 뫚 뫛 뫜 뫝 뫞 뫟 뫠 뫡 뫢 뫣 뫤 뫥 뫦 뫧 뫨 뫩 뫪 뫫 뫬 뫭 뫮 뫯 뫰 뫱 뫲 뫳 뫴 뫵 뫶 뫷 뫸 뫹 뫺 뫻 뫼 뫽 뫾 뫿 묀 묁 묂 묃 묄 묅 묆 묇 묈 묉 묊 묋 묌 묍 묎 묏 묐 묑 묒 묓 묔 묕 묖 묗 묘 묙 묚 묛 묜 묝 묞 묟 묠 묡 묢 묣 묤 묥 묦 묧 묨 묩 묪 묫 묬 묭 묮 묯 묰 묱 묲 묳 무 묵 묶 묷 문 묹 묺 묻 물 묽 묾 묿 뭀 뭁 뭂 뭃 뭄 뭅 뭆 뭇 뭈 뭉 뭊 뭋 뭌 뭍 뭎 뭏 뭐 뭑 뭒 뭓 뭔 뭕 뭖 뭗 뭘 뭙 뭚 뭛 뭜 뭝 뭞 뭟 뭠 뭡 뭢 뭣 뭤 뭥 뭦 뭧 뭨 뭩 뭪 뭫 뭬 뭭 뭮 뭯 뭰 뭱 뭲 뭳 뭴 뭵 뭶 뭷 뭸 뭹 뭺 뭻 뭼 뭽 뭾 뭿 뮀 뮁 뮂 뮃 뮄 뮅 뮆 뮇 뮈 뮉 뮊 뮋 뮌 뮍 뮎 뮏 뮐 뮑 뮒 뮓 뮔 뮕 뮖 뮗 뮘 뮙 뮚 뮛 뮜 뮝 뮞 뮟 뮠 뮡 뮢 뮣 뮤 뮥 뮦 뮧 뮨 뮩 뮪 뮫 뮬 뮭 뮮 뮯 뮰 뮱 뮲 뮳 뮴 뮵 뮶 뮷 뮸 뮹 뮺 뮻 뮼 뮽 뮾 뮿 므 믁 믂 믃 믄 믅 믆 믇 믈 믉 믊 믋 믌 믍 믎 믏 믐 믑 믒 믓 믔 믕 믖 믗 믘 믙 믚 믛 믜 믝 믞 믟 믠 믡 믢 믣 믤 믥 믦 믧 믨 믩 믪 믫 믬 믭 믮 믯 믰 믱 믲 믳 믴 믵 믶 믷 미 믹 믺 믻 민 믽 믾 믿 밀 밁 밂 밃 밄 밅 밆 밇 밈 밉 밊 밋 밌 밍 밎 및 밐 밑 밒 밓 바 박 밖 밗 반 밙 밚 받 발 밝 밞 밟 밠 밡 밢 밣 밤 밥 밦 밧 밨 방 밪 밫 밬 밭 밮 밯 배 백 밲 밳 밴 밵 밶 밷 밸 밹 밺 밻 밼 밽 밾 밿 뱀 뱁 뱂 뱃 뱄 뱅 뱆 뱇 뱈 뱉 뱊 뱋 뱌 뱍 뱎 뱏 뱐 뱑 뱒 뱓 뱔 뱕 뱖 뱗 뱘 뱙 뱚 뱛 뱜 뱝 뱞 뱟 뱠 뱡 뱢 뱣 뱤 뱥 뱦 뱧 뱨 뱩 뱪 뱫 뱬 뱭 뱮 뱯 뱰 뱱 뱲 뱳 뱴 뱵 뱶 뱷 뱸 뱹 뱺 뱻 뱼 뱽 뱾 뱿 벀 벁 벂 벃 버 벅 벆 벇 번 벉 벊 벋 벌 벍 벎 벏 벐 벑 벒 벓 범 법 벖 벗 벘 벙 벚 벛 벜 벝 벞 벟 베 벡 벢 벣 벤 벥 벦 벧 벨 벩 벪 벫 벬 벭 벮 벯 벰 벱 벲 벳 벴 벵 벶 벷 벸 벹 벺 벻 벼 벽 벾 벿 변 볁 볂 볃 별 볅 볆 볇 볈 볉 볊 볋 볌 볍 볎 볏 볐 병 볒 볓 볔 볕 볖 볗 볘 볙 볚 볛 볜 볝 볞 볟 볠 볡 볢 볣 볤 볥 볦 볧 볨 볩 볪 볫 볬 볭 볮 볯 볰 볱 볲 볳 보 복 볶 볷 본 볹 볺 볻 볼 볽 볾 볿 봀 봁 봂 봃 봄 봅 봆 봇 봈 봉 봊 봋 봌 봍 봎 봏 봐 봑 봒 봓 봔 봕 봖 봗 봘 봙 봚 봛 봜 봝 봞 봟 봠 봡 봢 봣 봤 봥 봦 봧 봨 봩 봪 봫 봬 봭 봮 봯 봰 봱 봲 봳 봴 봵 봶 봷 봸 봹 봺 봻 봼 봽 봾 봿 뵀 뵁 뵂 뵃 뵄 뵅 뵆 뵇 뵈 뵉 뵊 뵋 뵌 뵍 뵎 뵏 뵐 뵑 뵒 뵓 뵔 뵕 뵖 뵗 뵘 뵙 뵚 뵛 뵜 뵝 뵞 뵟 뵠 뵡 뵢 뵣 뵤 뵥 뵦 뵧 뵨 뵩 뵪 뵫 뵬 뵭 뵮 뵯 뵰 뵱 뵲 뵳 뵴 뵵 뵶 뵷 뵸 뵹 뵺 뵻 뵼 뵽 뵾 뵿 부 북 붂 붃 분 붅 붆 붇 불 붉 붊 붋 붌 붍 붎 붏 붐 붑 붒 붓 붔 붕 붖 붗 붘 붙 붚 붛 붜 붝 붞 붟 붠 붡 붢 붣 붤 붥 붦 붧 붨 붩 붪 붫 붬 붭 붮 붯 붰 붱 붲 붳 붴 붵 붶 붷 붸 붹 붺 붻 붼 붽 붾 붿 뷀 뷁 뷂 뷃 뷄 뷅 뷆 뷇 뷈 뷉 뷊 뷋 뷌 뷍 뷎 뷏 뷐 뷑 뷒 뷓 뷔 뷕 뷖 뷗 뷘 뷙 뷚 뷛 뷜 뷝 뷞 뷟 뷠 뷡 뷢 뷣 뷤 뷥 뷦 뷧 뷨 뷩 뷪 뷫 뷬 뷭 뷮 뷯 뷰 뷱 뷲 뷳 뷴 뷵 뷶 뷷 뷸 뷹 뷺 뷻 뷼 뷽 뷾 뷿 븀 븁 븂 븃 븄 븅 븆 븇 븈 븉 븊 븋 브 븍 븎 븏 븐 븑 븒 븓 블 븕 븖 븗 븘 븙 븚 븛 븜 븝 븞 븟 븠 븡 븢 븣 븤 븥 븦 븧 븨 븩 븪 븫 븬 븭 븮 븯 븰 븱 븲 븳 븴 븵 븶 븷 븸 븹 븺 븻 븼 븽 븾 븿 빀 빁 빂 빃 비 빅 빆 빇 빈 빉 빊 빋 빌 빍 빎 빏 빐 빑 빒 빓 빔 빕 빖 빗 빘 빙 빚 빛 빜 빝 빞 빟 빠 빡 빢 빣 빤 빥 빦 빧 빨 빩 빪 빫 빬 빭 빮 빯 빰 빱 빲 빳 빴 빵 빶 빷 빸 빹 빺 빻 빼 빽 빾 빿 뺀 뺁 뺂 뺃 뺄 뺅 뺆 뺇 뺈 뺉 뺊 뺋 뺌 뺍 뺎 뺏 뺐 뺑 뺒 뺓 뺔 뺕 뺖 뺗 뺘 뺙 뺚 뺛 뺜 뺝 뺞 뺟 뺠 뺡 뺢 뺣 뺤 뺥 뺦 뺧 뺨 뺩 뺪 뺫 뺬 뺭 뺮 뺯 뺰 뺱 뺲 뺳 뺴 뺵 뺶 뺷 뺸 뺹 뺺 뺻 뺼 뺽 뺾 뺿 뻀 뻁 뻂 뻃 뻄 뻅 뻆 뻇 뻈 뻉 뻊 뻋 뻌 뻍 뻎 뻏 뻐 뻑 뻒 뻓 뻔 뻕 뻖 뻗 뻘 뻙 뻚 뻛 뻜 뻝 뻞 뻟 뻠 뻡 뻢 뻣 뻤 뻥 뻦 뻧 뻨 뻩 뻪 뻫 뻬 뻭 뻮 뻯 뻰 뻱 뻲 뻳 뻴 뻵 뻶 뻷 뻸 뻹 뻺 뻻 뻼 뻽 뻾 뻿 뼀 뼁 뼂 뼃 뼄 뼅 뼆 뼇 뼈 뼉 뼊 뼋 뼌 뼍 뼎 뼏 뼐 뼑 뼒 뼓 뼔 뼕 뼖 뼗 뼘 뼙 뼚 뼛 뼜 뼝 뼞 뼟 뼠 뼡 뼢 뼣 뼤 뼥 뼦 뼧 뼨 뼩 뼪 뼫 뼬 뼭 뼮 뼯 뼰 뼱 뼲 뼳 뼴 뼵 뼶 뼷 뼸 뼹 뼺 뼻 뼼 뼽 뼾 뼿 뽀 뽁 뽂 뽃 뽄 뽅 뽆 뽇 뽈 뽉 뽊 뽋 뽌 뽍 뽎 뽏 뽐 뽑 뽒 뽓 뽔 뽕 뽖 뽗 뽘 뽙 뽚 뽛 뽜 뽝 뽞 뽟 뽠 뽡 뽢 뽣 뽤 뽥 뽦 뽧 뽨 뽩 뽪 뽫 뽬 뽭 뽮 뽯 뽰 뽱 뽲 뽳 뽴 뽵 뽶 뽷 뽸 뽹 뽺 뽻 뽼 뽽 뽾 뽿 뾀 뾁 뾂 뾃 뾄 뾅 뾆 뾇 뾈 뾉 뾊 뾋 뾌 뾍 뾎 뾏 뾐 뾑 뾒 뾓 뾔 뾕 뾖 뾗 뾘 뾙 뾚 뾛 뾜 뾝 뾞 뾟 뾠 뾡 뾢 뾣 뾤 뾥 뾦 뾧 뾨 뾩 뾪 뾫 뾬 뾭 뾮 뾯 뾰 뾱 뾲 뾳 뾴 뾵 뾶 뾷 뾸 뾹 뾺 뾻 뾼 뾽 뾾 뾿 뿀 뿁 뿂 뿃 뿄 뿅 뿆 뿇 뿈 뿉 뿊 뿋 뿌 뿍 뿎 뿏 뿐 뿑 뿒 뿓 뿔 뿕 뿖 뿗 뿘 뿙 뿚 뿛 뿜 뿝 뿞 뿟 뿠 뿡 뿢 뿣 뿤 뿥 뿦 뿧 뿨 뿩 뿪 뿫 뿬 뿭 뿮 뿯 뿰 뿱 뿲 뿳 뿴 뿵 뿶 뿷 뿸 뿹 뿺 뿻 뿼 뿽 뿾 뿿 쀀 쀁 쀂 쀃 쀄 쀅 쀆 쀇 쀈 쀉 쀊 쀋 쀌 쀍 쀎 쀏 쀐 쀑 쀒 쀓 쀔 쀕 쀖 쀗 쀘 쀙 쀚 쀛 쀜 쀝 쀞 쀟 쀠 쀡 쀢 쀣 쀤 쀥 쀦 쀧 쀨 쀩 쀪 쀫 쀬 쀭 쀮 쀯 쀰 쀱 쀲 쀳 쀴 쀵 쀶 쀷 쀸 쀹 쀺 쀻 쀼 쀽 쀾 쀿 쁀 쁁 쁂 쁃 쁄 쁅 쁆 쁇 쁈 쁉 쁊 쁋 쁌 쁍 쁎 쁏 쁐 쁑 쁒 쁓 쁔 쁕 쁖 쁗 쁘 쁙 쁚 쁛 쁜 쁝 쁞 쁟 쁠 쁡 쁢 쁣 쁤 쁥 쁦 쁧 쁨 쁩 쁪 쁫 쁬 쁭 쁮 쁯 쁰 쁱 쁲 쁳 쁴 쁵 쁶 쁷 쁸 쁹 쁺 쁻 쁼 쁽 쁾 쁿 삀 삁 삂 삃 삄 삅 삆 삇 삈 삉 삊 삋 삌 삍 삎 삏 삐 삑 삒 삓 삔 삕 삖 삗 삘 삙 삚 삛 삜 삝 삞 삟 삠 삡 삢 삣 삤 삥 삦 삧 삨 삩 삪 삫 사 삭 삮 삯 산 삱 삲 삳 살 삵 삶 삷 삸 삹 삺 삻 삼 삽 삾 삿 샀 상 샂 샃 샄 샅 샆 샇 새 색 샊 샋 샌 샍 샎 샏 샐 샑 샒 샓 샔 샕 샖 샗 샘 샙 샚 샛 샜 생 샞 샟 샠 샡 샢 샣 샤 샥 샦 샧 샨 샩 샪 샫 샬 샭 샮 샯 샰 샱 샲 샳 샴 샵 샶 샷 샸 샹 샺 샻 샼 샽 샾 샿 섀 섁 섂 섃 섄 섅 섆 섇 섈 섉 섊 섋 섌 섍 섎 섏 섐 섑 섒 섓 섔 섕 섖 섗 섘 섙 섚 섛 서 석 섞 섟 선 섡 섢 섣 설 섥 섦 섧 섨 섩 섪 섫 섬 섭 섮 섯 섰 성 섲 섳 섴 섵 섶 섷 세 섹 섺 섻 센 섽 섾 섿 셀 셁 셂 셃 셄 셅 셆 셇 셈 셉 셊 셋 셌 셍 셎 셏 셐 셑 셒 셓 셔 셕 셖 셗 션 셙 셚 셛 셜 셝 셞 셟 셠 셡 셢 셣 셤 셥 셦 셧 셨 셩 셪 셫 셬 셭 셮 셯 셰 셱 셲 셳 셴 셵 셶 셷 셸 셹 셺 셻 셼 셽 셾 셿 솀 솁 솂 솃 솄 솅 솆 솇 솈 솉 솊 솋 소 속 솎 솏 손 솑 솒 솓 솔 솕 솖 솗 솘 솙 솚 솛 솜 솝 솞 솟 솠 송 솢 솣 솤 솥 솦 솧 솨 솩 솪 솫 솬 솭 솮 솯 솰 솱 솲 솳 솴 솵 솶 솷 솸 솹 솺 솻 솼 솽 솾 솿 쇀 쇁 쇂 쇃 쇄 쇅 쇆 쇇 쇈 쇉 쇊 쇋 쇌 쇍 쇎 쇏 쇐 쇑 쇒 쇓 쇔 쇕 쇖 쇗 쇘 쇙 쇚 쇛 쇜 쇝 쇞 쇟 쇠 쇡 쇢 쇣 쇤 쇥 쇦 쇧 쇨 쇩 쇪 쇫 쇬 쇭 쇮 쇯 쇰 쇱 쇲 쇳 쇴 쇵 쇶 쇷 쇸 쇹 쇺 쇻 쇼 쇽 쇾 쇿 숀 숁 숂 숃 숄 숅 숆 숇 숈 숉 숊 숋 숌 숍 숎 숏 숐 숑 숒 숓 숔 숕 숖 숗 수 숙 숚 숛 순 숝 숞 숟 술 숡 숢 숣 숤 숥 숦 숧 숨 숩 숪 숫 숬 숭 숮 숯 숰 숱 숲 숳 숴 숵 숶 숷 숸 숹 숺 숻 숼 숽 숾 숿 쉀 쉁 쉂 쉃 쉄 쉅 쉆 쉇 쉈 쉉 쉊 쉋 쉌 쉍 쉎 쉏 쉐 쉑 쉒 쉓 쉔 쉕 쉖 쉗 쉘 쉙 쉚 쉛 쉜 쉝 쉞 쉟 쉠 쉡 쉢 쉣 쉤 쉥 쉦 쉧 쉨 쉩 쉪 쉫 쉬 쉭 쉮 쉯 쉰 쉱 쉲 쉳 쉴 쉵 쉶 쉷 쉸 쉹 쉺 쉻 쉼 쉽 쉾 쉿 슀 슁 슂 슃 슄 슅 슆 슇 슈 슉 슊 슋 슌 슍 슎 슏 슐 슑 슒 슓 슔 슕 슖 슗 슘 슙 슚 슛 슜 슝 슞 슟 슠 슡 슢 슣 스 슥 슦 슧 슨 슩 슪 슫 슬 슭 슮 슯 슰 슱 슲 슳 슴 습 슶 슷 슸 승 슺 슻 슼 슽 슾 슿 싀 싁 싂 싃 싄 싅 싆 싇 싈 싉 싊 싋 싌 싍 싎 싏 싐 싑 싒 싓 싔 싕 싖 싗 싘 싙 싚 싛 시 식 싞 싟 신 싡 싢 싣 실 싥 싦 싧 싨 싩 싪 싫 심 십 싮 싯 싰 싱 싲 싳 싴 싵 싶 싷 싸 싹 싺 싻 싼 싽 싾 싿 쌀 쌁 쌂 쌃 쌄 쌅 쌆 쌇 쌈 쌉 쌊 쌋 쌌 쌍 쌎 쌏 쌐 쌑 쌒 쌓 쌔 쌕 쌖 쌗 쌘 쌙 쌚 쌛 쌜 쌝 쌞 쌟 쌠 쌡 쌢 쌣 쌤 쌥 쌦 쌧 쌨 쌩 쌪 쌫 쌬 쌭 쌮 쌯 쌰 쌱 쌲 쌳 쌴 쌵 쌶 쌷 쌸 쌹 쌺 쌻 쌼 쌽 쌾 쌿 썀 썁 썂 썃 썄 썅 썆 썇 썈 썉 썊 썋 썌 썍 썎 썏 썐 썑 썒 썓 썔 썕 썖 썗 썘 썙 썚 썛 썜 썝 썞 썟 썠 썡 썢 썣 썤 썥 썦 썧 써 썩 썪 썫 썬 썭 썮 썯 썰 썱 썲 썳 썴 썵 썶 썷 썸 썹 썺 썻 썼 썽 썾 썿 쎀 쎁 쎂 쎃 쎄 쎅 쎆 쎇 쎈 쎉 쎊 쎋 쎌 쎍 쎎 쎏 쎐 쎑 쎒 쎓 쎔 쎕 쎖 쎗 쎘 쎙 쎚 쎛 쎜 쎝 쎞 쎟 쎠 쎡 쎢 쎣 쎤 쎥 쎦 쎧 쎨 쎩 쎪 쎫 쎬 쎭 쎮 쎯 쎰 쎱 쎲 쎳 쎴 쎵 쎶 쎷 쎸 쎹 쎺 쎻 쎼 쎽 쎾 쎿 쏀 쏁 쏂 쏃 쏄 쏅 쏆 쏇 쏈 쏉 쏊 쏋 쏌 쏍 쏎 쏏 쏐 쏑 쏒 쏓 쏔 쏕 쏖 쏗 쏘 쏙 쏚 쏛 쏜 쏝 쏞 쏟 쏠 쏡 쏢 쏣 쏤 쏥 쏦 쏧 쏨 쏩 쏪 쏫 쏬 쏭 쏮 쏯 쏰 쏱 쏲 쏳 쏴 쏵 쏶 쏷 쏸 쏹 쏺 쏻 쏼 쏽 쏾 쏿 쐀 쐁 쐂 쐃 쐄 쐅 쐆 쐇 쐈 쐉 쐊 쐋 쐌 쐍 쐎 쐏 쐐 쐑 쐒 쐓 쐔 쐕 쐖 쐗 쐘 쐙 쐚 쐛 쐜 쐝 쐞 쐟 쐠 쐡 쐢 쐣 쐤 쐥 쐦 쐧 쐨 쐩 쐪 쐫 쐬 쐭 쐮 쐯 쐰 쐱 쐲 쐳 쐴 쐵 쐶 쐷 쐸 쐹 쐺 쐻 쐼 쐽 쐾 쐿 쑀 쑁 쑂 쑃 쑄 쑅 쑆 쑇 쑈 쑉 쑊 쑋 쑌 쑍 쑎 쑏 쑐 쑑 쑒 쑓 쑔 쑕 쑖 쑗 쑘 쑙 쑚 쑛 쑜 쑝 쑞 쑟 쑠 쑡 쑢 쑣 쑤 쑥 쑦 쑧 쑨 쑩 쑪 쑫 쑬 쑭 쑮 쑯 쑰 쑱 쑲 쑳 쑴 쑵 쑶 쑷 쑸 쑹 쑺 쑻 쑼 쑽 쑾 쑿 쒀 쒁 쒂 쒃 쒄 쒅 쒆 쒇 쒈 쒉 쒊 쒋 쒌 쒍 쒎 쒏 쒐 쒑 쒒 쒓 쒔 쒕 쒖 쒗 쒘 쒙 쒚 쒛 쒜 쒝 쒞 쒟 쒠 쒡 쒢 쒣 쒤 쒥 쒦 쒧 쒨 쒩 쒪 쒫 쒬 쒭 쒮 쒯 쒰 쒱 쒲 쒳 쒴 쒵 쒶 쒷 쒸 쒹 쒺 쒻 쒼 쒽 쒾 쒿 쓀 쓁 쓂 쓃 쓄 쓅 쓆 쓇 쓈 쓉 쓊 쓋 쓌 쓍 쓎 쓏 쓐 쓑 쓒 쓓 쓔 쓕 쓖 쓗 쓘 쓙 쓚 쓛 쓜 쓝 쓞 쓟 쓠 쓡 쓢 쓣 쓤 쓥 쓦 쓧 쓨 쓩 쓪 쓫 쓬 쓭 쓮 쓯 쓰 쓱 쓲 쓳 쓴 쓵 쓶 쓷 쓸 쓹 쓺 쓻 쓼 쓽 쓾 쓿 씀 씁 씂 씃 씄 씅 씆 씇 씈 씉 씊 씋 씌 씍 씎 씏 씐 씑 씒 씓 씔 씕 씖 씗 씘 씙 씚 씛 씜 씝 씞 씟 씠 씡 씢 씣 씤 씥 씦 씧 씨 씩 씪 씫 씬 씭 씮 씯 씰 씱 씲 씳 씴 씵 씶 씷 씸 씹 씺 씻 씼 씽 씾 씿 앀 앁 앂 앃 아 악 앆 앇 안 앉 않 앋 알 앍 앎 앏 앐 앑 앒 앓 암 압 앖 앗 았 앙 앚 앛 앜 앝 앞 앟 애 액 앢 앣 앤 앥 앦 앧 앨 앩 앪 앫 앬 앭 앮 앯 앰 앱 앲 앳 앴 앵 앶 앷 앸 앹 앺 앻 야 약 앾 앿 얀 얁 얂 얃 얄 얅 얆 얇 얈 얉 얊 얋 얌 얍 얎 얏 얐 양 얒 얓 얔 얕 얖 얗 얘 얙 얚 얛 얜 얝 얞 얟 얠 얡 얢 얣 얤 얥 얦 얧 얨 얩 얪 얫 얬 얭 얮 얯 얰 얱 얲 얳 어 억 얶 얷 언 얹 얺 얻 얼 얽 얾 얿 엀 엁 엂 엃 엄 업 없 엇 었 엉 엊 엋 엌 엍 엎 엏 에 엑 엒 엓 엔 엕 엖 엗 엘 엙 엚 엛 엜 엝 엞 엟 엠 엡 엢 엣 엤 엥 엦 엧 엨 엩 엪 엫 여 역 엮 엯 연 엱 엲 엳 열 엵 엶 엷 엸 엹 엺 엻 염 엽 엾 엿 였 영 옂 옃 옄 옅 옆 옇 예 옉 옊 옋 옌 옍 옎 옏 옐 옑 옒 옓 옔 옕 옖 옗 옘 옙 옚 옛 옜 옝 옞 옟 옠 옡 옢 옣 오 옥 옦 옧 온 옩 옪 옫 올 옭 옮 옯 옰 옱 옲 옳 옴 옵 옶 옷 옸 옹 옺 옻 옼 옽 옾 옿 와 왁 왂 왃 완 왅 왆 왇 왈 왉 왊 왋 왌 왍 왎 왏 왐 왑 왒 왓 왔 왕 왖 왗 왘 왙 왚 왛 왜 왝 왞 왟 왠 왡 왢 왣 왤 왥 왦 왧 왨 왩 왪 왫 왬 왭 왮 왯 왰 왱 왲 왳 왴 왵 왶 왷 외 왹 왺 왻 왼 왽 왾 왿 욀 욁 욂 욃 욄 욅 욆 욇 욈 욉 욊 욋 욌 욍 욎 욏 욐 욑 욒 욓 요 욕 욖 욗 욘 욙 욚 욛 욜 욝 욞 욟 욠 욡 욢 욣 욤 욥 욦 욧 욨 용 욪 욫 욬 욭 욮 욯 우 욱 욲 욳 운 욵 욶 욷 울 욹 욺 욻 욼 욽 욾 욿 움 웁 웂 웃 웄 웅 웆 웇 웈 웉 웊 웋 워 웍 웎 웏 원 웑 웒 웓 월 웕 웖 웗 웘 웙 웚 웛 웜 웝 웞 웟 웠 웡 웢 웣 웤 웥 웦 웧 웨 웩 웪 웫 웬 웭 웮 웯 웰 웱 웲 웳 웴 웵 웶 웷 웸 웹 웺 웻 웼 웽 웾 웿 윀 윁 윂 윃 위 윅 윆 윇 윈 윉 윊 윋 윌 윍 윎 윏 윐 윑 윒 윓 윔 윕 윖 윗 윘 윙 윚 윛 윜 윝 윞 윟 유 육 윢 윣 윤 윥 윦 윧 율 윩 윪 윫 윬 윭 윮 윯 윰 윱 윲 윳 윴 융 윶 윷 윸 윹 윺 윻 으 윽 윾 윿 은 읁 읂 읃 을 읅 읆 읇 읈 읉 읊 읋 음 읍 읎 읏 읐 응 읒 읓 읔 읕 읖 읗 의 읙 읚 읛 읜 읝 읞 읟 읠 읡 읢 읣 읤 읥 읦 읧 읨 읩 읪 읫 읬 읭 읮 읯 읰 읱 읲 읳 이 익 읶 읷 인 읹 읺 읻 일 읽 읾 읿 잀 잁 잂 잃 임 입 잆 잇 있 잉 잊 잋 잌 잍 잎 잏 자 작 잒 잓 잔 잕 잖 잗 잘 잙 잚 잛 잜 잝 잞 잟 잠 잡 잢 잣 잤 장 잦 잧 잨 잩 잪 잫 재 잭 잮 잯 잰 잱 잲 잳 잴 잵 잶 잷 잸 잹 잺 잻 잼 잽 잾 잿 쟀 쟁 쟂 쟃 쟄 쟅 쟆 쟇 쟈 쟉 쟊 쟋 쟌 쟍 쟎 쟏 쟐 쟑 쟒 쟓 쟔 쟕 쟖 쟗 쟘 쟙 쟚 쟛 쟜 쟝 쟞 쟟 쟠 쟡 쟢 쟣 쟤 쟥 쟦 쟧 쟨 쟩 쟪 쟫 쟬 쟭 쟮 쟯 쟰 쟱 쟲 쟳 쟴 쟵 쟶 쟷 쟸 쟹 쟺 쟻 쟼 쟽 쟾 쟿 저 적 젂 젃 전 젅 젆 젇 절 젉 젊 젋 젌 젍 젎 젏 점 접 젒 젓 젔 정 젖 젗 젘 젙 젚 젛 제 젝 젞 젟 젠 젡 젢 젣 젤 젥 젦 젧 젨 젩 젪 젫 젬 젭 젮 젯 젰 젱 젲 젳 젴 젵 젶 젷 져 젹 젺 젻 젼 젽 젾 젿 졀 졁 졂 졃 졄 졅 졆 졇 졈 졉 졊 졋 졌 졍 졎 졏 졐 졑 졒 졓 졔 졕 졖 졗 졘 졙 졚 졛 졜 졝 졞 졟 졠 졡 졢 졣 졤 졥 졦 졧 졨 졩 졪 졫 졬 졭 졮 졯 조 족 졲 졳 존 졵 졶 졷 졸 졹 졺 졻 졼 졽 졾 졿 좀 좁 좂 좃 좄 종 좆 좇 좈 좉 좊 좋 좌 좍 좎 좏 좐 좑 좒 좓 좔 좕 좖 좗 좘 좙 좚 좛 좜 좝 좞 좟 좠 좡 좢 좣 좤 좥 좦 좧 좨 좩 좪 좫 좬 좭 좮 좯 좰 좱 좲 좳 좴 좵 좶 좷 좸 좹 좺 좻 좼 좽 좾 좿 죀 죁 죂 죃 죄 죅 죆 죇 죈 죉 죊 죋 죌 죍 죎 죏 죐 죑 죒 죓 죔 죕 죖 죗 죘 죙 죚 죛 죜 죝 죞 죟 죠 죡 죢 죣 죤 죥 죦 죧 죨 죩 죪 죫 죬 죭 죮 죯 죰 죱 죲 죳 죴 죵 죶 죷 죸 죹 죺 죻 주 죽 죾 죿 준 줁 줂 줃 줄 줅 줆 줇 줈 줉 줊 줋 줌 줍 줎 줏 줐 중 줒 줓 줔 줕 줖 줗 줘 줙 줚 줛 줜 줝 줞 줟 줠 줡 줢 줣 줤 줥 줦 줧 줨 줩 줪 줫 줬 줭 줮 줯 줰 줱 줲 줳 줴 줵 줶 줷 줸 줹 줺 줻 줼 줽 줾 줿 쥀 쥁 쥂 쥃 쥄 쥅 쥆 쥇 쥈 쥉 쥊 쥋 쥌 쥍 쥎 쥏 쥐 쥑 쥒 쥓 쥔 쥕 쥖 쥗 쥘 쥙 쥚 쥛 쥜 쥝 쥞 쥟 쥠 쥡 쥢 쥣 쥤 쥥 쥦 쥧 쥨 쥩 쥪 쥫 쥬 쥭 쥮 쥯 쥰 쥱 쥲 쥳 쥴 쥵 쥶 쥷 쥸 쥹 쥺 쥻 쥼 쥽 쥾 쥿 즀 즁 즂 즃 즄 즅 즆 즇 즈 즉 즊 즋 즌 즍 즎 즏 즐 즑 즒 즓 즔 즕 즖 즗 즘 즙 즚 즛 즜 증 즞 즟 즠 즡 즢 즣 즤 즥 즦 즧 즨 즩 즪 즫 즬 즭 즮 즯 즰 즱 즲 즳 즴 즵 즶 즷 즸 즹 즺 즻 즼 즽 즾 즿 지 직 짂 짃 진 짅 짆 짇 질 짉 짊 짋 짌 짍 짎 짏 짐 집 짒 짓 짔 징 짖 짗 짘 짙 짚 짛 짜 짝 짞 짟 짠 짡 짢 짣 짤 짥 짦 짧 짨 짩 짪 짫 짬 짭 짮 짯 짰 짱 짲 짳 짴 짵 짶 짷 째 짹 짺 짻 짼 짽 짾 짿 쨀 쨁 쨂 쨃 쨄 쨅 쨆 쨇 쨈 쨉 쨊 쨋 쨌 쨍 쨎 쨏 쨐 쨑 쨒 쨓 쨔 쨕 쨖 쨗 쨘 쨙 쨚 쨛 쨜 쨝 쨞 쨟 쨠 쨡 쨢 쨣 쨤 쨥 쨦 쨧 쨨 쨩 쨪 쨫 쨬 쨭 쨮 쨯 쨰 쨱 쨲 쨳 쨴 쨵 쨶 쨷 쨸 쨹 쨺 쨻 쨼 쨽 쨾 쨿 쩀 쩁 쩂 쩃 쩄 쩅 쩆 쩇 쩈 쩉 쩊 쩋 쩌 쩍 쩎 쩏 쩐 쩑 쩒 쩓 쩔 쩕 쩖 쩗 쩘 쩙 쩚 쩛 쩜 쩝 쩞 쩟 쩠 쩡 쩢 쩣 쩤 쩥 쩦 쩧 쩨 쩩 쩪 쩫 쩬 쩭 쩮 쩯 쩰 쩱 쩲 쩳 쩴 쩵 쩶 쩷 쩸 쩹 쩺 쩻 쩼 쩽 쩾 쩿 쪀 쪁 쪂 쪃 쪄 쪅 쪆 쪇 쪈 쪉 쪊 쪋 쪌 쪍 쪎 쪏 쪐 쪑 쪒 쪓 쪔 쪕 쪖 쪗 쪘 쪙 쪚 쪛 쪜 쪝 쪞 쪟 쪠 쪡 쪢 쪣 쪤 쪥 쪦 쪧 쪨 쪩 쪪 쪫 쪬 쪭 쪮 쪯 쪰 쪱 쪲 쪳 쪴 쪵 쪶 쪷 쪸 쪹 쪺 쪻 쪼 쪽 쪾 쪿 쫀 쫁 쫂 쫃 쫄 쫅 쫆 쫇 쫈 쫉 쫊 쫋 쫌 쫍 쫎 쫏 쫐 쫑 쫒 쫓 쫔 쫕 쫖 쫗 쫘 쫙 쫚 쫛 쫜 쫝 쫞 쫟 쫠 쫡 쫢 쫣 쫤 쫥 쫦 쫧 쫨 쫩 쫪 쫫 쫬 쫭 쫮 쫯 쫰 쫱 쫲 쫳 쫴 쫵 쫶 쫷 쫸 쫹 쫺 쫻 쫼 쫽 쫾 쫿 쬀 쬁 쬂 쬃 쬄 쬅 쬆 쬇 쬈 쬉 쬊 쬋 쬌 쬍 쬎 쬏 쬐 쬑 쬒 쬓 쬔 쬕 쬖 쬗 쬘 쬙 쬚 쬛 쬜 쬝 쬞 쬟 쬠 쬡 쬢 쬣 쬤 쬥 쬦 쬧 쬨 쬩 쬪 쬫 쬬 쬭 쬮 쬯 쬰 쬱 쬲 쬳 쬴 쬵 쬶 쬷 쬸 쬹 쬺 쬻 쬼 쬽 쬾 쬿 쭀 쭁 쭂 쭃 쭄 쭅 쭆 쭇 쭈 쭉 쭊 쭋 쭌 쭍 쭎 쭏 쭐 쭑 쭒 쭓 쭔 쭕 쭖 쭗 쭘 쭙 쭚 쭛 쭜 쭝 쭞 쭟 쭠 쭡 쭢 쭣 쭤 쭥 쭦 쭧 쭨 쭩 쭪 쭫 쭬 쭭 쭮 쭯 쭰 쭱 쭲 쭳 쭴 쭵 쭶 쭷 쭸 쭹 쭺 쭻 쭼 쭽 쭾 쭿 쮀 쮁 쮂 쮃 쮄 쮅 쮆 쮇 쮈 쮉 쮊 쮋 쮌 쮍 쮎 쮏 쮐 쮑 쮒 쮓 쮔 쮕 쮖 쮗 쮘 쮙 쮚 쮛 쮜 쮝 쮞 쮟 쮠 쮡 쮢 쮣 쮤 쮥 쮦 쮧 쮨 쮩 쮪 쮫 쮬 쮭 쮮 쮯 쮰 쮱 쮲 쮳 쮴 쮵 쮶 쮷 쮸 쮹 쮺 쮻 쮼 쮽 쮾 쮿 쯀 쯁 쯂 쯃 쯄 쯅 쯆 쯇 쯈 쯉 쯊 쯋 쯌 쯍 쯎 쯏 쯐 쯑 쯒 쯓 쯔 쯕 쯖 쯗 쯘 쯙 쯚 쯛 쯜 쯝 쯞 쯟 쯠 쯡 쯢 쯣 쯤 쯥 쯦 쯧 쯨 쯩 쯪 쯫 쯬 쯭 쯮 쯯 쯰 쯱 쯲 쯳 쯴 쯵 쯶 쯷 쯸 쯹 쯺 쯻 쯼 쯽 쯾 쯿 찀 찁 찂 찃 찄 찅 찆 찇 찈 찉 찊 찋 찌 찍 찎 찏 찐 찑 찒 찓 찔 찕 찖 찗 찘 찙 찚 찛 찜 찝 찞 찟 찠 찡 찢 찣 찤 찥 찦 찧 차 착 찪 찫 찬 찭 찮 찯 찰 찱 찲 찳 찴 찵 찶 찷 참 찹 찺 찻 찼 창 찾 찿 챀 챁 챂 챃 채 책 챆 챇 챈 챉 챊 챋 챌 챍 챎 챏 챐 챑 챒 챓 챔 챕 챖 챗 챘 챙 챚 챛 챜 챝 챞 챟 챠 챡 챢 챣 챤 챥 챦 챧 챨 챩 챪 챫 챬 챭 챮 챯 챰 챱 챲 챳 챴 챵 챶 챷 챸 챹 챺 챻 챼 챽 챾 챿 첀 첁 첂 첃 첄 첅 첆 첇 첈 첉 첊 첋 첌 첍 첎 첏 첐 첑 첒 첓 첔 첕 첖 첗 처 척 첚 첛 천 첝 첞 첟 철 첡 첢 첣 첤 첥 첦 첧 첨 첩 첪 첫 첬 청 첮 첯 첰 첱 첲 첳 체 첵 첶 첷 첸 첹 첺 첻 첼 첽 첾 첿 쳀 쳁 쳂 쳃 쳄 쳅 쳆 쳇 쳈 쳉 쳊 쳋 쳌 쳍 쳎 쳏 쳐 쳑 쳒 쳓 쳔 쳕 쳖 쳗 쳘 쳙 쳚 쳛 쳜 쳝 쳞 쳟 쳠 쳡 쳢 쳣 쳤 쳥 쳦 쳧 쳨 쳩 쳪 쳫 쳬 쳭 쳮 쳯 쳰 쳱 쳲 쳳 쳴 쳵 쳶 쳷 쳸 쳹 쳺 쳻 쳼 쳽 쳾 쳿 촀 촁 촂 촃 촄 촅 촆 촇 초 촉 촊 촋 촌 촍 촎 촏 촐 촑 촒 촓 촔 촕 촖 촗 촘 촙 촚 촛 촜 총 촞 촟 촠 촡 촢 촣 촤 촥 촦 촧 촨 촩 촪 촫 촬 촭 촮 촯 촰 촱 촲 촳 촴 촵 촶 촷 촸 촹 촺 촻 촼 촽 촾 촿 쵀 쵁 쵂 쵃 쵄 쵅 쵆 쵇 쵈 쵉 쵊 쵋 쵌 쵍 쵎 쵏 쵐 쵑 쵒 쵓 쵔 쵕 쵖 쵗 쵘 쵙 쵚 쵛 최 쵝 쵞 쵟 쵠 쵡 쵢 쵣 쵤 쵥 쵦 쵧 쵨 쵩 쵪 쵫 쵬 쵭 쵮 쵯 쵰 쵱 쵲 쵳 쵴 쵵 쵶 쵷 쵸 쵹 쵺 쵻 쵼 쵽 쵾 쵿 춀 춁 춂 춃 춄 춅 춆 춇 춈 춉 춊 춋 춌 춍 춎 춏 춐 춑 춒 춓 추 축 춖 춗 춘 춙 춚 춛 출 춝 춞 춟 춠 춡 춢 춣 춤 춥 춦 춧 춨 충 춪 춫 춬 춭 춮 춯 춰 춱 춲 춳 춴 춵 춶 춷 춸 춹 춺 춻 춼 춽 춾 춿 췀 췁 췂 췃 췄 췅 췆 췇 췈 췉 췊 췋 췌 췍 췎 췏 췐 췑 췒 췓 췔 췕 췖 췗 췘 췙 췚 췛 췜 췝 췞 췟 췠 췡 췢 췣 췤 췥 췦 췧 취 췩 췪 췫 췬 췭 췮 췯 췰 췱 췲 췳 췴 췵 췶 췷 췸 췹 췺 췻 췼 췽 췾 췿 츀 츁 츂 츃 츄 츅 츆 츇 츈 츉 츊 츋 츌 츍 츎 츏 츐 츑 츒 츓 츔 츕 츖 츗 츘 츙 츚 츛 츜 츝 츞 츟 츠 측 츢 츣 츤 츥 츦 츧 츨 츩 츪 츫 츬 츭 츮 츯 츰 츱 츲 츳 츴 층 츶 츷 츸 츹 츺 츻 츼 츽 츾 츿 칀 칁 칂 칃 칄 칅 칆 칇 칈 칉 칊 칋 칌 칍 칎 칏 칐 칑 칒 칓 칔 칕 칖 칗 치 칙 칚 칛 친 칝 칞 칟 칠 칡 칢 칣 칤 칥 칦 칧 침 칩 칪 칫 칬 칭 칮 칯 칰 칱 칲 칳 카 칵 칶 칷 칸 칹 칺 칻 칼 칽 칾 칿 캀 캁 캂 캃 캄 캅 캆 캇 캈 캉 캊 캋 캌 캍 캎 캏 캐 캑 캒 캓 캔 캕 캖 캗 캘 캙 캚 캛 캜 캝 캞 캟 캠 캡 캢 캣 캤 캥 캦 캧 캨 캩 캪 캫 캬 캭 캮 캯 캰 캱 캲 캳 캴 캵 캶 캷 캸 캹 캺 캻 캼 캽 캾 캿 컀 컁 컂 컃 컄 컅 컆 컇 컈 컉 컊 컋 컌 컍 컎 컏 컐 컑 컒 컓 컔 컕 컖 컗 컘 컙 컚 컛 컜 컝 컞 컟 컠 컡 컢 컣 커 컥 컦 컧 컨 컩 컪 컫 컬 컭 컮 컯 컰 컱 컲 컳 컴 컵 컶 컷 컸 컹 컺 컻 컼 컽 컾 컿 케 켁 켂 켃 켄 켅 켆 켇 켈 켉 켊 켋 켌 켍 켎 켏 켐 켑 켒 켓 켔 켕 켖 켗 켘 켙 켚 켛 켜 켝 켞 켟 켠 켡 켢 켣 켤 켥 켦 켧 켨 켩 켪 켫 켬 켭 켮 켯 켰 켱 켲 켳 켴 켵 켶 켷 켸 켹 켺 켻 켼 켽 켾 켿 콀 콁 콂 콃 콄 콅 콆 콇 콈 콉 콊 콋 콌 콍 콎 콏 콐 콑 콒 콓 코 콕 콖 콗 콘 콙 콚 콛 콜 콝 콞 콟 콠 콡 콢 콣 콤 콥 콦 콧 콨 콩 콪 콫 콬 콭 콮 콯 콰 콱 콲 콳 콴 콵 콶 콷 콸 콹 콺 콻 콼 콽 콾 콿 쾀 쾁 쾂 쾃 쾄 쾅 쾆 쾇 쾈 쾉 쾊 쾋 쾌 쾍 쾎 쾏 쾐 쾑 쾒 쾓 쾔 쾕 쾖 쾗 쾘 쾙 쾚 쾛 쾜 쾝 쾞 쾟 쾠 쾡 쾢 쾣 쾤 쾥 쾦 쾧 쾨 쾩 쾪 쾫 쾬 쾭 쾮 쾯 쾰 쾱 쾲 쾳 쾴 쾵 쾶 쾷 쾸 쾹 쾺 쾻 쾼 쾽 쾾 쾿 쿀 쿁 쿂 쿃 쿄 쿅 쿆 쿇 쿈 쿉 쿊 쿋 쿌 쿍 쿎 쿏 쿐 쿑 쿒 쿓 쿔 쿕 쿖 쿗 쿘 쿙 쿚 쿛 쿜 쿝 쿞 쿟 쿠 쿡 쿢 쿣 쿤 쿥 쿦 쿧 쿨 쿩 쿪 쿫 쿬 쿭 쿮 쿯 쿰 쿱 쿲 쿳 쿴 쿵 쿶 쿷 쿸 쿹 쿺 쿻 쿼 쿽 쿾 쿿 퀀 퀁 퀂 퀃 퀄 퀅 퀆 퀇 퀈 퀉 퀊 퀋 퀌 퀍 퀎 퀏 퀐 퀑 퀒 퀓 퀔 퀕 퀖 퀗 퀘 퀙 퀚 퀛 퀜 퀝 퀞 퀟 퀠 퀡 퀢 퀣 퀤 퀥 퀦 퀧 퀨 퀩 퀪 퀫 퀬 퀭 퀮 퀯 퀰 퀱 퀲 퀳 퀴 퀵 퀶 퀷 퀸 퀹 퀺 퀻 퀼 퀽 퀾 퀿 큀 큁 큂 큃 큄 큅 큆 큇 큈 큉 큊 큋 큌 큍 큎 큏 큐 큑 큒 큓 큔 큕 큖 큗 큘 큙 큚 큛 큜 큝 큞 큟 큠 큡 큢 큣 큤 큥 큦 큧 큨 큩 큪 큫 크 큭 큮 큯 큰 큱 큲 큳 클 큵 큶 큷 큸 큹 큺 큻 큼 큽 큾 큿 킀 킁 킂 킃 킄 킅 킆 킇 킈 킉 킊 킋 킌 킍 킎 킏 킐 킑 킒 킓 킔 킕 킖 킗 킘 킙 킚 킛 킜 킝 킞 킟 킠 킡 킢 킣 키 킥 킦 킧 킨 킩 킪 킫 킬 킭 킮 킯 킰 킱 킲 킳 킴 킵 킶 킷 킸 킹 킺 킻 킼 킽 킾 킿 타 탁 탂 탃 탄 탅 탆 탇 탈 탉 탊 탋 탌 탍 탎 탏 탐 탑 탒 탓 탔 탕 탖 탗 탘 탙 탚 탛 태 택 탞 탟 탠 탡 탢 탣 탤 탥 탦 탧 탨 탩 탪 탫 탬 탭 탮 탯 탰 탱 탲 탳 탴 탵 탶 탷 탸 탹 탺 탻 탼 탽 탾 탿 턀 턁 턂 턃 턄 턅 턆 턇 턈 턉 턊 턋 턌 턍 턎 턏 턐 턑 턒 턓 턔 턕 턖 턗 턘 턙 턚 턛 턜 턝 턞 턟 턠 턡 턢 턣 턤 턥 턦 턧 턨 턩 턪 턫 턬 턭 턮 턯 터 턱 턲 턳 턴 턵 턶 턷 털 턹 턺 턻 턼 턽 턾 턿 텀 텁 텂 텃 텄 텅 텆 텇 텈 텉 텊 텋 테 텍 텎 텏 텐 텑 텒 텓 텔 텕 텖 텗 텘 텙 텚 텛 템 텝 텞 텟 텠 텡 텢 텣 텤 텥 텦 텧 텨 텩 텪 텫 텬 텭 텮 텯 텰 텱 텲 텳 텴 텵 텶 텷 텸 텹 텺 텻 텼 텽 텾 텿 톀 톁 톂 톃 톄 톅 톆 톇 톈 톉 톊 톋 톌 톍 톎 톏 톐 톑 톒 톓 톔 톕 톖 톗 톘 톙 톚 톛 톜 톝 톞 톟 토 톡 톢 톣 톤 톥 톦 톧 톨 톩 톪 톫 톬 톭 톮 톯 톰 톱 톲 톳 톴 통 톶 톷 톸 톹 톺 톻 톼 톽 톾 톿 퇀 퇁 퇂 퇃 퇄 퇅 퇆 퇇 퇈 퇉 퇊 퇋 퇌 퇍 퇎 퇏 퇐 퇑 퇒 퇓 퇔 퇕 퇖 퇗 퇘 퇙 퇚 퇛 퇜 퇝 퇞 퇟 퇠 퇡 퇢 퇣 퇤 퇥 퇦 퇧 퇨 퇩 퇪 퇫 퇬 퇭 퇮 퇯 퇰 퇱 퇲 퇳 퇴 퇵 퇶 퇷 퇸 퇹 퇺 퇻 퇼 퇽 퇾 퇿 툀 툁 툂 툃 툄 툅 툆 툇 툈 툉 툊 툋 툌 툍 툎 툏 툐 툑 툒 툓 툔 툕 툖 툗 툘 툙 툚 툛 툜 툝 툞 툟 툠 툡 툢 툣 툤 툥 툦 툧 툨 툩 툪 툫 투 툭 툮 툯 툰 툱 툲 툳 툴 툵 툶 툷 툸 툹 툺 툻 툼 툽 툾 툿 퉀 퉁 퉂 퉃 퉄 퉅 퉆 퉇 퉈 퉉 퉊 퉋 퉌 퉍 퉎 퉏 퉐 퉑 퉒 퉓 퉔 퉕 퉖 퉗 퉘 퉙 퉚 퉛 퉜 퉝 퉞 퉟 퉠 퉡 퉢 퉣 퉤 퉥 퉦 퉧 퉨 퉩 퉪 퉫 퉬 퉭 퉮 퉯 퉰 퉱 퉲 퉳 퉴 퉵 퉶 퉷 퉸 퉹 퉺 퉻 퉼 퉽 퉾 퉿 튀 튁 튂 튃 튄 튅 튆 튇 튈 튉 튊 튋 튌 튍 튎 튏 튐 튑 튒 튓 튔 튕 튖 튗 튘 튙 튚 튛 튜 튝 튞 튟 튠 튡 튢 튣 튤 튥 튦 튧 튨 튩 튪 튫 튬 튭 튮 튯 튰 튱 튲 튳 튴 튵 튶 튷 트 특 튺 튻 튼 튽 튾 튿 틀 틁 틂 틃 틄 틅 틆 틇 틈 틉 틊 틋 틌 틍 틎 틏 틐 틑 틒 틓 틔 틕 틖 틗 틘 틙 틚 틛 틜 틝 틞 틟 틠 틡 틢 틣 틤 틥 틦 틧 틨 틩 틪 틫 틬 틭 틮 틯 티 틱 틲 틳 틴 틵 틶 틷 틸 틹 틺 틻 틼 틽 틾 틿 팀 팁 팂 팃 팄 팅 팆 팇 팈 팉 팊 팋 파 팍 팎 팏 판 팑 팒 팓 팔 팕 팖 팗 팘 팙 팚 팛 팜 팝 팞 팟 팠 팡 팢 팣 팤 팥 팦 팧 패 팩 팪 팫 팬 팭 팮 팯 팰 팱 팲 팳 팴 팵 팶 팷 팸 팹 팺 팻 팼 팽 팾 팿 퍀 퍁 퍂 퍃 퍄 퍅 퍆 퍇 퍈 퍉 퍊 퍋 퍌 퍍 퍎 퍏 퍐 퍑 퍒 퍓 퍔 퍕 퍖 퍗 퍘 퍙 퍚 퍛 퍜 퍝 퍞 퍟 퍠 퍡 퍢 퍣 퍤 퍥 퍦 퍧 퍨 퍩 퍪 퍫 퍬 퍭 퍮 퍯 퍰 퍱 퍲 퍳 퍴 퍵 퍶 퍷 퍸 퍹 퍺 퍻 퍼 퍽 퍾 퍿 펀 펁 펂 펃 펄 펅 펆 펇 펈 펉 펊 펋 펌 펍 펎 펏 펐 펑 펒 펓 펔 펕 펖 펗 페 펙 펚 펛 펜 펝 펞 펟 펠 펡 펢 펣 펤 펥 펦 펧 펨 펩 펪 펫 펬 펭 펮 펯 펰 펱 펲 펳 펴 펵 펶 펷 편 펹 펺 펻 펼 펽 펾 펿 폀 폁 폂 폃 폄 폅 폆 폇 폈 평 폊 폋 폌 폍 폎 폏 폐 폑 폒 폓 폔 폕 폖 폗 폘 폙 폚 폛 폜 폝 폞 폟 폠 폡 폢 폣 폤 폥 폦 폧 폨 폩 폪 폫 포 폭 폮 폯 폰 폱 폲 폳 폴 폵 폶 폷 폸 폹 폺 폻 폼 폽 폾 폿 퐀 퐁 퐂 퐃 퐄 퐅 퐆 퐇 퐈 퐉 퐊 퐋 퐌 퐍 퐎 퐏 퐐 퐑 퐒 퐓 퐔 퐕 퐖 퐗 퐘 퐙 퐚 퐛 퐜 퐝 퐞 퐟 퐠 퐡 퐢 퐣 퐤 퐥 퐦 퐧 퐨 퐩 퐪 퐫 퐬 퐭 퐮 퐯 퐰 퐱 퐲 퐳 퐴 퐵 퐶 퐷 퐸 퐹 퐺 퐻 퐼 퐽 퐾 퐿 푀 푁 푂 푃 푄 푅 푆 푇 푈 푉 푊 푋 푌 푍 푎 푏 푐 푑 푒 푓 푔 푕 푖 푗 푘 푙 푚 푛 표 푝 푞 푟 푠 푡 푢 푣 푤 푥 푦 푧 푨 푩 푪 푫 푬 푭 푮 푯 푰 푱 푲 푳 푴 푵 푶 푷 푸 푹 푺 푻 푼 푽 푾 푿 풀 풁 풂 풃 풄 풅 풆 풇 품 풉 풊 풋 풌 풍 풎 풏 풐 풑 풒 풓 풔 풕 풖 풗 풘 풙 풚 풛 풜 풝 풞 풟 풠 풡 풢 풣 풤 풥 풦 풧 풨 풩 풪 풫 풬 풭 풮 풯 풰 풱 풲 풳 풴 풵 풶 풷 풸 풹 풺 풻 풼 풽 풾 풿 퓀 퓁 퓂 퓃 퓄 퓅 퓆 퓇 퓈 퓉 퓊 퓋 퓌 퓍 퓎 퓏 퓐 퓑 퓒 퓓 퓔 퓕 퓖 퓗 퓘 퓙 퓚 퓛 퓜 퓝 퓞 퓟 퓠 퓡 퓢 퓣 퓤 퓥 퓦 퓧 퓨 퓩 퓪 퓫 퓬 퓭 퓮 퓯 퓰 퓱 퓲 퓳 퓴 퓵 퓶 퓷 퓸 퓹 퓺 퓻 퓼 퓽 퓾 퓿 픀 픁 픂 픃 프 픅 픆 픇 픈 픉 픊 픋 플 픍 픎 픏 픐 픑 픒 픓 픔 픕 픖 픗 픘 픙 픚 픛 픜 픝 픞 픟 픠 픡 픢 픣 픤 픥 픦 픧 픨 픩 픪 픫 픬 픭 픮 픯 픰 픱 픲 픳 픴 픵 픶 픷 픸 픹 픺 픻 피 픽 픾 픿 핀 핁 핂 핃 필 핅 핆 핇 핈 핉 핊 핋 핌 핍 핎 핏 핐 핑 핒 핓 핔 핕 핖 핗 하 학 핚 핛 한 핝 핞 핟 할 핡 핢 핣 핤 핥 핦 핧 함 합 핪 핫 핬 항 핮 핯 핰 핱 핲 핳 해 핵 핶 핷 핸 핹 핺 핻 핼 핽 핾 핿 햀 햁 햂 햃 햄 햅 햆 햇 했 행 햊 햋 햌 햍 햎 햏 햐 햑 햒 햓 햔 햕 햖 햗 햘 햙 햚 햛 햜 햝 햞 햟 햠 햡 햢 햣 햤 향 햦 햧 햨 햩 햪 햫 햬 햭 햮 햯 햰 햱 햲 햳 햴 햵 햶 햷 햸 햹 햺 햻 햼 햽 햾 햿 헀 헁 헂 헃 헄 헅 헆 헇 허 헉 헊 헋 헌 헍 헎 헏 헐 헑 헒 헓 헔 헕 헖 헗 험 헙 헚 헛 헜 헝 헞 헟 헠 헡 헢 헣 헤 헥 헦 헧 헨 헩 헪 헫 헬 헭 헮 헯 헰 헱 헲 헳 헴 헵 헶 헷 헸 헹 헺 헻 헼 헽 헾 헿 혀 혁 혂 혃 현 혅 혆 혇 혈 혉 혊 혋 혌 혍 혎 혏 혐 협 혒 혓 혔 형 혖 혗 혘 혙 혚 혛 혜 혝 혞 혟 혠 혡 혢 혣 혤 혥 혦 혧 혨 혩 혪 혫 혬 혭 혮 혯 혰 혱 혲 혳 혴 혵 혶 혷 호 혹 혺 혻 혼 혽 혾 혿 홀 홁 홂 홃 홄 홅 홆 홇 홈 홉 홊 홋 홌 홍 홎 홏 홐 홑 홒 홓 화 확 홖 홗 환 홙 홚 홛 활 홝 홞 홟 홠 홡 홢 홣 홤 홥 홦 홧 홨 황 홪 홫 홬 홭 홮 홯 홰 홱 홲 홳 홴 홵 홶 홷 홸 홹 홺 홻 홼 홽 홾 홿 횀 횁 횂 횃 횄 횅 횆 횇 횈 횉 횊 횋 회 획 횎 횏 횐 횑 횒 횓 횔 횕 횖 횗 횘 횙 횚 횛 횜 횝 횞 횟 횠 횡 횢 횣 횤 횥 횦 횧 효 횩 횪 횫 횬 횭 횮 횯 횰 횱 횲 횳 횴 횵 횶 횷 횸 횹 횺 횻 횼 횽 횾 횿 훀 훁 훂 훃 후 훅 훆 훇 훈 훉 훊 훋 훌 훍 훎 훏 훐 훑 훒 훓 훔 훕 훖 훗 훘 훙 훚 훛 훜 훝 훞 훟 훠 훡 훢 훣 훤 훥 훦 훧 훨 훩 훪 훫 훬 훭 훮 훯 훰 훱 훲 훳 훴 훵 훶 훷 훸 훹 훺 훻 훼 훽 훾 훿 휀 휁 휂 휃 휄 휅 휆 휇 휈 휉 휊 휋 휌 휍 휎 휏 휐 휑 휒 휓 휔 휕 휖 휗 휘 휙 휚 휛 휜 휝 휞 휟 휠 휡 휢 휣 휤 휥 휦 휧 휨 휩 휪 휫 휬 휭 휮 휯 휰 휱 휲 휳 휴 휵 휶 휷 휸 휹 휺 휻 휼 휽 휾 휿 흀 흁 흂 흃 흄 흅 흆 흇 흈 흉 흊 흋 흌 흍 흎 흏 흐 흑 흒 흓 흔 흕 흖 흗 흘 흙 흚 흛 흜 흝 흞 흟 흠 흡 흢 흣 흤 흥 흦 흧 흨 흩 흪 흫 희 흭 흮 흯 흰 흱 흲 흳 흴 흵 흶 흷 흸 흹 흺 흻 흼 흽 흾 흿 힀 힁 힂 힃 힄 힅 힆 힇 히 힉 힊 힋 힌 힍 힎 힏 힐 힑 힒 힓 힔 힕 힖 힗 힘 힙 힚 힛 힜 힝 힞 힟 힠 힡 힢 힣&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;</description>
      <category>RDBMS/General</category>
      <category>characterset</category>
      <category>CharSet</category>
      <category>cp949</category>
      <category>dbms</category>
      <category>euckr</category>
      <category>MSWIN949</category>
      <category>RDBMS</category>
      <category>문자셋</category>
      <category>문자집합</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/106</guid>
      <comments>https://junsuyoun.tistory.com/entry/EUCKR-MSWIN949CP949-UTF8-%ED%95%9C%EA%B8%80-%EC%A0%95%EB%A0%AC#entry106comment</comments>
      <pubDate>Fri, 16 Dec 2022 22:37:56 +0900</pubDate>
    </item>
    <item>
      <title>노션(notion) 행 현상 / 멈춤</title>
      <link>https://junsuyoun.tistory.com/entry/%EB%85%B8%EC%85%98notion-%ED%96%89-%ED%98%84%EC%83%81-%EB%A9%88%EC%B6%A4</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;노션 사용 중에 아래와 같은 현상으로 기다려도 안되는 현상에 대한 해결 방법&lt;/b&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;노션행.gif&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;473&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/RjOUm/btrTNZHmeqd/ZFFo0YHCKFd66LKoqRVHB0/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/RjOUm/btrTNZHmeqd/ZFFo0YHCKFd66LKoqRVHB0/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/RjOUm/btrTNZHmeqd/ZFFo0YHCKFd66LKoqRVHB0/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/RjOUm/btrTNZHmeqd/ZFFo0YHCKFd66LKoqRVHB0/img.gif&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; loading=&quot;lazy&quot; width=&quot;1000&quot; height=&quot;473&quot; data-filename=&quot;노션행.gif&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;473&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 행 현상은 노션 앱에 잘 못된 캐시 정보를 호출하고 있어서 그런데요. 페이지를 일괄적으로 이동하거나 삭제했을 때 발생할 수 있습니다. 노션 앱을 재설치하더라도 &lt;span&gt;캐시&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;정보가 파일로 남아 있다면 동일한 현상이 반복해서 나타납니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;근본적인 해결 방법은 노션 캐시를 초기화하면 됩니다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1671169998457&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Notion 초기화 &amp;ndash; Notion (노션) 도움말 센터&quot; data-og-description=&quot;Notion이 빈 화면에서 멈춘 경우 놀라지 말고 앱을 초기화해 보세요. 브라우저, 데스크톱 앱, 모바일 기기에서 Notion 앱을 초기화하는 법을 설명드릴게요 ⚠️&quot; data-og-host=&quot;www.notion.so&quot; data-og-source-url=&quot;https://www.notion.so/ko-kr/help/reset-notion&quot; data-og-url=&quot;https://www.notion.so/ko-kr/help/reset-notion&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bawthI/hyQUX4S6D6/oko71d1x7V8Hx8op7HhuC0/img.png?width=3840&amp;amp;height=2160&amp;amp;face=0_0_3840_2160&quot;&gt;&lt;a href=&quot;https://www.notion.so/ko-kr/help/reset-notion&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.notion.so/ko-kr/help/reset-notion&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bawthI/hyQUX4S6D6/oko71d1x7V8Hx8op7HhuC0/img.png?width=3840&amp;amp;height=2160&amp;amp;face=0_0_3840_2160');&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;Notion 초기화 &amp;ndash; Notion (노션) 도움말 센터&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Notion이 빈 화면에서 멈춘 경우 놀라지 말고 앱을 초기화해 보세요. 브라우저, 데스크톱 앱, 모바일 기기에서 Notion 앱을 초기화하는 법을 설명드릴게요 ⚠️&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.notion.so&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;매뉴얼 페이지에서 지시하는 대로 진행하면 됩니다. 저는 데스크톱 앱 사용 중이라서 지시사항에 해당하는 캐시 파일을 삭제해보았습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cYFced/btrTPP4Z8yF/4JYJeFRAEuMkGsQYSB873K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cYFced/btrTPP4Z8yF/4JYJeFRAEuMkGsQYSB873K/img.png&quot; data-origin-width=&quot;946&quot; data-origin-height=&quot;276&quot; data-is-animation=&quot;false&quot; style=&quot;width: 55.0364%; margin-right: 10px;&quot; data-widthpercent=&quot;55.68&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cYFced/btrTPP4Z8yF/4JYJeFRAEuMkGsQYSB873K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcYFced%2FbtrTPP4Z8yF%2F4JYJeFRAEuMkGsQYSB873K%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;946&quot; height=&quot;276&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cG6NCp/btrTMfcT9yC/Tm6dywbD2s71FhgvPN0Ue1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cG6NCp/btrTMfcT9yC/Tm6dywbD2s71FhgvPN0Ue1/img.png&quot; data-origin-width=&quot;922&quot; data-origin-height=&quot;338&quot; data-is-animation=&quot;false&quot; style=&quot;width: 43.8008%;&quot; data-widthpercent=&quot;44.32&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cG6NCp/btrTMfcT9yC/Tm6dywbD2s71FhgvPN0Ue1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcG6NCp%2FbtrTMfcT9yC%2FTm6dywbD2s71FhgvPN0Ue1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;922&quot; height=&quot;338&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;삭제 후에 노션 앱 재실행 시 로그인 창이 뜨면서 로그인 이후 정상적으로 동작 합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1634&quot; data-origin-height=&quot;1012&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1Zsqs/btrTQfa5KEE/7CvNd0LqRQNP62E7PUXg01/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1Zsqs/btrTQfa5KEE/7CvNd0LqRQNP62E7PUXg01/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1Zsqs/btrTQfa5KEE/7CvNd0LqRQNP62E7PUXg01/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1Zsqs%2FbtrTQfa5KEE%2F7CvNd0LqRQNP62E7PUXg01%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1634&quot; height=&quot;1012&quot; data-origin-width=&quot;1634&quot; data-origin-height=&quot;1012&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Operation System/Windows</category>
      <category>notion</category>
      <category>노션</category>
      <category>행걸림</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/105</guid>
      <comments>https://junsuyoun.tistory.com/entry/%EB%85%B8%EC%85%98notion-%ED%96%89-%ED%98%84%EC%83%81-%EB%A9%88%EC%B6%A4#entry105comment</comments>
      <pubDate>Fri, 16 Dec 2022 14:56:55 +0900</pubDate>
    </item>
    <item>
      <title>sar 유틸리티를 통해 데이터베이스 서버 모니터링 해보기</title>
      <link>https://junsuyoun.tistory.com/entry/sar-%EC%9C%A0%ED%8B%B8%EB%A6%AC%ED%8B%B0%EB%A5%BC-%ED%86%B5%ED%95%B4-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%84%9C%EB%B2%84-%EB%AA%A8%EB%8B%88%ED%84%B0%EB%A7%81-%ED%95%B4%EB%B3%B4%EA%B8%B0</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;sar 유틸리티를 통해 데이터베이스 모니터링을 해보겠습니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;모니터링 구간&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;1753&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b1FU6N/btrTclwEvH1/97fuP0kHNDHATSZoHpSmSK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b1FU6N/btrTclwEvH1/97fuP0kHNDHATSZoHpSmSK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b1FU6N/btrTclwEvH1/97fuP0kHNDHATSZoHpSmSK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1FU6N%2FbtrTclwEvH1%2F97fuP0kHNDHATSZoHpSmSK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;2000&quot; height=&quot;1753&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;1753&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터베이스를 모니터링 하고자 할 때 4개 구간으로 모니터링 할 수 있습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;receive/transmit : 클라이언트와 데이터베이스간 데이터를 주고 받는 구간&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;letch : 데이터베이스 프로세스에서 디스크에 있는 데이터를 메모리에 얹고 메모리에서 가져오는 구간&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;lookup: 데이터베이스 프로세스가 메모리에 없는 데이터를 디스크에서 읽어 메모리에 얹는 구간&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;calculation : 데이터베이스 프로세스가 메모리에 올라간 데이터를 가공하는 구간&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;receive/transmit&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;클라이언트와 데이터베이스간 데이터를 주고 받는 구간&lt;/li&gt;
&lt;li&gt;receive/transmit 구간이 느려지는 상황&lt;br /&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;대용량 데이터를 클라이언트 프로그램에서 조회해야하는 경우&lt;/li&gt;
&lt;li&gt;클라이언트 프로그램에서 많은 트랜잭션을 처리하는 경우&lt;/li&gt;
&lt;li&gt;네트워크가 느린 경우&lt;/li&gt;
&lt;li&gt;connection pooling을 안할 경우&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;sar -n DEV&amp;nbsp;&lt;/b&gt;&lt;/blockquote&gt;
&lt;pre id=&quot;code_1671024059799&quot; class=&quot;angelscript&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@d86a1cc708f1 ~]# sar -n DEV 1
Linux 5.15.0-48-generic (d86a1cc708f1) 	12/08/22 	_x86_64_	(12 CPU)

08:06:36        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
08:06:37           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
08:06:37         eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FACE : ifconfig -a를 통해 이더넷 확인&lt;/li&gt;
&lt;li&gt;rxpckk/s : 초당 송신한 패킷 수&lt;/li&gt;
&lt;li&gt;txpck/s : 초당 수신한 패킷 수&lt;/li&gt;
&lt;li&gt;rxkB/s : 초당 송신한 크기 (KB)&lt;/li&gt;
&lt;li&gt;txkB/s : 초당 수신한 크기 (KB)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;letch&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;데이터 베이스 프로세스가 메모리에 접근하여 데이터를 주고 받는 구간&lt;/li&gt;
&lt;li&gt;letch 구간이 느려지는 상황
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;동일한 메모리 블럭을 처리하는 많은 양의 Operation이 수행되는 경우&lt;/li&gt;
&lt;li&gt;버퍼 체이닝 발생으로 인해 letch 단계가 lookup 단계까지 진행 되는 경우&lt;/li&gt;
&lt;li&gt;메모리가 아닌 스왑 영역에서 letch하는 경우&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;sar -b&amp;nbsp;&lt;/b&gt;&lt;/blockquote&gt;
&lt;pre id=&quot;code_1671024857454&quot; class=&quot;angelscript&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@junsu-desktop block]docker_host# sar -b 1
Linux 5.15.0-48-generic (junsu-desktop) 	12/08/22 	_x86_64_	(12 CPU)

17:11:30          tps      rtps      wtps      dtps   bread/s   bwrtn/s   bdscd/s
17:11:31        13.00      0.00     13.00      0.00      0.00    376.00      0.00
17:11:32        60.00      8.00     52.00      0.00    256.00   1000.00      0.00
17:11:33        22.00      0.00     22.00      0.00      0.00    432.00      0.00
17:11:34        64.00      0.00     64.00      0.00      0.00   1224.00      0.00
17:11:35        10.00      0.00     10.00      0.00      0.00    160.00      0.00&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;bread/s : 초당 읽어들이는 블럭수&lt;/li&gt;
&lt;li&gt;bwrtn/s : 초당 쓰여진 블럭 수&lt;/li&gt;
&lt;li&gt;OS blocksize 확인 (데이터베이스 블럭 사이즈랑 다름)
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;cat /etc/mke2fs.conf |grep blocksize&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;sar -W&amp;nbsp;&lt;/b&gt;&lt;/blockquote&gt;
&lt;pre id=&quot;code_1671024883462&quot; class=&quot;angelscript&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@junsu-desktop block]docker_host# sar -W 1
Linux 5.15.0-48-generic (junsu-desktop) 	12/08/22 	_x86_64_	(12 CPU)

17:22:38     pswpin/s pswpout/s
17:22:39         0.00      0.00
17:22:40         0.00      0.00
17:22:41         0.00      0.00&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;pswpin/s : 초당 swap in 횟수 (페이지)&lt;/li&gt;
&lt;li&gt;pswpout/s : 초당 swap out 횟수 (페이지)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;lookup&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;데이터베이스의 요청을 받아 물리적인 디스크에 접근하여 데이터를 메모리에 올리는 작업&lt;/li&gt;
&lt;li&gt;lookup 단계가 느려지는 상황
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;빈번한 테이블 풀 스캔&lt;/li&gt;
&lt;li&gt;버퍼 체이닝 발생&lt;/li&gt;
&lt;li&gt;메모리 가용을 하지 못해 스왑 영역을 쓰는 경우&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;대표적인 lookup 행위
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;SQL 오퍼레이션 처리 하는 과정 중 페이지 또는 블럭을 스캔하는 과정&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;sar -d&lt;/b&gt;&lt;/blockquote&gt;
&lt;pre id=&quot;code_1671024893557&quot; class=&quot;angelscript&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@junsu-desktop dev]docker_host# sar -d 1 
Linux 5.15.0-48-generic (junsu-desktop) 	12/08/22 	_x86_64_	(12 CPU)

17:09:06          DEV       tps     rkB/s     wkB/s     dkB/s   areq-sz    aqu-sz     await     %util
17:09:07       dev7-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
17:09:07       dev7-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
17:09:07       dev7-2      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
17:09:07       dev7-3      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
17:09:07       dev7-4      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
17:09:07       dev7-5      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
17:09:07       dev7-6      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
17:09:07       dev7-7      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
17:09:07       dev8-0      4.00      0.00     32.00      0.00      8.00      0.01      1.00      0.40
17:09:07      dev11-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
17:09:07      dev8-16      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
17:09:07      dev8-32      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
17:09:07       dev7-9      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
17:09:07       dev7-8      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
17:09:07      dev7-13      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
17:09:07      dev7-10      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
17:09:07      dev7-12      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
17:09:07      dev7-11      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
17:09:07      dev7-15      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
17:09:07      dev7-18      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
17:09:07      dev7-17      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
17:09:07      dev7-14      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
17:09:07      dev7-16      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
17:09:07      dev7-19      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
17:09:07      dev7-20      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;DEV : 디바이스 맵핑 정보&lt;/li&gt;
&lt;li&gt;rkB/s : 초당 read된 크기(KB)&lt;/li&gt;
&lt;li&gt;wrB/s : 초당 write 된 크기 (KB)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;디스크 정보 확인 하기&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1671024948230&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@junsu-desktop block]docker_host# ls -rlt /dev/block
total 0
lrwxrwxrwx 1 root root 6 Oct  2 00:36 8:16 -&amp;gt; ../sdb
lrwxrwxrwx 1 root root 6 Oct  2 00:36 8:32 -&amp;gt; ../sdc
lrwxrwxrwx 1 root root 6 Oct  2 00:36 8:0 -&amp;gt; ../sda
lrwxrwxrwx 1 root root 7 Oct  2 00:36 8:33 -&amp;gt; ../sdc1
lrwxrwxrwx 1 root root 7 Oct  2 00:36 8:18 -&amp;gt; ../sdb2
lrwxrwxrwx 1 root root 7 Oct  2 00:36 8:21 -&amp;gt; ../sdb5
lrwxrwxrwx 1 root root 7 Oct  2 00:36 8:17 -&amp;gt; ../sdb1

[root@junsu-desktop ~]docker_host# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb5       117G   37G   74G  34% /
/dev/sda        916G  506G  364G  59% /dodo
/dev/sdb1       511M  4.0K  511M   1% /boot/efi
/dev/sdc1       932G  694G  238G  75% /das2

[root@junsu-desktop ~]docker_host# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 931.5G  0 disk /dodo
sdb      8:16   0 119.2G  0 disk 
├─sdb1   8:17   0   512M  0 part /boot/efi
├─sdb2   8:18   0     1K  0 part 
└─sdb5   8:21   0 118.8G  0 part /
sdc      8:32   0 931.5G  0 disk 
└─sdc1   8:33   0 931.5G  0 part /das2&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;calculation&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메모리에서 처리가 된 데이터를 가지고 연산 작업을 수행 합니다.&lt;/li&gt;
&lt;li&gt;calculation 구간이 느려지는 상황
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;많은 양의 데이터를 연산 또는 함수 처리하는 경우&lt;/li&gt;
&lt;li&gt;프로세스 fork가 빈번한 경우&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;대표적인 calculation 행위
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;연산자 사용&lt;/li&gt;
&lt;li&gt;함수 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;sar -C&lt;/b&gt;&lt;/blockquote&gt;
&lt;pre id=&quot;code_1671024959598&quot; class=&quot;angelscript&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@d86a1cc708f1 ~]# sar -C 1
Linux 5.15.0-48-generic (d86a1cc708f1) 	12/08/22 	_x86_64_	(12 CPU)

07:56:22        CPU     %user     %nice   %system   %iowait    %steal     %idle
07:56:23        all      0.76      0.00      0.93      0.08      0.00     98.22
07:56:24        all      0.51      0.00      0.76      0.51      0.00     98.22
07:56:25        all      0.42      0.00      0.42      0.00      0.00     99.15
07:56:26        all      0.42      0.00      0.93      0.25      0.00     98.39&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;%user : 사용자 레벨 CPU 사용량&lt;/li&gt;
&lt;li&gt;%system : 시스템 레벨 CPU 사용량&lt;/li&gt;
&lt;li&gt;%iowait : CPU 사용을 위해 할당은 됬지만 lookup 단계로 인해 대기 중인 CPU 사용량&lt;/li&gt;
&lt;li&gt;%idle : 놀고 있는 CPU 사용량&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;sar -q&amp;nbsp;&lt;/b&gt;&lt;/blockquote&gt;
&lt;pre id=&quot;code_1671024969422&quot; class=&quot;angelscript&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@d86a1cc708f1 ~]# sar -q 1
Linux 5.15.0-48-generic (d86a1cc708f1) 	12/08/22 	_x86_64_	(12 CPU)

07:56:28      runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
07:56:29            0      2266      0.09      0.32      0.37         0
07:56:30            1      2266      0.09      0.32      0.37         0
07:56:31            0      2267      0.09      0.32      0.37         0
07:56:32            0      2267      0.09      0.32      0.37         0
07:56:33            0      2268      0.08      0.31      0.37         0
07:56:34            0      2268      0.08      0.31      0.37         0&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;runq-sz : CPU 사용을 위해 대기 중인 스레드 개수&lt;/li&gt;
&lt;li&gt;ldavg-1 : 1분 전 할당 된 core가 일하고 있는 개수&lt;/li&gt;
&lt;li&gt;ldavg-5 : 5분 전 할당 된 core가 일하고 있는 개수&lt;/li&gt;
&lt;li&gt;ldavg-15 : 15분 전 할당 된 core가 일하고 있는 개수&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모니터링을 진행하기 전 정상 상황의 모니터링 정보가 있어야 현재 시스템 사용률이 높다 낮다 판단을 할 수 있습니다.&lt;br /&gt;sar -f 옵션을 통해 정상 상황의 지표를 확보하고 모니터링을 진행 합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1670549569722&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@TAC2 sa]# ls -lrt /var/log/sa/ |grep sa
-rw-r--r--. 1 root root 399340 11월  8 23:53 sar08
-rw-r--r--. 1 root root 475232 11월  9 23:50 sa09
-rw-r--r--. 1 root root 399340 11월  9 23:53 sar09
-rw-r--r--. 1 root root 475232 11월 10 23:50 sa10
-rw-r--r--. 1 root root 399340 11월 10 23:53 sar10
-rw-r--r--. 1 root root 178592 11월 11 08:50 sa11
-rw-r--r--. 1 root root 214896 11월 22 23:50 sa22
-rw-r--r--. 1 root root 180961 11월 22 23:53 sar22
-rw-r--r--. 1 root root 475232 11월 23 23:50 sa23
-rw-r--r--. 1 root root 399340 11월 23 23:53 sar23
-rw-r--r--. 1 root root 188480 11월 24 09:20 sa24
-rw-r--r--. 1 root root 125904 12월  6 23:50 sa06
-rw-r--r--. 1 root root 106403 12월  6 23:53 sar06
-rw-r--r--. 1 root root 323616 12월  7 16:10 sa07
-rw-r--r--. 1 root root   7248 12월  8 17:30 sa08

[root@TAC2 sa]# sar -f sa06
Linux 3.10.0-1160.76.1.el7.x86_64 (TAC2) 	2022년 12월 06일 	_x86_64_	(4 CPU)

17시 31분 24초       LINUX RESTART

17시 40분 01초     CPU     %user     %nice   %system   %iowait    %steal     %idle
17시 50분 01초     all      0.24      0.00      0.23      0.00      0.00     99.54
18시 00분 01초     all      0.27      0.00      0.25      0.00      0.00     99.48
18시 10분 01초     all      0.22      0.00      0.22      0.00      0.00     99.56
...

[root@TAC2 sa]# sar -f sa07
Linux 3.10.0-1160.76.1.el7.x86_64 (TAC2) 	2022년 12월 07일 	_x86_64_	(4 CPU)

00시 00분 01초     CPU     %user     %nice   %system   %iowait    %steal     %idle
00시 10분 01초     all      0.28      0.00      0.21      0.00      0.00     99.51
00시 20분 01초     all      0.18      0.00      0.17      0.00      0.00     99.65
00시 30분 01초     all      0.21      0.00      0.19      0.00      0.00     99.60
00시 40분 01초     all      0.18      0.00      0.17      0.00      0.00     99.65
...&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;figure id=&quot;og_1671161119836&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;sar: command not found&quot; data-og-description=&quot;sar 유틸리티 설치 sar CentOS yum install -y sysstat Ubuntu TEST 패키지 매니저로 설치가 불가능한 경우 아래 링크를 통해 직접 파일로 다운 받아 설치 합니다. Linux package / utility / libarary 파일 다운로드 리&quot; data-og-host=&quot;junsuyoun.tistory.com&quot; data-og-source-url=&quot;https://junsuyoun.tistory.com/77&quot; data-og-url=&quot;https://junsuyoun.tistory.com/77&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/kbr08/hyQTzEuliM/LkgtpCrUy4oHUbQYwdIzRk/img.png?width=800&amp;amp;height=353&amp;amp;face=0_0_800_353,https://scrap.kakaocdn.net/dn/bd5gBd/hyQTAQVN7v/W0GKK7REjyRHHIlDzVrjVk/img.png?width=800&amp;amp;height=353&amp;amp;face=0_0_800_353,https://scrap.kakaocdn.net/dn/wOLtt/hyQU3xadMa/GXI1fySFACPDzrgeNENrCk/img.png?width=837&amp;amp;height=370&amp;amp;face=0_0_837_370&quot;&gt;&lt;a href=&quot;https://junsuyoun.tistory.com/77&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://junsuyoun.tistory.com/77&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/kbr08/hyQTzEuliM/LkgtpCrUy4oHUbQYwdIzRk/img.png?width=800&amp;amp;height=353&amp;amp;face=0_0_800_353,https://scrap.kakaocdn.net/dn/bd5gBd/hyQTAQVN7v/W0GKK7REjyRHHIlDzVrjVk/img.png?width=800&amp;amp;height=353&amp;amp;face=0_0_800_353,https://scrap.kakaocdn.net/dn/wOLtt/hyQU3xadMa/GXI1fySFACPDzrgeNENrCk/img.png?width=837&amp;amp;height=370&amp;amp;face=0_0_837_370');&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;sar: command not found&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;sar 유틸리티 설치 sar CentOS yum install -y sysstat Ubuntu TEST 패키지 매니저로 설치가 불가능한 경우 아래 링크를 통해 직접 파일로 다운 받아 설치 합니다. Linux package / utility / libarary 파일 다운로드 리&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;junsuyoun.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Operation System/Unix &amp;amp; Linux</category>
      <category>dbms</category>
      <category>RDBMS</category>
      <category>SAR</category>
      <category>모니터링</category>
      <category>성능</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/104</guid>
      <comments>https://junsuyoun.tistory.com/entry/sar-%EC%9C%A0%ED%8B%B8%EB%A6%AC%ED%8B%B0%EB%A5%BC-%ED%86%B5%ED%95%B4-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%84%9C%EB%B2%84-%EB%AA%A8%EB%8B%88%ED%84%B0%EB%A7%81-%ED%95%B4%EB%B3%B4%EA%B8%B0#entry104comment</comments>
      <pubDate>Wed, 14 Dec 2022 22:08:22 +0900</pubDate>
    </item>
    <item>
      <title>ORA-01502: index '%s' or partition of such index is in unusabl</title>
      <link>https://junsuyoun.tistory.com/entry/ORA-01502-index-s-or-partition-of-such-index-is-in-unusabl</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;ORA-01502: index '%s' or partition of such index is in unusabl&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 에러가 발생할 시 partition table의 key가 unusabl 상태가 된 것을 확인할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;partition table에 딸린 key가 unsabl 된 상태 인데요.&lt;br /&gt;partition table에 생성 된 global key에 모두 영향을 끼쳐 그렇습니다.&lt;br /&gt;partition table에서 truncate partition table과 drop partition table 같은 작업이 빈번한 경우 global key를 local key로 변경하는 것을 권장 합니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;ORA-01502 재현&lt;/b&gt;&lt;/blockquote&gt;
&lt;pre id=&quot;code_1670919766211&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SQL&amp;gt; create table p1(x int, xx int, xxx int)
partition by range (x)
(
    partition p1_1_100 values less than (100),
    partition p1_101_200 values less than (200),
    partition p1_201_300 values less than (300),
    partition p1_301_400 values less than (400  2    3    4    5    6    7  ),
    partition p1_401_500 values less than (500),
    partition p1_maxvalue values less than (maxvalue)
);  8    9   10  

Table created.

SQL&amp;gt; insert into p1(x) select level from dual connect by level &amp;lt;=500;

500 rows created.

SQL&amp;gt; commit;

Commit complete.

SQL&amp;gt; alter table p1 add constraint pk_p1_x primary key (x);

Table altered.

SQL&amp;gt; alter table p1 truncate partition p1_1_100;

Table truncated.

SQL&amp;gt; insert into p1(x) select level from dual connect by level &amp;lt;=1;
insert into p1(x) select level from dual connect by level &amp;lt;=1
*
ERROR at line 1:
ORA-01502: index 'SYS.PK_P1_X' or partition of such index is in unusable state&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;ORA-01502 조치&lt;/b&gt;&lt;/blockquote&gt;
&lt;pre id=&quot;code_1670919872146&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SQL&amp;gt; drop table p1;

Table dropped.

SQL&amp;gt; create table p1(x int, xx int, xxx int)
partition by range (x)
(
    partition p1_1_100 values less than (100),
    partition p1_101_200 values less than (200),
    partition p1_201_300 values less than (300),
    partition p1_301_400 values less than (400),
    partition p1_401_500 values less than (500),
    partition p1_maxvalue values less than (maxvalue)
);  2    3    4    5    6    7    8    9   10  

Table created.

SQL&amp;gt; insert into p1(x) select level from dual connect by level &amp;lt;=500;

500 rows created.

SQL&amp;gt; commit;

Commit complete.

SQL&amp;gt; create unique index pk_p1_x on p1(x) local;

Index created.

SQL&amp;gt; alter table p1 add constraint pk_p1_x primary key (x);

Table altered.

SQL&amp;gt; alter table p1 truncate partition p1_1_100;

Table truncated.

SQL&amp;gt; insert into p1(x) select level from dual connect by level &amp;lt;=1;

1 row created.&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;599&quot; data-origin-height=&quot;226&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cU7ApW/btrTu16VJMQ/CGmKti6jKBaJhHPoNJn9T1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cU7ApW/btrTu16VJMQ/CGmKti6jKBaJhHPoNJn9T1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cU7ApW/btrTu16VJMQ/CGmKti6jKBaJhHPoNJn9T1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcU7ApW%2FbtrTu16VJMQ%2FCGmKti6jKBaJhHPoNJn9T1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;599&quot; height=&quot;226&quot; data-origin-width=&quot;599&quot; data-origin-height=&quot;226&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;</description>
      <category>RDBMS/ORACLE &amp;amp; TIBERO</category>
      <category>ORA-01502</category>
      <category>Oracle</category>
      <category>partition</category>
      <category>파티션 테이블</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/103</guid>
      <comments>https://junsuyoun.tistory.com/entry/ORA-01502-index-s-or-partition-of-such-index-is-in-unusabl#entry103comment</comments>
      <pubDate>Tue, 13 Dec 2022 17:26:53 +0900</pubDate>
    </item>
    <item>
      <title>top: command not found</title>
      <link>https://junsuyoun.tistory.com/entry/top-command-not-found</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;b&gt;top 유틸리티 설치&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;top&lt;/b&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;CentOS&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1670773996189&quot; class=&quot;angelscript&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@36db4f37d7cd /]# yum install -y procps&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Ubuntu&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1670773996189&quot; class=&quot;elixir&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;root@2e7d55ea6f88:/# apt-get install -y procps&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;838&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/J8bM0/btrTUDYev3E/2ouxT0qLNhjXIFbZzoKniK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/J8bM0/btrTUDYev3E/2ouxT0qLNhjXIFbZzoKniK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/J8bM0/btrTUDYev3E/2ouxT0qLNhjXIFbZzoKniK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJ8bM0%2FbtrTUDYev3E%2F2ouxT0qLNhjXIFbZzoKniK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;838&quot; height=&quot;370&quot; data-origin-width=&quot;838&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;패키지 매니저로 설치가 불가능한 경우 아래 링크를 통해 직접 파일로 다운 받아 설치 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure id=&quot;og_1670773996190&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  package  / utility / libarary 파일 다운로드&quot; data-og-description=&quot;리눅스 환경에서 yum 또는 apt-get과 같은 패키지 관리자로 패키지를 다운 받지 못할 때 파일로 준비해야 합니다. package, utility, librarary Repository CentOS Index of /centos mirror.navercorp.com CentOS..&quot; data-og-host=&quot;junsuyoun.tistory.com&quot; data-og-source-url=&quot;https://junsuyoun.tistory.com/46&quot; data-og-url=&quot;https://junsuyoun.tistory.com/46&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/MHa1H/hyPXOgnkl6/Fm3dsSq0Dkm3RvIGhKZD0K/img.png?width=800&amp;amp;height=498&amp;amp;face=0_0_800_498,https://scrap.kakaocdn.net/dn/fpMR7/hyPWOvvAvW/lv3KjknecrmJHjktUiQ4h1/img.png?width=800&amp;amp;height=498&amp;amp;face=0_0_800_498,https://scrap.kakaocdn.net/dn/7aOXY/hyPXLxaTI3/UsNK2oXn8gRXDkIQALuPU0/img.png?width=814&amp;amp;height=518&amp;amp;face=0_0_814_518&quot;&gt;&lt;a href=&quot;https://junsuyoun.tistory.com/46&quot; data-source-url=&quot;https://junsuyoun.tistory.com/46&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/MHa1H/hyPXOgnkl6/Fm3dsSq0Dkm3RvIGhKZD0K/img.png?width=800&amp;amp;height=498&amp;amp;face=0_0_800_498,https://scrap.kakaocdn.net/dn/fpMR7/hyPWOvvAvW/lv3KjknecrmJHjktUiQ4h1/img.png?width=800&amp;amp;height=498&amp;amp;face=0_0_800_498,https://scrap.kakaocdn.net/dn/7aOXY/hyPXLxaTI3/UsNK2oXn8gRXDkIQALuPU0/img.png?width=814&amp;amp;height=518&amp;amp;face=0_0_814_518');&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 package / utility / libarary 파일 다운로드&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;리눅스 환경에서 yum 또는 apt-get과 같은 패키지 관리자로 패키지를 다운 받지 못할 때 파일로 준비해야 합니다. package, utility, librarary Repository CentOS Index of /centos mirror.navercorp.com CentOS..&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;junsuyoun.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Operation System/Unix &amp;amp; Linux</category>
      <category>Linux</category>
      <category>Top</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/101</guid>
      <comments>https://junsuyoun.tistory.com/entry/top-command-not-found#entry101comment</comments>
      <pubDate>Mon, 12 Dec 2022 00:53:39 +0900</pubDate>
    </item>
    <item>
      <title>ORACLE PDB(Pluggable DB) characterset 변경</title>
      <link>https://junsuyoun.tistory.com/entry/ORACLE-PDBPluggable-DB-characterset-%EB%B3%80%EA%B2%BD</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;ORACLE 12c 부터 CDB 환경을 사용한다면, CDB가 아닌 PDB로 서비스 하고 있을 가능성이 크다.&lt;br /&gt;PDB의 characterset을 변경하는 것은 기존 CDB가 아닌 환경에서와 조금 다르며 하기 방법으로 가능하다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ 개발용 테스트를 위해 작성하였으며 실 업무에서는 검토가 필요하다&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NLS_CHARACTERSET=AL16UTF8&lt;/li&gt;
&lt;li&gt;NLS_NCHAR_CHARACTERSET=AL16UTF16&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;UTF8에서 EUCKR&amp;nbsp; 변경 진행, 데이터 없다는 전재하에 진행&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NLS_CHARACTERSET=KO16KSC5601&lt;/li&gt;
&lt;li&gt;NLS_NCHAR_CHARACTERSET=AL16UTF16&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;CDB 접속 및 PDB 확인&lt;/b&gt;&lt;/blockquote&gt;
&lt;pre id=&quot;code_1670206378611&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[oracle@56c517b8f964 ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Mon Dec 5 02:00:46 2022

Copyright (c) 1982, 2016, Oracle.  All rights reserved.


Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL&amp;gt; show con_name

CON_NAME
------------------------------
CDB$ROOT

set pagesize 1000
set linesize 500
col name for a30
col open_mode for a10
col open_time for a50
SQL&amp;gt; select name, open_mode, open_time from v$pdbs;

NAME			       OPEN_MODE  OPEN_TIME
------------------------------ ---------- --------------------------------------------------
PDB$SEED		       READ ONLY  07-NOV-22 05.32.42.299 AM +00:00
ORCLPDB1		       READ WRITE 05-DEC-22 01.25.52.367 AM +00:00&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;PDB 접속&lt;/b&gt;&lt;/blockquote&gt;
&lt;pre id=&quot;code_1670206404890&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SQL&amp;gt; alter session set container=ORCLPDB1;

Session altered.

SQL&amp;gt; show con_name  

CON_NAME
------------------------------
ORCLPDB1&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;PDB 중지&lt;/b&gt;&lt;/blockquote&gt;
&lt;pre id=&quot;code_1670206444330&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SQL&amp;gt; shutdown immediate
Pluggable Database closed.

set pagesize 1000
set linesize 500
col name for a30
col open_mode for a10
col open_time for a50
SQL&amp;gt; SELECT NAME, OPEN_MODE, RESTRICTED, OPEN_TIME FROM V$PDBS;
NAME			       OPEN_MODE  OPEN_TIME
------------------------------ ---------- --------------------------------------------------
ORCLPDB1		       READ WRITE 05-DEC-22 01.25.52.367 AM +00:00&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;restricted 활성 및 PDB open 진행&lt;/blockquote&gt;
&lt;pre id=&quot;code_1670206597067&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SQL&amp;gt; alter system enable restricted session;

System altered.

SQL&amp;gt; alter database open;

Database altered.&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;PDB characterset 변경 진행&lt;/blockquote&gt;
&lt;pre id=&quot;code_1670206619874&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;set linesize 300
col name for a30
col value$ for a30      
SQL&amp;gt; select name, value$ from sys.props$ where name in ('NLS_CHARACTERSET','NLS_NCHAR_CHARACTERSET');

NAME			       VALUE$
------------------------------ ------------------------------
NLS_NCHAR_CHARACTERSET	       AL16UTF16
NLS_CHARACTERSET	       AL16UTF8

SQL&amp;gt; alter database character set internal_use ko16ksc5601;

Database altered.

SQL&amp;gt; alter database character set ko16ksc5601;

Database altered.

set linesize 300
col name for a30
col value$ for a30      
SQL&amp;gt; select name, value$ from sys.props$ where name in ('NLS_CHARACTERSET','NLS_NCHAR_CHARACTERSET');

NAME			       VALUE$
------------------------------ ------------------------------
NLS_NCHAR_CHARACTERSET	       AL16UTF16
NLS_CHARACTERSET	       KO16MSWIN949&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;ERROR&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;ORA-12719: operation requires database is in RESTRICTED mode&lt;br /&gt;- alter system enable restricted session; 수행 후 진행&lt;/li&gt;
&lt;li&gt;ORA-00604:&amp;nbsp;error&amp;nbsp;occurred&amp;nbsp;at&amp;nbsp;recursive&amp;nbsp;SQL&amp;nbsp;level&amp;nbsp;1&lt;br /&gt;ORA-01109:&amp;nbsp;database&amp;nbsp;not&amp;nbsp;open&lt;br /&gt;- alter database open; 수행 후 진행&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 처럼 PDB의 characterset을 변경하는 방법에 대해 알아 봤습니다.&lt;/p&gt;
&lt;figure id=&quot;og_1670206806175&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;ORACLE Multitenant Architecture CDB, PDB&quot; data-og-description=&quot;기존 ORACLE은 1ENGINE에 1INSTANCE 구성으로 데이터베이스를 운영해왔습니다. (경우에 따라 환경 변수를 바꿔 1ENGINE에 여러개의 INSTANCE를 구성할 수 있지만, 권장은 아님) ORACLE 12c 부터 &amp;quot;Multitenant Architec&quot; data-og-host=&quot;junsuyoun.tistory.com&quot; data-og-source-url=&quot;https://junsuyoun.tistory.com/88&quot; data-og-url=&quot;https://junsuyoun.tistory.com/88&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bedJfd/hyQMxT1NDR/CbZA4UgPkDAOTfVYzAk2mk/img.png?width=549&amp;amp;height=522&amp;amp;face=0_0_549_522,https://scrap.kakaocdn.net/dn/eJqIiI/hyQMBvnC7c/vpaz9Fp6AFUCZWVmPnx570/img.png?width=549&amp;amp;height=522&amp;amp;face=0_0_549_522,https://scrap.kakaocdn.net/dn/J4M9W/hyQMETbD5y/LktlfNBnnFlr7nxuiub35k/img.png?width=1200&amp;amp;height=1039&amp;amp;face=0_0_1200_1039&quot;&gt;&lt;a href=&quot;https://junsuyoun.tistory.com/88&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://junsuyoun.tistory.com/88&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bedJfd/hyQMxT1NDR/CbZA4UgPkDAOTfVYzAk2mk/img.png?width=549&amp;amp;height=522&amp;amp;face=0_0_549_522,https://scrap.kakaocdn.net/dn/eJqIiI/hyQMBvnC7c/vpaz9Fp6AFUCZWVmPnx570/img.png?width=549&amp;amp;height=522&amp;amp;face=0_0_549_522,https://scrap.kakaocdn.net/dn/J4M9W/hyQMETbD5y/LktlfNBnnFlr7nxuiub35k/img.png?width=1200&amp;amp;height=1039&amp;amp;face=0_0_1200_1039');&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;ORACLE Multitenant Architecture CDB, PDB&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;기존 ORACLE은 1ENGINE에 1INSTANCE 구성으로 데이터베이스를 운영해왔습니다. (경우에 따라 환경 변수를 바꿔 1ENGINE에 여러개의 INSTANCE를 구성할 수 있지만, 권장은 아님) ORACLE 12c 부터 &quot;Multitenant Architec&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;junsuyoun.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;599&quot; data-origin-height=&quot;226&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/UdJsZ/btrSLIzE19j/M8CGtyMiHuS9fRLTZTsvLk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/UdJsZ/btrSLIzE19j/M8CGtyMiHuS9fRLTZTsvLk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/UdJsZ/btrSLIzE19j/M8CGtyMiHuS9fRLTZTsvLk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUdJsZ%2FbtrSLIzE19j%2FM8CGtyMiHuS9fRLTZTsvLk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;599&quot; height=&quot;226&quot; data-origin-width=&quot;599&quot; data-origin-height=&quot;226&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>RDBMS/ORACLE &amp;amp; TIBERO</category>
      <category>characterset</category>
      <category>Oracle</category>
      <category>pdb</category>
      <category>RDBMS</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/100</guid>
      <comments>https://junsuyoun.tistory.com/entry/ORACLE-PDBPluggable-DB-characterset-%EB%B3%80%EA%B2%BD#entry100comment</comments>
      <pubDate>Mon, 5 Dec 2022 11:20:37 +0900</pubDate>
    </item>
    <item>
      <title>LINUX 숫자 1부터 n까지 / 알파뱃 a부터z   데이터 만들기</title>
      <link>https://junsuyoun.tistory.com/entry/LINUX-%EC%88%AB%EC%9E%90-1%EB%B6%80%ED%84%B0-n%EA%B9%8C%EC%A7%80-%EC%95%8C%ED%8C%8C%EB%B1%83-a%EB%B6%80%ED%84%B0z-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%A7%8C%EB%93%A4%EA%B8%B0</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;linux 환경에서 테스트를 위해 데이터를 만들고 싶을 때 사용하는 방법 입니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;숫자 1부터 n까지&lt;/b&gt;&lt;/blockquote&gt;
&lt;pre id=&quot;code_1670164406923&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@ad8772d8134e alpha]# for nm in {1..15}; do echo $nm; done
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;알파벳 a부터 z까지 (소문자)&lt;/b&gt;&lt;/blockquote&gt;
&lt;pre id=&quot;code_1670164430472&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@ad8772d8134e alpha]# for nm in {a..z}; do echo $nm; done
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;알파벳 A부터 Z까지 (대문자)&lt;/b&gt;&lt;/blockquote&gt;
&lt;pre id=&quot;code_1670164530060&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[root@ad8772d8134e alpha]# for nm in {A..Z}; do echo $nm; done
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;줄바꿈 없애기&lt;/b&gt;&lt;/blockquote&gt;
&lt;pre id=&quot;code_1670164693474&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# echo -n 옵션 사용 시 마지막 줄바꿈이 되지 않는 경우 마지막에 echo를 추가한다.
[root@ad8772d8134e alpha]# for nm in {1..10}; do echo -n $nm; done
12345678910[root@ad8772d8134e alpha]# 

[root@ad8772d8134e alpha]# for nm in {a..z}; do echo -n $nm; done
abcdefghijklmnopqrstuvwxyz[root@ad8772d8134e alpha]# 

[root@ad8772d8134e alpha]# for nm in {A..Z}; do echo -n $nm; done
ABCDEFGHIJKLMNOPQRSTUVWXYZ[root@ad8772d8134e alpha]# 

# echo 및 printf로 마지막 줄바꿈 적용하기
# UNIX에서 echo -n 옵션이 적용 되지 않는 겨웅 printf 활용 가능
[root@ad8772d8134e alpha]# for nm in {1..10}; do echo -n $nm; done;echo 
12345678910
[root@ad8772d8134e alpha]# for nm in {a..z}; do echo -n $nm; done;echo 
abcdefghijklmnopqrstuvwxyz
[root@ad8772d8134e alpha]# for nm in {A..Z}; do echo -n $nm; done;echo 
ABCDEFGHIJKLMNOPQRSTUVWXYZ
[root@ad8772d8134e alpha]# for nm in {1..10}; do printf $nm; done; printf &quot;\n&quot;
12345678910
[root@ad8772d8134e alpha]# for nm in {a..z}; do printf $nm; done; printf &quot;\n&quot;
abcdefghijklmnopqrstuvwxyz
[root@ad8772d8134e alpha]# for nm in {A..Z}; do printf $nm; done; printf &quot;\n&quot;
ABCDEFGHIJKLMNOPQRSTUVWXYZ&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;639&quot; data-origin-height=&quot;365&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8fCDS/btrSN2c145m/T75kcjgJCC8qAcuwLvYfD0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8fCDS/btrSN2c145m/T75kcjgJCC8qAcuwLvYfD0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8fCDS/btrSN2c145m/T75kcjgJCC8qAcuwLvYfD0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8fCDS%2FbtrSN2c145m%2FT75kcjgJCC8qAcuwLvYfD0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;639&quot; height=&quot;365&quot; data-origin-width=&quot;639&quot; data-origin-height=&quot;365&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Operation System/Unix &amp;amp; Linux</category>
      <category>echo</category>
      <category>Linux</category>
      <category>printf</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/99</guid>
      <comments>https://junsuyoun.tistory.com/entry/LINUX-%EC%88%AB%EC%9E%90-1%EB%B6%80%ED%84%B0-n%EA%B9%8C%EC%A7%80-%EC%95%8C%ED%8C%8C%EB%B1%83-a%EB%B6%80%ED%84%B0z-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%A7%8C%EB%93%A4%EA%B8%B0#entry99comment</comments>
      <pubDate>Sun, 4 Dec 2022 23:39:18 +0900</pubDate>
    </item>
    <item>
      <title>브레이브(brave), 웨일(whale) 웹 브라우저 리소스 사용량 확인 해보기</title>
      <link>https://junsuyoun.tistory.com/entry/%EB%B8%8C%EB%A0%88%EC%9D%B4%EB%B8%8Cbrave-%EC%9B%A8%EC%9D%BCwhale-%EC%9B%B9-%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80-%EB%A6%AC%EC%86%8C%EC%8A%A4-%EC%82%AC%EC%9A%A9%EB%9F%89-%ED%99%95%EC%9D%B8-%ED%95%B4%EB%B3%B4%EA%B8%B0</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;웹 서핑을 하다 보면 가끔씩 컴퓨터가 느려지는 경우가 있다. 웹 브라우저에서 너무 많은 리소스를 처리하는 경우 가벼워 보이던 웹 브라우저가 고사양 게임 프로그램에서 사용하는 자원만큼 사용하는 상황이 발생할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 상황에서 2가지의 웹 브라우저 리소스 사용량을 측정해보았습니다. 두 브라우저는 구글 크롬에서 사용하는 Chromium 엔진을 사용하고 있습니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;시스템 설정&lt;/b&gt;&lt;/h2&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;barve&lt;/b&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_blob&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;256&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GKQ2p/btrSKQYvqPB/yom364Sxsz0GexGWGsA7c1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GKQ2p/btrSKQYvqPB/yom364Sxsz0GexGWGsA7c1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GKQ2p/btrSKQYvqPB/yom364Sxsz0GexGWGsA7c1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGKQ2p%2FbtrSKQYvqPB%2Fyom364Sxsz0GexGWGsA7c1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;652&quot; height=&quot;278&quot; data-filename=&quot;edited_blob&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;256&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;whale&lt;br /&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;652&quot; data-origin-height=&quot;196&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZBaoG/btrSM3b0aV0/yas0cOapJ5BqokAibnzEf0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZBaoG/btrSM3b0aV0/yas0cOapJ5BqokAibnzEf0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZBaoG/btrSM3b0aV0/yas0cOapJ5BqokAibnzEf0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZBaoG%2FbtrSM3b0aV0%2Fyas0cOapJ5BqokAibnzEf0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;652&quot; height=&quot;196&quot; data-origin-width=&quot;652&quot; data-origin-height=&quot;196&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;비교 결과&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 76px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style8&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px; text-align: center;&quot;&gt;&lt;b&gt;구분&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px; text-align: center;&quot;&gt;&lt;b&gt;CPU&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px; text-align: center;&quot;&gt;&lt;b&gt;Memory&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 16px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 16px;&quot;&gt;4K 동영상 1분간 재생&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 16px; text-align: center;&quot;&gt;비슷&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 16px; text-align: center;&quot;&gt;brave 약 200MB 추가 사용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;HD 동영상 1분간 재생&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px; text-align: center;&quot;&gt;비슷&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px; text-align: center;&quot;&gt;brave 약 200MB 추가 사용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;탭 3개 1초 마다 새로고침 1분 동안 수행&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px; text-align: center;&quot;&gt;brave 약 10% 추가 사용&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px; text-align: center;&quot;&gt;brave 약 200MB 추가 사용&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;4K 동영상 1분간 재생 (동일 동영상)&lt;/b&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;brave&lt;/b&gt;&lt;/blockquote&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;kakaotv&quot; data-video-url=&quot;https://tv.kakao.com/v/434001202&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/CwBkL/hyQNKRyELV/RwZJjomyzCiUyN9J9ddeJk/img.jpg?width=1140&amp;amp;height=766&amp;amp;face=0_0_1140_766,https://scrap.kakaocdn.net/dn/APkA2/hyQL8fWVtM/xbhkrAOKNqUOFKJTksmBRk/img.jpg?width=1140&amp;amp;height=766&amp;amp;face=0_0_1140_766&quot; data-video-width=&quot;860&quot; data-video-height=&quot;578&quot; data-video-origin-width=&quot;860&quot; data-video-origin-height=&quot;578&quot; data-ke-mobilestyle=&quot;widthContent&quot; data-video-play-service=&quot;daum_tistory&quot;&gt;&lt;iframe src=&quot;https://play-tv.kakao.com/embed/player/cliplink/434001202?service=daum_tistory&quot; width=&quot;860&quot; height=&quot;578&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;whale&lt;/b&gt;&lt;/blockquote&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;kakaotv&quot; data-video-url=&quot;https://tv.kakao.com/v/434001223&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/cueEss/hyQMx7kA0h/dsUfDK8awk5LTOHuZQKHhK/img.jpg?width=1140&amp;amp;height=766&amp;amp;face=0_0_1140_766,https://scrap.kakaocdn.net/dn/qSimb/hyQMAXfTOl/KKYhdMFQLKfnqIZUyfKfc0/img.jpg?width=1140&amp;amp;height=766&amp;amp;face=0_0_1140_766&quot; data-video-width=&quot;860&quot; data-video-height=&quot;578&quot; data-video-origin-width=&quot;860&quot; data-video-origin-height=&quot;578&quot; data-ke-mobilestyle=&quot;widthContent&quot; data-video-play-service=&quot;daum_tistory&quot;&gt;&lt;iframe src=&quot;https://play-tv.kakao.com/embed/player/cliplink/434001223?service=daum_tistory&quot; width=&quot;860&quot; height=&quot;578&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;HD 동영상 1분간 재생 (동일 동영상)&lt;/b&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;brave&lt;/b&gt;&lt;/blockquote&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;kakaotv&quot; data-video-url=&quot;https://tv.kakao.com/v/434001275&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/gHNwM/hyQNShKtPQ/rl3jnMLXuHiTRUFqwhborK/img.jpg?width=1140&amp;amp;height=766&amp;amp;face=0_0_1140_766,https://scrap.kakaocdn.net/dn/c1FbBo/hyQMDTZbos/uW7WXOxZ9syv4TgY4Ihqj1/img.jpg?width=1140&amp;amp;height=766&amp;amp;face=0_0_1140_766&quot; data-video-width=&quot;860&quot; data-video-height=&quot;578&quot; data-video-origin-width=&quot;860&quot; data-video-origin-height=&quot;578&quot; data-ke-mobilestyle=&quot;widthContent&quot; data-video-play-service=&quot;daum_tistory&quot;&gt;&lt;iframe src=&quot;https://play-tv.kakao.com/embed/player/cliplink/434001275?service=daum_tistory&quot; width=&quot;860&quot; height=&quot;578&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;whale&lt;/b&gt;&lt;/blockquote&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;kakaotv&quot; data-video-url=&quot;https://tv.kakao.com/v/434001284&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/xidtR/hyQNWqUB8h/9RikUxyJAFiekZTVSStIT1/img.jpg?width=1140&amp;amp;height=766&amp;amp;face=0_0_1140_766,https://scrap.kakaocdn.net/dn/4lkM1/hyQNZHWQM3/s4GqXZKXa35D30zfUOSRhK/img.jpg?width=1140&amp;amp;height=766&amp;amp;face=0_0_1140_766&quot; data-video-width=&quot;860&quot; data-video-height=&quot;578&quot; data-video-origin-width=&quot;860&quot; data-video-origin-height=&quot;578&quot; data-ke-mobilestyle=&quot;widthContent&quot; data-video-play-service=&quot;daum_tistory&quot;&gt;&lt;iframe src=&quot;https://play-tv.kakao.com/embed/player/cliplink/434001284?service=daum_tistory&quot; width=&quot;860&quot; height=&quot;578&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;탭 3개에서 1초 마다 네이버 페이지 새로고침&lt;/b&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;brave&lt;/b&gt;&lt;/blockquote&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;kakaotv&quot; data-video-url=&quot;https://tv.kakao.com/v/434001313&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/bHS6aP/hyQMCHxbAZ/3WC9RJyzJuoKhkaITTgW7K/img.jpg?width=1140&amp;amp;height=766&amp;amp;face=0_0_1140_766,https://scrap.kakaocdn.net/dn/cCO1vU/hyQMvn7Wmc/MsiedH3ychmAKx2SC4XlX1/img.jpg?width=1140&amp;amp;height=766&amp;amp;face=0_0_1140_766&quot; data-video-width=&quot;860&quot; data-video-height=&quot;578&quot; data-video-origin-width=&quot;860&quot; data-video-origin-height=&quot;578&quot; data-ke-mobilestyle=&quot;widthContent&quot; data-video-play-service=&quot;daum_tistory&quot;&gt;&lt;iframe src=&quot;https://play-tv.kakao.com/embed/player/cliplink/434001313?service=daum_tistory&quot; width=&quot;860&quot; height=&quot;578&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;whale&lt;/b&gt;&lt;/blockquote&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;kakaotv&quot; data-video-url=&quot;https://tv.kakao.com/v/434001320&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/cTLFqn/hyQMDNce3F/Oa14zJAaJ1n6uFDQSTKyhk/img.jpg?width=1140&amp;amp;height=766&amp;amp;face=0_0_1140_766,https://scrap.kakaocdn.net/dn/h0srR/hyQL79atPE/sJqR9CIccjUehG5x8lkiWk/img.jpg?width=1140&amp;amp;height=766&amp;amp;face=0_0_1140_766&quot; data-video-width=&quot;860&quot; data-video-height=&quot;578&quot; data-video-origin-width=&quot;860&quot; data-video-origin-height=&quot;578&quot; data-ke-mobilestyle=&quot;widthContent&quot; data-video-play-service=&quot;daum_tistory&quot;&gt;&lt;iframe src=&quot;https://play-tv.kakao.com/embed/player/cliplink/434001320?service=daum_tistory&quot; width=&quot;860&quot; height=&quot;578&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;672&quot; data-origin-height=&quot;328&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/l9NPg/btrSOypiVNY/w9Hxo81KZzKvkLLMAhS8Dk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/l9NPg/btrSOypiVNY/w9Hxo81KZzKvkLLMAhS8Dk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/l9NPg/btrSOypiVNY/w9Hxo81KZzKvkLLMAhS8Dk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fl9NPg%2FbtrSOypiVNY%2Fw9Hxo81KZzKvkLLMAhS8Dk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;672&quot; height=&quot;328&quot; data-origin-width=&quot;672&quot; data-origin-height=&quot;328&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Operation System/Windows</category>
      <category>brave</category>
      <category>CPU 사용량</category>
      <category>Memory 사용량</category>
      <category>Whale</category>
      <category>브레이브</category>
      <category>웨일</category>
      <category>웹 브라우저</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/98</guid>
      <comments>https://junsuyoun.tistory.com/entry/%EB%B8%8C%EB%A0%88%EC%9D%B4%EB%B8%8Cbrave-%EC%9B%A8%EC%9D%BCwhale-%EC%9B%B9-%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80-%EB%A6%AC%EC%86%8C%EC%8A%A4-%EC%82%AC%EC%9A%A9%EB%9F%89-%ED%99%95%EC%9D%B8-%ED%95%B4%EB%B3%B4%EA%B8%B0#entry98comment</comments>
      <pubDate>Sun, 4 Dec 2022 20:33:41 +0900</pubDate>
    </item>
    <item>
      <title>리눅스 파일 삭제 되지 않는 경우 (inode 삭제)</title>
      <link>https://junsuyoun.tistory.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4-%ED%8C%8C%EC%9D%BC-%EC%82%AD%EC%A0%9C-%EB%90%98%EC%A7%80-%EC%95%8A%EB%8A%94-%EA%B2%BD%EC%9A%B0-inode-%EC%82%AD%EC%A0%9C</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;리눅스에서 파일 또는 디렉토리를 업로드하거나 생성할 때 문자셋이 깨져 해당 파일을 제어하지 못하는 경우가 생깁니다.이런 경우 아무리 문자를 맞추려고 해도 되지 않고&amp;nbsp; 애스터리스크를 주어 찾으려고 해도 안됩니다. 이런 경우 inode를 통해 해당 파일을 찾아 삭제할 수 있습니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;문자 깨짐 파일 확인&lt;/blockquote&gt;
&lt;pre id=&quot;code_1670076847098&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;junsu@junsu-desktop:~$ ls -lrt
합계 52
drwxr-xr-x 2 junsu junsu 4096  2월  4  2021  템플릿
drwxr-xr-x 2 junsu junsu 4096  2월  4  2021  음악
drwxr-xr-x 2 junsu junsu 4096  2월  4  2021  비디오
drwxr-xr-x 2 junsu junsu 4096  2월  4  2021  바탕화면
drwxr-xr-x 2 junsu junsu 4096  2월  4  2021  문서
drwxr-xr-x 2 junsu junsu 4096  2월  4  2021  공개
drwxr-xr-x 2 junsu junsu 4096  5월 29  2021  사진
drwxr-xr-x 2 junsu junsu 4096  7월 27  2021  다운로드
drwxrwxr-x 2 junsu junsu 4096 11월 22 15:54 ''$'\300\261\301''ؼ'&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;파일들의 inode 확인 명령&amp;nbsp;&lt;/blockquote&gt;
&lt;pre id=&quot;code_1670076881429&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;junsu@junsu-desktop:~$ ls -lrti
합계 52
6684737 drwxr-xr-x 2 junsu junsu 4096  2월  4  2021  템플릿
6684740 drwxr-xr-x 2 junsu junsu 4096  2월  4  2021  음악
6684742 drwxr-xr-x 2 junsu junsu 4096  2월  4  2021  비디오
6684735 drwxr-xr-x 2 junsu junsu 4096  2월  4  2021  바탕화면
6684739 drwxr-xr-x 2 junsu junsu 4096  2월  4  2021  문서
6684738 drwxr-xr-x 2 junsu junsu 4096  2월  4  2021  공개
6684741 drwxr-xr-x 2 junsu junsu 4096  5월 29  2021  사진
6684736 drwxr-xr-x 2 junsu junsu 4096  7월 27  2021  다운로드
6816358 drwxrwxr-x 2 junsu junsu 4096 11월 22 15:54 ''$'\300\261\301''ؼ'&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ls 명령의 i 옵션을 추가하여 확인&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;문자 깨진 파일 삭제&lt;/blockquote&gt;
&lt;pre id=&quot;code_1670076913061&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;junsu@junsu-desktop:~$ find . -inum 6816358 -exec rm -rf {} \;
junsu@junsu-desktop:~$ ls -lrt
합계 48
drwxr-xr-x 2 junsu junsu 4096  2월  4  2021 템플릿
drwxr-xr-x 2 junsu junsu 4096  2월  4  2021 음악
drwxr-xr-x 2 junsu junsu 4096  2월  4  2021 비디오
drwxr-xr-x 2 junsu junsu 4096  2월  4  2021 바탕화면
drwxr-xr-x 2 junsu junsu 4096  2월  4  2021 문서
drwxr-xr-x 2 junsu junsu 4096  2월  4  2021 공개
drwxr-xr-x 2 junsu junsu 4096  5월 29  2021 사진
drwxr-xr-x 2 junsu junsu 4096  7월 27  2021 다운로드&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;삭제하지 않고 파일명 변경&lt;/blockquote&gt;
&lt;pre id=&quot;code_1670077093403&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;junsu@junsu-desktop:~$ ls -rlti
6685011 drwxr-xr-x 2 junsu junsu 4096 Dec  3 23:15 ''$'\354\202\254\354\247\204\354\235\264\353\213\244\354\202\254\354\247\204'

junsu@junsu-desktop:~$ find . -inum 6685011 -exec mv  {} inode_test_file \;


junsu@junsu-desktop:~$ ls -rlti
6685011 drwxr-xr-x 2 junsu junsu 4096 12월  3 23:15 inode_test_file&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;639&quot; data-origin-height=&quot;365&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ve7zi/btrSIpnbnon/R1bPRIZyP0NXwmUzoxChTk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ve7zi/btrSIpnbnon/R1bPRIZyP0NXwmUzoxChTk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ve7zi/btrSIpnbnon/R1bPRIZyP0NXwmUzoxChTk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fve7zi%2FbtrSIpnbnon%2FR1bPRIZyP0NXwmUzoxChTk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;639&quot; height=&quot;365&quot; data-origin-width=&quot;639&quot; data-origin-height=&quot;365&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Operation System/Unix &amp;amp; Linux</category>
      <category>inode</category>
      <category>Linux</category>
      <category>rm</category>
      <category>문자깨짐</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/97</guid>
      <comments>https://junsuyoun.tistory.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4-%ED%8C%8C%EC%9D%BC-%EC%82%AD%EC%A0%9C-%EB%90%98%EC%A7%80-%EC%95%8A%EB%8A%94-%EA%B2%BD%EC%9A%B0-inode-%EC%82%AD%EC%A0%9C#entry97comment</comments>
      <pubDate>Sat, 3 Dec 2022 23:19:15 +0900</pubDate>
    </item>
    <item>
      <title>CUBRID 문자셋(characterset) 확인하기</title>
      <link>https://junsuyoun.tistory.com/entry/CUBRID-%EB%AC%B8%EC%9E%90%EC%85%8Bcharacterset-%ED%99%95%EC%9D%B8%ED%95%98%EA%B8%B0</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;CUBRID characterset 확인&lt;/b&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CUBRID 8.x 버전까지느 클라이언트 characterset에 의해 데이터가 입력 됬습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;9.x 버전 이후 부터는 DB characterset이 생겼으며, 9.x 이후 버전부터 characterset을 확인할 수 있습니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;CUBRID 9.x SQL&lt;/b&gt;&lt;/blockquote&gt;
&lt;pre id=&quot;code_1670069966436&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;csql&amp;gt; SELECT * FROM db_collation;

=== &amp;lt;Result of SELECT Command in Line 1&amp;gt; ===

      coll_id  coll_name             charset_name          is_builtin            has_expansions        contractions  uca_strength
=========================================================================================================================================
            0  'iso88591_bin'        'iso88591'            'Yes'                 'No'                             0  'Not applicable'
            1  'utf8_bin'            'utf8'                'Yes'                 'No'                             0  'Not applicable'
            2  'iso88591_en_cs'      'iso88591'            'Yes'                 'No'                             0  'Not applicable'
            3  'iso88591_en_ci'      'iso88591'            'Yes'                 'No'                             0  'Not applicable'
            4  'utf8_en_cs'          'utf8'                'Yes'                 'No'                             0  'Not applicable'
            5  'utf8_en_ci'          'utf8'                'Yes'                 'No'                             0  'Not applicable'
            6  'utf8_tr_cs'          'utf8'                'Yes'                 'No'                             0  'Not applicable'
            7  'utf8_ko_cs'          'utf8'                'Yes'                 'No'                             0  'Not applicable'
            8  'euckr_bin'           'euckr'               'Yes'                 'No'                             0  'Not applicable'
            
csql&amp;gt; SELECT * FROM db_root;

=== &amp;lt;Result of SELECT Command in Line 2&amp;gt; ===

  triggers                  charset  lang
=========================================================
  NULL                            5  'ko_KR'&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;db_root 결과의 charset 값이 db_collation과 대응 되는 것을 확인 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;CUBRID 10.x SQL&lt;/b&gt;&lt;/blockquote&gt;
&lt;pre id=&quot;code_1670075661098&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;csql&amp;gt; select * from db_collation;

=== &amp;lt;Result of SELECT Command in Line 1&amp;gt; ===

      coll_id  coll_name             charset_name          is_builtin            has_expansions        contractions  uca_strength        
=========================================================================================================================================
            0  'iso88591_bin'        'iso88591'            'Yes'                 'No'                             0  'Not applicable'    
            1  'utf8_bin'            'utf8'                'Yes'                 'No'                             0  'Not applicable'    
            2  'iso88591_en_cs'      'iso88591'            'Yes'                 'No'                             0  'Not applicable'    
            3  'iso88591_en_ci'      'iso88591'            'Yes'                 'No'                             0  'Not applicable'    
            4  'utf8_en_cs'          'utf8'                'Yes'                 'No'                             0  'Not applicable'    
            5  'utf8_en_ci'          'utf8'                'Yes'                 'No'                             0  'Not applicable'    
            6  'utf8_tr_cs'          'utf8'                'Yes'                 'No'                             0  'Not applicable'    
            7  'utf8_ko_cs'          'utf8'                'Yes'                 'No'                             0  'Not applicable'    
            8  'euckr_bin'           'euckr'               'Yes'                 'No'                             0  'Not applicable'    
            9  'binary'              'binary'              'Yes'                 'No'                             0  'Not applicable'
            
csql&amp;gt; select * from db_root;

=== &amp;lt;Result of SELECT Command in Line 1&amp;gt; ===

  triggers                  charset  lang                  timezone_checksum   
===============================================================================
  NULL                            5  'ko_KR'               '6c6bfa7d1ea390048a392519dd349888'

1 row selected. (0.005479 sec) Committed. (0.000257 sec) 

1 command(s) successfully processed.&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;db_root 결과의 charset 값이 db_collation과 대응 되는 것을 확인 합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1670075768187&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT 
    A.charset_name AS charset,
    B.lang AS LANG
FROM
    db_charset A INNER JOIN db_root B ON A.charset_id = b.charset&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;358&quot; data-origin-height=&quot;355&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bjNIjG/btrSIrd84Us/Rt2tD0uBhJzpKgXoTnv141/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bjNIjG/btrSIrd84Us/Rt2tD0uBhJzpKgXoTnv141/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bjNIjG/btrSIrd84Us/Rt2tD0uBhJzpKgXoTnv141/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbjNIjG%2FbtrSIrd84Us%2FRt2tD0uBhJzpKgXoTnv141%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;358&quot; height=&quot;355&quot; data-origin-width=&quot;358&quot; data-origin-height=&quot;355&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>RDBMS/CUBRID &amp;amp; PostgreSQL</category>
      <category>characterset</category>
      <category>CharSet</category>
      <category>CUBRID</category>
      <category>문자셋</category>
      <author>junsuyoun</author>
      <guid isPermaLink="true">https://junsuyoun.tistory.com/96</guid>
      <comments>https://junsuyoun.tistory.com/entry/CUBRID-%EB%AC%B8%EC%9E%90%EC%85%8Bcharacterset-%ED%99%95%EC%9D%B8%ED%95%98%EA%B8%B0#entry96comment</comments>
      <pubDate>Sat, 3 Dec 2022 22:56:15 +0900</pubDate>
    </item>
  </channel>
</rss>