Ora2Pg will export these variables for PostgreSQL as user defined custom variables available in a session. The script is named lo_import-TABLENAME.sh.

You can choose to load the DDL files generated manually or use the second script import_all.sh to import those file interactively. For example to unlock a policy before reading objects or to set some session parameters. | Python You can use the ALLOW and EXCLUDE directive in addition to filter other objects to export. If disabled (the default) primary key definition will be added with an alter table statement.

Default is to save all data in the OUTPUT file. See --cost_unit_value to change the unit value at command line.

These two directives are used to define the user and password for the Oracle database connection. This replace the old and deprecadted PG_SUPPORTS_* configuration directives described bellow. Allow object constraints to be saved in a separate file during schema export. | Ruby See psql help for more information. The value is the number of process to use to parallelize the select query. Data validation requires that the table has a primary key or unique index and that the key columns is not a LOB. This is a work in progress, please validate your exported data geometries before use. This directive can be used to send an initial command to PostgreSQL, just after the connection. When enabled foreign keys will be exported into a file named FKEYS_output.sql. If PG_USER is not set it will be asked interactively too. Default is multiprocess disable. You can find some slide about this in a presentation given at PgConf.RU: http://ora2pg.darold.net/slides/ora2pg_the_hard_way.pdf. The default is 1MB witch may not be enough to extract BLOBs or CLOBs. When activated, the instruction will be added only if there's no global DELETE clause or not one specific to the current table (see below). Because of the use of the function this option can only be used with actions SHOW_COLUMN, TABLE and INSERT. You can use this directive to change the default value 49. this is only relevant if you have user defined type with a column timestamp. When it is set to WKB, Ora2Pg will use the binary output using SDO_UTIL.TO_WKBGEOMETRY(). The Orafce library can be found here: https://github.com/orafce/orafce. Enable by default. For example: The parallel query that will be used supposing that -J or ORACLE_COPIES is set to 8: where N is the current process forked starting from 0. This will only work with export to file and when -J or ORACLE_COPIES is not set or default to 1. The SHOW_COLUMN allow an other ora2pg command line option: '--allow relname' or '-a relname' to limit the displayed information to the given table. This could be a problem if your column is defined with NOT NULL constraint. Sometimes you need to force the destination type, for example a column exported as timestamp by Ora2Pg can be forced into type date. This directive is enabled by default, set it to 0 disable this feature. If you use the IMPORT directive to load a custom configuration file, directives defined in this file will be stores from the place the IMPORT directive is found, so it is better to put it at the end of the configuration file. The values set in the boolean columns list will be replaced with the 't' and 'f' following the default replacement values and those additionally set in directive BOOLEAN_VALUES. If you want to use COPY or have huge size BLOB ( > 1GB) than can not be imported using lo_from_bytea() you can add option --lo_import to the ora2pg command. You can define common Ora2Pg configuration directives into a single file that can be imported into other configuration files with the IMPORT configuration directive as follow: will import all configuration directives defined into commonfile.conf into the current configuration file. Disabling the directive with value 0 will prevent Ora2Pg to add those keywords in all generated statements. This feature has been developed to help you or your boss to decide which database to migrate first and the team that must be mobilized to operate the migration. This is the manner to declare global filters that will be used with the current export type. Also WKB is not able to export 3D geometry and some geometries like CURVEPOLYGON. Disabled by default. Enable it if you are exporting to GreenPlum PostgreSQL database. It can be used with direct import into PostgreSQL under the same condition but -j or JOBS must also be unset or default to 1. Ora2Pg come with a script ora2pg_scanner that can be used when you have a huge number of instances and schema to scan for migration assessment. This is usable only during the corresponding export type, the package body export has a special behavior. Default is 0: do not add SQL statements to disable trigger before data import. If you want to disable triggers during data migration, set the value to USER if your are connected as non superuser and ALL if you are connected as PostgreSQL superuser. Default is to stop after 10 rows validation errors. The number of error before stopping the diff between rows can be controlled using the configuration directive DATA_VALIDATION_ERROR. This controls whether ordinary string literals ('') treat backslashes literally, as specified in SQL standard. Activating this directive will force Ora2Pg to add WITH (OIDS) when creating tables or views as tables. Disable this directive if you want to disable check_function_bodies. See http://pgxn.org/dist/oracle_fdw/ for more information on this foreign data wrapper.

