{"id":2486,"date":"2018-01-28T16:09:26","date_gmt":"2018-01-28T07:09:26","guid":{"rendered":"http:\/\/haisins.epac.to\/wordpress\/?p=2486"},"modified":"2018-01-28T16:12:34","modified_gmt":"2018-01-28T07:12:34","slug":"db-admin-oracle-%ec%9d%98-lob-%ec%9d%b4%eb%9e%80","status":"publish","type":"post","link":"http:\/\/haisins.synology.me\/wordpress\/?p=2486","title":{"rendered":"[DB Admin] Oracle \uc758 LOB \uc774\ub780 ?"},"content":{"rendered":"<h2><a name=\"_Toc515889984\"><\/a>LOB Enhancement<\/h2>\n<p>Oracle 8.0\ubc84\uc804\ubd80\ud130 LOB\uc774\ub77c\ub294 \ub370\uc774\ud130\ud0c0\uc785\uc774 \uc18c\uac1c\ub418\uc5c8\uace0 \uc5ec\ub7ec \uac00\uc9c0 \uae30\ub2a5\ub54c\ubb38\uc5d0<\/p>\n<p>LONG \ub370\uc774\ud130\ud0c0\uc785\ubcf4\ub2e4\ub294 LOB\uc744 \uc0ac\uc6a9\ud558\ub3c4\ub85d \uad8c\uc7a5\ud558\uace0 \uc788\ub2e4. LONG\uacfc LOB\uc744 \uac04\ub2e8\ud788 \ube44\uad50\ud574 \ubcf4\uba74 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n<p><strong>LOB\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 LONG<\/p>\n<p><\/strong>4 Gigabyte\uae4c\uc9c0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2 Gigabyte<br \/>\nRandom piecewise access\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Sequential access<br \/>\nTable\ub2f9 \uc5ec\ub7ec \uac1c column\uac00\ub2a5\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Single Long<br \/>\n\ub530\ub85c Storage\uc9c0\uc815 \uac00\ub2a5\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Table\ub0b4\uc5d0 \uc800\uc7a5<\/p>\n<p>Aggregate data type attributes<\/p>\n<p>Oracle9i\uc5d0\uc11c LOB\uc744 \uc0ac\uc6a9\ud558\uae30 \uc704\ud574 \ucd94\uac00\ub41c \uae30\ub2a5\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n<ul>\n<li>Migrating LONG to LOB<\/li>\n<li>LOB enhancements in SQL and PL\/SQL<\/li>\n<li>LONG API for LOBs<\/li>\n<\/ul>\n<p>\uc774 \uc7a5\uc5d0\uc11c\ub294 OCI\ubd80\ubd84\uc744 \uc81c\uc678\ud55c \ub098\uba38\uc9c0 \uac01\uac01\uc758 \uac04\ub2e8\ud55c \uc608\uc81c\ub4e4\uc744 \ud14c\uc2a4\ud2b8 \ud574 \ubcf4\uc558\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<h3><a name=\"_Toc515889985\"><\/a>Oracle9i LONG to LOB Migration<\/h3>\n<p>Oracle8i\uc5d0\uc11c\ub294 CREATE TABLE AS, INSERT INTO AS\uad6c\ubb38\uc5d0 TO_LOB()\uc744 \uc774\uc6a9\ud558\uc5ec, LONG data\ub97c LOB\uc73c\ub85c \ubcf5\uc0ac\ud558\uc600\ub2e4. \uc774 \ub54c\uc5d0\ub294 \ubaa8\ub4e0 Constraint, Trigger, Index\ub97c \ub2e4\uc2dc \ub9cc\ub4e4\uc5b4 \uc8fc\uc5b4\uc57c \ud588\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<p>&#8212; Oracle 8i\uc5d0\uc11c\uc758 Migration<\/p>\n<p>CREATE TABLE Long_tab (id NUMBER, long_col LONG);<\/p>\n<p>CREATE TABLE Lob_tab (id NUMBER, clob_col CLOB);<\/p>\n<p>INSERT INTO Lob_tab SELECT id, TO_LOB(long_col) FROM long_tab;<\/p>\n<p>DROP TABLE Long_tab;<\/p>\n<p>CREATE VIEW Long_tab (id, long_col) AS SELECT * from Lob_tab;<\/p>\n<p>Oracle9i\uc5d0\uc11c\ub294 ALTER TABLE \u2026. MODIFY\ub97c \uc368\uc11c LONG\uc744 CLOB\uc73c\ub85c, LONG_RAW\ub97c BLOB\uc73c\ub85c \ubc14\uafc0 \uc218 \uc788\ub2e4.<br \/>\n<strong>\ubaa8\ub4e0 Constraint\uac00 \uc720\uc9c0\uac00 \ub418\uace0, Default\uac12\uc744 \uc9c0\uc815\ud558\uc9c0 \uc54a\uc744 \uacbd\uc6b0\uc5d0\ub294 Long \uceec\ub7fc\uc758 Default\uac12\uc744 \uadf8\ub300\ub85c \uac00\uc9c0\uace0 \uc628\ub2e4. Trigger\uc758 \uacbd\uc6b0\ub294 <\/strong><\/p>\n<p><strong>\uc544\ub798 Limitation\uc5d0\uc11c \uc5b8\uae09\ud560 \ub450 \uac00\uc9c0 \ud0c0\uc785\uc744 \uc81c\uc678\ud558\uace0\ub294 \uc720\ud6a8\ud558\ub2e4. LONG\uceec\ub7fc\uc5d0 \ud574\ub2f9\ud558\ub294 Index\ub294 Migration\uc804\uc5d0 Drop\ub418\uc5b4\uc57c \ud558\uace0, <\/strong><\/p>\n<p><strong>Migration\ud6c4 \ub2e4\ub978 Index\ub4e4\uc740 \ubaa8\ub450 Rebuilt\ub418\uc5b4\uc57c \ud55c\ub2e4.\u00a0 \ub610\ud55c, LONG\uc744 LOB\uc73c\ub85c \ubcf5\uc0ac\ud558\ub294 \uac83\uc774\ubbc0\ub85c LONG\uacfc LOB \ub370\uc774\ud130\ub97c \uc704\ud55c \ub450 \ubc30\uc758 space\uac00 \ud544\uc694\ud558\ub2e4.<\/strong><\/p>\n<p>Migration\uc2dc \ud14c\uc774\ube14\uc774 LOGGING\ubaa8\ub4dc\uc774\uba74 \ud14c\uc774\ube14\uc5d0 \ub300\ud55c redo log\uac00 \ub0a8\uace0, LOB\uc758 Storage \uc9c0\uc815\uc2dc LOGGING\ubaa8\ub4dc\uc600\uc73c\uba74 \ubc14\ub010 \uceec\ub7fc\uc758 redo log\uac00 \ub0a8\ub294\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<p>&#8212; Oracle 9i\uc5d0\uc11c\uc758 Migration<\/p>\n<p>CREATE TABLE print_media<br \/>\n(PRODUCT_ID NUMBER(6) NOT NULL,<br \/>\nAD_ID NUMBER(6) NOT NULL,<br \/>\nAD_COMPOSITE BLOB,<br \/>\nAD_SOURCETEXT CLOB,<br \/>\nPRESS_RELEASE LONG );<\/p>\n<p>ALTER TABLE print_media<br \/>\nMODIFY PRESS_RELEASE CLOB;<\/p>\n<p>&#8211;Migration\uc2dc Log\ub97c \ub0a8\uae30\uace0 \uc2f6\uc9c0 \uc54a\uc744 \ub54c<\/p>\n<p>ALTER TABLE Long_tab NOLOGGING;<br \/>\nALTER TABLE Long_tab MODIFY ( long_col CLOB [default &lt;default_val&gt;]) LOB (long_col) STORE AS (&#8230; NOLOGGING&#8230;);<br \/>\nALTER TABLE Long_tab MODIFY LOB long_col STORE AS (&#8230;LOGGING&#8230;);<br \/>\nALTER TABLE Long_tab LOGGING;<br \/>\n&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><a name=\"_Toc515889986\"><\/a>SQL &amp; PL\/SQL Support for LOB Migration<\/h3>\n<p>Argument\ub85c VARCHAR\ub97c \uc9c0\uc6d0\ud558\ub294 Function\uc774\ub098 Operator\ub294 CLOB\ub3c4 \ud5c8\uc6a9\ud55c\ub2e4. \ub9c8\ucc2c\uac00\uc9c0\ub85c, RAW\ub97c \uc9c0\uc6d0\ud558\uba74 BLOB\ub3c4 \uac00\ub2a5\ud558\ub2e4.<\/p>\n<p>LONG, LONG RAW \ud0c0\uc785\uc744 \ud5c8\uc6a9\ud558\ub294 SUBSTR, INSTR\uacfc \uac19\uc740 Predefined function\ub4e4\ub3c4 CLOB, BLOB\uc744 \uc4f8 \uc218 \uc788\ub2e4.<\/p>\n<p>\ub2e4\uc74c \uc608\uc81c\ub294 SUBSTR function\uc758 argument\uc5d0 CLOB\uceec\ub7fc\uc744 \uc0ac\uc6a9\ud55c \uacbd\uc6b0\uc774\ub2e4.<\/p>\n<p>SELECT SUBSTR(PRESS_RELEASE, 10, 20)<br \/>\nFROM print_media;<br \/>\n&nbsp;<\/p>\n<h3><a name=\"_Toc515889987\"><\/a>Implicit Assignment and Parameter Passing to LOBs<\/h3>\n<p>Assignment\uc2dc LOB\uc744 VARCHAR2\ub098 RAW\ub85c \ub610\ub294 \ubc18\ub300\ub85c VARCHAR2, RAW \uac00 LOB\uc73c\ub85c Implicit conversion\uc774 \uac00\ub2a5\ud558\ub2e4.<\/p>\n<p>LONG\uceec\ub7fc\uc758 %TYPE\uc73c\ub85c \uc120\uc5b8\ub41c \ubcc0\uc218\ub294, \uadf8 \uceec\ub7fc\uc774 LOB\uc73c\ub85c \ubc14\ub00c\uba74 \uc790\ub3d9\uc73c\ub85c \ubcc0\uc218\ub3c4 LOB \ub370\uc774\ud130\ub97c \uac00\uc9c8 \uc218 \uc788\ub2e4. LONG\uceec\ub7fc %TYPE\uc758 Parameter\uc758 \uacbd\uc6b0\ub3c4 LOB\uc73c\ub85c \ubc14\ub010 \ud6c4 LOB, VARCHAR, RAW\uac12\uc744 \uac16\ub294\ub2e4.<\/p>\n<p>SELECT INTO\uad6c\ubb38\uc5d0\uc11c CLOB \uceec\ub7fc\uc744 VARCHAR\ub85c, BLOB \uceec\ub7fc \uac12\uc744 RAW \ubcc0\uc218\ub85c \uc800\uc7a5\ud560 \uc218 \uc788\ub2e4. \ubaa8\ub4e0 Built-in function\uc774\ub098 operator\uc5d0 VARCHAR\ub098 RAW\uc678\uc5d0 CLOB, BLOB\ub370\uc774\ud130\ub97c \ud5c8\uc6a9\ud55c\ub2e4.<\/p>\n<p>CREATE TABLE lobtab( lcol LONG);<\/p>\n<p>DECLARE<br \/>\nvar1 VARCHAR2(100);<br \/>\nvar2 lobtab.lcol%type;<\/p>\n<p>BEGIN<br \/>\nSELECT * INTO var2 FROM lobtab;<br \/>\nvar1 := var2;\u00a0\u00a0\u00a0\u00a0 &#8212; varchar2 = long =&gt; varchar2 = clob<br \/>\nvar2 := var1;\u00a0\u00a0\u00a0\u00a0 &#8212; long = varchar2 =&gt; clob = varchar2<\/p>\n<p>END;<br \/>\n\/<\/p>\n<p>&#8212; \ub2e4\uc74c\uacfc \uac19\uc774 clob\uc73c\ub85c \ubcc0\uacbd \ud6c4\uc5d0\ub3c4 \uc55e\uc758 anonymous block \ucef4\ud30c\uc77c\ub428<br \/>\nALTER TABLE lobtab MODIFY lcol CLOB;<br \/>\n&nbsp;<\/p>\n<p>CREATE TABLE t (clob_col CLOB, blob_col BLOB);<br \/>\nINSERT INTO t VALUES(&#8216;abcdefg&#8217;, &#8216;aaaaaa&#8217;);<br \/>\nDECLARE<br \/>\nvar_buf VARCHAR2(100);<br \/>\nclob_buf CLOB;<br \/>\nraw_buf RAW(100);<br \/>\nblob_buf BLOB;<br \/>\nBEGIN<br \/>\nSELECT * INTO clob_buf, blob_buf FROM t;<br \/>\nvar_buf := clob_buf;<br \/>\nclob_buf:= var_buf;<br \/>\nraw_buf := blob_buf;<br \/>\nblob_buf := raw_buf;<br \/>\nEND;<br \/>\n\/<\/p>\n<p>&nbsp;<\/p>\n<p>CREATE PROCEDURE FOO ( a IN t.clob_col%type) IS<br \/>\nBegin<br \/>\ndbms_output.put_line (a);<br \/>\nend;<br \/>\n\/<\/p>\n<p>CREATE PROCEDURE BAR (b IN VARCHAR2) IS<br \/>\nBegin<br \/>\ndbms_output.put_line (b);<br \/>\nend;<br \/>\n\/<br \/>\nDECLARE<br \/>\na VARCHAR2(100);<br \/>\nb t.clob_col%type;<br \/>\nBEGIN<br \/>\na := &#8216;abc&#8217;;<br \/>\nSELECT clob_col into b from t;<br \/>\nFOO(a); &#8212; Actual parameter is VARCHAR2, formal parameter is CLOB<br \/>\nBAR(b); &#8212; Actual parameter is CLOB, formal parameter is VARCHAR2<br \/>\nEND;<br \/>\n\/<\/p>\n<p>abc<br \/>\nabcdefg<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><a name=\"_Toc515889988\"><\/a>Support for LOB Migration in OCI Interface<\/h3>\n<p>CLOB, BLOB\uceec\ub7fc\uc744 INSERT\/UPDATE\ud558\uae30 \uc704\ud574\uc11c VARCHAR2, RAW\ubc84\ud37c\ub97c 4GB\uae4c\uc9c0 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n<p>LOB\ub370\uc774\ud130\ub97c SELECT\ubb38\uc73c\ub85c \ubc14\ub85c \ubc84\ud37c\uc5d0 \uc800\uc7a5\ud558\uae30 \uc704\ud574\uc11c CLOB\uc744 VARCHAR2\ub85c, BLOB\uc744 RAW\ub85c \uc815\uc758\ud560 \uc218 \uc788\ub2e4.<\/p>\n<p>INSERT\/UPDATE\uac00 single piece, piecewise, array mode\uc5d0\uc11c \uac00\ub2a5\ud558\ub2e4.<\/p>\n<p><strong>Note : <\/strong>OCI\ubb38\uc11c \ucc38\uc870<\/p>\n<p>&nbsp;<\/p>\n<h3><a name=\"_Toc515889989\"><\/a>Other LOB Enhancements<\/h3>\n<p>\uccab\uc9f8\ub85c, Partitioned Index Organized Tables(IOTs)\uc5d0 LOB \uceec\ub7fc\uc744 \uc0dd\uc131\ud560 \uc218 \uc788\ub2e4.<\/p>\n<p>CREATE TABLE Multimedia_tab (<br \/>\nCLIP_ID\u00a0\u00a0\u00a0 INTEGER PRIMARY KEY,<br \/>\nCLIP_DATE\u00a0 DATE,<br \/>\nSTORY\u00a0\u00a0\u00a0\u00a0\u00a0 CLOB,<br \/>\nFLSUB\u00a0\u00a0\u00a0\u00a0\u00a0 NCLOB,<br \/>\nPHOTO\u00a0\u00a0\u00a0\u00a0\u00a0 BFILE,<br \/>\nFRAME\u00a0\u00a0\u00a0\u00a0\u00a0 BLOB,<br \/>\nSOUND\u00a0\u00a0\u00a0\u00a0\u00a0 BLOB,<br \/>\n&#8230;<br \/>\n)<br \/>\nORGANIZATION INDEX<br \/>\nTABLESPACE TBS_IDX<br \/>\nOVERFLOW<br \/>\nTABLESPACE TBS_OVF<br \/>\nLOB (FRAME, S0UND) STORE AS (TABLESPACE TBS_LOB)<br \/>\nPARTITION BY RANGE (CLIP_DATE)<br \/>\n(PARTITION Jan_Multimedia_tab VALUES LESS THAN (01-FEB-2000)<br \/>\nLOB (STORY) STORE AS (TABLESPACE TBS_LOB),<br \/>\nPARTITION Feb_Multimedia_tab VALUES LESS THAN (01-MAR-2000)<br \/>\nLOB (FLSUB) STORE AS (TABLESPACE TBS_LOB<br \/>\nENABLE STORAGE IN ROW)<br \/>\n);<br \/>\n&nbsp;<\/p>\n<p>\ub458\uc9f8\ub85c, LOB \uceec\ub7fc\uc5d0 Functional Indexes\ub97c \uac78 \uc218 \uc788\ub2e4. \ub2e4\uc74c\uc608\uc81c\ub294 length \ud568\uc218\ub97c \uc0ac\uc6a9\ud55c \uc608\uc774\ub2e4.<\/p>\n<p>length\ub294 \uc6d0\ub798 CHAR, VARCHAR2, NCHAR, NVARCHAR2\ub97c \uc0ac\uc6a9\ud558\ub294 \ud568\uc218\uc778\ub370, 9i\uc5d0\uc11c\ub294 Implicit Conversion\uc774 \uac00\ub2a5\ud558\uae30 \ub54c\ubb38\uc5d0 LOB\uc744 \uc4f8 \uc218 \uc788\ub294 \uac83\uc774\ub2e4.<\/p>\n<p>CREATE INDEX test_idx ON print_media(length(press_release));<\/p>\n<p>SELECT length(press_release) FROM print_media ;<br \/>\nLENGTH(PRESS_RELEASE)<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n25<\/p>\n<p>&nbsp;<\/p>\n<h3><a name=\"_Toc515889990\"><\/a>Limitations<\/h3>\n<ol>\n<li>Clustered Table\uc5d0\ub294 LOB\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc5c6\ub2e4.<\/li>\n<li>LONG \uceec\ub7fc\uc740 Replication\uc774 \ub418\uc9c0 \uc54a\uae30 \ub54c\ubb38\uc5d0, Replication\uc804\uc5d0 LOB\uc73c\ub85c Migration\uc2dc\ucf1c\uc57c \ud55c\ub2e4. \ub9cc\uc57d Replication\ud6c4\uc5d0 Migration\uc744 \ud55c \uacbd\uc6b0\uc5d0\ub294 Replica\uc5d0 \ub300\ud574\uc11c \ub530\ub85c LOB\uc73c\ub85c Migration\uc2dc\ucf1c \uc8fc\uc5b4\uc57c \ud55c\ub2e4.<\/li>\n<li>\ub2e4\uc74c \ub450 \uac00\uc9c0 Trigger\uc758 \uacbd\uc6b0 LONG\ud0c0\uc785\ub9cc \uc9c0\uc6d0\ud558\uace0, LOB\uc740 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/li>\n<\/ol>\n<ul>\n<li>UPDATE OF clause<\/li>\n<li>LOB\uc744 \uac00\uc9c4 \ubdf0\uc5d0 INSTEAD OF trigger\ub97c \uac78\uc5c8\uc744 \uacbd\uc6b0, LOB\uceec\ub7fc\uc5d0 INSERT\/UPDATE \ud560 \uc218 \uc5c6\ub2e4.<\/li>\n<\/ul>\n<ol start=\"4\">\n<li>LONG\uceec\ub7fc\uc744 LOB\uc73c\ub85c \ubc14\uafb8\uae30 \uc804\uc5d0 LONG \uceec\ub7fc\uc5d0 \ub300\ud55c Index\ub97c Drop\uc2dc\ucf1c\uc57c \ud55c\ub2e4. \uadf8\ub9ac\uace0 \uadf8 \uc678\uc758 Index\ub294 Migration\ud6c4 Rebuilt\ub418\uc5b4\uc57c \ud55c\ub2e4.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<h3><a name=\"_Toc515889991\"><\/a>\ud65c\uc6a9 \uac00\uc774\ub4dc \ubc0f \uacb0\ub860<\/h3>\n<p>&nbsp;<\/p>\n<p>Oracle9i LOB enhancement\ub294 LONG\uc5d0\uc11c LOB\uc73c\ub85c\uc758 migration\uc744 \ub354 \uc6a9\uc774\ud558\uac8c \ud574 \uc900\ub2e4. \uae30\uc874\uc758 function\uc5d0 LOB\uc744 \uadf8\ub300\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc788\uace0,<\/p>\n<p>\uc774\ubbf8 \uc791\uc131\ud55c \ucf54\ub4dc\uc758 LONG\uc744 LOB\uc73c\ub85c \ub300\uce58\uc2dc\ud0ac \uc218\ub3c4 \uc788\ub2e4. \ud2b9\ud788, 9i\uc5d0\uc11c\ub294 LOB\uc774 VARCHAR, RAW\ub85c<\/p>\n<p>\ub0b4\ubd80\uc801\uc73c\ub85c Conversion\uc774 \uac00\ub2a5\ud574 \uc84c\uae30 \ub54c\ubb38\uc5d0, VARCHAR, RAW\uc640 \uac19\uc774 \uc0ac\uc6a9\ub418\uc5b4 \uc9c8 \uc218 \uc788\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>LOB Enhancement Oracle 8.0\ubc84\uc804\ubd80\ud130 LOB\uc774\ub77c\ub294 \ub370\uc774\ud130\ud0c0\uc785\uc774 \uc18c\uac1c\ub418\uc5c8\uace0 \uc5ec\ub7ec \uac00\uc9c0 \uae30\ub2a5\ub54c\ubb38\uc5d0 LONG \ub370\uc774\ud130\ud0c0\uc785\ubcf4\ub2e4\ub294 LOB\uc744 \uc0ac\uc6a9\ud558\ub3c4\ub85d \uad8c\uc7a5\ud558\uace0 \uc788\ub2e4. LONG\uacfc LOB\uc744 \uac04\ub2e8\ud788 \ube44\uad50\ud574 \ubcf4\uba74 \ub2e4\uc74c\uacfc \uac19\ub2e4. LOB\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 LONG 4 Gigabyte\uae4c\uc9c0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2 Gigabyte Random piecewise access\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Sequential access Table\ub2f9 \uc5ec\ub7ec \uac1c column\uac00\ub2a5\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Single Long \ub530\ub85c Storage\uc9c0\uc815 \uac00\ub2a5\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Table\ub0b4\uc5d0 \uc800\uc7a5 Aggregate data type attributes Oracle9i\uc5d0\uc11c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2411,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"spay_email":""},"categories":[219],"tags":[836,834,835,837],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/haisins.synology.me\/wordpress\/wp-content\/uploads\/2018\/01\/34aed586ca86225f5bf558a2e882a752.jpg?fit=500%2C353","amp_enabled":true,"_links":{"self":[{"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/2486"}],"collection":[{"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2486"}],"version-history":[{"count":3,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/2486\/revisions"}],"predecessor-version":[{"id":2489,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/2486\/revisions\/2489"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/media\/2411"}],"wp:attachment":[{"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2486"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2486"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2486"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}