---
title: "MariaDB - Oracle taşıma, tarayıcınızda"
description: "Bir MariaDB veritabanını Oracle hedefine taşıyın: dökümünü aynı tablolar, anahtarlar, diziler ve verilerle bir betiğe dönüştürün, her değişikliğin raporuyla."
canonical: https://intosql.com/tr/mariadb-oracle-donusturme
last_updated: 2026-10-15
---

# MariaDB - Oracle taşıma, tarayıcınızda

mariadb-dump, mysqldump, phpMyAdmin veya Adminer ile alınmış bir dökümü .sql veya .sql.gz olarak bırakın ve aynı tablolar, anahtarlar, indeksler ve verilerle bir Oracle betiği indirin. Oracle'in olduğu gibi tutamadığı her değer ve taşımadığı her nesne raporda listelenir.

[MariaDB - Oracle taşıma kılavuzu](https://intosql.com/docs/migrations/mariadb-to-oracle)

[MariaDB - Oracle veri türleri](https://intosql.com/docs/types/mariadb-to-oracle)

## MariaDB ile Oracle arasında neler değişir

Her satır, dönüştürücünün uyguladığı bir kuraldır; yanında, kural verilerinizde bir şeyi değiştirdiğinde yazılan rapor satırı yer alır.

| MariaDB içinde | Oracle içinde | Rapor satırı |
| --- | --- | --- |
| TINYINT(1), BOOL | her değer 0 veya 1 ise 0 ve 1 CHECK'i ile NUMBER(1), değilse NUMBER(3) | `bool_kept_numeric` |
| UNSIGNED integers | aralığa yetecek genişlikte NUMBER, negatif olmadığını denetleyen bir CHECK ile |  |
| ZEROFILL and display widths | kaldırılır | `zerofill_dropped` |
| FLOAT(M,D) | ölçek olmadan BINARY_FLOAT veya BINARY_DOUBLE | `float_scale_dropped` |
| DECIMAL(p,s) | 38 basamağa kadar NUMBER(p,s); ötesi VARCHAR2 | `decimal_as_text` |
| BIT(1), BIT(n) | NUMBER(1), 63 bite kadar NUMBER(19), BIT(64) için NUMBER(20) |  |
| zero, partial or impossible dates (0000-00-00, 2024-02-30) | NULL | `invalid_date_null` |
| NOT NULL columns with values that become NULL | NOT NULL kaldırılır | `not_null_relaxed` |
| empty strings and empty binary values | NULL | `empty_string_null` |
| DEFAULT '0000-00-00' | varsayılan değer yok | `zero_date_default` |
| TIME | süreleri tutan INTERVAL DAY TO SECOND |  |
| YEAR | aralığını denetleyen bir CHECK ile NUMBER(4) |  |
| CHAR(n), VARCHAR(n) | karakter sayan VARCHAR2(n CHAR) |  |
| VARCHAR(n) and TEXT longer than 4000 bytes | CLOB | `text_as_lob` |
| DATETIME | TIMESTAMP |  |
| TIMESTAMP | dökümün belirttiği saat diliminde TIMESTAMP WITH TIME ZONE, belirtmiyorsa UTC | `timestamp_zone_assumed` |
| ENUM | değerlerini denetleyen bir CHECK ile VARCHAR2 |  |
| ENUM holding '' (MySQL's error value) | NULL |  |
| ENUM holding values outside its list | CHECK yok | `enum_check_skipped` |
| SET | MySQL'in yazdığı şekliyle VARCHAR2 ('a,b') |  |
| JSON | CLOB |  |
| NUL bytes in text | korunur |  |
| text that isn't valid in its character set | hatalı baytlar yerine koyma karakteri olarak | `invalid_utf8_replaced` |
| text decoded twice (Ã±) | olduğu gibi kopyalanır | `mojibake_suspected` |
| AUTO_INCREMENT | kopyalanan id'lerin ötesinden yeniden başlatılan GENERATED BY DEFAULT ON NULL AS IDENTITY |  |
| MyISAM AUTO_INCREMENT on the second column of a key | tablo için tek sayaç | `myisam_group_autoincrement` |
| ON UPDATE CURRENT_TIMESTAMP | bir BEFORE UPDATE tetikleyicisi | `on_update_trigger` |
| generated columns | sanal sütunlar | `stored_as_virtual` |
| generated columns with functions Oracle lacks | düz bir sütun | `generated_not_translated` |
| INVISIBLE columns | INVISIBLE sütunlar |  |
| CHECK constraints | çevrilir, CREATE TABLE içinde satır içi |  |
| CHECK constraints with functions Oracle lacks | oluşturulmaz | `check_skipped` |
| CHECK ... NOT ENFORCED | oluşturulmaz | `check_not_enforced` |
| defaults with functions Oracle lacks | varsayılan değer yok | `default_not_translated` |
| keys and indexes on a prefix, c(20) | sütunun SUBSTR'si üzerinde bir indeks | `prefix_unique` |
| FULLTEXT indexes | oluşturulmaz | `fulltext_not_created` |
| SPATIAL indexes | oluşturulmaz | `spatial_index_not_created` |
| functional indexes, and indexes on whole CLOB or BLOB columns | oluşturulmaz | `index_skipped` |
| foreign keys | veriden sonra ENABLE NOVALIDATE, ardından yetim satırlar için uyarıyla doğrulanır |  |
| ON UPDATE CASCADE, SET NULL or SET DEFAULT; ON DELETE SET DEFAULT | kaldırılır | `foreign_key_action_unsupported` |
| foreign keys to columns without a unique key | oluşturulmaz | `foreign_key_skipped` |
| table and column names | düz adlarsa büyük harf, değilse yazıldığı gibi | `identifier_renamed` |
| names over 128 bytes | kısaltılır | `name_shortened` |
| GEOMETRY, POINT, POLYGON... | WKB tutan BLOB | `geometry_as_blob` |
| INET4, INET6, UUID (MariaDB) | VARCHAR2(39), VARCHAR2(36) |  |
| BINARY, VARBINARY, BLOB | 2000 bayta kadar RAW, değilse BLOB |  |
| PARTITION BY | tek tablo | `partitions_dropped` |
| WITH SYSTEM VERSIONING (MariaDB) | mevcut satırları içeren bir tablo | `system_versioning_dropped` |
| MyISAM, MEMORY and other engines | normal bir tablo | `engine_dropped` |
| views, triggers, procedures, functions and events | raporda listelenir | `not_converted_objects` |
| dumps without CREATE TABLE | değerlerden okunan türler | `no_schema` |
| geometries in a dump without CREATE TABLE | WKB tutan BLOB | `geometry_inferred` |
| _ci collations | tam karşılaştırma | `case_insensitive_collation` |
| SET NAMES utf8 from utf8mb4 tables | dönüştürülür, uyarıyla | `dump_lost_four_byte_chars` |
| dumps without SET NAMES whose text isn't UTF-8 | Latin-1 (Windows-1252) olarak okunur | `charset_guessed` |
| sjis, cp932, gbk, big5 dumps | uyarıyla UTF-8 olarak okunur | `unsupported_charset` |
| UNHEX('..'), CONVERT(b'..', UNSIGNED), CONVERT(".." USING x), ST_GeomFromText('..') in rows | hesaplanır |  |
| other expressions in rows | NULL | `expression_value` |
| DEFAULT in VALUES | sütunun varsayılan değeri | `default_keyword_filled` |
| DEFAULT in VALUES without a literal default | NULL | `default_keyword_null` |
| REPLACE and INSERT IGNORE | düz satırlar | `replace_as_insert` |
| types IntoSQL doesn't know | CLOB | `unknown_type` |
| values that don't fit their column | NULL | `invalid_value_null` |
| unreadable geometries | NULL | `bad_geometry` |
| dumps of several databases | tek şema, her tablonun adı önce veritabanının adıyla başlar | `databases_merged` |
| CREATE SEQUENCE (MariaDB) | ulaştığı değerden CREATE SEQUENCE |  |
| VECTOR(n) (MariaDB 11.7+) | float'ları JSON dizisi olarak tutan CLOB | `type_replaced` |

## Betiği Oracle veritabanına yükleyin

Betik tabloları oluşturur, satırları kopyalar, ardından anahtarları, indeksleri ve yabancı anahtarları ekler; böylece hızlı yüklenir ve ilk hatada durur.

```shell
NLS_LANG=.AL32UTF8 sqlplus -S -L user@//localhost/mydb @mariadb.oracle.sql
```

Yabancı anahtarlar ENABLE NOVALIDATE ile eklenir, böylece yeni satırlar hemen denetlenir, ardından doğrulanır. Eski bir satır var olmayan bir satıra işaret ediyorsa betik, yarı yolda başarısız olmak yerine hangi kısıt olduğunu söyler ve onu doğrulanmamış bırakır.

Büyük bir döküm için SQL*Plus'ı veritabanıyla aynı makinede çalıştırın. Betik her 100 satırda bir commit yapar. Betiği çalıştıran kullanıcının CREATE TABLE, CREATE SEQUENCE, CREATE TRIGGER ve CREATE PROCEDURE yetkilerine ve tablo alanında kotaya ihtiyacı vardır.

## En iyi sonuç için MariaDB dökümü nasıl alınır

Dönüştürücü, dökümün içerdiğini okur. Bu seçenekler verilerinizin daha fazlasını dökümde tutar:

- --default-character-set=utf8mb4 emoji ve diğer 4 baytlık karakterleri korur; utf8mb3 dökümü bunları dönüştürücü görmeden önce kaybeder.
- --hex-blob ikili sütunları ve VECTOR değerlerini onaltılık olarak yazar; bu biçim sistemler arasında kopyalamada bozulmaz.
- --routines --triggers --events bu nesneleri döküme ekler; böylece rapor onları listeleyebilir.

## Neler dönüştürülmez

Görünümler, tetikleyiciler, saklı yordamlar, fonksiyonlar ve olaylar MariaDB'in kendi dilinde yazılır. Raporda adlarıyla listelenirler, asla sessizce atlanmazlar; böylece onları Oracle için yeniden yazabilirsiniz.

## MariaDB - Oracle dönüştürme hakkında sorular

### Dökümüm yükleniyor mu?

Hayır. Dönüştürücü tarayıcınızda çalışır ve dökümü diskinizden parça parça okur; böylece döküm bilgisayarınızdan hiç çıkmaz. Masaüstü uygulaması ve komut satırı da bilgisayarınızda dönüştürür.

### Döküm ne kadar büyük olabilir?

Dönüştürücü dökümün tamamını asla bellekte tutmaz: dosyayı aralıklar halinde iki kez okur ve betiği ilerledikçe yazar. Birkaç gigabaytlık dökümler tarayıcıda, masaüstü uygulamasında ve komut satırıyla dönüştürülür.

### Döküm hangi MariaDB sürümlerinden gelebilir?

MariaDB 10.3 ile 12 arasında mariadb-dump ve mysqldump ile alınmış, tablo başına bir INSERT veya satır başına bir INSERT içeren dökümler. Her test dökümü MariaDB 10.11, 11.4 ve 11.8'den gelir ve kaynağıyla hücre hücre karşılaştırılır.

### UUID, INET6, JSON ve VECTOR sütunları korunuyor mu?

UUID ve INET sütunları VARCHAR2, JSON CLOB, VECTOR ise float'larından oluşan bir JSON dizisi olur. Oracle onları öyle sakladığı için sıfır tarihler ve boş dizeler NULL olur.

### AUTO_INCREMENT değerleri ve sequence'lar korunuyor mu?

Evet. Her AUTO_INCREMENT sütunu, en yüksek id'den sonra devam eden bir kimlik sütunu olur. Sequence'lar Oracle sequence'ı olur ve bunlardan değer alan varsayılanlar onlardan değer almaya devam eder.

### Saklı yordamlar ve tetikleyiciler ne olur?

Raporda adlarıyla listelenirler ve dönüştürülmezler, çünkü her veritabanı onları kendi dilinde yazar.

### Betik hangi Oracle sürümlerinde yüklenir?

Oracle 19c ve sonrası. Her test dökümü 21c ve 23ai üzerinde yüklenir ve bir sorun çıkarsa ilk hatada durur.

## Kaynak: MariaDB

- [MariaDB - PostgreSQL](https://intosql.com/tr/mariadb-postgresql-donusturme)
- [MariaDB - MySQL](https://intosql.com/tr/mariadb-mysql-donusturme)
- [MariaDB - MariaDB](https://intosql.com/tr/mariadb-mariadb-donusturme)
- [MariaDB - SQLite](https://intosql.com/tr/mariadb-sqlite-donusturme)
- [MariaDB - SQL Server](https://intosql.com/tr/mariadb-sql-server-donusturme)

## Hedef: Oracle

- [MySQL - Oracle](https://intosql.com/tr/mysql-oracle-donusturme)
- [PostgreSQL - Oracle](https://intosql.com/tr/postgresql-oracle-donusturme)
- [SQL Server - Oracle](https://intosql.com/tr/sql-server-oracle-donusturme)
- [SQLite - Oracle](https://intosql.com/tr/sqlite-oracle-donusturme)
- [Oracle - Oracle](https://intosql.com/tr/oracle-oracle-donusturme)

## Kılavuz ve tüm ikililer

- [Oracle - MariaDB](https://intosql.com/tr/oracle-mariadb-donusturme)
- [MariaDB - Oracle taşıma kılavuzu](https://intosql.com/docs/migrations/mariadb-to-oracle)
- [MariaDB - Oracle veri türleri](https://intosql.com/docs/types/mariadb-to-oracle)
- [Tüm veritabanı ikilileri](https://intosql.com/tr/veritabani-tasima)