The KETTLE export type is useful if you want to use Penthalo Data Integrator (Kettle) to import data to PostgreSQL. You can include valid regex into the list. There's 5 configuration directives to control the access to the Oracle database. Use this directive to precise which transformation should be applied to a column when exporting data. For example with a variable declared as. This will work only if foreign keys have been exported as deferrable and you are not using direct import to PostgreSQL (PG_DSN is not defined). Usually identity column must be bigint to correspond to an auto increment sequence so Ora2Pg always force it to be a bigint. See http://ora2pg.darold.net/report.html for a sample report. This directive can only be used with TABLE, COPY or INSERT export. If you need to use comma or space inside type definition you will have to backslash them. Allow foreign key declaration to be saved in a separate file during schema export. The number of migration units associated to each PL/SQL code difficulties can be found in the same Perl library lib/Ora2Pg/PLSQL.pm in the hash %UNCOVERED_SCORE initialization. Enabling this feature will force Ora2Pg to scan a sample of 50000 column to look at the GTYPE used. All SCN per tables are written to a file name TABLES_SCN.log.

Here a sample of the command usage: It create a generic config file where you just have to define the Oracle database connection and a shell script called export_schema.sh. Release 10 adds a new export type destined to evaluate the content of the database to migrate, in terms of objects and cost to end the migration: Here is a sample of report: http://ora2pg.darold.net/report.html. See http://ora2pg.darold.net/report.html for a HTML sample of an Oracle database migration report. These WHERE clauses are very useful if you want to archive some data or at the opposite only export some recent data. By default it is set to 10 items. Both are possible too. Note that export type SHOW_TABLE and SHOW_COLUMN will use this sort order too, not only COPY or INSERT export type. This is the equivalent to set synchronous_commit directive of postgresql.conf file. Where OUTPUT is the value of the corresponding configuration directive. This is usable only during INSERT or COPY export type. To append these users to the schema exclusion list, just set the SYSUSERS configuration directive to a comma-separated list of system user to exclude. Enable this directive if you want that your subpartition table name will be exported using the parent partition name. This column is not automatically deduced so you need to replace its name. In this case, Ora2Pg will add the column as follow: ALTER TABLE t_document ADD COLUMN tsv_title tsvector; Then update the column to compute FTS vectors if data have been loaded before UPDATE t_document SET tsv_title = to_tsvector('pg_catalog.french', coalesce(title,'')); To automatically update the column when a modification in the title column appears, Ora2Pg adds the following trigger: When the Oracle text index is defined over multiple column, Ora2Pg will use setweight() to set a weight in the order of the column declaration. If this directive is set to 1, a TRUNCATE TABLE instruction will be add before loading data. To get DBD::Oracle get it from CPAN a perl module repository. Tuples are stored in memory before being written to disk, so if you want speed and have enough system resources you can grow this limit to an upper value for example: 100000 or 1000000. You can use .gz xor .bz2 file extension to enable compression. When exporting partition you can exclude some partition tables by using. If you have more than one only the last found in the file will be registered. To use space as trimming charger, comment this directive, this is the default value. If you give a file path to that directive, all output will be appended to this file. Default value for LOB_CHUNK_SIZE is 512000. PostgreSQL v11 adds support of PROCEDURE, enable it if you use such version. To be able to use this feature, the PG_DSN, PG_USER and PG_PWD must be set. For example: for the second notation the SID should be declared in the well known file $ORACLE_HOME/network/admin/tnsnames.ora or in the path given to the TNS_ADMIN environment variable.

