{"id":3423,"date":"2012-04-02T12:13:00","date_gmt":"2012-04-02T11:13:00","guid":{"rendered":"http:\/\/blog.capdata.fr\/?p=3423"},"modified":"2019-09-13T14:22:28","modified_gmt":"2019-09-13T13:22:28","slug":"oracle-text-pour-dba-oracle-part-1","status":"publish","type":"post","link":"https:\/\/blog.capdata.fr\/index.php\/oracle-text-pour-dba-oracle-part-1\/","title":{"rendered":"Oracle Text pour DBA Oracle : Partie 1"},"content":{"rendered":"<a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-twitter nolightbox\" data-provider=\"twitter\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Twitter\" href=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F3423&#038;text=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"twitter\" title=\"Share on Twitter\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/twitter.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-linkedin nolightbox\" data-provider=\"linkedin\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Linkedin\" href=\"https:\/\/www.linkedin.com\/shareArticle?mini=true&#038;url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F3423&#038;title=Oracle%20Text%20pour%20DBA%20Oracle%20%3A%20Partie%201\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"linkedin\" title=\"Share on Linkedin\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/linkedin.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-mail nolightbox\" data-provider=\"mail\" rel=\"nofollow\" title=\"Share by email\" href=\"mailto:?subject=Oracle%20Text%20pour%20DBA%20Oracle%20%3A%20Partie%201&#038;body=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20:%20https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F3423\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"mail\" title=\"Share by email\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/mail.png\" \/><\/a><p>Nous allons explorer Oracle Text et son son administration en tant que DBA.<\/p>\n<div id=\"_mcePaste\">La premi&egrave;re partie concerne l&#8217;installation et l&#8217;impl&eacute;mentation.<\/div>\n<div id=\"_mcePaste\">Oracle est une base de donn&eacute;es relationnelles, les donn&eacute;es sont donc g&eacute;r&eacute;es en deux dimensions sous forme de table.<\/div>\n<div id=\"_mcePaste\">Certains types de donn&eacute;es (g&eacute;ographique, audio, vid&eacute;o et texte) sont difficiles voire impossibles &agrave; normaliser.<\/div>\n<div id=\"_mcePaste\">Historiquement des solutions non relationelles existaient avec Adabas ou Objectivity DB par exemple.<\/div>\n<div id=\"_mcePaste\">Oracle a am&eacute;lior&eacute; sa gestion des donn&eacute;es non relationnelles avec :<\/div>\n<div id=\"_mcePaste\" style=\"padding-left: 30px;\">&#8211; Oracle Spatial : pour les donn&eacute;es g&eacute;ographiques<\/div>\n<div id=\"_mcePaste\" style=\"padding-left: 30px;\">&#8211; Oracle Intermedia : pour les donn&eacute;es audio-vid&eacute;os<\/div>\n<div id=\"_mcePaste\" style=\"padding-left: 30px;\">&#8211; Oracle Text : pour les donn&eacute;es textes<\/div>\n<div id=\"_mcePaste\">Ces fonctionnalit&eacute;s reposent essentiellement sur des colonnes de type LOB pour stocker les donn&eacute;es et un ensemble de proc&eacute;dures pour les g&eacute;rer.<\/div>\n<div id=\"_mcePaste\">Oracle Text est utilisable dans toutes les distibutions d&#8217;Oracle (SE, SE One, PE, EE) et ignorer son existence est une erreur.<\/div>\n<div id=\"_mcePaste\">Elle permet d&#8217;effectuer des recherches et de g&eacute;n&eacute;rer des rapports sur une vari&eacute;t&eacute; de format (html, xml, pdf, word..).<\/div>\n<div id=\"_mcePaste\">Son interface est ouverte et peut &ecirc;tre utilis&eacute;e par des logiciels tiers.<\/div>\n<div id=\"_mcePaste\">Sa compr&eacute;hension est indispensable &agrave; tout DBA Oracle.<\/div>\n<p><span style=\"font-weight: bold;\"> 1) V&eacute;rification de l&#8217;installation d&#8217; Oracle Text<\/span><\/p>\n<div id=\"_mcePaste\">&#8211; V&eacute;rifier la pr&eacute;sence du &nbsp;sch&eacute;ma&nbsp;&nbsp;ctxsys (mot de passe par d&eacute;faut ctxsys).<\/div>\n<div id=\"_mcePaste\">Attention le compte peut &ecirc;tre verrouill&eacute; (et doit le rester en production)<\/div>\n<pre><em> SELECT * FROM ctxsys.ctx_version;<\/em><\/pre>\n<div id=\"_mcePaste\">-Son installation est faite en standard.<\/div>\n<div id=\"_mcePaste\">N&eacute;anmoins si l&#8217;option n&#8217;a pas &eacute;t&eacute; install&eacute;e vous pouvez utiliser la d&eacute;marche suivante :<\/div>\n<pre>&nbsp; conn SYS\/syspasswd AS SYSDBA\r\n&nbsp; @?\/ctx\/admin\/catctx.sql mypasswd SYSAUX TEMP NOLOCK<\/pre>\n<div id=\"_mcePaste\">&#8211;pour le langage de pr&eacute;f&eacute;rence par d&eacute;faut drdefxx.sql (English(us),French(f),..)<\/div>\n<pre>conn CTXSYS\/mypasswd\r\n@?\/ctx\/admin\/defaults\/drdefus.sql<\/pre>\n<div id=\"_mcePaste\">&#8211; Par d&eacute;faut le sh&eacute;ma se trouve sur le tablespace SYSAUX<\/div>\n<pre>select space_used_kbytes from v$sysaux_occupants where occupant_name='TEXT';<\/pre>\n<div id=\"_mcePaste\">Il est possible de modifier le tablespace, par exemple vers le tablespace TBS_CONTEXT &nbsp;:<\/div>\n<pre>execute ctxsys.dri_move_ctxsys(tbs_name=&gt;'TBS_CONTEXT');<\/pre>\n<p><span style=\"font-weight: normal;\"><strong>2) Cr&eacute;ation d&#8217;un index Oracle Text simple<\/strong><\/span><\/p>\n<pre>create tablespace TBS_TEXT datafile '+DATA' size 10M autoextend on maxsize 200M<\/pre>\n<pre style=\"padding-left: 180px;\">&nbsp;extent management local uniform size &nbsp;64K;<\/pre>\n<pre>CREATE USER user_text IDENTIFIED BY text DEFAULT TABLESPACE TBS_TEXT<\/pre>\n<pre style=\"padding-left: 90px;\">TEMPORARY TABLESPACE temp PROFILE default QUOTA UNLIMITED ON TBS_TEXT;<\/pre>\n<div id=\"_mcePaste\">&#8212; droits n&eacute;cessaires<\/div>\n<pre>GRANT EXECUTE ON ctxsys.ctx_ddl TO user_text;\r\nGRANT CTXAPP TO user_text;\r\nGRANT CREATE PROCEDURE TO user_text;\r\nGRANT CREATE SESSION TO user_text;\r\nGRANT CREATE TABLE TO user_text;\r\nGRANT SELECT ANY DICTIONARY TO user_text;\r\nGRANT CREATE JOB to user_text;\r\nGRANT CREATE TRIGGER to user_text;<\/pre>\n<div id=\"_mcePaste\">&#8212; jeu de test<\/div>\n<pre>CONNECT user_text\/text\r\ncreate table test_tab (clob_col clob);\r\ncreate index test_idx on test_tab (clob_col) indextype is ctxsys.context;\r\ncommit;\r\ninsert into test_tab values ('c a b d');\r\ninsert into test_tab values ('ab');\r\ncommit;<\/pre>\n<div id=\"_mcePaste\">&#8212; requ&ecirc;te de test de filtre<\/div>\n<pre>select * from test_tab where CONTAINS(clob_col,'ab') &gt; 0;<\/pre>\n<h3><span style=\"font-weight: normal;\">3) Structure interne<\/span><\/h3>\n<div id=\"_mcePaste\">Un index Oracle Text utilise &nbsp;l&#8217;environnement &#8220;Extensibility Framework&#8221; appel&eacute; parfois cartouche.<\/div>\n<div id=\"_mcePaste\">L&#8217;objectif est de donner aux d&eacute;v&eacute;loppeurs la possibilit&eacute; de cr&eacute;er leurs propres types d&#8217;index.<\/div>\n<div id=\"_mcePaste\">Un index doit ramener un ensemble de ROWID, il est n&eacute;cessaire de g&eacute;rer la mise &agrave; jour de l&#8217;index et toutes les op&eacute;rations associ&eacute;es.<\/div>\n<div id=\"_mcePaste\">La cr&eacute;ation d&#8217;un index Oracle Text repose sur des objets Oracle et sur des routines de mises &agrave; jour contenues dans le noyau.<\/div>\n<div id=\"_mcePaste\">Regardons ce que la cr&eacute;ation d&#8217;un index de domaine simple a cr&eacute;e :<\/div>\n<p><span style=\"font-weight: normal;\"><span style=\"text-decoration: underline;\">Au niveau table :<\/span><\/span><\/p>\n<pre>select table_name,IOT_TYPE, tablespace_name from USER_TABLES ;\r\nTABLE_NAME &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; IOT_TYPE &nbsp; &nbsp; TABLESPACE_NAME\r\n------------------------------ ------------ ------------------------------\r\nDR$TEST_IDX$K &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;IOT\r\nDR$TEST_IDX$N &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;IOT\r\nDR$TEST_IDX$R &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TBS_TEXT\r\nDR$TEST_IDX$I &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TBS_TEXT\r\nTEST_TAB &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TBS_TEXT<\/pre>\n<div id=\"_mcePaste\">&#8211; 4 tables ont et&eacute; cr&eacute;es, elles se nomment DR&lt;index_text_name&gt;&lt;K,N,R,I&gt;<\/div>\n<div id=\"_mcePaste\">&#8211; 2 tables sont des IOTs<\/div>\n<p><span style=\"font-weight: normal;\"><span style=\"text-decoration: underline;\">Au niveau des index :<\/span><\/span><\/p>\n<pre>select index_name,table_name, tablespace_name,INDEX_TYPE from user_indexes\r\nwhere INDEX_TYPE in ('DOMAIN','NORMAL','IOT - TOP')\r\nINDEX_NAME &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TABLE_NAME &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TABLESPACE_NAME &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;INDEX_TYPE\r\n------------------------------ ------------------------------ ------------------------------ ----------\r\nTEST_IDX &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TEST_TAB &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;DOMAIN\r\nSYS_IOT_TOP_72679 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;DR$TEST_IDX$N &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TBS_TEXT &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; IOT - TOP\r\nSYS_IOT_TOP_72674 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;DR$TEST_IDX$K &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TBS_TEXT &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; IOT - TOP\r\nDR$TEST_IDX$X &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;DR$TEST_IDX$I &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TBS_TEXT &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; NORMAL<\/pre>\n<div id=\"_mcePaste\">Nous avons la structure des 2 IOTS &lt;SYS_IOT_TOP_&gt;.. et un index DR$TEST_IDX$X sur la table DR$TEST_IDX$I<\/div>\n<p><span style=\"font-weight: normal;\"><span style=\"text-decoration: underline;\">Au niveau des colonnes LOB :<\/span><\/span><\/p>\n<pre>SELECT table_name \"Table\", column_name \"Column\", segment_name \"Segment\" , index_name \"Index\"\r\nFROM user_lobs\r\nWHERE table_name like 'DR$%';\r\nTable &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Column &nbsp; &nbsp; &nbsp; Segment &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Index\r\n------------------------------ ------------ ------------------------------ ---------------------\r\nDR$TEST_IDX$I &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TOKEN_INFO &nbsp; SYS_LOB0000072671C00006$ &nbsp; &nbsp; &nbsp;SYS_IL0000072671C00006$\r\nDR$TEST_IDX$R &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;DATA &nbsp; &nbsp; &nbsp; &nbsp; SYS_LOB0000072676C00002$ &nbsp; &nbsp; &nbsp;SYS_IL0000072676C00002$<\/pre>\n<div id=\"_mcePaste\">Nous avons 2 colonnes de types LOB sur TOKEN_INFO et DATA sur les tables DR$TEST_IDX$I et DR$TEST_IDX$R<\/div>\n<p><span style=\"font-weight: normal;\"><span style=\"text-decoration: underline;\">Conclusion :<\/span><\/span><\/p>\n<div>Pour le DBA, la cr&eacute;ation d&#8217;un index Oracle Text entraine la cr&eacute;ation d&#8217;un ensemble d&#8217;objets &nbsp;:<\/div>\n<div id=\"_mcePaste\">&#8211; D&lt;index_name&gt;$I : Token table<\/div>\n<div id=\"_mcePaste\" style=\"padding-left: 30px;\">&#8211; table des mots &#8216;Token&#8217;<\/div>\n<div id=\"_mcePaste\" style=\"padding-left: 30px;\">&#8211; liste des mots avec position dans le document<\/div>\n<div id=\"_mcePaste\" style=\"padding-left: 30px;\">&#8211; contient une colonne LOB token_info (repr&eacute;sentation binaire des documents les contenant)<\/div>\n<div id=\"_mcePaste\" style=\"padding-left: 30px;\">&#8211; chaque document est repr&eacute;sent&eacute; par la valeur DOCID<\/div>\n<div id=\"_mcePaste\">&#8211; DR&lt;index_name&gt;$X :<\/div>\n<div id=\"_mcePaste\" style=\"padding-left: 30px;\">&#8211; index B-tree sur la table $I, toutes les colonnes sauf la colonne lob<\/div>\n<div id=\"_mcePaste\">&#8211; DR&lt;index_name&gt;$N : Negative Row Table<\/div>\n<div id=\"_mcePaste\" style=\"padding-left: 30px;\">&#8211; contient les DOCID supprim&eacute;s<\/div>\n<div id=\"_mcePaste\" style=\"padding-left: 30px;\">&#8211; supprim&eacute; par le processus d&#8217;optimisation<\/div>\n<div id=\"_mcePaste\">&#8211; DR&lt;index_name&gt;$K : Table de mapping ROWID -&gt; DOCID<\/div>\n<div id=\"_mcePaste\" style=\"padding-left: 30px;\">&#8211; Table IOT , recherche de DOCID &agrave; partir d&#8217;un rowid<\/div>\n<div id=\"_mcePaste\">&#8211; DR&lt;index_name&gt;$R : Table de mapping DOCID -&gt; ROWID<\/div>\n<div id=\"_mcePaste\" style=\"padding-left: 30px;\">&#8211; Table IOT , recherche de rowid &agrave; partir d&#8217;un DOCID<\/div>\n<div id=\"_mcePaste\">&#8211; DR&lt;index_name&gt;$P : Optionnel ,IOT pour recherche rapide sur liste de mots (wordlist preference)<\/div>\n<div id=\"_mcePaste\">&#8211; DR&lt;index_name&gt;$R : Optionnel,si utilisation de param&egrave;tres FILTER BY ou ORDER BY<\/div>\n<div>La deuxi&egrave;me partie concerne le comportement d&#8217;un index Oracle TEXT avec du DML<\/div>\n<a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-twitter nolightbox\" data-provider=\"twitter\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Twitter\" href=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F3423&#038;text=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"twitter\" title=\"Share on Twitter\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/twitter.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-linkedin nolightbox\" data-provider=\"linkedin\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Linkedin\" href=\"https:\/\/www.linkedin.com\/shareArticle?mini=true&#038;url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F3423&#038;title=Oracle%20Text%20pour%20DBA%20Oracle%20%3A%20Partie%201\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"linkedin\" title=\"Share on Linkedin\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/linkedin.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-mail nolightbox\" data-provider=\"mail\" rel=\"nofollow\" title=\"Share by email\" href=\"mailto:?subject=Oracle%20Text%20pour%20DBA%20Oracle%20%3A%20Partie%201&#038;body=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20:%20https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F3423\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"mail\" title=\"Share by email\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/mail.png\" \/><\/a>","protected":false},"excerpt":{"rendered":"<p>Nous allons explorer Oracle Text et son son administration en tant que DBA. La premi&egrave;re partie concerne l&#8217;installation et l&#8217;impl&eacute;mentation. Oracle est une base de donn&eacute;es relationnelles, les donn&eacute;es sont donc g&eacute;r&eacute;es en deux dimensions sous forme de table. Certains&hellip; <a href=\"https:\/\/blog.capdata.fr\/index.php\/oracle-text-pour-dba-oracle-part-1\/\" class=\"more-link\">Continuer la lecture <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":7886,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[216],"class_list":["post-3423","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oracle","tag-oracle-text"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Oracle Text pour DBA Oracle : Partie 1 - Capdata TECH BLOG<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.capdata.fr\/index.php\/oracle-text-pour-dba-oracle-part-1\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Oracle Text pour DBA Oracle : Partie 1 - Capdata TECH BLOG\" \/>\n<meta property=\"og:description\" content=\"Nous allons explorer Oracle Text et son son administration en tant que DBA. La premi&egrave;re partie concerne l&#8217;installation et l&#8217;impl&eacute;mentation. Oracle est une base de donn&eacute;es relationnelles, les donn&eacute;es sont donc g&eacute;r&eacute;es en deux dimensions sous forme de table. Certains&hellip; Continuer la lecture &rarr;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.capdata.fr\/index.php\/oracle-text-pour-dba-oracle-part-1\/\" \/>\n<meta property=\"og:site_name\" content=\"Capdata TECH BLOG\" \/>\n<meta property=\"article:published_time\" content=\"2012-04-02T11:13:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-09-13T13:22:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2012\/04\/oracletext2.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1000\" \/>\n\t<meta property=\"og:image:height\" content=\"750\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Capdata team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Capdata team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/oracle-text-pour-dba-oracle-part-1\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/oracle-text-pour-dba-oracle-part-1\/\"},\"author\":{\"name\":\"Capdata team\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/person\/bfd9395c8ba4fa125792a543377035e9\"},\"headline\":\"Oracle Text pour DBA Oracle : Partie 1\",\"datePublished\":\"2012-04-02T11:13:00+00:00\",\"dateModified\":\"2019-09-13T13:22:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/oracle-text-pour-dba-oracle-part-1\/\"},\"wordCount\":799,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/blog.capdata.fr\/#organization\"},\"keywords\":[\"Oracle TEXT\"],\"articleSection\":[\"Oracle\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/blog.capdata.fr\/index.php\/oracle-text-pour-dba-oracle-part-1\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/oracle-text-pour-dba-oracle-part-1\/\",\"url\":\"https:\/\/blog.capdata.fr\/index.php\/oracle-text-pour-dba-oracle-part-1\/\",\"name\":\"Oracle Text pour DBA Oracle : Partie 1 - Capdata TECH BLOG\",\"isPartOf\":{\"@id\":\"https:\/\/blog.capdata.fr\/#website\"},\"datePublished\":\"2012-04-02T11:13:00+00:00\",\"dateModified\":\"2019-09-13T13:22:28+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/oracle-text-pour-dba-oracle-part-1\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.capdata.fr\/index.php\/oracle-text-pour-dba-oracle-part-1\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/oracle-text-pour-dba-oracle-part-1\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/blog.capdata.fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Oracle Text pour DBA Oracle : Partie 1\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.capdata.fr\/#website\",\"url\":\"https:\/\/blog.capdata.fr\/\",\"name\":\"Capdata TECH BLOG\",\"description\":\"Le blog technique sur les bases de donn\u00e9es de CAP DATA Consulting\",\"publisher\":{\"@id\":\"https:\/\/blog.capdata.fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.capdata.fr\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/blog.capdata.fr\/#organization\",\"name\":\"Capdata TECH BLOG\",\"url\":\"https:\/\/blog.capdata.fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp\",\"contentUrl\":\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp\",\"width\":800,\"height\":254,\"caption\":\"Capdata TECH BLOG\"},\"image\":{\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/company\/cap-data-consulting\/mycompany\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/person\/bfd9395c8ba4fa125792a543377035e9\",\"name\":\"Capdata team\",\"sameAs\":[\"https:\/\/www.capdata.fr\"],\"url\":\"https:\/\/blog.capdata.fr\/index.php\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Oracle Text pour DBA Oracle : Partie 1 - Capdata TECH BLOG","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.capdata.fr\/index.php\/oracle-text-pour-dba-oracle-part-1\/","og_locale":"fr_FR","og_type":"article","og_title":"Oracle Text pour DBA Oracle : Partie 1 - Capdata TECH BLOG","og_description":"Nous allons explorer Oracle Text et son son administration en tant que DBA. La premi&egrave;re partie concerne l&#8217;installation et l&#8217;impl&eacute;mentation. Oracle est une base de donn&eacute;es relationnelles, les donn&eacute;es sont donc g&eacute;r&eacute;es en deux dimensions sous forme de table. Certains&hellip; Continuer la lecture &rarr;","og_url":"https:\/\/blog.capdata.fr\/index.php\/oracle-text-pour-dba-oracle-part-1\/","og_site_name":"Capdata TECH BLOG","article_published_time":"2012-04-02T11:13:00+00:00","article_modified_time":"2019-09-13T13:22:28+00:00","og_image":[{"width":1000,"height":750,"url":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2012\/04\/oracletext2.jpg","type":"image\/jpeg"}],"author":"Capdata team","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"Capdata team","Dur\u00e9e de lecture estim\u00e9e":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.capdata.fr\/index.php\/oracle-text-pour-dba-oracle-part-1\/#article","isPartOf":{"@id":"https:\/\/blog.capdata.fr\/index.php\/oracle-text-pour-dba-oracle-part-1\/"},"author":{"name":"Capdata team","@id":"https:\/\/blog.capdata.fr\/#\/schema\/person\/bfd9395c8ba4fa125792a543377035e9"},"headline":"Oracle Text pour DBA Oracle : Partie 1","datePublished":"2012-04-02T11:13:00+00:00","dateModified":"2019-09-13T13:22:28+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.capdata.fr\/index.php\/oracle-text-pour-dba-oracle-part-1\/"},"wordCount":799,"commentCount":0,"publisher":{"@id":"https:\/\/blog.capdata.fr\/#organization"},"keywords":["Oracle TEXT"],"articleSection":["Oracle"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blog.capdata.fr\/index.php\/oracle-text-pour-dba-oracle-part-1\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blog.capdata.fr\/index.php\/oracle-text-pour-dba-oracle-part-1\/","url":"https:\/\/blog.capdata.fr\/index.php\/oracle-text-pour-dba-oracle-part-1\/","name":"Oracle Text pour DBA Oracle : Partie 1 - Capdata TECH BLOG","isPartOf":{"@id":"https:\/\/blog.capdata.fr\/#website"},"datePublished":"2012-04-02T11:13:00+00:00","dateModified":"2019-09-13T13:22:28+00:00","breadcrumb":{"@id":"https:\/\/blog.capdata.fr\/index.php\/oracle-text-pour-dba-oracle-part-1\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.capdata.fr\/index.php\/oracle-text-pour-dba-oracle-part-1\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog.capdata.fr\/index.php\/oracle-text-pour-dba-oracle-part-1\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/blog.capdata.fr\/"},{"@type":"ListItem","position":2,"name":"Oracle Text pour DBA Oracle : Partie 1"}]},{"@type":"WebSite","@id":"https:\/\/blog.capdata.fr\/#website","url":"https:\/\/blog.capdata.fr\/","name":"Capdata TECH BLOG","description":"Le blog technique sur les bases de donn\u00e9es de CAP DATA Consulting","publisher":{"@id":"https:\/\/blog.capdata.fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.capdata.fr\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/blog.capdata.fr\/#organization","name":"Capdata TECH BLOG","url":"https:\/\/blog.capdata.fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/","url":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp","contentUrl":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp","width":800,"height":254,"caption":"Capdata TECH BLOG"},"image":{"@id":"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/cap-data-consulting\/mycompany\/"]},{"@type":"Person","@id":"https:\/\/blog.capdata.fr\/#\/schema\/person\/bfd9395c8ba4fa125792a543377035e9","name":"Capdata team","sameAs":["https:\/\/www.capdata.fr"],"url":"https:\/\/blog.capdata.fr\/index.php\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/3423","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/comments?post=3423"}],"version-history":[{"count":21,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/3423\/revisions"}],"predecessor-version":[{"id":7887,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/3423\/revisions\/7887"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/media\/7886"}],"wp:attachment":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/media?parent=3423"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/categories?post=3423"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/tags?post=3423"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}