For example, TO_NUMBER('10.1234') is converted into PostgreSQL call to_number('10.1234')::numeric. Force Ora2Pg to not look for function declaration. This is only possible with COPY or INSERT export type as for database schema there's no real interest to do that. The replacement will be done in all kind of DDL or code that is parsed by the PLSQL to PLPGSQL converter. In this case only users definitions are exported. The perl script ora2pg dump an ORA-XXX error, that mean that your DSN or login information are wrong, check the error and your settings and try again. For example: This will add the following clause to the query used to retrieve data: or for example to only retrive yesterday's data: Ora2Pg do not have such feature which allow to import data and to only apply changes after the first import. Set it to O if you want to disable export of millisecond from Oracle timestamp columns. With TABLE export create table DDL will respect the new list of columns and all indexes or foreign key pointing to or from a column removed will not be exported. Using your own settings with those configuration directive will change the client encoding at Oracle side by setting the environment variables $ENV{NLS_LANG} and $ENV{NLS_NCHAR}. To force recompile invalid object in a specific schema, set COMPILE_SCHEMA to the schema name you want to recompile. In this case disable this directive and the BLOB columns will not be included into data export. For example, if you want to replace all NUMBER(*,0) into bigint instead of numeric(38) add the following: You don't have to recopy all default type conversion but just the one you want to rewrite. Ora2Pg will open one database connection for each parallel table extraction. 2) Execute all scripts lo_import-TABLENAME.sh after setting the environment variables PGDATABASE and optionally PGHOST, PGPORT, PGUSER, etc. Note that this directive is only used for data export, other export need to be imported manually through the use og psql or any other PostgreSQL client. Special options to handle character encoding, Export as Kettle transformation XML files, Global Oracle and MySQL migration assessment, Improving indexes and constraints creation speed. If the installation of Oracle client used by Perl is setup to request encrypted connections, then your Perl connection to an Oracle database will also be encrypted. Could be helpful in some rare condition. This directive, when upper than 1, will invalidate ORACLE_COPIES but not JOBS, so the real number of process that will be used is PARALLEL_TABLES * JOBS. You can download the RPM from Oracle download center: or simply download the corresponding ZIP archives from Oracle download center and install them where you want, for example: /opt/oracle/instantclient_12_2/. This function is only created if Ora2Pg found a table with a BFILE column and that the destination type is bytea (the default). Default is disabled: abort import on error. Here are the possibles values TABLE, VIEW, MATERIALIZED VIEW, SEQUENCE, PROCEDURE, FUNCTION, PACKAGE BODY, TYPE, SYNONYM, DIRECTORY. | SQL This is usable only during INSERT or COPY export type. Just type the full name of the module (ex: DBD::Oracle) into the search input box, it will brings you the page for download. The capture part (between parenthesis) is mandatory in each regexp if you want to restore the string constant. However, non-deferrable constraints will probably cause problems when attempting to import data to Pg. If you want to import the materialized views in PostgreSQL prior to 9.3 you have to set configuration directive PG_SUPPORTS_MVIEW to 0. Default is to use a schema to emulate package. For example: will extract objects associated to the APPS schema. If set to 1 replace portable numeric type into PostgreSQL internal type. Default is 0, alter sequences. Note that you can chained multiple export by giving to the TYPE directive a comma-separated list of export type, but in this case you must not use COPY or INSERT with other export type. Oracle variables assignment are exported as call to: Use of these variables in the code is replaced by: where global_variables_type is the type of the variable extracted from the package definition. Ora2Pg has a content analysis mode that inspect the Oracle database to generate a text report on what the Oracle database contains and what can not be exported. When it is enabled they are exported as IDENTITY columns like: If there is non default sequence options set in Oracle, they will be appended after the IDENTITY keyword. The Perl code used for automatic conversion is all stored in a specific Perl Module named Ora2Pg/PLSQL.pm feel free to modify/add you own code and send me patches. For example: will export objects with name EMPLOYEES, COUNTRIES, all objects beginning with 'SALE_' and all objects with a name ending by '_GEOM_SEQ'. Once it is fixed in Oracle source code or you want to comment this calls enable the following directive. Recent tests shown that the best performances can be reach with higher value like 512K or 4Mb. Note that this will not improve speed of BLOB export as most of the time is always consumed by the bytea escaping and in this case export is done line by line and not by chunk of DATA_LIMIT rows. Some modified version of PostgreSQL, like greenplum, do not have this setting, so in this set this directive to 1, ora2pg will not try to change the setting. By default Ora2Pg try to order views to avoid error at import time with nested views. After setting ORACLE_HOME and LD_LIBRARY_PATH environment variables as root user, install DBD::Oracle. To not export these tables at all, set the directive to 0. With pg >= 9.5 only. With GRANT export you can use this extended form to exclude some users from the export or limit the export to some others: will limit export grants to users USER1 and USER2. Disable this if you want to load full content of BLOB and CLOB and not use LOB locators. To allow that you have to specify your views in the VIEW_AS_TABLE configuration option. Only one object type is allowed at a time. Set the value in minutes of the migration cost evaluation unit. Default is same as PostgreSQL, disabled. The files will be named as objectname_OUTPUT. You can also use -INFINITY if you don't want to use a fake date. By default Ora2Pg export Oracle tables with the NOLOGGING attribute as UNLOGGED tables. There's no SQL function available to retrieve the path to the BFILE. Use this directive to set the PostgreSQL data source namespace using DBD::Pg Perl module as follow: will connect to database 'pgdb' on localhost at tcp port 5432. Enable/disable PLSQL to PLPGSQL conversion. This parameter is used only with SHOW_REPORT and QUERY export type with no input file for queries. This directive is used to set the schema name to use during export. This function is only created if Ora2Pg found a table with a BFILE column and that the destination type is EFILE. You can force Ora2Pg to use /*+ PARALLEL(tbname, degree) */ hint in each query used to export data from Oracle by setting a value upper than 1 to this directive. It connects your Oracle database, scans it automatically and extracts its structure or data, then generates SQL scripts that you can load into your PostgreSQL database. The sources/ directory will contains the Oracle code, the schema/ will contains the code ported to PostgreSQL. It is also possible to specify the number of parallel queries used to extract data from the Oracle with the -J command line option as follow: This is only possible if you have defined the technical key to used to split the query between cores in the DEFINED_PKEY configuration directive. This directive allows you to set a list of objects on which the export must be limited, excluding all other objects in the same type of export. By default Ora2Pg exports to a file that you can load into PostgreSQL with the psql client, but you can also import directly into a PostgreSQL database by setting its DSN into the configuration file. If the column's type is a user defined type Ora2Pg will autodetect the composite type and will export its data using ROW(). Stop validating data from a table after a certain amount of row mistmatch. To estimate the migration cost in man-days, Ora2Pg allow you to use a configuration directive called ESTIMATE_COST that you can also enabled at command line: This feature can only be used with the SHOW_REPORT, FUNCTION, PROCEDURE, PACKAGE and QUERY export type. Enable translation of autonomous transactions into a wrapper function using dblink or pg_background extension. Here are the default list used: The directive and the list definition must be a single line. Default is to use de postgresql.conf setting that enable it by default. When exporting GRANTs you can specify a comma separated list of objects for which privilege will be exported. Default is enabled. Set this parameter to 0 to not include the call to \set ON_ERROR_STOP ON in all SQL scripts generated by Ora2Pg. This is why you can start a regular expression with the ! For example to replace string 'Oracle' by 'PostgreSQL' in a varchar2 column use the following. You can overwrite this value to any PG type, like integer or float. Some export type can not or should not be load directly into the PostgreSQL database and still require little manual editing. Like table name, the name of the column can be remapped to a different name using the following syntax: will rename Oracle columns 'dico' and 'dossier' from table T_TEST into new name 'dictionary' and 'folder'. Hint: Use the -t | --test option before to test all your connections in your CSV file. This assessment method is a work in progress so I'm expecting feedbacks on migration experiences to polish the scores/units attributed in those variables.

Can be overwritten by CONVERT_SRID, see above. Default to uuid_generate_v4. This will considerably accelerate this part of the migration process with huge data size. If SCHEMA is not set then all schema will be recompiled. If set to 1 it disables alter of sequences on all tables during COPY or INSERT export mode. This directive is used to defined the number of tables that will be processed in parallel for data extraction. The 'VALID' or 'INVALID' status applies to functions, procedures, packages and user defined types. Not so common but can help. If you don't want to reproduce the partitioning like in Oracle and want to export all partitioned Oracle data into the main single table in PostgreSQL enable this directive. Once that's done you just have to set the type of export you want: TABLE with constraints, VIEW, MVIEW, TABLESPACE, SEQUENCE, INDEXES, TRIGGER, GRANT, FUNCTION, PROCEDURE, PACKAGE, PARTITION, TYPE, INSERT or COPY, FDW, QUERY, KETTLE, SYNONYM. When enabled, Ora2pg will create the wrapper function: In your queries you will need to use the same function in the search to be able to use the function-based index. This directive can take three values: WKT (default), WKB and INTERNAL. Ora2Pg fully export Spatial object from Oracle database. The third case is when you set the destination type to EFILE, in this case, Ora2Pg will export it as an EFILE record: (DIRECTORY, FILENAME). If you have multiple partitioned table, when exported to PostgreSQL some partitions could have the same name but different parent tables. You can also activate the TRUNCATE_TABLE directive to force a truncation of the table before data import. In this case the data validation will fail. If you want to override those security privileges for all functions and use SECURITY DEFINER instead, enable this directive. The 'VALID' or 'INVALID' status applies to functions, procedures, packages and user defined types. the 'sid' part is replaced by 'database'. During FUNCTION or PROCEDURE export type each function will be translated to plpgsql using a new process, the performances gain can be very important when you have tons of function to convert. Allow escaping of column name using Oracle reserved words. If you plan to export a MySQL database you need to install the Perl module DBD::mysql which requires that the mysql client libraries are installed. There's no specific order to place the configuration directives, they are set at the time they are read in the configuration file. By default foreign keys are exported into the main output file or in the CONSTRAINT_output.sql file. This directive did not control the Oracle database connection or unless it purely disables the use of any Oracle database by accepting a file as argument. To connect to a local ORACLE instance with connections "as sysdba" you have to set ORACLE_USER to "/" and an empty password. See document at Pg site: http://www.postgresql.org/docs/current/interactive/ddl-partitioning.html. The TYPE export allow export of user defined Oracle type. The number of PL/SQL lines associated to a migration unit is also defined in this file in the $SIZE_SCORE variable value. By default Ora2Pg will extract the 10000 first rows from both side, you can change this value using directive DATA_VALIDATION_ROWS. If you disable the PACKAGE_AS_SCHEMA directive then Ora2Pg will replace all call to package_name.function_name() by package_name_function_name(). Add support to INSTEAD OF usage on triggers (used with PG >= 9.1), if this directive is disabled the INSTEAD OF triggers will be rewritten as Pg rules. For TABLESPACE you must ensure that file path exist on the system and for SYNONYM you may ensure that the object's owners and schemas correspond to the new PostgreSQL database design. There's three configuration directives that allow you to map those differences. With this type of export Ora2Pg will generate one XML Kettle transformation files (.ktr) per table and add a line to manually execute the transformation in the output.sql file. These modules are used to connect to the database but they are not mandatory if you want to migrate DDL input files. There is everything to build RPM, Slackware and Debian packages. For example: The list of regexp must use the semi colon as separator. Due to differences in sort behavior between Oracle and PostgreSQL, if the collation of unique key columns in PostgreSQL is not 'C', the sort order can be different compared to Oracle. Here are the different values of the TYPE directive, default is TABLE: Only one type of export can be perform at the same time so the TYPE directive must be unique. Note that the value can always modified by the user so you can not have exactly a constant. Ora2Pg is a free tool used to migrate an Oracle database to a PostgreSQL compatible schema. To force the download of data from these tables you have to remove the existing output file first. The default trimming character is space, use this directive if you need to change the character that will be removed. By default Oracle roles are translated into PostgreSQL groups. For example, if you set PG_SCHEMA to something like "user_schema, public", the search path will be set like this: forcing the use of an other schema (here user_schema) than the one from Oracle schema set in the SCHEMA directive. This is the case for GRANT, TABLESPACE, TRIGGER, FUNCTION, PROCEDURE, TYPE, QUERY and PACKAGE export types especially if you have PLSQL code or Oracle specific SQL in it. This works only with tablespace that are not TEMP, USERS and SYSTEM.

If the output.sql file has not exported anything other than the Pg transaction header and footer there's two possible reasons. For example to set some session parameters. I do not recommend to enable this unless you will always have to double-quote object names on all your SQL scripts. If you want to bypass the 'ORA-24345: A Truncation' error, set this directive to 1, it will truncate the data extracted to the LongReadLen value. By default data export order will be done by sorting on table name. The function is dropped at the end of the export. The Oracle database export can be limited to a specific Schema or Namespace, this can be mandatory following the database connection user. This will install scripts and libraries into your Perl site installation directory and the ora2pg.conf file as well as all documentation files into C:\ora2pg\. If you want Ora2Pg to remove any timezone information into the format part of the TO_CHAR() function, enable this directive. There's a special case with BFILE when they are converted to type TEXT, they will just contains the full path to the external file. This can be done in a minute. Ora2Pg does its best to automatically convert your Oracle database to PostgreSQL but there's still manual works to do. Add the given value as suffix to indexes names. With the TABLESPACE export, it is used to write "ALTER INDEX TABLESPACE " into a separate file named TBSP_INDEXES_OUTPUT that can be loaded at end of the migration after the indexes creation to move the indexes.

If TRUNCATE_TABLE is enabled it will be applied to all tables not covered by the DELETE definition. Enable this directive if you want that your partition table name will be exported using the parent table name. Exporting BLOB use lot of resources, setting it to a too high value can produce OOM. If you want to call another configuration file, just give the path as command line argument: Here are all command line parameters available when using ora2pg: Usage: ora2pg [-dhpqv --estimate_cost --dump_as_html] [--option value]. If you want to perform your text search in an accent insensitive way, enable this directive. Note that this directive when set upper that 1 will also automatically enable the FILE_PER_TABLE directive if your are exporting to files.

Default value is BOTH. The type of action called TEST allow you to check that all objects from Oracle database have been created under PostgreSQL. This directive can be used multiple times. Available values are USER (disable user-defined triggers only) and ALL (includes RI system triggers). This will allow to import data in two passes. Windows(tm) users may also find a template configuration file in C:\ora2pg. You will find some useful recommendations on porting Oracle PL/SQL code to PostgreSQL PL/PGSQL at "Converting from other Databases to PostgreSQL", section: Oracle (http://wiki.postgresql.org/wiki/Main_Page). Rows will be sorted using this unique key. PostgreSQL version prior to 10.0 do not have native partitioning. You may want to fully disable this feature because you will lose all data from unlogged tables in case of a PostgreSQL crash. By default this order is always present so that the script will immediately abort when an error is encountered. The command: will import content of file output.sql into PostgreSQL mydb database. The directory must exists. Ex: 9.6 or 13 Default is current major version at time of a new release. By using type FDW your Oracle tables will be exported as follow: Now you can use the table like a regular PostgreSQL table. With FTS Ora2Pg will redefine your text search configuration, for example: then set the FTS_CONFIG ora2pg.conf directive to fr instead of pg_catalog.english. For example, with the following definition in Oracle: custom type "mem_type" is just a string array and can be translated into the following in PostgreSQL: To do so, just use the directive as follow: Ora2Pg will take care to transform all data of this column in the correct format. If you want to also export this schema and create all objects under this namespace, set the EXPORT_SCHEMA directive to 1. It will use a Pure Perl library to convert the SDO_GEOMETRY data into a WKT representation, the translation is done on Ora2Pg side. This directive allows you to remap a list of Oracle table name to a PostgreSQL table name during export. In this case Ora2Pg will export all materialized views as explain in this document: When exporting materialized view Ora2Pg will first add the SQL code to create the "materialized_views" table: all materialized views will have an entry in this table. Please check what's happen." For example set it to TABLE if you just want to export privilege on tables. Ora2Pg will convert Oracle partition using table inheritance, trigger and functions. table oracle schema hr sql tables clusters database tablename figure multitenant difference between 11g docs server cd administration introduction



» Page not found

Page not found or has been removed. Please browse one of our other pages.

Top Slot Sites

Casino Titan

Casino Titan
There’s a free (no-deposit) $7 for new players at Casino Titan plus you also receive up to $3000 in new player Bonuses...

Play Now

Cinema Casino

Cinema Casino
Microgaming is behind another big successful online casino, Cinema Casino. Cinema Casino has over 200 casino games to choose from. This online casino is giving $1000 away for free to try their games and 60 minutes on the clock. ...

Play Now

WinPalace Casino

WinPalace Casino
WinPalace welcomes with an exclusive casino bonus of $1000 CASH ! Get a generous 200% bonus (up to $500) not only on your first but on your 2nd deposit too! This incredible bonus awards you with $1,000 in BONUS CASH! Good luck!...

Play Now

Slots Plus Casino

Slots Plus Casino
Slots Plus Casino have chosen Real Time Gaming software, which offers online players a great gaming experience, which is a step ahead of the rest. 125% welcome bonus is offered to New players at Slot Plus Casino! ...

Play Now

7 Sultans Casino

7 Sultans Casino
9 magical bonuses of $1000 await you at 7 Sultans Casino...

Play Now

Slots Jungle

Slots Jungle
Slots Jungle will match each of your first 10 deposits by 100% up to $1,000 for a grand total of $10,000. No other online casino offers you this much extra free cash to play with. So start cashing in today! To collect, simply redeem bonus code: JUNGLEWELCOME ...

Play Now

Contributors

We Recommend