From ef6e5e6a1648fe8fd79a75ce4d019990bca24c09 Mon Sep 17 00:00:00 2001 From: jcschaff Date: Thu, 20 Jun 2024 11:10:52 -0400 Subject: [PATCH 1/7] baseline from quickstart --- docker/database/migration/README.md | 17 + docker/database/migration/config/ora2pg.conf | 1399 ++++++++++++++++++ 2 files changed, 1416 insertions(+) create mode 100644 docker/database/migration/README.md create mode 100644 docker/database/migration/config/ora2pg.conf diff --git a/docker/database/migration/README.md b/docker/database/migration/README.md new file mode 100644 index 0000000000..d69f15cd00 --- /dev/null +++ b/docker/database/migration/README.md @@ -0,0 +1,17 @@ +```bash +export ORACLE_USER=system +export ORACLE_SECRET=secret +docker run \ + --platform linux/amd64 \ + --name ora2pg \ + -e CONFIG_LOCATION=/config/ora2pg.conf \ + -e OUTPUT_LOCATION=/data/myfolder \ + -e ORA_HOST=dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 \ + -e ORA_USER=${ORACLE_USER} \ + -e ORA_PWD=${ORACLE_SECRET} \ + -it \ + -v /Users/jimschaff/Documents/workspace/vcell/docker/database/migration/config:/config \ + -v /Users/jimschaff/Documents/workspace/vcell/docker/database/migration/data:/data \ + georgmoser/ora2pg:24.3 \ + ora2pg --debug -c /config/ora2pg.conf +``` \ No newline at end of file diff --git a/docker/database/migration/config/ora2pg.conf b/docker/database/migration/config/ora2pg.conf new file mode 100644 index 0000000000..b616d5ff45 --- /dev/null +++ b/docker/database/migration/config/ora2pg.conf @@ -0,0 +1,1399 @@ + +#################### Ora2Pg Configuration file ##################### + +# Support for including a common config file that may contain any +# of the following configuration directives. +#IMPORT common.conf + +#------------------------------------------------------------------------------ +# INPUT SECTION (Oracle connection or input file) +#------------------------------------------------------------------------------ + +# Set this directive to a file containing PL/SQL Oracle Code like function, +# procedure or a full package body to prevent Ora2Pg from connecting to an +# Oracle database end just apply his conversion tool to the content of the +# file. This can only be used with the following export type: PROCEDURE, +# FUNCTION or PACKAGE. If you don't know what you do don't use this directive. +#INPUT_FILE ora_plsql_src.sql + +# Set the Oracle home directory +ORACLE_HOME /usr/lib/oracle/12.2/client64 + +# Set Oracle database connection (datasource, user, password) +ORACLE_DSN dbi:Oracle:host=mydb.mydom.fr;sid=SIDNAME;port=1521 +ORACLE_USER system +ORACLE_PWD manager + +# Set this to 1 if you connect as simple user and can not extract things +# from the DBA_... tables. It will use tables ALL_... This will not works +# with GRANT export, you should use an Oracle DBA username at ORACLE_USER +USER_GRANTS 0 + +# Trace all to stderr +DEBUG 0 + +# This directive can be used to send an initial command to Oracle, just after +# the connection. For example to unlock a policy before reading objects or +# to set some session parameters. This directive can be used multiple time. +#ORA_INITIAL_COMMAND + + +#------------------------------------------------------------------------------ +# SCHEMA SECTION (Oracle schema to export and use of schema in PostgreSQL) +#------------------------------------------------------------------------------ + +# Export Oracle schema to PostgreSQL schema +EXPORT_SCHEMA 0 + +# Oracle schema/owner to use +#SCHEMA SCHEMA_NAME + +# Enable/disable the CREATE SCHEMA SQL order at starting of the output file. +# It is enable by default and concern on TABLE export type. +CREATE_SCHEMA 1 + +# Enable this directive to force Oracle to compile schema before exporting code. +# When this directive is enabled and SCHEMA is set to a specific schema name, +# only invalid objects in this schema will be recompiled. If SCHEMA is not set +# then all schema will be recompiled. To force recompile invalid object in a +# specific schema, set COMPILE_SCHEMA to the schema name you want to recompile. +# This will ask to Oracle to validate the PL/SQL that could have been invalidate +# after a export/import for example. The 'VALID' or 'INVALID' status applies to +# functions, procedures, packages and user defined types. +COMPILE_SCHEMA 1 + +# By default if you set EXPORT_SCHEMA to 1 the PostgreSQL search_path will be +# set to the schema name exported set as value of the SCHEMA directive. You can +# defined/force the PostgreSQL schema to use by using this directive. +# +# The value can be a comma delimited list of schema but not when using TABLE +# export type because in this case it will generate the CREATE SCHEMA statement +# and it doesn't support multiple schema name. For example, if you set PG_SCHEMA +# to something like "user_schema, public", the search path will be set like this +# SET search_path = user_schema, public; +# forcing the use of an other schema (here user_schema) than the one from Oracle +# schema set in the SCHEMA directive. You can also set the default search_path +# for the PostgreSQL user you are using to connect to the destination database +# by using: +# ALTER ROLE username SET search_path TO user_schema, public; +#in this case you don't have to set PG_SCHEMA. +#PG_SCHEMA + +# Use this directive to add a specific schema to the search path to look +# for PostGis functions. +#POSTGIS_SCHEMA + +# Allow to add a comma separated list of system user to exclude from +# Oracle extraction. Oracle have many of them following the modules +# installed. By default it will suppress all object owned by the following +# system users: +# 'SYSTEM','CTXSYS','DBSNMP','EXFSYS','LBACSYS','MDSYS','MGMT_VIEW', +# 'OLAPSYS','ORDDATA','OWBSYS','ORDPLUGINS','ORDSYS','OUTLN', +# 'SI_INFORMTN_SCHEMA','SYS','SYSMAN','WK_TEST','WKSYS','WKPROXY', +# 'WMSYS','XDB','APEX_PUBLIC_USER','DIP','FLOWS_020100','FLOWS_030000', +# 'FLOWS_040100','FLOWS_010600','FLOWS_FILES','MDDATA','ORACLE_OCM', +# 'SPATIAL_CSW_ADMIN_USR','SPATIAL_WFS_ADMIN_USR','XS$NULL','PERFSTAT', +# 'SQLTXPLAIN','DMSYS','TSMSYS','WKSYS','APEX_040000','APEX_040200', +# 'DVSYS','OJVMSYS','GSMADMIN_INTERNAL','APPQOSSYS','DVSYS','DVF', +# 'AUDSYS','APEX_030200','MGMT_VIEW','ODM','ODM_MTR','TRACESRV','MTMSYS', +# 'OWBSYS_AUDIT','WEBSYS','WK_PROXY','OSE$HTTP$ADMIN', +# 'AURORA$JIS$UTILITY$','AURORA$ORB$UNAUTHENTICATED', +# 'DBMS_PRIVILEGE_CAPTURE','CSMIG','MGDSYS','SDE','DBSFWUSER' +# Other list of users set to this directive will be added to this list. +#SYSUSERS OE,HR + + +# List of schema to get functions/procedures meta information that are used +# in the current schema export. When replacing call to function with OUT +# parameters, if a function is declared in an other package then the function +# call rewriting can not be done because Ora2Pg only know about functions +# declared in the current schema. By setting a comma separated list of schema +# as value of this directive, Ora2Pg will look forward in these packages for +# all functions/procedures/packages declaration before proceeding to current +# schema export. +#LOOK_FORWARD_FUNCTION SCOTT,OE + +# Force Ora2Pg to not look for function declaration. Note that this will prevent +# Ora2Pg to rewrite function replacement call if needed. Do not enable it unless +# looking forward at function breaks other export. +NO_FUNCTION_METADATA 0 + +#------------------------------------------------------------------------------ +# ENCODING SECTION (Define client encoding at Oracle and PostgreSQL side) +#------------------------------------------------------------------------------ + +# Enforce default language setting following the Oracle database encoding. This +# may be used with multibyte characters like UTF8. Here are the default values +# used by Ora2Pg, you may not change them unless you have problem with this +# encoding. This will set $ENV{NLS_LANG} to the given value. +#NLS_LANG AMERICAN_AMERICA.AL32UTF8 +# This will set $ENV{NLS_NCHAR} to the given value. +#NLS_NCHAR AL32UTF8 + +# By default PostgreSQL client encoding is automatically set to UTF8 to avoid +# encoding issue. If you have changed the value of NLS_LANG you might have to +# change the encoding of the PostgreSQL client. +#CLIENT_ENCODING UTF8 + +# To force utf8 encoding of the PL/SQL code exported, enable this directive. +# Could be helpful in some rare condition. +FORCE_PLSQL_ENCODING 0 + +#------------------------------------------------------------------------------ +# EXPORT SECTION (Export type and filters) +#------------------------------------------------------------------------------ + +# Type of export. Values can be the following keyword: +# TABLE Export tables, constraints, indexes, ... +# PACKAGE Export packages +# INSERT Export data from table as INSERT statement +# COPY Export data from table as COPY statement +# VIEW Export views +# GRANT Export grants +# SEQUENCE Export sequences +# TRIGGER Export triggers +# FUNCTION Export functions +# PROCEDURE Export procedures +# TABLESPACE Export tablespace (PostgreSQL >= 8 only) +# TYPE Export user defined Oracle types +# PARTITION Export range or list partition (PostgreSQL >= v8.4) +# FDW Export table as foreign data wrapper tables +# MVIEW Export materialized view as snapshot refresh view +# QUERY Convert Oracle SQL queries from a file. +# KETTLE Generate XML ktr template files to be used by Kettle. +# DBLINK Generate oracle foreign data wrapper server to use as dblink. +# SYNONYM Export Oracle's synonyms as views on other schema's objects. +# DIRECTORY Export Oracle's directories as external_file extension objects. +# LOAD Dispatch a list of queries over multiple PostgreSQl connections. +# TEST perform a diff between Oracle and PostgreSQL database. +# TEST_COUNT perform only a row count between Oracle and PostgreSQL tables. +# TEST_VIEW perform a count on both side of number of rows returned by views +# TEST_DATA perform data validation check on rows at both sides. +# SEQUENCE_VALUES export DDL to set the last values of sequences + +TYPE TABLE + +# Set this to 1 if you don't want to export comments associated to tables and +# column definitions. Default is enabled. +DISABLE_COMMENT 0 + +# Set which object to export from. By default Ora2Pg export all objects. +# Value must be a list of object name or regex separated by space. Note +# that regex will not works with 8i database, use % placeholder instead +# Ora2Pg will use the LIKE operator. There is also some extended use of +# this directive, see chapter "Limiting object to export" in documentation. +#ALLOW TABLE_TEST + +# Set which object to exclude from export process. By default none. Value +# must be a list of object name or regexp separated by space. Note that regex +# will not works with 8i database, use % placeholder instead Ora2Pg will use +# the NOT LIKE operator. There is also some extended use of this directive, +# see chapter "Limiting object to export" in documentation. +#EXCLUDE OTHER_TABLES + +# By default Ora2Pg exclude from export some Oracle "garbage" tables that should +# never be part of an export. This behavior generates a lot of REGEXP_LIKE +# expressions which are slowing down the export when looking at tables. To disable +# this behavior enable this directive, you will have to exclude or clean up later +# by yourself the unwanted tables. The regexp used to exclude the table are +# defined in the array in lib/Ora2Pg.pm. Note this is behavior +# is independant to the EXCLUDE configuration directive. +NO_EXCLUDED_TABLE 0 + +# Set which view to export as table. By default none. Value must be a list of +# view name or regexp separated by space. If the object name is a view and the +# export type is TABLE, the view will be exported as a create table statement. +# If export type is COPY or INSERT, the corresponding data will be exported. +#VIEW_AS_TABLE VIEW_NAME + +# Set which materialized view to export as table. By default none. Value must +# be a list of materialized view name or regexp separated by space. If the +# object name is a materialized view and the export type is TABLE, the view +# will be exported as a create table statement. If export type is COPY or +# INSERT, the corresponding data will be exported. +#MVIEW_AS_TABLE VIEW_NAME + +# By default Ora2Pg try to order views to avoid error at import time with +# nested views. With a huge number of view this can take a very long time, +# you can bypass this ordering by enabling this directive. +NO_VIEW_ORDERING 0 + +# When exporting GRANTs you can specify a comma separated list of objects +# for which privilege will be exported. Default is export for all objects. +# Here are the possibles values TABLE, VIEW, MATERIALIZED VIEW, SEQUENCE, +# PROCEDURE, FUNCTION, PACKAGE BODY, TYPE, SYNONYM, DIRECTORY. Only one object +# type is allowed at a time. For example set it to TABLE if you just want to +# export privilege on tables. You can use the -g option to overwrite it. +# When used this directive prevent the export of users unless it is set to +# USER. In this case only users definitions are exported. +#GRANT_OBJECT TABLE + +# By default Ora2Pg will export your external table as file_fdw tables. If +# you don't want to export those tables at all, set the directive to 0. +EXTERNAL_TO_FDW 1 + +# Add a TRUNCATE TABLE instruction before loading data on COPY and INSERT +# export. When activated, the instruction will be added only if there's no +# global DELETE clause or one specific to the current table (see bellow). +TRUNCATE_TABLE 0 + +# Support for include a DELETE FROM ... WHERE clause filter before importing +# data and perform a delete of some lines instead of truncatinf tables. +# Value is construct as follow: TABLE_NAME[DELETE_WHERE_CLAUSE], or +# if you have only one where clause for all tables just put the delete +# clause as single value. Both are possible too. Here are some examples: +#DELETE 1=1 # Apply to all tables and delete all tuples +#DELETE TABLE_TEST[ID1='001'] # Apply only on table TABLE_TEST +#DELETE TABLE_TEST[ID1='001' OR ID1='002] DATE_CREATE > '2001-01-01' TABLE_INFO[NAME='test'] +# The last applies two different delete where clause on tables TABLE_TEST and +# TABLE_INFO and a generic delete where clause on DATE_CREATE to all other tables. +# If TRUNCATE_TABLE is enabled it will be applied to all tables not covered by +# the DELETE definition. + +# When enabled this directive forces ora2pg to export all tables, index +# constraints, and indexes using the tablespace name defined in Oracle database. +# This works only with tablespaces that are not TEMP, USERS and SYSTEM. +USE_TABLESPACE 0 + +# Enable this directive to reorder columns and minimized the footprint +# on disk, so that more rows fit on a data page, which is the most important +# factor for speed. Default is same order than in Oracle table definition, +# that should be enough for most usage. +REORDERING_COLUMNS 0 + +# Support for include a WHERE clause filter when dumping the contents +# of tables. Value is construct as follow: TABLE_NAME[WHERE_CLAUSE], or +# if you have only one where clause for each table just put the where +# clause as value. Both are possible too. Here are some examples: +#WHERE 1=1 # Apply to all tables +#WHERE TABLE_TEST[ID1='001'] # Apply only on table TABLE_TEST +#WHERE TABLE_TEST[ID1='001' OR ID1='002] DATE_CREATE > '2001-01-01' TABLE_INFO[NAME='test'] +# The last applies two different where clause on tables TABLE_TEST and +# TABLE_INFO and a generic where clause on DATE_CREATE to all other tables + +# Sometime you may want to extract data from an Oracle table but you need a +# a custom query for that. Not just a "SELECT * FROM table" like Ora2Pg does +# but a more complex query. This directive allows you to override the query +# used by Ora2Pg to extract data. The format is TABLENAME[SQL_QUERY]. +# If you have multiple tables to extract by replacing the Ora2Pg query, you can +# define multiple REPLACE_QUERY lines. +#REPLACE_QUERY EMPLOYEES[SELECT e.id,e.fisrtname,lastname FROM EMPLOYEES e JOIN EMP_UPDT u ON (e.id=u.id AND u.cdate>'2014-08-01 00:00:00')] + +# To add a DROP IF EXISTS before creating the object, enable +# this directive. Can be useful in an iterative work. Default is disabled. +DROP_IF_EXISTS 0 + +# PostgreSQL do not supports Global Temporary Table natively but you can use +# the pgtt extension to emulate this behavior. Enable this directive to export +# global temporary table. +EXPORT_GTT 0 + +# By default the pgtt extension is load using the superuser privilege, set it +# to 1 if you run the SQL scripts generated using a non superuser user. It will +# use LOAD '$libdir/plugins/pgtt' instead of LOAD 'pgtt'. +PGTT_NOSUPERUSER 0 + +#------------------------------------------------------------------------------ +# FULL TEXT SEARCH SECTION (Control full text search export behaviors) +#------------------------------------------------------------------------------ + +# Force Ora2Pg to translate Oracle Text indexes into PostgreSQL indexes using +# pg_trgm extension. Default is to translate CONTEXT indexes into FTS indexes +# and CTXCAT indexes using pg_trgm. Most of the time using pg_trgm is enough, +# this is why this directive stand for. +# +CONTEXT_AS_TRGM 0 + +# By default Ora2Pg creates a function-based index to translate Oracle Text +# indexes. +# CREATE INDEX ON t_document +# USING gin(to_tsvector('french', title)); +# You will have to rewrite the CONTAIN() clause using to_tsvector(), example: +# SELECT id,title FROM t_document +# WHERE to_tsvector(title)) @@ to_tsquery('search_word'); +# +# To force Ora2Pg to create an extra tsvector column with a dedicated triggers +# for FTS indexes, disable this directive. 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('french', coalesce(title,'')); +# To automatically update the column when a modification in the title column +# appears, Ora2Pg adds the following trigger: +# +# CREATE FUNCTION tsv_t_document_title() RETURNS trigger AS $$ +# BEGIN +# IF TG_OP = 'INSERT' OR new.title != old.title THEN +# new.tsv_title := +# to_tsvector('french', coalesce(new.title,'')); +# END IF; +# return new; +# END +# $$ LANGUAGE plpgsql; +# CREATE TRIGGER trig_tsv_t_document_title BEFORE INSERT OR UPDATE +# ON t_document +# FOR EACH ROW EXECUTE PROCEDURE tsv_t_document_title(); +# +# 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. +# +FTS_INDEX_ONLY 1 + +# Use this directive to force text search configuration to use. When it is not +# set, Ora2Pg will autodetect the stemmer used by Oracle for each index and +# pg_catalog.english if nothing is found. +# +#FTS_CONFIG pg_catalog.french + +# If you want to perform your text search in an accent insensitive way, enable +# this directive. Ora2Pg will create an helper function over unaccent() and +# creates the pg_trgm indexes using this function. With FTS Ora2Pg will +# redefine your text search configuration, for example: +# +# CREATE TEXT SEARCH CONFIGURATION fr (COPY = pg_catalog.french); +# ALTER TEXT SEARCH CONFIGURATION fr +# ALTER MAPPING FOR hword, hword_part, word WITH unaccent, french_stem; +# +# When enabled, Ora2pg will create the wrapper function: +# +# CREATE OR REPLACE FUNCTION unaccent_immutable(text) +# RETURNS text AS +# $$ +# SELECT public.unaccent('public.unaccent', ) +# $$ LANGUAGE sql IMMUTABLE +# COST 1; +# +# indexes are exported as follow: +# +# CREATE INDEX t_document_title_unaccent_trgm_idx ON t_document +# USING gin (unaccent_immutable(title) gin_trgm_ops); +# +# In your queries you will need to use the same function in the search to +# be able to use the function-based index. Example: +# +# SELECT * FROM t_document +# WHERE unaccent_immutable(title) LIKE '%donnees%'; +# +USE_UNACCENT 0 + +# Same as above but call lower() in the unaccent_immutable() function: +# +# CREATE OR REPLACE FUNCTION unaccent_immutable(text) +# RETURNS text AS +# $$ +# SELECT lower(public.unaccent('public.unaccent', )); +# $$ LANGUAGE sql IMMUTABLE; +# +USE_LOWER_UNACCENT 0 + + +#------------------------------------------------------------------------------ +# DATA DIFF SECTION (only delete and insert actually changed rows) +#------------------------------------------------------------------------------ + +# EXPERIMENTAL! Not yet working correctly with partitioned tables, parallelism, +# and direct Postgres connection! Test before using in production! +# This feature affects SQL output for data (INSERT or COPY). +# The deletion and (re-)importing of data is redirected to temporary tables +# (with configurable suffix) and matching entries (i.e. quasi-unchanged rows) +# eliminated before actual application of the DELETE, UPDATE and INSERT. +# Optional functions can be specified that are called before or after the +# actual DELETE, UPDATE and INSERT per table, or after all tables have been +# processed. +# +# Enable DATADIFF functionality +DATADIFF 0 +# Use UPDATE where changed columns can be matched by the primary key +# (otherwise rows are DELETEd and re-INSERTed, which may interfere with +# inverse foreign keys relationships!) +DATADIFF_UPDATE_BY_PKEY 0 +# Suffix for temporary tables holding rows to be deleted and to be inserted. +# Pay attention to your tables names: +# 1) There better be no two tables with names such that name1 + suffix = name2 +# 2) length(suffix) + length(tablename) < NAMEDATALEN (usually 64) +DATADIFF_DEL_SUFFIX _del +DATADIFF_UPD_SUFFIX _upd +DATADIFF_INS_SUFFIX _ins +# Allow setting the work_mem and temp_buffers parameters +# to keep temp tables in memory and have efficient sorting, etc. +DATADIFF_WORK_MEM 256 MB +DATADIFF_TEMP_BUFFERS 512 MB + +# The following are names of functions that will be called (via SELECT) +# after the temporary tables have been reduced (by removing matching rows) +# and right before or right after the actual DELETE and INSERT are performed. +# They must take four arguments, which should ideally be of type "regclass", +# representing the real table, the "deletions", the "updates", and the +# "insertions" temp table names, respectively. They are called before +# re-activation of triggers, indexes, etc. (if configured). +#DATADIFF_BEFORE my_datadiff_handler_function +#DATADIFF_AFTER my_datadiff_handler_function + +# Another function can be called (via SELECT) right before the entire COMMIT +# (i.e., after re-activation of indexes, triggers, etc.), which will be +# passed in Postgres ARRAYs of the table names of the real tables, the +# "deletions", the "updates" and the "insertions" temp tables, respectively, +# with same array index positions belonging together. So this function should +# take four arguments of type regclass[] +#DATADIFF_AFTER_ALL my_datadiff_bunch_handler_function +# If in doubt, use schema-qualified function names here. +# The search_path will have been set to PG_SCHEMA if EXPORT_SCHEMA == 1 +# (as defined by you in those config parameters, see above), +# i.e., the "public" schema is not contained if EXPORT_SCHEMA == 1 + + +#------------------------------------------------------------------------------ +# CONSTRAINT SECTION (Control constraints export and import behaviors) +#------------------------------------------------------------------------------ + +# Support for turning off certain schema features in the postgres side +# during schema export. Values can be : fkeys, pkeys, ukeys, indexes, checks +# separated by a space character. +# fkeys : turn off foreign key constraints +# pkeys : turn off primary keys +# ukeys : turn off unique column constraints +# indexes : turn off all other index types +# checks : turn off check constraints +#SKIP fkeys pkeys ukeys indexes checks + +# By default names of the primary and unique key in the source Oracle database +# are ignored and key names are autogenerated in the target PostgreSQL database +# with the PostgreSQL internal default naming rules. If you want to preserve +# Oracle primary and unique key names set this option to 1. +# Please note if value of USE_TABLESPACE is set to 1 the value of this option is +# enforced to 1 to preserve correct primary and unique key allocation to tablespace. +KEEP_PKEY_NAMES 0 + +# Enable this directive if you want to add primary key definitions inside the +# create table statements. If disabled (the default) primary key definition +# will be added with an alter table statement. Enable it if you are exporting +# to GreenPlum PostgreSQL database. +PKEY_IN_CREATE 0 + +# This directive allow you to add an ON UPDATE CASCADE option to a foreign +# key when a ON DELETE CASCADE is defined or always. Oracle do not support +# this feature, you have to use trigger to operate the ON UPDATE CASCADE. +# As PostgreSQL has this feature, you can choose how to add the foreign +# key option. There is three value to this directive: never, the default +# that mean that foreign keys will be declared exactly like in Oracle. +# The second value is delete, that mean that the ON UPDATE CASCADE option +# will be added only if the ON DELETE CASCADE is already defined on the +# foreign Keys. The last value, always, will force all foreign keys to be +# defined using the update option. +FKEY_ADD_UPDATE never + +# When exporting tables, Ora2Pg normally exports constraints as they are; +# if they are non-deferrable they are exported as non-deferrable. +# However, non-deferrable constraints will probably cause problems when +# attempting to import data to PostgreSQL. The following option set to 1 +# will cause all foreign key constraints to be exported as deferrable +FKEY_DEFERRABLE 0 + +# In addition when exporting data the DEFER_FKEY option set to 1 will add +# a command to defer all foreign key constraints during data export and +# the import will be done in a single transaction. 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). Constraints will then be +# checked at the end of the transaction. This directive can also be enabled +# if you want to force all foreign keys to be created as deferrable and +# initially deferred during schema export (TABLE export type). +DEFER_FKEY 0 + +# If deferring foreign keys is not possible due to the amount of data in a +# single transaction, you've not exported foreign keys as deferrable or you +# are using direct import to PostgreSQL, you can use the DROP_FKEY directive. +# It will drop all foreign keys before all data import and recreate them at +# the end of the import. +DROP_FKEY 0 + + +#------------------------------------------------------------------------------ +# TRIGGERS AND SEQUENCES SECTION (Control triggers and sequences behaviors) +#------------------------------------------------------------------------------ + +# Disables alter of sequences on all tables in COPY or INSERT mode. +# Set to 1 if you want to disable update of sequence during data migration. +DISABLE_SEQUENCE 0 + +# Disables triggers on all tables in COPY or INSERT mode. Available modes +# are USER (user defined triggers) and ALL (includes RI system +# triggers). Default is 0 do not add SQL statement to disable trigger. +# 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. A value of 1 is equal to USER. +DISABLE_TRIGGERS 0 + + +#------------------------------------------------------------------------------ +# OBJECT MODIFICATION SECTION (Control objects structure or name modifications) +#------------------------------------------------------------------------------ + +# You may wish to just extract data from some fields, the following directives +# will help you to do that. Works only with export type INSERT or COPY +# Modify output from the following tables(fields separate by space or comma) +#MODIFY_STRUCT TABLE_TEST(dico,dossier) + +# When there is a lot of columns dropped in the target database compared to the +# Oracle database, being able to exclude columns from data export will simplify +# the configuration compared to MODIFY_STRUCT. The following directive can be +# used to define the columns per table that must be excluded from data export. +#EXCLUDE_COLUMNS TABLE_TEST(dropcol1,dropcol2) + +# You may wish to change table names during data extraction, especally for +# replication use. Give a list of tables separate by space as follow. +#REPLACE_TABLES ORIG_TB_NAME1:NEW_TB_NAME1 ORIG_TB_NAME2:NEW_TB_NAME2 + +# You may wish to change column names during export. Give a list of tables +# and columns separate by comma as follow. +#REPLACE_COLS TB_NAME(ORIG_COLNAME1:NEW_COLNAME1,ORIG_COLNAME2:NEW_COLNAME2) + +# By default all object names are converted to lower case, if you +# want to preserve Oracle object name as-is set this to 1. Not recommended +# unless you always quote all tables and columns on all your scripts. +PRESERVE_CASE 0 + +# Add the given value as suffix to index names. Useful if you have indexes +# with same name as tables. Not so common but it can help. +#INDEXES_SUFFIX _idx + +# Enable this directive to rename all indexes using tablename_columns_names. +# Could be very useful for database that have multiple time the same index name +# or that use the same name than a table, which is not allowed by PostgreSQL +# Disabled by default. +INDEXES_RENAMING 0 + +# Operator classes text_pattern_ops, varchar_pattern_ops, and bpchar_pattern_ops +# support B-tree indexes on the corresponding types. The difference from the +# default operator classes is that the values are compared strictly character by +# character rather than according to the locale-specific collation rules. This +# makes these operator classes suitable for use by queries involving pattern +# matching expressions (LIKE or POSIX regular expressions) when the database +# does not use the standard "C" locale. If you enable, with value 1, this will +# force Ora2Pg to export all indexes defined on varchar2() and char() columns +# using those operators. If you set it to a value greater than 1 it will only +# change indexes on columns where the charactere limit is greater or equal than +# this value. For example, set it to 128 to create these kind of indexes on +# columns of type varchar2(N) where N >= 128. +USE_INDEX_OPCLASS 0 + +# Enable this directive if you want that your partition tables will be +# renamed. Disabled by default. If you have multiple partitioned table, +# when exported to PostgreSQL some partitions could have the same name +# but different parent tables. This is not allowed, table name must be +# unique, in this case enable this directive. +RENAME_PARTITION 0 + +# If you don't want to reproduce the partitioning like in Oracle and want to +# export all partitionned Oracle data into the main single table in PostgreSQL +# enable this directive. Ora2Pg will export all data into the main table name. +# Default is to use partitionning, Ora2Pg will export data from each partition +# and import them into the PostgreSQL dedicated partition table. +DISABLE_PARTITION 0 + +# How to export partition by reference. Possible values are none, duplicate or +# the number of hash partition to create. Default is 'none' to not export the +# partitions by reference. +PARTITION_BY_REFERENCE none + +# Activating this directive will force Ora2Pg to add WITH (OIDS) when creating +# tables or views as tables. Default is same as PostgreSQL, disabled. +WITH_OID 0 + +# Allow escaping of column name using Oracle reserved words. +ORA_RESERVED_WORDS audit,comment,references + +# Enable this directive if you have tables or column names that are a reserved +# word for PostgreSQL. Ora2Pg will double quote the name of the object. +USE_RESERVED_WORDS 0 + +# By default Ora2Pg export Oracle tables with the NOLOGGING attribute as +# UNLOGGED tables. You may want to fully disable this feature because +# you will lost all data from unlogged table in case of PostgreSQL crash. +# Set it to 1 to export all tables as normal table. +DISABLE_UNLOGGED 0 + +# Increase varchar max character constraints to support PostgreSQL two bytes +# character encoding when the source database applies the length constraint +# on characters not bytes. Default disabled. +DOUBLE_MAX_VARCHAR 0 + +#------------------------------------------------------------------------------ +# OUTPUT SECTION (Control output to file or PostgreSQL database) +#------------------------------------------------------------------------------ + +# Define the following directive to send export directly to a PostgreSQL +# database, this will disable file output. Note that these directives are only +# used for data export, other export need to be imported manually through the +# use of psql or any other PostgreSQL client. +#PG_DSN dbi:Pg:dbname=test_db;host=localhost;port=5432 +#PG_USER test +#PG_PWD test + +# By default all output is dump to STDOUT if not send directly to postgresql +# database (see above). Give a filename to save export to it. If you want +# a Gzip'd compressed file just add the extension .gz to the filename (you +# need perl module Compress::Zlib from CPAN). Add extension .bz2 to use Bzip2 +# compression. +OUTPUT output.sql + +# Base directory where all dumped files must be written +#OUTPUT_DIR /var/tmp + +# Path to the bzip2 program. See OUTPUT directive above. +BZIP2 + +# Allow object constraints to be saved in a separate file during schema export. +# The file will be named CONSTRAINTS_OUTPUT. Where OUTPUT is the value of the +# corresponding configuration directive. You can use .gz xor .bz2 extension to +# enable compression. Default is to save all data in the OUTPUT file. This +# directive is usable only with TABLE export type. +FILE_PER_CONSTRAINT 0 + +# Allow indexes to be saved in a separate file during schema export. The file +# will be named INDEXES_OUTPUT. Where OUTPUT is the value of the corresponding +# configuration directive. You can use the .gz, .xor, or .bz2 file extension to +# enable compression. Default is to save all data in the OUTPUT file. This +# directive is usable only with TABLE or TABLESPACE export type. 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. +FILE_PER_INDEX 0 + +# Allow foreign key declaration to be saved in a separate file during +# schema export. By default foreign keys are exported into the main +# output file or in the CONSTRAINT_output.sql file. When enabled foreign +# keys will be exported into a file named FKEYS_output.sql +FILE_PER_FKEYS 0 + +# Allow data export to be saved in one file per table/view. The files +# will be named as tablename_OUTPUT. Where OUTPUT is the value of the +# corresponding configuration directive. You can use .gz xor .bz2 +# extension to enable compression. Default is to save all data in one +# file. This is usable only during INSERT or COPY export type. +FILE_PER_TABLE 0 + +# Allow function export to be saved in one file per function/procedure. +# The files will be named as funcname_OUTPUT. Where OUTPUT is the value +# of the corresponding configuration directive. You can use .gz xor .bz2 +# extension to enable compression. Default is to save all data in one +# file. It is usable during FUNCTION, PROCEDURE, TRIGGER and PACKAGE +# export type. +FILE_PER_FUNCTION 0 + +# By default Ora2Pg will force Perl to use utf8 I/O encoding. This is done through +# a call to the Perl pragma: +# +# use open ':utf8'; +# +# You can override this encoding by using the BINMODE directive, for example you +# can set it to :locale to use your locale or iso-8859-7, it will respectively use +# +# use open ':locale'; +# use open ':encoding(iso-8859-7)'; +# +# If you have change the NLS_LANG in non UTF8 encoding, you might want to set this +# directive. See http://perldoc.perl.org/5.14.2/open.html for more information. +# Most of the time, you might leave this directive commented. +#BINMODE utf8 + +# Set it to 0 to not include the call to \set ON_ERROR_STOP ON in all SQL +# scripts. By default this order is always present. +STOP_ON_ERROR 1 + +# Enable this directive to use COPY FREEZE instead of a simple COPY to +# export data with rows already frozen. This is intended as a performance +# option for initial data loading. Rows will be frozen only if the table +# being loaded has been created or truncated in the current subtransaction. +# This will only works with export to file and when -J or ORACLE_COPIES is +# not set or default to 1. 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. +COPY_FREEZE 0 + +# By default Ora2Pg use CREATE OR REPLACE in functions and views DDL, if you +# need not to override existing functions or views disable this configuration +# directive, DDL will not include OR REPLACE. +CREATE_OR_REPLACE 1 + +# This directive can be used to send an initial command to PostgreSQL, just +# after the connection. For example to set some session parameters. This +# directive can be used multiple time. +#PG_INITIAL_COMMAND + +# Add an ON CONFLICT DO NOTHING to all INSERT statements generated for this +# type of data export. +INSERT_ON_CONFLICT 0 + + +#------------------------------------------------------------------------------ +# TYPE SECTION (Control type behaviors and redefinitions) +#------------------------------------------------------------------------------ + +# If you're experiencing problems in data type export, the following directive +# will help you to redefine data type translation used in Ora2pg. The syntax is +# a comma separated list of "Oracle datatype:Postgresql data type". Here are the +# data type that can be redefined and their default value. If you want to +# replace a type with a precision and scale you need to escape the coma with +# a backslash. For example, if you want to replace all NUMBER(*,0) into bigint +# instead of numeric(38)add the following: +# DATA_TYPE NUMBER(*\,0):bigint +# Here is the default replacement for all Oracle's types. You don't have to +# recopy all type conversion but just the one you want to rewrite. +#DATA_TYPE VARCHAR2:varchar,NVARCHAR2:varchar,NVARCHAR:varchar,NCHAR:char,DATE:timestamp(0),LONG:text,LONG RAW:bytea,CLOB:text,NCLOB:text,BLOB:bytea,BFILE:bytea,RAW(16):uuid,RAW(32):uuid,RAW:bytea,UROWID:oid,ROWID:oid,FLOAT:double precision,DEC:decimal,DECIMAL:decimal,DOUBLE PRECISION:double precision,INT:integer,INTEGER:integer,REAL:real,SMALLINT:smallint,BINARY_FLOAT:double precision,BINARY_DOUBLE:double precision,TIMESTAMP:timestamp,XMLTYPE:xml,BINARY_INTEGER:integer,PLS_INTEGER:integer,TIMESTAMP WITH TIME ZONE:timestamp with time zone,TIMESTAMP WITH LOCAL TIME ZONE:timestamp with time zone + +# If set to 1 replace portable numeric type into PostgreSQL internal type. +# Oracle data type NUMBER(p,s) is approximatively converted to real and +# float PostgreSQL data type. If you have monetary fields or don't want +# rounding issues with the extra decimals you should preserve the same +# numeric(p,s) PostgreSQL data type. Do that only if you need exactness +# because using numeric(p,s) is slower than using real or double. +PG_NUMERIC_TYPE 1 + +# If set to 1 replace portable numeric type into PostgreSQL internal type. +# Oracle data type NUMBER(p) or NUMBER are converted to smallint, integer +# or bigint PostgreSQL data type following the length of the precision. If +# NUMBER without precision are set to DEFAULT_NUMERIC (see bellow). +PG_INTEGER_TYPE 1 + +# NUMBER() without precision are converted by default to bigint only if +# PG_INTEGER_TYPE is true. You can overwrite this value to any PG type, +# like integer or float. +DEFAULT_NUMERIC bigint + +# Set it to 0 if you don't want to export milliseconds from Oracle timestamp +# columns. Timestamp will be formated with to_char(..., 'YYYY-MM-DD HH24:MI:SS') +# Enabling this directive, the default, format is 'YYYY-MM-DD HH24:MI:SS.FF'. +ENABLE_MICROSECOND 1 + +# If you want to replace some columns as PostgreSQL boolean define here a list +# of tables and column separated by space as follows. You can also give a type +# and a precision to automatically convert all fields of that type as a boolean. +# For example: NUMBER:1 or CHAR:1 will replace any field of type number(1) or +# char(1) as a boolean in all exported tables. +#REPLACE_AS_BOOLEAN TB_NAME1:COL_NAME1 TB_NAME1:COL_NAME2 TB_NAME2:COL_NAME2 + +# Use this to add additional definitions of the possible boolean values in Oracle +# field. You must set a space separated list of TRUE:FALSE values. BY default: +#BOOLEAN_VALUES yes:no y:n 1:0 true:false enabled:disabled + +# When Ora2Pg find a "zero" date: 0000-00-00 00:00:00 it is replaced by a NULL. +# This could be a problem if your column is defined with NOT NULL constraint. +# If you can not remove the constraint, use this directive to set an arbitral +# date that will be used instead. You can also use -INFINITY if you don't want +# to use a fake date. +#REPLACE_ZERO_DATE 1970-01-01 00:00:00 + +# Some time you need to force the destination type, for example a column +# exported as timestamp by Ora2Pg can be forced into type date. Value is +# a comma-separated list of TABLE:COLUMN:TYPE structure. If you need to use +# comma or space inside type definition you will have to backslash them. +# +# MODIFY_TYPE TABLE1:COL3:varchar,TABLE1:COL4:decimal(9,6) +# +# Type of table1.col3 will be replaced by a varchar and table1.col4 by +# a decimal with precision and scale. +# +# If the column's type is a user defined type Ora2Pg will autodetect the +# composite type and will export its data using ROW(). Some Oracle user +# defined types are just array of a native type, in this case you may want +# to transform this column in simple array of a PostgreSQL native type. +# To do so, just redefine the destination type as wanted and Ora2Pg will +# also transform the data as an array. For example, with the following +# definition in Oracle: +# +# CREATE OR REPLACE TYPE mem_type IS VARRAY(10) of VARCHAR2(15); +# CREATE TABLE club (Name VARCHAR2(10), +# Address VARCHAR2(20), +# City VARCHAR2(20), +# Phone VARCHAR2(8), +# Members mem_type +# ); +# +# custom type "mem_type" is just a string array and can be translated into +# the following in PostgreSQL: +# +# CREATE TABLE club ( +# name varchar(10), +# address varchar(20), +# city varchar(20), +# phone varchar(8), +# members text[] +# ) ; +# +# To do so, just use the directive as follow: +# +# MODIFY_TYPE CLUB:MEMBERS:text[] +# +# Ora2Pg will take care to transform all data of this column in the correct +# format. Only arrays of characters and numerics types are supported. +#MODIFY_TYPE + +# By default Oracle call to function TO_NUMBER will be translated as a cast +# into numeric. For example, TO_NUMBER('10.1234') is converted into PostgreSQL +# call to_number('10.1234')::numeric. If you want you can cast the call to integer +# or bigint by changing the value of the configuration directive. If you need +# better control of the format, just set it as value, for example: +# TO_NUMBER_CONVERSION 99999999999999999999.9999999999 +# will convert the code above as: +# TO_NUMBER('10.1234', '99999999999999999999.9999999999') +# Any value of the directive that it is not numeric, integer or bigint will +# be taken as a mask format. If set to none, no conversion will be done. +TO_NUMBER_CONVERSION numeric + +# By default varchar2 without size constraint are tranlated into text. If you +# want to keep the varchar name, disable this directive. +VARCHAR_TO_TEXT 1 + +# Usually identity column must be bigint to correspond to an auto increment +# sequence. If, for any reason you want Ora2Pg respect the DATA_TYPE you have +# set, disable this directive. +FORCE_IDENTITY_BIGINT 1 + +# Remove timezone part into the format of the TO_CHAR() function +TO_CHAR_NOTIMEZONE 1 + +#------------------------------------------------------------------------------ +# GRANT SECTION (Control priviledge and owner export) +#------------------------------------------------------------------------------ + +# Set this to 1 to replace default password for all extracted user +# during GRANT export +GEN_USER_PWD 0 + +# By default the owner of database objects is the one you're using to connect +# to PostgreSQL. If you use an other user (e.g. postgres) you can force +# Ora2Pg to set the object owner to be the one used in the Oracle database by +# setting the directive to 1, or to a completely different username by setting +# the directive value # to that username. +FORCE_OWNER 0 + +# Ora2Pg use the function's security privileges set in Oracle and it is often +# defined as SECURITY DEFINER. If you want to override those security privileges +# for all functions and use SECURITY DEFINER instead, enable this directive. +FORCE_SECURITY_INVOKER 0 + +#------------------------------------------------------------------------------ +# DATA SECTION (Control data export behaviors) +#------------------------------------------------------------------------------ + +# Extract data by bulk of DATA_LIMIT tuples at once. Default 10000. If you set +# a high value be sure to have enough memory if you have million of rows. +DATA_LIMIT 10000 + +# When Ora2Pg detect a table with some BLOB it will automatically reduce the +# value of this directive by dividing it by 10 until his value is below 1000. +# You can control this value by setting BLOB_LIMIT. Exporting BLOB use lot of +# ressources, setting it to a too high value can produce OOM. +#BLOB_LIMIT 500 + +# Apply same behavior on CLOB than BLOB with BLOB_LIMIT settings. This is +# especially useful if you have large CLOB data. +CLOB_AS_BLOB 1 + +# By default all data that are not of type date or time are escaped. If you +# experience any problem with that you can set it to 1 to disable it. This +# directive is only used during a COPY export type. +# See STANDARD_CONFORMING_STRINGS for enabling/disabling escape with INSERT +# statements. +NOESCAPE 0 + +# This directive may be used if you want to change the default isolation +# level of the data export transaction. Default is now to set the level +# to a serializable transaction to ensure data consistency. Here are the +# allowed value of this directive: readonly, readwrite, serializable and +# committed (read committed). +TRANSACTION serializable + +# This controls whether ordinary string literals ('...') treat backslashes +# literally, as specified in SQL standard. This was the default before Ora2Pg +# v8.5 so that all strings was escaped first, now this is currently on, causing +# Ora2Pg to use the escape string syntax (E'...') if this parameter is not +# set to 0. This is the exact behavior of the same option in PostgreSQL. +# This directive is only used during INSERT export to build INSERT statements. +# See NOESCAPE for enabling/disabling escape in COPY statements. +STANDARD_CONFORMING_STRINGS 1 + +# Use this directive to set the database handle's 'LongReadLen' attribute to +# a value that will be the larger than the expected size of the LOB. The default +# is 1MB witch may not be enough to extract BLOB objects. If the size of the LOB +# exceeds the 'LongReadLen' DBD::Oracle will return a 'ORA-24345: A Truncation' +# error. Default: 1023*1024 bytes. Take a look at this page to learn more: +# http://search.cpan.org/~pythian/DBD-Oracle-1.22/Oracle.pm#Data_Interface_for_Persistent_LOBs +# +# Important note: If you increase the value of this directive take care that +# DATA_LIMIT will probably needs to be reduced. Even if you only have a 1MB blob +# trying to read 10000 of them (the default DATA_LIMIT) all at once will require +# 10GB of memory. You may extract data from those table separately and set a +# DATA_LIMIT to 500 or lower, otherwise you may experience some out of memory. +#LONGREADLEN 1047552 + +# 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. +#LONGTRUNCOK 0 + +# Disable this if you want to load full content of BLOB and CLOB and not use +# LOB locators. In this case you will have to set LONGREADLEN to the right +# value. 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. For more information on how it works, see +# http://search.cpan.org/~pythian/DBD-Oracle-1.74/lib/DBD/Oracle.pm#Data_Interface_for_LOB_Locators +# Default is enabled, it use LOB locators. +USE_LOB_LOCATOR 1 + +# Oracle recommends reading from and writing to a LOB in batches using a +# multiple of the LOB chunk size. This chunk size defaults to 8k (8192). +# Recent tests shown that the best performances can be reach with higher +# value like 512K or 4Mb. +# +# A quick benchmark with 30120 rows with different size of BLOB (200x5Mb, +# 19800x212k, 10000x942K, 100x17Mb, 20x156Mb), with DATA_LIMIT=100, +# LONGREADLEN=170Mb and a total table size of 20GB gives: +# +# no lob locator : 22m46,218s (1365 sec., avg: 22 recs/sec) +# chunk size 8k : 15m50,886s (951 sec., avg: 31 recs/sec) +# chunk size 512k : 1m28,161s (88 sec., avg: 342 recs/sec) +# chunk size 4Mb : 1m23,717s (83 sec., avg: 362 recs/sec) +# +# In conclusion it can be more than 10 time faster with LOB_CHUNK_SIZE set +# to 4Mb. Dependind of the size of most BLOB you may want to adjust the value +# here. For example if you have a majority of small lobs bellow 8K, using 8192 +# is better to not waste space. +LOB_CHUNK_SIZE 512000 + +# Force the use of getStringVal() instead of getClobVal() for XML data export. +# Default is 1, enabled for backward compatibility. Set here to 0 to use extract +# method a la CLOB and export the XML code as it was stored. Note that XML value +# extracted with getStringVal() must not exceed VARCHAR2 size limit otherwize +# it will return an error. +XML_PRETTY 0 + +# Enable this directive if you want to continue direct data import on error. +# When Ora2Pg receives an error in the COPY or INSERT statement from PostgreSQL +# it will log the statement to a file called TABLENAME_error.log in the output +# directory and continue to next bulk of data. Like this you can try to fix the +# statement and manually reload the error log file. Default is disabled: abort +# import on error. +LOG_ON_ERROR 0 + +# If you want to convert CHAR(n) from Oracle into varchar(n) or text under +# PostgreSQL, you might want to do some triming on the data. By default +# Ora2Pg will auto-detect this conversion and remove any withspace at both +# leading and trailing position. If you just want to remove the leadings +# character, set the value to LEADING. If you just want to remove the trailing +# character, set the value to TRAILING. Default value is BOTH. +TRIM_TYPE BOTH + +# The default triming character is space, use the directive bellow if you need +# to change the character that will be removed. For example, set it to - if you +# have leading - in the char(n) field. To use space as triming charger, comment +# this directive, this is the default value. +#TRIM_CHAR - + +# Internal timestamp retrieves from custom type are extracted in the following +# format: 01-JAN-77 12.00.00.000000 AM. It is impossible to know the exact century +# that must be used, so by default any year below 49 will be added to 2000 +# and others to 1900. You can use this directive to change this default value. +# this is only relevant if you have user defined type with a column timestamp. +INTERNAL_DATE_MAX 49 + +# Disable this directive if you want to disable check_function_bodies. +# +# SET check_function_bodies = false; +# +# It disables validation of the function body string during CREATE FUNCTION. +# Default is to use de postgresql.conf setting that enable it by default. +FUNCTION_CHECK 1 + +# Exporting BLOB takes time, in some circumstances you may want to export +# all data except the BLOB columns. In this case disable this directive and +# the BLOB columns will not be included into data export. Take care that the +# target bytea column do not have a NOT NULL constraint. +ENABLE_BLOB_EXPORT 1 + +# Same but for CLOB data export +ENABLE_CLOB_EXPORT 1 + +# By default data export order will be done by sorting on table name. If you +# have huge tables at end of alphabetic order and you are using multiprocess +# it can be better to set the sort order on size so that multiple small tables +# can be processed before the largest tables finish. In this case set this +# directive to size. Possible values are name and size. Note that export type +# SHOW_TABLE and SHOW_COLUMN will use this sort order too, not only COPY or +# INSERT export type. If you want to give you custom export order, just give +# a filename as value that contains the ordered list of table to export. Must +# be a list of one table per line, in uppercase for Oracle. +DATA_EXPORT_ORDER name + +# By default Ora2Pg use \i psql command to execute generated SQL files +# if you want to use a relative path following the script execution file +# enabling this option will use \ir. See psql help for more information. +PSQL_RELATIVE_PATH 0 + +# Number of rows that must be retrieved on both side for data validation. +DATA_VALIDATION_ROWS 10000 + +# Order of rows between both sides are different once the data have been +# modified. In this case data must be ordered using a primary key or a +# unique index, that mean that a table without such object can not be +# compared. If the validation is done just after the data migration without +# any data modification the validation can be done on all tables without any +# ordering. +DATA_VALIDATION_ORDERING 1 + +# Stop validating data from a table after a certain amount of row mistmatch. +# Default is to stop after 10 rows validation errors. +DATA_VALIDATION_ERROR 10 + +# Use this directive to precise which transformation should be applied to a +# column when exporting data. Value must be a semicolon separated list of +# TABLE[COLUMN_NAME, ] +# For example to replace string 'Oracle' by 'PostgreSQL' in a varchar2 column +# use the following. +#TRANSFORM_VALUE ERROR_LOG_SAMPLE[DBMS_TYPE,regexp_replace("DBMS_TYPE",'Oracle','PostgreSQL')] +#or to replace all Oracle char(0) in a string by a space character: +#TRANSFORM_VALUE CLOB_TABLE[CHARDATA:translate("CHARDATA", chr(0), ' ')] +#The expression will be applied in the SQL statemeent used to extract data +#from the source database. + +#------------------------------------------------------------------------------ +# PERFORMANCES SECTION (Control export/import performances) +#------------------------------------------------------------------------------ + +# This configuration directive adds multiprocess support to COPY, FUNCTION +# and PROCEDURE export type, the value is the number of process to use. +# Default is to not use multiprocess. This directive is used to set the number +# of cores to used to parallelize data import into PostgreSQL. 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. There's no more limitation in parallel processing +# than the number of cores and the PostgreSQL I/O performance capabilities. +# Doesn't works under Windows Operating System, it is simply disabled. +JOBS 1 + +# Multiprocess support. This directive should defined the number of parallel +# connection to Oracle when extracting data. The limit is the number of cores +# on your machine. This is useful if Oracle is the bottleneck. Take care that +# this directive can only be used if there is a primary / unique key defined +# on a numeric column or that a column is defined in DEFINED_PK. +ORACLE_COPIES 1 + +# Multiprocess support. This directive should defined the number of tables +# in parallel data extraction. The limit is the number of cores on your machine. +# Ora2Pg will open one database connection for each parallel table extraction. +# This directive, when upper than 1, will invalidate ORACLE_COPIES but not JOBS. +# Note that this directive when set upper that 1 will also automatically enable +# the FILE_PER_TABLE directive if your are exporting to files. +PARALLEL_TABLES 1 + +# 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. A value of 0 or 1 disable the use of parallel hint. +# Default is disabled. +DEFAULT_PARALLELISM_DEGREE 0 + +# Parallel mode will not be activated if the table have less rows than +# this directive. This prevent fork of Oracle process when it is not +# necessary. Default is 100K rows. +PARALLEL_MIN_ROWS 100000 + +# Multiprocess support. This directive is used to split the select queries +# between the different connections to Oracle if ORA_COPIES is used. Ora2Pg +# will extract data with the following prepare statement: +# SELECT * FROM TABLE WHERE MOD(COLUMN, $ORA_COPIES) = ? +# Where $ORA_COPIES is the total number of cores used to extract data and set +# with ORA_COPIES directive, and ? is the current core used at execution time. +# This means that Ora2Pg needs to know the numeric column to use in this query. +# If this column is a real, float, numeric or decimal, you must add the ROUND() +# function with the column to round the value to the nearest integer. +#DEFINED_PK TABLE:COLUMN TABLE:ROUND(COLUMN) + +# Enabling this directive force Ora2Pg to drop all indexes on data import +# tables, except automatic index on primary key, and recreate them at end +# of data import. This may improve speed a lot during a fresh import. +DROP_INDEXES 0 + +# Specifies whether transaction commit will wait for WAL records to be written +# to disk before the command returns a "success" indication to the client. This +# is the equivalent to set synchronous_commit directive of postgresql.conf file. +# This is only used when you load data directly to PostgreSQL, the default is +# off to disable synchronous commit to gain speed at writing data. Some modified +# versions of PostgreSQL, like Greenplum, do not have this setting, so in this +# case set this directive to 1, ora2pg will not try to change the setting. +SYNCHRONOUS_COMMIT 0 + +#------------------------------------------------------------------------------ +# PLSQL SECTION (Control SQL and PL/SQL to PLPGSQL rewriting behaviors) +#------------------------------------------------------------------------------ + +# If the above configuration directive is not enough to validate your PL/SQL code +# enable this configuration directive to allow export of all PL/SQL code even if +# it is marked as invalid. The 'VALID' or 'INVALID' status applies to functions, +# procedures, packages, triggers and user defined types. +EXPORT_INVALID 0 + +# Enable PLSQL to PLPSQL conversion. This is a work in progress, feel +# free modify/add you own code and send me patches. The code is under +# function plsql_toplpgsql in Ora2PG/PLSQL.pm. Default enabled. +PLSQL_PGSQL 1 + +# Ora2Pg can replace all conditions with a test on NULL by a call to the +# coalesce() function to mimic the Oracle behavior where empty field are +# considered equal to NULL. Ex: (field1 IS NULL) and (field2 IS NOT NULL) will +# be replaced by (coalesce(field1::text, '') = '') and (field2 IS NOT NULL AND +# field2::text <> ''). You might want this replacement to be sure that your +# application will have the same behavior but if you have control on you app +# a better way is to change it to transform empty string into NULL because +# PostgreSQL makes the difference. +NULL_EQUAL_EMPTY 0 + +# Force empty_clob() and empty_blob() to be exported as NULL instead as empty +# string for the first one and \\x for the second. If NULL is allowed in your +# column this might improve data export speed if you have lot of empty lob. +EMPTY_LOB_NULL 1 + +# If you don't want to export package as schema but as simple functions you +# might also want to replace all call to package_name.function_name. If you +# disable the PACKAGE_AS_SCHEMA directive then Ora2Pg will replace all call +# to package_name.function_name() by package_name_function_name(). Default +# is to use a schema to emulate package. +PACKAGE_AS_SCHEMA 1 + +# Enable this directive if the rewrite of Oracle native syntax (+) of +# OUTER JOIN is broken. This will force Ora2Pg to not rewrite such code, +# default is to try to rewrite simple form of rigth outer join for the +# moment. +REWRITE_OUTER_JOIN 1 + +# By default Oracle functions are marked as STABLE as they can not modify data +# unless when used in PL/SQL with variable assignment or as conditional +# expression. You can force Ora2Pg to create these function as VOLATILE by +# disabling the following configuration directive. +FUNCTION_STABLE 1 + +# By default call to COMMIT/ROLLBACK are kept untouched by Ora2Pg to force +# the user to review the logic of the function. Once it is fixed in Oracle +# source code or you want to comment this calls enable the following directive +COMMENT_COMMIT_ROLLBACK 0 + +# It is common to see SAVEPOINT call inside PL/SQL procedure together with +# a ROLLBACK TO savepoint_name. When COMMENT_COMMIT_ROLLBACK is enabled you +# may want to also comment SAVEPOINT calls, in this case enable it. +COMMENT_SAVEPOINT 0 + +# Ora2Pg replace all string constant during the pl/sql to plpgsql translation, +# string constant are all text include between single quote. If you have some +# string placeholder used in dynamic call to queries you can set a list of +# regexp to be temporary replaced to not break the parser.The list of regexp +# must use the semi colon as separator. For exemple: +#STRING_CONSTANT_REGEXP + +# To support the Alternative Quoting Mechanism (''Q'') for String Literals +# set the regexp with the text capture to use to extract the text part. +# For example with a variable declared as +# c_sample VARCHAR2(100 CHAR) := q'{This doesn't work.}'; +# the regexp must be: q'{(.*)}' ora2pg use the $$ delimiter. +#ALTERNATIVE_QUOTING_REGEXP q'{(.*)}' + +# If you want to use functions defined in the Orafce library and prevent +# Ora2Pg to translate call to these function, enable this directive. +# The Orafce library can be found here: https://github.com/orafce/orafce +# By default Ora2pg rewrite add_month(), add_year(), date_trunc() and +# to_char() functions, but you may prefer to use the orafce version of +# these function that do not need any code transformation. +USE_ORAFCE 0 + +# Enable translation of autonomous transactions into a wrapper function +# using dblink or pg_background extension. If you don't want to use this +# translation and just want the function to be exported as a normal one +# without the pragma call, disable this directive. +AUTONOMOUS_TRANSACTION 1 + +#------------------------------------------------------------------------------ +# ASSESSMENT SECTION (Control migration assessment behaviors) +#------------------------------------------------------------------------------ + +# Activate the migration cost evaluation. Must only be used with SHOW_REPORT, +# FUNCTION, PROCEDURE, PACKAGE and QUERY export type. Default is disabled. +# Note that enabling this directive will force PLSQL_PGSQL activation. +ESTIMATE_COST 0 + +# Set the value in minutes of the migration cost evaluation unit. Default +# is five minutes per unit. +COST_UNIT_VALUE 5 + +# By default when using SHOW_REPORT the migration report is generated as +# simple text, enabling this directive will force ora2pg to create a report +# in HTML format. +DUMP_AS_HTML 0 + +# Set the total number of tables to display in the Top N per row and size +# list in the SHOW_TABLE and SHOW_REPORT output. Default 10. +TOP_MAX 10 + +# Use this directive to redefined the number of human-days limit where the +# migration assessment level must switch from B to C. Default is set to 10 +# human-days. +HUMAN_DAYS_LIMIT 5 + +# Set the comma separated list of username that must be used to filter +# queries from the DBA_AUDIT_TRAIL table. Default is to not scan this +# table and to never look for queries. This parameter is used only with +# SHOW_REPORT and QUERY export type with no input file for queries. +# Note that queries will be normalized before output unlike when a file +# is given at input using the -i option or INPUT directive. +#AUDIT_USER USERNAME1,USERNAME2 + +# By default Ora2Pg will convert call to SYS_GUID() Oracle function +# with a call to uuid_generate_v4() from uuid-ossp extension. You can +# redefined it to use the gen_random_uuid() function from pgcrypto +# extension by changing the function name below. +#UUID_FUNCTION uuid_generate_v4 + +#------------------------------------------------------------------------------ +# POSTGRESQL FEATURE SECTION (Control which PostgreSQL features are available) +#------------------------------------------------------------------------------ + +# Set the PostgreSQL major version number of the target database. Ex: 9.6 or 10 +# Default is current major version at time of a new release. This replace the +# old PG_SUPPORTS_* configuration directives. +PG_VERSION 15 + +# Use btree_gin extenstion to create bitmap like index with pg >= 9.4 +# You will need to create the extension by yourself: +# create extension btree_gin; +# Default is to create GIN index, when disabled, a btree index will be created +BITMAP_AS_GIN 1 + +# Use pg_background extension to create an autonomous transaction instead +# of using a dblink wrapper. With pg >= 9.5 only, default is to use dblink. +PG_BACKGROUND 0 + +# By default if you have an autonomous transaction translated using dblink +# extension instead of pg_background the connection is defined using the +# values set with PG_DSN, PG_USER and PG_PWD. If you want to fully override +# the connection string use this directive as follow to set the connection +# in the autonomous transaction wrapper function. +#DBLINK_CONN port=5432 dbname=pgdb host=localhost user=pguser password=pgpass + +# Some versions of PostgreSQL like Redshift doesn't support substr() +# and it need to be replaced by a call to substring(). In this case, +# disable it. +PG_SUPPORTS_SUBSTR 1 + +#------------------------------------------------------------------------------ +# SPATIAL SECTION (Control spatial geometry export) +#------------------------------------------------------------------------------ + +# Enable this directive if you want Ora2Pg to detect the real spatial type and +# dimensions used in a spatial column. By default Ora2Pg will look at spatial +# indexes to see if the layer_gtype and sdo_indx_dims constraint parameters have +# been set, otherwise column will be created with the non-constrained "geometry" +# type. Enabling this feature will force Ora2Pg to scan a sample of 50000 lines +# to look at the GTYPE used. You can increase or reduce the sample by setting +# the value of AUTODETECT_SPATIAL_TYPE to the desired number of line. +AUTODETECT_SPATIAL_TYPE 1 + +# Disable this directive if you don't want to automatically convert SRID to +# EPSG using the sdo_cs.map_oracle_srid_to_epsg() function. Default: enabled +# If the SDO_SRID returned by Oracle is NULL, it will be replaced by the +# default value 8307 converted to its EPSG value: 4326 (see DEFAULT_SRID) +# If the value is upper than 1, all SRID will be forced to this value, in +# this case DEFAULT_SRID will not be used when Oracle returns a null value +# and the value will be forced to CONVERT_SRID. +# Note that it is also possible to set the EPSG value on Oracle side when +# sdo_cs.map_oracle_srid_to_epsg() return NULL if your want to force the value: +# Ex: system> UPDATE sdo_coord_ref_sys SET legacy_code=41014 WHERE srid = 27572; +CONVERT_SRID 1 + +# Use this directive to override the default EPSG SRID to used: 4326. +# Can be overwritten by CONVERT_SRID, see above. +DEFAULT_SRID 4326 + +# This directive can take three values: WKT (default), WKB and INTERNAL. +# When it is set to WKT, Ora2Pg will use SDO_UTIL.TO_WKTGEOMETRY() to +# extract the geometry data. When it is set to WKB, Ora2Pg will use the +# binary output using SDO_UTIL.TO_WKBGEOMETRY(). If those two extract type +# are called at Oracle side, they are slow and you can easily reach Out Of +# Memory when you have lot of rows. Also WKB is not able to export 3D geometry +# and some geometries like CURVEPOLYGON. In this case you may use the INTERNAL +# extraction type. 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 is a work in progress, please validate your exported data geometries +# before use. +GEOMETRY_EXTRACT_TYPE INTERNAL + +# Oracle function to use to extract the srid from ST_Geometry meta information +ST_SRID_FUNCTION ST_SRID + +# Oracle function to use to extract the dimension from ST_Geometry meta information +ST_DIMENSION_FUNCTION ST_DIMENSION + +# Oracle function to used to convert an ST_Geometry value into WKB format +ST_ASBINARY_FUNCTION ST_ASBINARY + +# Oracle function to used to convert an ST_Geometry value into WKT format +ST_ASTEXT_FUNCTION ST_ASTEXT + +# Oracle function to use to extract the geometry type from a ST_Geometry column +ST_GEOMETRYTYPE_FUNCTION ST_GEOMETRYTYPE + +#------------------------------------------------------------------------------ +# FDW SECTION (Control Foreign Data Wrapper export) +#------------------------------------------------------------------------------ + +# This directive is used to set the name of the foreign data server that is used +# in the "CREATE SERVER name FOREIGN DATA WRAPPER oracle_fdw ..." command. This +# import data using oracle_fdw. Default is no foreign server defined. +# This only concerns export type FDW, COPY and INSERT. For export type FDW the +# default value is orcl +#FDW_SERVER orcl + +# Schema where foreign tables for data migration will be created. If you use +# several instances of ora2pg for data migration through the foreign data +# wrapper, you might need to change the name of the schema for each instance. +FDW_IMPORT_SCHEMA ora2pg_fdw_import + +# The default behaviour of Ora2Pg is to NOT set the "prefetch" option for +# oracle_fdw when used for COPY and INSERT. This directive allows the prefetch +# to be set. See oracle_fdw documentation for the current default. +#ORACLE_FDW_PREFETCH 1000 + +# By default Ora2Pg drops the temporary schema ora2pg_fdw_import used to import +# the Oracle foreign schema before each new import. If you want to preserve +# the existing schema because of modifications or the use of a third party +# server, disable this directive. +DROP_FOREIGN_SCHEMA 1 + + +#------------------------------------------------------------------------------ +# MYSQL SECTION (Control MySQL export behavior) +#------------------------------------------------------------------------------ + +# Enable this if double pipe and double ampersand (|| and &&) should not be +# taken as equivalent to OR and AND. It depend of the variable @sql_mode, +# Use it only if Ora2Pg fail on auto detecting this behavior. +MYSQL_PIPES_AS_CONCAT 0 + +# Enable this directive if you want EXTRACT() replacement to use the internal +# format returned as an integer, for example DD HH24:MM:SS will be replaced +# with format; DDHH24MMSS::bigint, this depend of your apps usage. +MYSQL_INTERNAL_EXTRACT_FORMAT 0 + +#------------------------------------------------------------------------------ +# SQL Server SECTION (Control MSSQL export behavior) +#------------------------------------------------------------------------------ + +# PostgreSQL has no equivalent to rowversion datatype and feature, if you want +# to remove these useless columns, enable this directive. Columns of datatype +# 'rowversion' or 'timestamp' will not be exported. +DROP_ROWVERSION 0 + +# Emulate the same behavior of MSSQL with case insensitive search. If the value +# is citext it will use the citext data type instead of char/varchar/text in +# tables DDL (Ora2Pg will add a CHECK constraint for columns with a precision). +# Instead of citext you can also set a collation name that will be used in the +# columns definitions. To disable case insensitive search set it to: none. +CASE_INSENSITIVE_SEARCH citext + +# Append a TOP N clause to the SELECT command used to extract the data from +# SQL Server. This is the equivalent to a WHERE ROWNUM < 1000 clause for Oracle. +SELECT_TOP 1000 \ No newline at end of file From 4c5dc40ce13fe5e655065780d133735c6ac3c27b Mon Sep 17 00:00:00 2001 From: jcschaff Date: Thu, 20 Jun 2024 19:14:42 -0400 Subject: [PATCH 2/7] initialized migv1 migration project --- docker/database/migration/README.md | 57 +- .../migration/migv1/config/ora2pg.conf | 1399 +++++++++++++++++ .../database/migration/migv1/export_schema.sh | 53 + docker/database/migration/migv1/import_all.sh | 469 ++++++ 4 files changed, 1970 insertions(+), 8 deletions(-) create mode 100644 docker/database/migration/migv1/config/ora2pg.conf create mode 100755 docker/database/migration/migv1/export_schema.sh create mode 100755 docker/database/migration/migv1/import_all.sh diff --git a/docker/database/migration/README.md b/docker/database/migration/README.md index d69f15cd00..17653b9714 100644 --- a/docker/database/migration/README.md +++ b/docker/database/migration/README.md @@ -1,17 +1,58 @@ +### Initialize +see https://www.siriusopensource.com/en-us/blog/oracle-postgresql-migration-using-ora2pg + +```bash +docker run \ + --platform linux/amd64 \ + -it \ + -v /Users/jimschaff/Documents/workspace/vcell/docker/database/migration:/instance1/ora2pg \ + georgmoser/ora2pg:24.3 \ + ora2pg --project_base /instance1/ora2pg --init_project migv1 + +``` + + +```bash +export ORACLE_USER=system +docker run \ + --platform linux/amd64 \ + -e ORACLE_USER=${ORACLE_USER} \ + -e ORACLE_PWD=${ORACLE_SECRET} \ + -it \ + -v /Users/jimschaff/Documents/workspace/vcell/docker/database/migration/config:/config \ + -v /Users/jimschaff/Documents/workspace/vcell/docker/database/migration/data:/data \ + georgmoser/ora2pg:24.3 \ + ora2pg --debug -c /config/ora2pg.conf > data/ora2pg.log +``` + ```bash export ORACLE_USER=system export ORACLE_SECRET=secret docker run \ --platform linux/amd64 \ - --name ora2pg \ - -e CONFIG_LOCATION=/config/ora2pg.conf \ - -e OUTPUT_LOCATION=/data/myfolder \ - -e ORA_HOST=dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 \ - -e ORA_USER=${ORACLE_USER} \ - -e ORA_PWD=${ORACLE_SECRET} \ + -e ORACLE_USER=${ORACLE_USER} \ + -e ORACLE_PWD=${ORACLE_SECRET} \ + -it \ + -v /Users/jimschaff/Documents/workspace/vcell/docker/database/migration/config:/config \ + -v /Users/jimschaff/Documents/workspace/vcell/docker/database/migration/data:/data \ + georgmoser/ora2pg:24.3 \ + ora2pg --debug -c /config/ora2pg.conf -t TEST > data/ora2pg_TEST.log +``` + +```bash +cat ../../../vcell-rest/src/main/resources/scripts/init.sql | grep "CREATE TABLE" | tr "(" " " | cut -d' ' -f3 >> config/tables_to_export.txt +``` + +```bash +docker run \ + --platform linux/amd64 \ + -e ORACLE_USER=${ORACLE_USER} \ + -e ORACLE_PWD=${ORACLE_SECRET} \ -it \ -v /Users/jimschaff/Documents/workspace/vcell/docker/database/migration/config:/config \ -v /Users/jimschaff/Documents/workspace/vcell/docker/database/migration/data:/data \ georgmoser/ora2pg:24.3 \ - ora2pg --debug -c /config/ora2pg.conf -``` \ No newline at end of file + ora2pg --debug -c /config/ora2pg.conf -t TABLE > data/ora2pg_TABLE.log + +``` + diff --git a/docker/database/migration/migv1/config/ora2pg.conf b/docker/database/migration/migv1/config/ora2pg.conf new file mode 100644 index 0000000000..56105acbe5 --- /dev/null +++ b/docker/database/migration/migv1/config/ora2pg.conf @@ -0,0 +1,1399 @@ + +#################### Ora2Pg Configuration file ##################### + +# Support for including a common config file that may contain any +# of the following configuration directives. +#IMPORT common.conf + +#------------------------------------------------------------------------------ +# INPUT SECTION (Oracle connection or input file) +#------------------------------------------------------------------------------ + +# Set this directive to a file containing PL/SQL Oracle Code like function, +# procedure or a full package body to prevent Ora2Pg from connecting to an +# Oracle database end just apply his conversion tool to the content of the +# file. This can only be used with the following export type: PROCEDURE, +# FUNCTION or PACKAGE. If you don't know what you do don't use this directive. +#INPUT_FILE ora_plsql_src.sql + +# Set the Oracle home directory +ORACLE_HOME /usr/lib/oracle/12.2/client64 + +# Set Oracle database connection (datasource, user, password) +ORACLE_DSN dbi:Oracle:host=mydb.mydom.fr;sid=SIDNAME;port=1521 +ORACLE_USER system +ORACLE_PWD manager + +# Set this to 1 if you connect as simple user and can not extract things +# from the DBA_... tables. It will use tables ALL_... This will not works +# with GRANT export, you should use an Oracle DBA username at ORACLE_USER +USER_GRANTS 1 + +# Trace all to stderr +DEBUG 0 + +# This directive can be used to send an initial command to Oracle, just after +# the connection. For example to unlock a policy before reading objects or +# to set some session parameters. This directive can be used multiple time. +#ORA_INITIAL_COMMAND + + +#------------------------------------------------------------------------------ +# SCHEMA SECTION (Oracle schema to export and use of schema in PostgreSQL) +#------------------------------------------------------------------------------ + +# Export Oracle schema to PostgreSQL schema +EXPORT_SCHEMA 0 + +# Oracle schema/owner to use +SCHEMA CHANGE_THIS_SCHEMA_NAME + +# Enable/disable the CREATE SCHEMA SQL order at starting of the output file. +# It is enable by default and concern on TABLE export type. +CREATE_SCHEMA 1 + +# Enable this directive to force Oracle to compile schema before exporting code. +# When this directive is enabled and SCHEMA is set to a specific schema name, +# only invalid objects in this schema will be recompiled. If SCHEMA is not set +# then all schema will be recompiled. To force recompile invalid object in a +# specific schema, set COMPILE_SCHEMA to the schema name you want to recompile. +# This will ask to Oracle to validate the PL/SQL that could have been invalidate +# after a export/import for example. The 'VALID' or 'INVALID' status applies to +# functions, procedures, packages and user defined types. +COMPILE_SCHEMA 1 + +# By default if you set EXPORT_SCHEMA to 1 the PostgreSQL search_path will be +# set to the schema name exported set as value of the SCHEMA directive. You can +# defined/force the PostgreSQL schema to use by using this directive. +# +# The value can be a comma delimited list of schema but not when using TABLE +# export type because in this case it will generate the CREATE SCHEMA statement +# and it doesn't support multiple schema name. For example, if you set PG_SCHEMA +# to something like "user_schema, public", the search path will be set like this +# SET search_path = user_schema, public; +# forcing the use of an other schema (here user_schema) than the one from Oracle +# schema set in the SCHEMA directive. You can also set the default search_path +# for the PostgreSQL user you are using to connect to the destination database +# by using: +# ALTER ROLE username SET search_path TO user_schema, public; +#in this case you don't have to set PG_SCHEMA. +#PG_SCHEMA + +# Use this directive to add a specific schema to the search path to look +# for PostGis functions. +#POSTGIS_SCHEMA + +# Allow to add a comma separated list of system user to exclude from +# Oracle extraction. Oracle have many of them following the modules +# installed. By default it will suppress all object owned by the following +# system users: +# 'SYSTEM','CTXSYS','DBSNMP','EXFSYS','LBACSYS','MDSYS','MGMT_VIEW', +# 'OLAPSYS','ORDDATA','OWBSYS','ORDPLUGINS','ORDSYS','OUTLN', +# 'SI_INFORMTN_SCHEMA','SYS','SYSMAN','WK_TEST','WKSYS','WKPROXY', +# 'WMSYS','XDB','APEX_PUBLIC_USER','DIP','FLOWS_020100','FLOWS_030000', +# 'FLOWS_040100','FLOWS_010600','FLOWS_FILES','MDDATA','ORACLE_OCM', +# 'SPATIAL_CSW_ADMIN_USR','SPATIAL_WFS_ADMIN_USR','XS$NULL','PERFSTAT', +# 'SQLTXPLAIN','DMSYS','TSMSYS','WKSYS','APEX_040000','APEX_040200', +# 'DVSYS','OJVMSYS','GSMADMIN_INTERNAL','APPQOSSYS','DVSYS','DVF', +# 'AUDSYS','APEX_030200','MGMT_VIEW','ODM','ODM_MTR','TRACESRV','MTMSYS', +# 'OWBSYS_AUDIT','WEBSYS','WK_PROXY','OSE$HTTP$ADMIN', +# 'AURORA$JIS$UTILITY$','AURORA$ORB$UNAUTHENTICATED', +# 'DBMS_PRIVILEGE_CAPTURE','CSMIG','MGDSYS','SDE','DBSFWUSER' +# Other list of users set to this directive will be added to this list. +#SYSUSERS OE,HR + + +# List of schema to get functions/procedures meta information that are used +# in the current schema export. When replacing call to function with OUT +# parameters, if a function is declared in an other package then the function +# call rewriting can not be done because Ora2Pg only know about functions +# declared in the current schema. By setting a comma separated list of schema +# as value of this directive, Ora2Pg will look forward in these packages for +# all functions/procedures/packages declaration before proceeding to current +# schema export. +#LOOK_FORWARD_FUNCTION SCOTT,OE + +# Force Ora2Pg to not look for function declaration. Note that this will prevent +# Ora2Pg to rewrite function replacement call if needed. Do not enable it unless +# looking forward at function breaks other export. +NO_FUNCTION_METADATA 0 + +#------------------------------------------------------------------------------ +# ENCODING SECTION (Define client encoding at Oracle and PostgreSQL side) +#------------------------------------------------------------------------------ + +# Enforce default language setting following the Oracle database encoding. This +# may be used with multibyte characters like UTF8. Here are the default values +# used by Ora2Pg, you may not change them unless you have problem with this +# encoding. This will set $ENV{NLS_LANG} to the given value. +#NLS_LANG AMERICAN_AMERICA.AL32UTF8 +# This will set $ENV{NLS_NCHAR} to the given value. +#NLS_NCHAR AL32UTF8 + +# By default PostgreSQL client encoding is automatically set to UTF8 to avoid +# encoding issue. If you have changed the value of NLS_LANG you might have to +# change the encoding of the PostgreSQL client. +#CLIENT_ENCODING UTF8 + +# To force utf8 encoding of the PL/SQL code exported, enable this directive. +# Could be helpful in some rare condition. +FORCE_PLSQL_ENCODING 0 + +#------------------------------------------------------------------------------ +# EXPORT SECTION (Export type and filters) +#------------------------------------------------------------------------------ + +# Type of export. Values can be the following keyword: +# TABLE Export tables, constraints, indexes, ... +# PACKAGE Export packages +# INSERT Export data from table as INSERT statement +# COPY Export data from table as COPY statement +# VIEW Export views +# GRANT Export grants +# SEQUENCE Export sequences +# TRIGGER Export triggers +# FUNCTION Export functions +# PROCEDURE Export procedures +# TABLESPACE Export tablespace (PostgreSQL >= 8 only) +# TYPE Export user defined Oracle types +# PARTITION Export range or list partition (PostgreSQL >= v8.4) +# FDW Export table as foreign data wrapper tables +# MVIEW Export materialized view as snapshot refresh view +# QUERY Convert Oracle SQL queries from a file. +# KETTLE Generate XML ktr template files to be used by Kettle. +# DBLINK Generate oracle foreign data wrapper server to use as dblink. +# SYNONYM Export Oracle's synonyms as views on other schema's objects. +# DIRECTORY Export Oracle's directories as external_file extension objects. +# LOAD Dispatch a list of queries over multiple PostgreSQl connections. +# TEST perform a diff between Oracle and PostgreSQL database. +# TEST_COUNT perform only a row count between Oracle and PostgreSQL tables. +# TEST_VIEW perform a count on both side of number of rows returned by views +# TEST_DATA perform data validation check on rows at both sides. +# SEQUENCE_VALUES export DDL to set the last values of sequences + +TYPE TABLE + +# Set this to 1 if you don't want to export comments associated to tables and +# column definitions. Default is enabled. +DISABLE_COMMENT 0 + +# Set which object to export from. By default Ora2Pg export all objects. +# Value must be a list of object name or regex separated by space. Note +# that regex will not works with 8i database, use % placeholder instead +# Ora2Pg will use the LIKE operator. There is also some extended use of +# this directive, see chapter "Limiting object to export" in documentation. +#ALLOW TABLE_TEST + +# Set which object to exclude from export process. By default none. Value +# must be a list of object name or regexp separated by space. Note that regex +# will not works with 8i database, use % placeholder instead Ora2Pg will use +# the NOT LIKE operator. There is also some extended use of this directive, +# see chapter "Limiting object to export" in documentation. +#EXCLUDE OTHER_TABLES + +# By default Ora2Pg exclude from export some Oracle "garbage" tables that should +# never be part of an export. This behavior generates a lot of REGEXP_LIKE +# expressions which are slowing down the export when looking at tables. To disable +# this behavior enable this directive, you will have to exclude or clean up later +# by yourself the unwanted tables. The regexp used to exclude the table are +# defined in the array in lib/Ora2Pg.pm. Note this is behavior +# is independant to the EXCLUDE configuration directive. +NO_EXCLUDED_TABLE 0 + +# Set which view to export as table. By default none. Value must be a list of +# view name or regexp separated by space. If the object name is a view and the +# export type is TABLE, the view will be exported as a create table statement. +# If export type is COPY or INSERT, the corresponding data will be exported. +#VIEW_AS_TABLE VIEW_NAME + +# Set which materialized view to export as table. By default none. Value must +# be a list of materialized view name or regexp separated by space. If the +# object name is a materialized view and the export type is TABLE, the view +# will be exported as a create table statement. If export type is COPY or +# INSERT, the corresponding data will be exported. +#MVIEW_AS_TABLE VIEW_NAME + +# By default Ora2Pg try to order views to avoid error at import time with +# nested views. With a huge number of view this can take a very long time, +# you can bypass this ordering by enabling this directive. +NO_VIEW_ORDERING 0 + +# When exporting GRANTs you can specify a comma separated list of objects +# for which privilege will be exported. Default is export for all objects. +# Here are the possibles values TABLE, VIEW, MATERIALIZED VIEW, SEQUENCE, +# PROCEDURE, FUNCTION, PACKAGE BODY, TYPE, SYNONYM, DIRECTORY. Only one object +# type is allowed at a time. For example set it to TABLE if you just want to +# export privilege on tables. You can use the -g option to overwrite it. +# When used this directive prevent the export of users unless it is set to +# USER. In this case only users definitions are exported. +#GRANT_OBJECT TABLE + +# By default Ora2Pg will export your external table as file_fdw tables. If +# you don't want to export those tables at all, set the directive to 0. +EXTERNAL_TO_FDW 1 + +# Add a TRUNCATE TABLE instruction before loading data on COPY and INSERT +# export. When activated, the instruction will be added only if there's no +# global DELETE clause or one specific to the current table (see bellow). +TRUNCATE_TABLE 1 + +# Support for include a DELETE FROM ... WHERE clause filter before importing +# data and perform a delete of some lines instead of truncatinf tables. +# Value is construct as follow: TABLE_NAME[DELETE_WHERE_CLAUSE], or +# if you have only one where clause for all tables just put the delete +# clause as single value. Both are possible too. Here are some examples: +#DELETE 1=1 # Apply to all tables and delete all tuples +#DELETE TABLE_TEST[ID1='001'] # Apply only on table TABLE_TEST +#DELETE TABLE_TEST[ID1='001' OR ID1='002] DATE_CREATE > '2001-01-01' TABLE_INFO[NAME='test'] +# The last applies two different delete where clause on tables TABLE_TEST and +# TABLE_INFO and a generic delete where clause on DATE_CREATE to all other tables. +# If TRUNCATE_TABLE is enabled it will be applied to all tables not covered by +# the DELETE definition. + +# When enabled this directive forces ora2pg to export all tables, index +# constraints, and indexes using the tablespace name defined in Oracle database. +# This works only with tablespaces that are not TEMP, USERS and SYSTEM. +USE_TABLESPACE 0 + +# Enable this directive to reorder columns and minimized the footprint +# on disk, so that more rows fit on a data page, which is the most important +# factor for speed. Default is same order than in Oracle table definition, +# that should be enough for most usage. +REORDERING_COLUMNS 0 + +# Support for include a WHERE clause filter when dumping the contents +# of tables. Value is construct as follow: TABLE_NAME[WHERE_CLAUSE], or +# if you have only one where clause for each table just put the where +# clause as value. Both are possible too. Here are some examples: +#WHERE 1=1 # Apply to all tables +#WHERE TABLE_TEST[ID1='001'] # Apply only on table TABLE_TEST +#WHERE TABLE_TEST[ID1='001' OR ID1='002] DATE_CREATE > '2001-01-01' TABLE_INFO[NAME='test'] +# The last applies two different where clause on tables TABLE_TEST and +# TABLE_INFO and a generic where clause on DATE_CREATE to all other tables + +# Sometime you may want to extract data from an Oracle table but you need a +# a custom query for that. Not just a "SELECT * FROM table" like Ora2Pg does +# but a more complex query. This directive allows you to override the query +# used by Ora2Pg to extract data. The format is TABLENAME[SQL_QUERY]. +# If you have multiple tables to extract by replacing the Ora2Pg query, you can +# define multiple REPLACE_QUERY lines. +#REPLACE_QUERY EMPLOYEES[SELECT e.id,e.fisrtname,lastname FROM EMPLOYEES e JOIN EMP_UPDT u ON (e.id=u.id AND u.cdate>'2014-08-01 00:00:00')] + +# To add a DROP IF EXISTS before creating the object, enable +# this directive. Can be useful in an iterative work. Default is disabled. +DROP_IF_EXISTS 0 + +# PostgreSQL do not supports Global Temporary Table natively but you can use +# the pgtt extension to emulate this behavior. Enable this directive to export +# global temporary table. +EXPORT_GTT 0 + +# By default the pgtt extension is load using the superuser privilege, set it +# to 1 if you run the SQL scripts generated using a non superuser user. It will +# use LOAD '$libdir/plugins/pgtt' instead of LOAD 'pgtt'. +PGTT_NOSUPERUSER 0 + +#------------------------------------------------------------------------------ +# FULL TEXT SEARCH SECTION (Control full text search export behaviors) +#------------------------------------------------------------------------------ + +# Force Ora2Pg to translate Oracle Text indexes into PostgreSQL indexes using +# pg_trgm extension. Default is to translate CONTEXT indexes into FTS indexes +# and CTXCAT indexes using pg_trgm. Most of the time using pg_trgm is enough, +# this is why this directive stand for. +# +CONTEXT_AS_TRGM 0 + +# By default Ora2Pg creates a function-based index to translate Oracle Text +# indexes. +# CREATE INDEX ON t_document +# USING gin(to_tsvector('french', title)); +# You will have to rewrite the CONTAIN() clause using to_tsvector(), example: +# SELECT id,title FROM t_document +# WHERE to_tsvector(title)) @@ to_tsquery('search_word'); +# +# To force Ora2Pg to create an extra tsvector column with a dedicated triggers +# for FTS indexes, disable this directive. 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('french', coalesce(title,'')); +# To automatically update the column when a modification in the title column +# appears, Ora2Pg adds the following trigger: +# +# CREATE FUNCTION tsv_t_document_title() RETURNS trigger AS $$ +# BEGIN +# IF TG_OP = 'INSERT' OR new.title != old.title THEN +# new.tsv_title := +# to_tsvector('french', coalesce(new.title,'')); +# END IF; +# return new; +# END +# $$ LANGUAGE plpgsql; +# CREATE TRIGGER trig_tsv_t_document_title BEFORE INSERT OR UPDATE +# ON t_document +# FOR EACH ROW EXECUTE PROCEDURE tsv_t_document_title(); +# +# 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. +# +FTS_INDEX_ONLY 1 + +# Use this directive to force text search configuration to use. When it is not +# set, Ora2Pg will autodetect the stemmer used by Oracle for each index and +# pg_catalog.english if nothing is found. +# +#FTS_CONFIG pg_catalog.french + +# If you want to perform your text search in an accent insensitive way, enable +# this directive. Ora2Pg will create an helper function over unaccent() and +# creates the pg_trgm indexes using this function. With FTS Ora2Pg will +# redefine your text search configuration, for example: +# +# CREATE TEXT SEARCH CONFIGURATION fr (COPY = pg_catalog.french); +# ALTER TEXT SEARCH CONFIGURATION fr +# ALTER MAPPING FOR hword, hword_part, word WITH unaccent, french_stem; +# +# When enabled, Ora2pg will create the wrapper function: +# +# CREATE OR REPLACE FUNCTION unaccent_immutable(text) +# RETURNS text AS +# $$ +# SELECT public.unaccent('public.unaccent', ) +# $$ LANGUAGE sql IMMUTABLE +# COST 1; +# +# indexes are exported as follow: +# +# CREATE INDEX t_document_title_unaccent_trgm_idx ON t_document +# USING gin (unaccent_immutable(title) gin_trgm_ops); +# +# In your queries you will need to use the same function in the search to +# be able to use the function-based index. Example: +# +# SELECT * FROM t_document +# WHERE unaccent_immutable(title) LIKE '%donnees%'; +# +USE_UNACCENT 0 + +# Same as above but call lower() in the unaccent_immutable() function: +# +# CREATE OR REPLACE FUNCTION unaccent_immutable(text) +# RETURNS text AS +# $$ +# SELECT lower(public.unaccent('public.unaccent', )); +# $$ LANGUAGE sql IMMUTABLE; +# +USE_LOWER_UNACCENT 0 + + +#------------------------------------------------------------------------------ +# DATA DIFF SECTION (only delete and insert actually changed rows) +#------------------------------------------------------------------------------ + +# EXPERIMENTAL! Not yet working correctly with partitioned tables, parallelism, +# and direct Postgres connection! Test before using in production! +# This feature affects SQL output for data (INSERT or COPY). +# The deletion and (re-)importing of data is redirected to temporary tables +# (with configurable suffix) and matching entries (i.e. quasi-unchanged rows) +# eliminated before actual application of the DELETE, UPDATE and INSERT. +# Optional functions can be specified that are called before or after the +# actual DELETE, UPDATE and INSERT per table, or after all tables have been +# processed. +# +# Enable DATADIFF functionality +DATADIFF 0 +# Use UPDATE where changed columns can be matched by the primary key +# (otherwise rows are DELETEd and re-INSERTed, which may interfere with +# inverse foreign keys relationships!) +DATADIFF_UPDATE_BY_PKEY 0 +# Suffix for temporary tables holding rows to be deleted and to be inserted. +# Pay attention to your tables names: +# 1) There better be no two tables with names such that name1 + suffix = name2 +# 2) length(suffix) + length(tablename) < NAMEDATALEN (usually 64) +DATADIFF_DEL_SUFFIX _del +DATADIFF_UPD_SUFFIX _upd +DATADIFF_INS_SUFFIX _ins +# Allow setting the work_mem and temp_buffers parameters +# to keep temp tables in memory and have efficient sorting, etc. +DATADIFF_WORK_MEM 256 MB +DATADIFF_TEMP_BUFFERS 512 MB + +# The following are names of functions that will be called (via SELECT) +# after the temporary tables have been reduced (by removing matching rows) +# and right before or right after the actual DELETE and INSERT are performed. +# They must take four arguments, which should ideally be of type "regclass", +# representing the real table, the "deletions", the "updates", and the +# "insertions" temp table names, respectively. They are called before +# re-activation of triggers, indexes, etc. (if configured). +#DATADIFF_BEFORE my_datadiff_handler_function +#DATADIFF_AFTER my_datadiff_handler_function + +# Another function can be called (via SELECT) right before the entire COMMIT +# (i.e., after re-activation of indexes, triggers, etc.), which will be +# passed in Postgres ARRAYs of the table names of the real tables, the +# "deletions", the "updates" and the "insertions" temp tables, respectively, +# with same array index positions belonging together. So this function should +# take four arguments of type regclass[] +#DATADIFF_AFTER_ALL my_datadiff_bunch_handler_function +# If in doubt, use schema-qualified function names here. +# The search_path will have been set to PG_SCHEMA if EXPORT_SCHEMA == 1 +# (as defined by you in those config parameters, see above), +# i.e., the "public" schema is not contained if EXPORT_SCHEMA == 1 + + +#------------------------------------------------------------------------------ +# CONSTRAINT SECTION (Control constraints export and import behaviors) +#------------------------------------------------------------------------------ + +# Support for turning off certain schema features in the postgres side +# during schema export. Values can be : fkeys, pkeys, ukeys, indexes, checks +# separated by a space character. +# fkeys : turn off foreign key constraints +# pkeys : turn off primary keys +# ukeys : turn off unique column constraints +# indexes : turn off all other index types +# checks : turn off check constraints +#SKIP fkeys pkeys ukeys indexes checks + +# By default names of the primary and unique key in the source Oracle database +# are ignored and key names are autogenerated in the target PostgreSQL database +# with the PostgreSQL internal default naming rules. If you want to preserve +# Oracle primary and unique key names set this option to 1. +# Please note if value of USE_TABLESPACE is set to 1 the value of this option is +# enforced to 1 to preserve correct primary and unique key allocation to tablespace. +KEEP_PKEY_NAMES 0 + +# Enable this directive if you want to add primary key definitions inside the +# create table statements. If disabled (the default) primary key definition +# will be added with an alter table statement. Enable it if you are exporting +# to GreenPlum PostgreSQL database. +PKEY_IN_CREATE 0 + +# This directive allow you to add an ON UPDATE CASCADE option to a foreign +# key when a ON DELETE CASCADE is defined or always. Oracle do not support +# this feature, you have to use trigger to operate the ON UPDATE CASCADE. +# As PostgreSQL has this feature, you can choose how to add the foreign +# key option. There is three value to this directive: never, the default +# that mean that foreign keys will be declared exactly like in Oracle. +# The second value is delete, that mean that the ON UPDATE CASCADE option +# will be added only if the ON DELETE CASCADE is already defined on the +# foreign Keys. The last value, always, will force all foreign keys to be +# defined using the update option. +FKEY_ADD_UPDATE never + +# When exporting tables, Ora2Pg normally exports constraints as they are; +# if they are non-deferrable they are exported as non-deferrable. +# However, non-deferrable constraints will probably cause problems when +# attempting to import data to PostgreSQL. The following option set to 1 +# will cause all foreign key constraints to be exported as deferrable +FKEY_DEFERRABLE 0 + +# In addition when exporting data the DEFER_FKEY option set to 1 will add +# a command to defer all foreign key constraints during data export and +# the import will be done in a single transaction. 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). Constraints will then be +# checked at the end of the transaction. This directive can also be enabled +# if you want to force all foreign keys to be created as deferrable and +# initially deferred during schema export (TABLE export type). +DEFER_FKEY 0 + +# If deferring foreign keys is not possible due to the amount of data in a +# single transaction, you've not exported foreign keys as deferrable or you +# are using direct import to PostgreSQL, you can use the DROP_FKEY directive. +# It will drop all foreign keys before all data import and recreate them at +# the end of the import. +DROP_FKEY 0 + + +#------------------------------------------------------------------------------ +# TRIGGERS AND SEQUENCES SECTION (Control triggers and sequences behaviors) +#------------------------------------------------------------------------------ + +# Disables alter of sequences on all tables in COPY or INSERT mode. +# Set to 1 if you want to disable update of sequence during data migration. +DISABLE_SEQUENCE 1 + +# Disables triggers on all tables in COPY or INSERT mode. Available modes +# are USER (user defined triggers) and ALL (includes RI system +# triggers). Default is 0 do not add SQL statement to disable trigger. +# 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. A value of 1 is equal to USER. +DISABLE_TRIGGERS 1 + + +#------------------------------------------------------------------------------ +# OBJECT MODIFICATION SECTION (Control objects structure or name modifications) +#------------------------------------------------------------------------------ + +# You may wish to just extract data from some fields, the following directives +# will help you to do that. Works only with export type INSERT or COPY +# Modify output from the following tables(fields separate by space or comma) +#MODIFY_STRUCT TABLE_TEST(dico,dossier) + +# When there is a lot of columns dropped in the target database compared to the +# Oracle database, being able to exclude columns from data export will simplify +# the configuration compared to MODIFY_STRUCT. The following directive can be +# used to define the columns per table that must be excluded from data export. +#EXCLUDE_COLUMNS TABLE_TEST(dropcol1,dropcol2) + +# You may wish to change table names during data extraction, especally for +# replication use. Give a list of tables separate by space as follow. +#REPLACE_TABLES ORIG_TB_NAME1:NEW_TB_NAME1 ORIG_TB_NAME2:NEW_TB_NAME2 + +# You may wish to change column names during export. Give a list of tables +# and columns separate by comma as follow. +#REPLACE_COLS TB_NAME(ORIG_COLNAME1:NEW_COLNAME1,ORIG_COLNAME2:NEW_COLNAME2) + +# By default all object names are converted to lower case, if you +# want to preserve Oracle object name as-is set this to 1. Not recommended +# unless you always quote all tables and columns on all your scripts. +PRESERVE_CASE 0 + +# Add the given value as suffix to index names. Useful if you have indexes +# with same name as tables. Not so common but it can help. +#INDEXES_SUFFIX _idx + +# Enable this directive to rename all indexes using tablename_columns_names. +# Could be very useful for database that have multiple time the same index name +# or that use the same name than a table, which is not allowed by PostgreSQL +# Disabled by default. +INDEXES_RENAMING 0 + +# Operator classes text_pattern_ops, varchar_pattern_ops, and bpchar_pattern_ops +# support B-tree indexes on the corresponding types. The difference from the +# default operator classes is that the values are compared strictly character by +# character rather than according to the locale-specific collation rules. This +# makes these operator classes suitable for use by queries involving pattern +# matching expressions (LIKE or POSIX regular expressions) when the database +# does not use the standard "C" locale. If you enable, with value 1, this will +# force Ora2Pg to export all indexes defined on varchar2() and char() columns +# using those operators. If you set it to a value greater than 1 it will only +# change indexes on columns where the charactere limit is greater or equal than +# this value. For example, set it to 128 to create these kind of indexes on +# columns of type varchar2(N) where N >= 128. +USE_INDEX_OPCLASS 0 + +# Enable this directive if you want that your partition tables will be +# renamed. Disabled by default. If you have multiple partitioned table, +# when exported to PostgreSQL some partitions could have the same name +# but different parent tables. This is not allowed, table name must be +# unique, in this case enable this directive. +RENAME_PARTITION 0 + +# If you don't want to reproduce the partitioning like in Oracle and want to +# export all partitionned Oracle data into the main single table in PostgreSQL +# enable this directive. Ora2Pg will export all data into the main table name. +# Default is to use partitionning, Ora2Pg will export data from each partition +# and import them into the PostgreSQL dedicated partition table. +DISABLE_PARTITION 0 + +# How to export partition by reference. Possible values are none, duplicate or +# the number of hash partition to create. Default is 'none' to not export the +# partitions by reference. +PARTITION_BY_REFERENCE none + +# Activating this directive will force Ora2Pg to add WITH (OIDS) when creating +# tables or views as tables. Default is same as PostgreSQL, disabled. +WITH_OID 0 + +# Allow escaping of column name using Oracle reserved words. +ORA_RESERVED_WORDS audit,comment,references + +# Enable this directive if you have tables or column names that are a reserved +# word for PostgreSQL. Ora2Pg will double quote the name of the object. +USE_RESERVED_WORDS 0 + +# By default Ora2Pg export Oracle tables with the NOLOGGING attribute as +# UNLOGGED tables. You may want to fully disable this feature because +# you will lost all data from unlogged table in case of PostgreSQL crash. +# Set it to 1 to export all tables as normal table. +DISABLE_UNLOGGED 1 + +# Increase varchar max character constraints to support PostgreSQL two bytes +# character encoding when the source database applies the length constraint +# on characters not bytes. Default disabled. +DOUBLE_MAX_VARCHAR 0 + +#------------------------------------------------------------------------------ +# OUTPUT SECTION (Control output to file or PostgreSQL database) +#------------------------------------------------------------------------------ + +# Define the following directive to send export directly to a PostgreSQL +# database, this will disable file output. Note that these directives are only +# used for data export, other export need to be imported manually through the +# use of psql or any other PostgreSQL client. +#PG_DSN dbi:Pg:dbname=test_db;host=localhost;port=5432 +#PG_USER test +#PG_PWD test + +# By default all output is dump to STDOUT if not send directly to postgresql +# database (see above). Give a filename to save export to it. If you want +# a Gzip'd compressed file just add the extension .gz to the filename (you +# need perl module Compress::Zlib from CPAN). Add extension .bz2 to use Bzip2 +# compression. +OUTPUT output.sql + +# Base directory where all dumped files must be written +#OUTPUT_DIR /var/tmp + +# Path to the bzip2 program. See OUTPUT directive above. +BZIP2 + +# Allow object constraints to be saved in a separate file during schema export. +# The file will be named CONSTRAINTS_OUTPUT. Where OUTPUT is the value of the +# corresponding configuration directive. You can use .gz xor .bz2 extension to +# enable compression. Default is to save all data in the OUTPUT file. This +# directive is usable only with TABLE export type. +FILE_PER_CONSTRAINT 1 + +# Allow indexes to be saved in a separate file during schema export. The file +# will be named INDEXES_OUTPUT. Where OUTPUT is the value of the corresponding +# configuration directive. You can use the .gz, .xor, or .bz2 file extension to +# enable compression. Default is to save all data in the OUTPUT file. This +# directive is usable only with TABLE or TABLESPACE export type. 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. +FILE_PER_INDEX 1 + +# Allow foreign key declaration to be saved in a separate file during +# schema export. By default foreign keys are exported into the main +# output file or in the CONSTRAINT_output.sql file. When enabled foreign +# keys will be exported into a file named FKEYS_output.sql +FILE_PER_FKEYS 1 + +# Allow data export to be saved in one file per table/view. The files +# will be named as tablename_OUTPUT. Where OUTPUT is the value of the +# corresponding configuration directive. You can use .gz xor .bz2 +# extension to enable compression. Default is to save all data in one +# file. This is usable only during INSERT or COPY export type. +FILE_PER_TABLE 1 + +# Allow function export to be saved in one file per function/procedure. +# The files will be named as funcname_OUTPUT. Where OUTPUT is the value +# of the corresponding configuration directive. You can use .gz xor .bz2 +# extension to enable compression. Default is to save all data in one +# file. It is usable during FUNCTION, PROCEDURE, TRIGGER and PACKAGE +# export type. +FILE_PER_FUNCTION 1 + +# By default Ora2Pg will force Perl to use utf8 I/O encoding. This is done through +# a call to the Perl pragma: +# +# use open ':utf8'; +# +# You can override this encoding by using the BINMODE directive, for example you +# can set it to :locale to use your locale or iso-8859-7, it will respectively use +# +# use open ':locale'; +# use open ':encoding(iso-8859-7)'; +# +# If you have change the NLS_LANG in non UTF8 encoding, you might want to set this +# directive. See http://perldoc.perl.org/5.14.2/open.html for more information. +# Most of the time, you might leave this directive commented. +#BINMODE utf8 + +# Set it to 0 to not include the call to \set ON_ERROR_STOP ON in all SQL +# scripts. By default this order is always present. +STOP_ON_ERROR 1 + +# Enable this directive to use COPY FREEZE instead of a simple COPY to +# export data with rows already frozen. This is intended as a performance +# option for initial data loading. Rows will be frozen only if the table +# being loaded has been created or truncated in the current subtransaction. +# This will only works with export to file and when -J or ORACLE_COPIES is +# not set or default to 1. 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. +COPY_FREEZE 0 + +# By default Ora2Pg use CREATE OR REPLACE in functions and views DDL, if you +# need not to override existing functions or views disable this configuration +# directive, DDL will not include OR REPLACE. +CREATE_OR_REPLACE 1 + +# This directive can be used to send an initial command to PostgreSQL, just +# after the connection. For example to set some session parameters. This +# directive can be used multiple time. +#PG_INITIAL_COMMAND + +# Add an ON CONFLICT DO NOTHING to all INSERT statements generated for this +# type of data export. +INSERT_ON_CONFLICT 0 + + +#------------------------------------------------------------------------------ +# TYPE SECTION (Control type behaviors and redefinitions) +#------------------------------------------------------------------------------ + +# If you're experiencing problems in data type export, the following directive +# will help you to redefine data type translation used in Ora2pg. The syntax is +# a comma separated list of "Oracle datatype:Postgresql data type". Here are the +# data type that can be redefined and their default value. If you want to +# replace a type with a precision and scale you need to escape the coma with +# a backslash. For example, if you want to replace all NUMBER(*,0) into bigint +# instead of numeric(38)add the following: +# DATA_TYPE NUMBER(*\,0):bigint +# Here is the default replacement for all Oracle's types. You don't have to +# recopy all type conversion but just the one you want to rewrite. +#DATA_TYPE VARCHAR2:varchar,NVARCHAR2:varchar,NVARCHAR:varchar,NCHAR:char,DATE:timestamp(0),LONG:text,LONG RAW:bytea,CLOB:text,NCLOB:text,BLOB:bytea,BFILE:bytea,RAW(16):uuid,RAW(32):uuid,RAW:bytea,UROWID:oid,ROWID:oid,FLOAT:double precision,DEC:decimal,DECIMAL:decimal,DOUBLE PRECISION:double precision,INT:integer,INTEGER:integer,REAL:real,SMALLINT:smallint,BINARY_FLOAT:double precision,BINARY_DOUBLE:double precision,TIMESTAMP:timestamp,XMLTYPE:xml,BINARY_INTEGER:integer,PLS_INTEGER:integer,TIMESTAMP WITH TIME ZONE:timestamp with time zone,TIMESTAMP WITH LOCAL TIME ZONE:timestamp with time zone + +# If set to 1 replace portable numeric type into PostgreSQL internal type. +# Oracle data type NUMBER(p,s) is approximatively converted to real and +# float PostgreSQL data type. If you have monetary fields or don't want +# rounding issues with the extra decimals you should preserve the same +# numeric(p,s) PostgreSQL data type. Do that only if you need exactness +# because using numeric(p,s) is slower than using real or double. +PG_NUMERIC_TYPE 1 + +# If set to 1 replace portable numeric type into PostgreSQL internal type. +# Oracle data type NUMBER(p) or NUMBER are converted to smallint, integer +# or bigint PostgreSQL data type following the length of the precision. If +# NUMBER without precision are set to DEFAULT_NUMERIC (see bellow). +PG_INTEGER_TYPE 1 + +# NUMBER() without precision are converted by default to bigint only if +# PG_INTEGER_TYPE is true. You can overwrite this value to any PG type, +# like integer or float. +DEFAULT_NUMERIC bigint + +# Set it to 0 if you don't want to export milliseconds from Oracle timestamp +# columns. Timestamp will be formated with to_char(..., 'YYYY-MM-DD HH24:MI:SS') +# Enabling this directive, the default, format is 'YYYY-MM-DD HH24:MI:SS.FF'. +ENABLE_MICROSECOND 1 + +# If you want to replace some columns as PostgreSQL boolean define here a list +# of tables and column separated by space as follows. You can also give a type +# and a precision to automatically convert all fields of that type as a boolean. +# For example: NUMBER:1 or CHAR:1 will replace any field of type number(1) or +# char(1) as a boolean in all exported tables. +#REPLACE_AS_BOOLEAN TB_NAME1:COL_NAME1 TB_NAME1:COL_NAME2 TB_NAME2:COL_NAME2 + +# Use this to add additional definitions of the possible boolean values in Oracle +# field. You must set a space separated list of TRUE:FALSE values. BY default: +#BOOLEAN_VALUES yes:no y:n 1:0 true:false enabled:disabled + +# When Ora2Pg find a "zero" date: 0000-00-00 00:00:00 it is replaced by a NULL. +# This could be a problem if your column is defined with NOT NULL constraint. +# If you can not remove the constraint, use this directive to set an arbitral +# date that will be used instead. You can also use -INFINITY if you don't want +# to use a fake date. +#REPLACE_ZERO_DATE 1970-01-01 00:00:00 + +# Some time you need to force the destination type, for example a column +# exported as timestamp by Ora2Pg can be forced into type date. Value is +# a comma-separated list of TABLE:COLUMN:TYPE structure. If you need to use +# comma or space inside type definition you will have to backslash them. +# +# MODIFY_TYPE TABLE1:COL3:varchar,TABLE1:COL4:decimal(9,6) +# +# Type of table1.col3 will be replaced by a varchar and table1.col4 by +# a decimal with precision and scale. +# +# If the column's type is a user defined type Ora2Pg will autodetect the +# composite type and will export its data using ROW(). Some Oracle user +# defined types are just array of a native type, in this case you may want +# to transform this column in simple array of a PostgreSQL native type. +# To do so, just redefine the destination type as wanted and Ora2Pg will +# also transform the data as an array. For example, with the following +# definition in Oracle: +# +# CREATE OR REPLACE TYPE mem_type IS VARRAY(10) of VARCHAR2(15); +# CREATE TABLE club (Name VARCHAR2(10), +# Address VARCHAR2(20), +# City VARCHAR2(20), +# Phone VARCHAR2(8), +# Members mem_type +# ); +# +# custom type "mem_type" is just a string array and can be translated into +# the following in PostgreSQL: +# +# CREATE TABLE club ( +# name varchar(10), +# address varchar(20), +# city varchar(20), +# phone varchar(8), +# members text[] +# ) ; +# +# To do so, just use the directive as follow: +# +# MODIFY_TYPE CLUB:MEMBERS:text[] +# +# Ora2Pg will take care to transform all data of this column in the correct +# format. Only arrays of characters and numerics types are supported. +#MODIFY_TYPE + +# By default Oracle call to function TO_NUMBER will be translated as a cast +# into numeric. For example, TO_NUMBER('10.1234') is converted into PostgreSQL +# call to_number('10.1234')::numeric. If you want you can cast the call to integer +# or bigint by changing the value of the configuration directive. If you need +# better control of the format, just set it as value, for example: +# TO_NUMBER_CONVERSION 99999999999999999999.9999999999 +# will convert the code above as: +# TO_NUMBER('10.1234', '99999999999999999999.9999999999') +# Any value of the directive that it is not numeric, integer or bigint will +# be taken as a mask format. If set to none, no conversion will be done. +TO_NUMBER_CONVERSION numeric + +# By default varchar2 without size constraint are tranlated into text. If you +# want to keep the varchar name, disable this directive. +VARCHAR_TO_TEXT 1 + +# Usually identity column must be bigint to correspond to an auto increment +# sequence. If, for any reason you want Ora2Pg respect the DATA_TYPE you have +# set, disable this directive. +FORCE_IDENTITY_BIGINT 1 + +# Remove timezone part into the format of the TO_CHAR() function +TO_CHAR_NOTIMEZONE 1 + +#------------------------------------------------------------------------------ +# GRANT SECTION (Control priviledge and owner export) +#------------------------------------------------------------------------------ + +# Set this to 1 to replace default password for all extracted user +# during GRANT export +GEN_USER_PWD 0 + +# By default the owner of database objects is the one you're using to connect +# to PostgreSQL. If you use an other user (e.g. postgres) you can force +# Ora2Pg to set the object owner to be the one used in the Oracle database by +# setting the directive to 1, or to a completely different username by setting +# the directive value # to that username. +FORCE_OWNER 0 + +# Ora2Pg use the function's security privileges set in Oracle and it is often +# defined as SECURITY DEFINER. If you want to override those security privileges +# for all functions and use SECURITY DEFINER instead, enable this directive. +FORCE_SECURITY_INVOKER 0 + +#------------------------------------------------------------------------------ +# DATA SECTION (Control data export behaviors) +#------------------------------------------------------------------------------ + +# Extract data by bulk of DATA_LIMIT tuples at once. Default 10000. If you set +# a high value be sure to have enough memory if you have million of rows. +DATA_LIMIT 10000 + +# When Ora2Pg detect a table with some BLOB it will automatically reduce the +# value of this directive by dividing it by 10 until his value is below 1000. +# You can control this value by setting BLOB_LIMIT. Exporting BLOB use lot of +# ressources, setting it to a too high value can produce OOM. +#BLOB_LIMIT 500 + +# Apply same behavior on CLOB than BLOB with BLOB_LIMIT settings. This is +# especially useful if you have large CLOB data. +CLOB_AS_BLOB 1 + +# By default all data that are not of type date or time are escaped. If you +# experience any problem with that you can set it to 1 to disable it. This +# directive is only used during a COPY export type. +# See STANDARD_CONFORMING_STRINGS for enabling/disabling escape with INSERT +# statements. +NOESCAPE 0 + +# This directive may be used if you want to change the default isolation +# level of the data export transaction. Default is now to set the level +# to a serializable transaction to ensure data consistency. Here are the +# allowed value of this directive: readonly, readwrite, serializable and +# committed (read committed). +TRANSACTION serializable + +# This controls whether ordinary string literals ('...') treat backslashes +# literally, as specified in SQL standard. This was the default before Ora2Pg +# v8.5 so that all strings was escaped first, now this is currently on, causing +# Ora2Pg to use the escape string syntax (E'...') if this parameter is not +# set to 0. This is the exact behavior of the same option in PostgreSQL. +# This directive is only used during INSERT export to build INSERT statements. +# See NOESCAPE for enabling/disabling escape in COPY statements. +STANDARD_CONFORMING_STRINGS 1 + +# Use this directive to set the database handle's 'LongReadLen' attribute to +# a value that will be the larger than the expected size of the LOB. The default +# is 1MB witch may not be enough to extract BLOB objects. If the size of the LOB +# exceeds the 'LongReadLen' DBD::Oracle will return a 'ORA-24345: A Truncation' +# error. Default: 1023*1024 bytes. Take a look at this page to learn more: +# http://search.cpan.org/~pythian/DBD-Oracle-1.22/Oracle.pm#Data_Interface_for_Persistent_LOBs +# +# Important note: If you increase the value of this directive take care that +# DATA_LIMIT will probably needs to be reduced. Even if you only have a 1MB blob +# trying to read 10000 of them (the default DATA_LIMIT) all at once will require +# 10GB of memory. You may extract data from those table separately and set a +# DATA_LIMIT to 500 or lower, otherwise you may experience some out of memory. +LONGREADLEN 1047552 + +# 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. +#LONGTRUNCOK 0 + +# Disable this if you want to load full content of BLOB and CLOB and not use +# LOB locators. In this case you will have to set LONGREADLEN to the right +# value. 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. For more information on how it works, see +# http://search.cpan.org/~pythian/DBD-Oracle-1.74/lib/DBD/Oracle.pm#Data_Interface_for_LOB_Locators +# Default is enabled, it use LOB locators. +USE_LOB_LOCATOR 1 + +# Oracle recommends reading from and writing to a LOB in batches using a +# multiple of the LOB chunk size. This chunk size defaults to 8k (8192). +# Recent tests shown that the best performances can be reach with higher +# value like 512K or 4Mb. +# +# A quick benchmark with 30120 rows with different size of BLOB (200x5Mb, +# 19800x212k, 10000x942K, 100x17Mb, 20x156Mb), with DATA_LIMIT=100, +# LONGREADLEN=170Mb and a total table size of 20GB gives: +# +# no lob locator : 22m46,218s (1365 sec., avg: 22 recs/sec) +# chunk size 8k : 15m50,886s (951 sec., avg: 31 recs/sec) +# chunk size 512k : 1m28,161s (88 sec., avg: 342 recs/sec) +# chunk size 4Mb : 1m23,717s (83 sec., avg: 362 recs/sec) +# +# In conclusion it can be more than 10 time faster with LOB_CHUNK_SIZE set +# to 4Mb. Dependind of the size of most BLOB you may want to adjust the value +# here. For example if you have a majority of small lobs bellow 8K, using 8192 +# is better to not waste space. +LOB_CHUNK_SIZE 512000 + +# Force the use of getStringVal() instead of getClobVal() for XML data export. +# Default is 1, enabled for backward compatibility. Set here to 0 to use extract +# method a la CLOB and export the XML code as it was stored. Note that XML value +# extracted with getStringVal() must not exceed VARCHAR2 size limit otherwize +# it will return an error. +XML_PRETTY 0 + +# Enable this directive if you want to continue direct data import on error. +# When Ora2Pg receives an error in the COPY or INSERT statement from PostgreSQL +# it will log the statement to a file called TABLENAME_error.log in the output +# directory and continue to next bulk of data. Like this you can try to fix the +# statement and manually reload the error log file. Default is disabled: abort +# import on error. +LOG_ON_ERROR 0 + +# If you want to convert CHAR(n) from Oracle into varchar(n) or text under +# PostgreSQL, you might want to do some triming on the data. By default +# Ora2Pg will auto-detect this conversion and remove any withspace at both +# leading and trailing position. If you just want to remove the leadings +# character, set the value to LEADING. If you just want to remove the trailing +# character, set the value to TRAILING. Default value is BOTH. +TRIM_TYPE BOTH + +# The default triming character is space, use the directive bellow if you need +# to change the character that will be removed. For example, set it to - if you +# have leading - in the char(n) field. To use space as triming charger, comment +# this directive, this is the default value. +#TRIM_CHAR - + +# Internal timestamp retrieves from custom type are extracted in the following +# format: 01-JAN-77 12.00.00.000000 AM. It is impossible to know the exact century +# that must be used, so by default any year below 49 will be added to 2000 +# and others to 1900. You can use this directive to change this default value. +# this is only relevant if you have user defined type with a column timestamp. +INTERNAL_DATE_MAX 49 + +# Disable this directive if you want to disable check_function_bodies. +# +# SET check_function_bodies = false; +# +# It disables validation of the function body string during CREATE FUNCTION. +# Default is to use de postgresql.conf setting that enable it by default. +FUNCTION_CHECK 1 + +# Exporting BLOB takes time, in some circumstances you may want to export +# all data except the BLOB columns. In this case disable this directive and +# the BLOB columns will not be included into data export. Take care that the +# target bytea column do not have a NOT NULL constraint. +ENABLE_BLOB_EXPORT 1 + +# Same but for CLOB data export +ENABLE_CLOB_EXPORT 1 + +# By default data export order will be done by sorting on table name. If you +# have huge tables at end of alphabetic order and you are using multiprocess +# it can be better to set the sort order on size so that multiple small tables +# can be processed before the largest tables finish. In this case set this +# directive to size. Possible values are name and size. Note that export type +# SHOW_TABLE and SHOW_COLUMN will use this sort order too, not only COPY or +# INSERT export type. If you want to give you custom export order, just give +# a filename as value that contains the ordered list of table to export. Must +# be a list of one table per line, in uppercase for Oracle. +DATA_EXPORT_ORDER name + +# By default Ora2Pg use \i psql command to execute generated SQL files +# if you want to use a relative path following the script execution file +# enabling this option will use \ir. See psql help for more information. +PSQL_RELATIVE_PATH 0 + +# Number of rows that must be retrieved on both side for data validation. +DATA_VALIDATION_ROWS 10000 + +# Order of rows between both sides are different once the data have been +# modified. In this case data must be ordered using a primary key or a +# unique index, that mean that a table without such object can not be +# compared. If the validation is done just after the data migration without +# any data modification the validation can be done on all tables without any +# ordering. +DATA_VALIDATION_ORDERING 1 + +# Stop validating data from a table after a certain amount of row mistmatch. +# Default is to stop after 10 rows validation errors. +DATA_VALIDATION_ERROR 10 + +# Use this directive to precise which transformation should be applied to a +# column when exporting data. Value must be a semicolon separated list of +# TABLE[COLUMN_NAME, ] +# For example to replace string 'Oracle' by 'PostgreSQL' in a varchar2 column +# use the following. +#TRANSFORM_VALUE ERROR_LOG_SAMPLE[DBMS_TYPE,regexp_replace("DBMS_TYPE",'Oracle','PostgreSQL')] +#or to replace all Oracle char(0) in a string by a space character: +#TRANSFORM_VALUE CLOB_TABLE[CHARDATA:translate("CHARDATA", chr(0), ' ')] +#The expression will be applied in the SQL statemeent used to extract data +#from the source database. + +#------------------------------------------------------------------------------ +# PERFORMANCES SECTION (Control export/import performances) +#------------------------------------------------------------------------------ + +# This configuration directive adds multiprocess support to COPY, FUNCTION +# and PROCEDURE export type, the value is the number of process to use. +# Default is to not use multiprocess. This directive is used to set the number +# of cores to used to parallelize data import into PostgreSQL. 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. There's no more limitation in parallel processing +# than the number of cores and the PostgreSQL I/O performance capabilities. +# Doesn't works under Windows Operating System, it is simply disabled. +JOBS 1 + +# Multiprocess support. This directive should defined the number of parallel +# connection to Oracle when extracting data. The limit is the number of cores +# on your machine. This is useful if Oracle is the bottleneck. Take care that +# this directive can only be used if there is a primary / unique key defined +# on a numeric column or that a column is defined in DEFINED_PK. +ORACLE_COPIES 1 + +# Multiprocess support. This directive should defined the number of tables +# in parallel data extraction. The limit is the number of cores on your machine. +# Ora2Pg will open one database connection for each parallel table extraction. +# This directive, when upper than 1, will invalidate ORACLE_COPIES but not JOBS. +# Note that this directive when set upper that 1 will also automatically enable +# the FILE_PER_TABLE directive if your are exporting to files. +PARALLEL_TABLES 1 + +# 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. A value of 0 or 1 disable the use of parallel hint. +# Default is disabled. +DEFAULT_PARALLELISM_DEGREE 0 + +# Parallel mode will not be activated if the table have less rows than +# this directive. This prevent fork of Oracle process when it is not +# necessary. Default is 100K rows. +PARALLEL_MIN_ROWS 100000 + +# Multiprocess support. This directive is used to split the select queries +# between the different connections to Oracle if ORA_COPIES is used. Ora2Pg +# will extract data with the following prepare statement: +# SELECT * FROM TABLE WHERE MOD(COLUMN, $ORA_COPIES) = ? +# Where $ORA_COPIES is the total number of cores used to extract data and set +# with ORA_COPIES directive, and ? is the current core used at execution time. +# This means that Ora2Pg needs to know the numeric column to use in this query. +# If this column is a real, float, numeric or decimal, you must add the ROUND() +# function with the column to round the value to the nearest integer. +#DEFINED_PK TABLE:COLUMN TABLE:ROUND(COLUMN) + +# Enabling this directive force Ora2Pg to drop all indexes on data import +# tables, except automatic index on primary key, and recreate them at end +# of data import. This may improve speed a lot during a fresh import. +DROP_INDEXES 0 + +# Specifies whether transaction commit will wait for WAL records to be written +# to disk before the command returns a "success" indication to the client. This +# is the equivalent to set synchronous_commit directive of postgresql.conf file. +# This is only used when you load data directly to PostgreSQL, the default is +# off to disable synchronous commit to gain speed at writing data. Some modified +# versions of PostgreSQL, like Greenplum, do not have this setting, so in this +# case set this directive to 1, ora2pg will not try to change the setting. +SYNCHRONOUS_COMMIT 0 + +#------------------------------------------------------------------------------ +# PLSQL SECTION (Control SQL and PL/SQL to PLPGSQL rewriting behaviors) +#------------------------------------------------------------------------------ + +# If the above configuration directive is not enough to validate your PL/SQL code +# enable this configuration directive to allow export of all PL/SQL code even if +# it is marked as invalid. The 'VALID' or 'INVALID' status applies to functions, +# procedures, packages, triggers and user defined types. +EXPORT_INVALID 0 + +# Enable PLSQL to PLPSQL conversion. This is a work in progress, feel +# free modify/add you own code and send me patches. The code is under +# function plsql_toplpgsql in Ora2PG/PLSQL.pm. Default enabled. +PLSQL_PGSQL 0 + +# Ora2Pg can replace all conditions with a test on NULL by a call to the +# coalesce() function to mimic the Oracle behavior where empty field are +# considered equal to NULL. Ex: (field1 IS NULL) and (field2 IS NOT NULL) will +# be replaced by (coalesce(field1::text, '') = '') and (field2 IS NOT NULL AND +# field2::text <> ''). You might want this replacement to be sure that your +# application will have the same behavior but if you have control on you app +# a better way is to change it to transform empty string into NULL because +# PostgreSQL makes the difference. +NULL_EQUAL_EMPTY 0 + +# Force empty_clob() and empty_blob() to be exported as NULL instead as empty +# string for the first one and \\x for the second. If NULL is allowed in your +# column this might improve data export speed if you have lot of empty lob. +EMPTY_LOB_NULL 1 + +# If you don't want to export package as schema but as simple functions you +# might also want to replace all call to package_name.function_name. If you +# disable the PACKAGE_AS_SCHEMA directive then Ora2Pg will replace all call +# to package_name.function_name() by package_name_function_name(). Default +# is to use a schema to emulate package. +PACKAGE_AS_SCHEMA 1 + +# Enable this directive if the rewrite of Oracle native syntax (+) of +# OUTER JOIN is broken. This will force Ora2Pg to not rewrite such code, +# default is to try to rewrite simple form of rigth outer join for the +# moment. +REWRITE_OUTER_JOIN 1 + +# By default Oracle functions are marked as STABLE as they can not modify data +# unless when used in PL/SQL with variable assignment or as conditional +# expression. You can force Ora2Pg to create these function as VOLATILE by +# disabling the following configuration directive. +FUNCTION_STABLE 1 + +# By default call to COMMIT/ROLLBACK are kept untouched by Ora2Pg to force +# the user to review the logic of the function. Once it is fixed in Oracle +# source code or you want to comment this calls enable the following directive +COMMENT_COMMIT_ROLLBACK 0 + +# It is common to see SAVEPOINT call inside PL/SQL procedure together with +# a ROLLBACK TO savepoint_name. When COMMENT_COMMIT_ROLLBACK is enabled you +# may want to also comment SAVEPOINT calls, in this case enable it. +COMMENT_SAVEPOINT 0 + +# Ora2Pg replace all string constant during the pl/sql to plpgsql translation, +# string constant are all text include between single quote. If you have some +# string placeholder used in dynamic call to queries you can set a list of +# regexp to be temporary replaced to not break the parser.The list of regexp +# must use the semi colon as separator. For exemple: +#STRING_CONSTANT_REGEXP + +# To support the Alternative Quoting Mechanism (''Q'') for String Literals +# set the regexp with the text capture to use to extract the text part. +# For example with a variable declared as +# c_sample VARCHAR2(100 CHAR) := q'{This doesn't work.}'; +# the regexp must be: q'{(.*)}' ora2pg use the $$ delimiter. +#ALTERNATIVE_QUOTING_REGEXP q'{(.*)}' + +# If you want to use functions defined in the Orafce library and prevent +# Ora2Pg to translate call to these function, enable this directive. +# The Orafce library can be found here: https://github.com/orafce/orafce +# By default Ora2pg rewrite add_month(), add_year(), date_trunc() and +# to_char() functions, but you may prefer to use the orafce version of +# these function that do not need any code transformation. +USE_ORAFCE 0 + +# Enable translation of autonomous transactions into a wrapper function +# using dblink or pg_background extension. If you don't want to use this +# translation and just want the function to be exported as a normal one +# without the pragma call, disable this directive. +AUTONOMOUS_TRANSACTION 1 + +#------------------------------------------------------------------------------ +# ASSESSMENT SECTION (Control migration assessment behaviors) +#------------------------------------------------------------------------------ + +# Activate the migration cost evaluation. Must only be used with SHOW_REPORT, +# FUNCTION, PROCEDURE, PACKAGE and QUERY export type. Default is disabled. +# Note that enabling this directive will force PLSQL_PGSQL activation. +ESTIMATE_COST 0 + +# Set the value in minutes of the migration cost evaluation unit. Default +# is five minutes per unit. +COST_UNIT_VALUE 5 + +# By default when using SHOW_REPORT the migration report is generated as +# simple text, enabling this directive will force ora2pg to create a report +# in HTML format. +DUMP_AS_HTML 0 + +# Set the total number of tables to display in the Top N per row and size +# list in the SHOW_TABLE and SHOW_REPORT output. Default 10. +TOP_MAX 10 + +# Use this directive to redefined the number of human-days limit where the +# migration assessment level must switch from B to C. Default is set to 10 +# human-days. +HUMAN_DAYS_LIMIT 5 + +# Set the comma separated list of username that must be used to filter +# queries from the DBA_AUDIT_TRAIL table. Default is to not scan this +# table and to never look for queries. This parameter is used only with +# SHOW_REPORT and QUERY export type with no input file for queries. +# Note that queries will be normalized before output unlike when a file +# is given at input using the -i option or INPUT directive. +#AUDIT_USER USERNAME1,USERNAME2 + +# By default Ora2Pg will convert call to SYS_GUID() Oracle function +# with a call to uuid_generate_v4() from uuid-ossp extension. You can +# redefined it to use the gen_random_uuid() function from pgcrypto +# extension by changing the function name below. +#UUID_FUNCTION uuid_generate_v4 + +#------------------------------------------------------------------------------ +# POSTGRESQL FEATURE SECTION (Control which PostgreSQL features are available) +#------------------------------------------------------------------------------ + +# Set the PostgreSQL major version number of the target database. Ex: 9.6 or 10 +# Default is current major version at time of a new release. This replace the +# old PG_SUPPORTS_* configuration directives. +PG_VERSION 15 + +# Use btree_gin extenstion to create bitmap like index with pg >= 9.4 +# You will need to create the extension by yourself: +# create extension btree_gin; +# Default is to create GIN index, when disabled, a btree index will be created +BITMAP_AS_GIN 1 + +# Use pg_background extension to create an autonomous transaction instead +# of using a dblink wrapper. With pg >= 9.5 only, default is to use dblink. +PG_BACKGROUND 0 + +# By default if you have an autonomous transaction translated using dblink +# extension instead of pg_background the connection is defined using the +# values set with PG_DSN, PG_USER and PG_PWD. If you want to fully override +# the connection string use this directive as follow to set the connection +# in the autonomous transaction wrapper function. +#DBLINK_CONN port=5432 dbname=pgdb host=localhost user=pguser password=pgpass + +# Some versions of PostgreSQL like Redshift doesn't support substr() +# and it need to be replaced by a call to substring(). In this case, +# disable it. +PG_SUPPORTS_SUBSTR 1 + +#------------------------------------------------------------------------------ +# SPATIAL SECTION (Control spatial geometry export) +#------------------------------------------------------------------------------ + +# Enable this directive if you want Ora2Pg to detect the real spatial type and +# dimensions used in a spatial column. By default Ora2Pg will look at spatial +# indexes to see if the layer_gtype and sdo_indx_dims constraint parameters have +# been set, otherwise column will be created with the non-constrained "geometry" +# type. Enabling this feature will force Ora2Pg to scan a sample of 50000 lines +# to look at the GTYPE used. You can increase or reduce the sample by setting +# the value of AUTODETECT_SPATIAL_TYPE to the desired number of line. +AUTODETECT_SPATIAL_TYPE 1 + +# Disable this directive if you don't want to automatically convert SRID to +# EPSG using the sdo_cs.map_oracle_srid_to_epsg() function. Default: enabled +# If the SDO_SRID returned by Oracle is NULL, it will be replaced by the +# default value 8307 converted to its EPSG value: 4326 (see DEFAULT_SRID) +# If the value is upper than 1, all SRID will be forced to this value, in +# this case DEFAULT_SRID will not be used when Oracle returns a null value +# and the value will be forced to CONVERT_SRID. +# Note that it is also possible to set the EPSG value on Oracle side when +# sdo_cs.map_oracle_srid_to_epsg() return NULL if your want to force the value: +# Ex: system> UPDATE sdo_coord_ref_sys SET legacy_code=41014 WHERE srid = 27572; +CONVERT_SRID 1 + +# Use this directive to override the default EPSG SRID to used: 4326. +# Can be overwritten by CONVERT_SRID, see above. +DEFAULT_SRID 4326 + +# This directive can take three values: WKT (default), WKB and INTERNAL. +# When it is set to WKT, Ora2Pg will use SDO_UTIL.TO_WKTGEOMETRY() to +# extract the geometry data. When it is set to WKB, Ora2Pg will use the +# binary output using SDO_UTIL.TO_WKBGEOMETRY(). If those two extract type +# are called at Oracle side, they are slow and you can easily reach Out Of +# Memory when you have lot of rows. Also WKB is not able to export 3D geometry +# and some geometries like CURVEPOLYGON. In this case you may use the INTERNAL +# extraction type. 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 is a work in progress, please validate your exported data geometries +# before use. +GEOMETRY_EXTRACT_TYPE INTERNAL + +# Oracle function to use to extract the srid from ST_Geometry meta information +ST_SRID_FUNCTION ST_SRID + +# Oracle function to use to extract the dimension from ST_Geometry meta information +ST_DIMENSION_FUNCTION ST_DIMENSION + +# Oracle function to used to convert an ST_Geometry value into WKB format +ST_ASBINARY_FUNCTION ST_ASBINARY + +# Oracle function to used to convert an ST_Geometry value into WKT format +ST_ASTEXT_FUNCTION ST_ASTEXT + +# Oracle function to use to extract the geometry type from a ST_Geometry column +ST_GEOMETRYTYPE_FUNCTION ST_GEOMETRYTYPE + +#------------------------------------------------------------------------------ +# FDW SECTION (Control Foreign Data Wrapper export) +#------------------------------------------------------------------------------ + +# This directive is used to set the name of the foreign data server that is used +# in the "CREATE SERVER name FOREIGN DATA WRAPPER oracle_fdw ..." command. This +# import data using oracle_fdw. Default is no foreign server defined. +# This only concerns export type FDW, COPY and INSERT. For export type FDW the +# default value is orcl +#FDW_SERVER orcl + +# Schema where foreign tables for data migration will be created. If you use +# several instances of ora2pg for data migration through the foreign data +# wrapper, you might need to change the name of the schema for each instance. +FDW_IMPORT_SCHEMA ora2pg_fdw_import + +# The default behaviour of Ora2Pg is to NOT set the "prefetch" option for +# oracle_fdw when used for COPY and INSERT. This directive allows the prefetch +# to be set. See oracle_fdw documentation for the current default. +#ORACLE_FDW_PREFETCH 1000 + +# By default Ora2Pg drops the temporary schema ora2pg_fdw_import used to import +# the Oracle foreign schema before each new import. If you want to preserve +# the existing schema because of modifications or the use of a third party +# server, disable this directive. +DROP_FOREIGN_SCHEMA 1 + + +#------------------------------------------------------------------------------ +# MYSQL SECTION (Control MySQL export behavior) +#------------------------------------------------------------------------------ + +# Enable this if double pipe and double ampersand (|| and &&) should not be +# taken as equivalent to OR and AND. It depend of the variable @sql_mode, +# Use it only if Ora2Pg fail on auto detecting this behavior. +MYSQL_PIPES_AS_CONCAT 0 + +# Enable this directive if you want EXTRACT() replacement to use the internal +# format returned as an integer, for example DD HH24:MM:SS will be replaced +# with format; DDHH24MMSS::bigint, this depend of your apps usage. +MYSQL_INTERNAL_EXTRACT_FORMAT 0 + +#------------------------------------------------------------------------------ +# SQL Server SECTION (Control MSSQL export behavior) +#------------------------------------------------------------------------------ + +# PostgreSQL has no equivalent to rowversion datatype and feature, if you want +# to remove these useless columns, enable this directive. Columns of datatype +# 'rowversion' or 'timestamp' will not be exported. +DROP_ROWVERSION 0 + +# Emulate the same behavior of MSSQL with case insensitive search. If the value +# is citext it will use the citext data type instead of char/varchar/text in +# tables DDL (Ora2Pg will add a CHECK constraint for columns with a precision). +# Instead of citext you can also set a collation name that will be used in the +# columns definitions. To disable case insensitive search set it to: none. +CASE_INSENSITIVE_SEARCH citext + +# Append a TOP N clause to the SELECT command used to extract the data from +# SQL Server. This is the equivalent to a WHERE ROWNUM < 1000 clause for Oracle. +SELECT_TOP 1000 diff --git a/docker/database/migration/migv1/export_schema.sh b/docker/database/migration/migv1/export_schema.sh new file mode 100755 index 0000000000..a17b06a485 --- /dev/null +++ b/docker/database/migration/migv1/export_schema.sh @@ -0,0 +1,53 @@ +#!/bin/sh +#------------------------------------------------------------------------------- +# +# Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +# +#------------------------------------------------------------------------------- +EXPORT_TYPE="SEQUENCE SEQUENCE_VALUES TABLE PACKAGE VIEW GRANT TRIGGER FUNCTION PROCEDURE TABLESPACE PARTITION TYPE MVIEW DBLINK SYNONYM DIRECTORY" +SOURCE_TYPE="PACKAGE VIEW TRIGGER FUNCTION PROCEDURE PARTITION TYPE MVIEW" +namespace="." +unit_cost=5 + +ora2pg -t SHOW_TABLE -c $namespace/config/ora2pg.conf > $namespace/reports/tables.txt +ora2pg -t SHOW_COLUMN -c $namespace/config/ora2pg.conf > $namespace/reports/columns.txt +ora2pg -t SHOW_REPORT -c $namespace/config/ora2pg.conf --dump_as_html --cost_unit_value $unit_cost --estimate_cost > $namespace/reports/report.html + +for etype in $(echo $EXPORT_TYPE | tr " " "\n") +do + ltype=`echo $etype | tr '[:upper:]' '[:lower:]'` + ltype=`echo $ltype | sed 's/y$/ie/'` + ltype=`echo $ltype | sed 's/s$//'` + if [ "$etype" = "TABLE" ]; then + blob_to_lo="" + else + blob_to_lo="" + fi + echo "Running: ora2pg -p -t $etype -o $ltype.sql -b $namespace/schema/${ltype}s -c $namespace/config/ora2pg.conf ${blob_to_lo}" + ora2pg -p -t $etype -o $ltype.sql -b $namespace/schema/${ltype}s -c $namespace/config/ora2pg.conf ${blob_to_lo} + ret=`grep "Nothing found" $namespace/schema/${ltype}s/$ltype.sql 2> /dev/null` + if [ ! -z "$ret" ]; then + rm $namespace/schema/${ltype}s/$ltype.sql + fi +done + +for etype in $(echo $SOURCE_TYPE | tr " " "\n") +do + ltype=`echo $etype | tr '[:upper:]' '[:lower:]'` + ltype=`echo $ltype | sed 's/y$/ie/'` + echo "Running: ora2pg -t $etype -o $ltype.sql -b $namespace/sources/${ltype}s -c $namespace/config/ora2pg.conf" + ora2pg -t $etype -o $ltype.sql -b $namespace/sources/${ltype}s -c $namespace/config/ora2pg.conf + ret=`grep "Nothing found" $namespace/sources/${ltype}s/$ltype.sql 2> /dev/null` + if [ ! -z "$ret" ]; then + rm $namespace/sources/${ltype}s/$ltype.sql + fi +done + +echo +echo +echo "To extract data use the following command:" +echo +echo "ora2pg -t COPY -o data.sql -b $namespace/data -c $namespace/config/ora2pg.conf " +echo + +exit 0 diff --git a/docker/database/migration/migv1/import_all.sh b/docker/database/migration/migv1/import_all.sh new file mode 100755 index 0000000000..530a8d2fa2 --- /dev/null +++ b/docker/database/migration/migv1/import_all.sh @@ -0,0 +1,469 @@ +#!/bin/sh +#------------------------------------------------------------------------------- +# +# Script used to load exported sql files into PostgreSQL in practical manner +# allowing you to chain and automatically import schema and data. +# +# Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +# +#------------------------------------------------------------------------------- + +EXPORT_TYPE="TYPE SEQUENCE SEQUENCE_VALUES TABLE PACKAGE VIEW GRANT TRIGGER FUNCTION PROCEDURE TABLESPACE PARTITION MVIEW DBLINK SYNONYM DIRECTORY" +AUTORUN=0 +NAMESPACE=. +NO_CONSTRAINTS=0 +IMPORT_INDEXES_AFTER=0 +DEBUG=0 +IMPORT_SCHEMA=0 +IMPORT_DATA=0 +IMPORT_CONSTRAINTS=0 +NO_DBCHECK=0 + + +# Message functions +die() { + echo "ERROR: $1" 1>&2 + exit 1 +} + +usage() { + echo "usage: `basename $0` [options]" + echo "" + echo "Script used to load exported sql files into PostgreSQL in practical manner" + echo "allowing you to chain and automatically import schema and data." + echo "" + echo "options:" + echo " -a import data only" + echo " -b filename SQL script to execute just after table creation to fix database schema" + echo " -d dbname database name for import" + echo " -D enable debug mode, will only show what will be done" + echo " -e encoding database encoding to use at creation (default: UTF8)" + echo " -f force no check of user and database existing and do not try to create them" + echo " -h hostname hostname of the PostgreSQL server (default: unix socket)" + echo " -i only load indexes, constraints and triggers" + echo " -I do not try to load indexes, constraints and triggers" + echo " -j cores number of connection to use to import data or indexes into PostgreSQL" + echo " -n schema comma separated list of schema to create" + echo " -o username owner of the database to create" + echo " -p port listening port of the PostgreSQL server (default: 5432)" + echo " -P cores number of tables to process at same time for data import" + echo " -s import schema only, do not try to import data" + echo " -t export comma separated list of export type to import (same as ora2pg)" + echo " -U username username to connect to PostgreSQL (default: peer username)" + echo " -x import indexes and constraints after data" + echo " -y reply Yes to all questions for automatic import" + echo + echo " -? print help" + echo + exit $1 +} + +# Function to emulate Perl prompt function +confirm () { + + msg=$1 + if [ "$AUTORUN" != "0" ]; then + true + else + if [ -z "$msg" ]; then + msg="Are you sure? [y/N/q]" + fi + # call with a prompt string or use a default + read -r -p "${msg} [y/N/q] " response + case $response in + [yY][eE][sS]|[yY]) + true + ;; + [qQ][uU][iI][tT]|[qQ]) + exit + ;; + *) + false + ;; + esac + fi +} + +# Function used to import constraints and indexes +import_constraints () { + if [ -r "$NAMESPACE/schema/tables/INDEXES_table.sql" ]; then + if confirm "Would you like to import indexes from $NAMESPACE/schema/tables/INDEXES_table.sql?" ; then + if [ -z "$IMPORT_JOBS" ]; then + echo "Running: psql$DB_HOST$DB_PORT -U $DB_OWNER -d $DB_NAME -f $NAMESPACE/schema/tables/INDEXES_table.sql" + if [ $DEBUG -eq 0 ]; then + psql$DB_HOST$DB_PORT -U $DB_OWNER -d $DB_NAME -f $NAMESPACE/schema/tables/INDEXES_table.sql + if [ $? -ne 0 ]; then + die "can not import indexes." + fi + fi + else + echo "Running: ora2pg -c config/ora2pg.conf -t LOAD -i $NAMESPACE/schema/tables/INDEXES_table.sql" + if [ $DEBUG -eq 0 ]; then + ora2pg$IMPORT_JOBS -c config/ora2pg.conf -t LOAD -i $NAMESPACE/schema/tables/INDEXES_table.sql + if [ $? -ne 0 ]; then + die "can not import indexes." + fi + fi + fi + fi + fi + + if [ -r "$NAMESPACE/schema/tables/CONSTRAINTS_table.sql" ]; then + if confirm "Would you like to import constraints from $NAMESPACE/schema/tables/CONSTRAINTS_table.sql?" ; then + if [ -z "$IMPORT_JOBS" ]; then + echo "Running: psql$DB_HOST$DB_PORT -U $DB_OWNER -d $DB_NAME -f $NAMESPACE/schema/tables/CONSTRAINTS_table.sql" + if [ $DEBUG -eq 0 ]; then + psql$DB_HOST$DB_PORT -U $DB_OWNER -d $DB_NAME -f $NAMESPACE/schema/tables/CONSTRAINTS_table.sql + if [ $? -ne 0 ]; then + die "can not import constraints." + fi + fi + else + echo "Running: ora2pg$IMPORT_JOBS -c config/ora2pg.conf -t LOAD -i $NAMESPACE/schema/tables/CONSTRAINTS_table.sql" + if [ $DEBUG -eq 0 ]; then + ora2pg$IMPORT_JOBS -c config/ora2pg.conf -t LOAD -i $NAMESPACE/schema/tables/CONSTRAINTS_table.sql + if [ $? -ne 0 ]; then + die "can not import constraints." + fi + fi + fi + fi + fi + + if [ -r "$NAMESPACE/schema/tables/FKEYS_table.sql" ]; then + if confirm "Would you like to import foreign keys from $NAMESPACE/schema/tables/FKEYS_table.sql?" ; then + if [ -z "$IMPORT_JOBS" ]; then + echo "Running: psql$DB_HOST$DB_PORT -U $DB_OWNER -d $DB_NAME -f $NAMESPACE/schema/tables/FKEYS_table.sql" + if [ $DEBUG -eq 0 ]; then + psql$DB_HOST$DB_PORT -U $DB_OWNER -d $DB_NAME -f $NAMESPACE/schema/tables/FKEYS_table.sql + if [ $? -ne 0 ]; then + die "can not import foreign keys." + fi + fi + else + echo "Running: ora2pg$IMPORT_JOBS -c config/ora2pg.conf -t LOAD -i $NAMESPACE/schema/tables/FKEYS_table.sql" + if [ $DEBUG -eq 0 ]; then + ora2pg$IMPORT_JOBS -c config/ora2pg.conf -t LOAD -i $NAMESPACE/schema/tables/FKEYS_table.sql + if [ $? -ne 0 ]; then + die "can not import foreign keys." + fi + fi + fi + fi + fi + + if [ -r "$NAMESPACE/schema/tables/FTS_INDEXES_table.sql" ]; then + if confirm "Would you like to import FTS indexes from $NAMESPACE/schema/tables/FTS_INDEXES_table.sql?" ; then + if [ -z "$IMPORT_JOBS" ]; then + echo "Running: psql$DB_HOST$DB_PORT -U $DB_OWNER -d $DB_NAME -f $NAMESPACE/schema/tables/FTS_INDEXES_table.sql" + if [ $DEBUG -eq 0 ]; then + psql$DB_HOST$DB_PORT -U $DB_OWNER -d $DB_NAME -f $NAMESPACE/schema/tables/FTS_INDEXES_table.sql + if [ $? -ne 0 ]; then + die "can not import FTS indexes." + fi + fi + else + echo "Running: ora2pg -c config/ora2pg.conf -t LOAD -i $NAMESPACE/schema/tables/FTS_INDEXES_table.sql" + if [ $DEBUG -eq 0 ]; then + ora2pg$IMPORT_JOBS -c config/ora2pg.conf -t LOAD -i $NAMESPACE/schema/tables/FTS_INDEXES_table.sql + if [ $? -ne 0 ]; then + die "can not import FTS indexes." + fi + fi + fi + fi + fi + + if [ -r "$NAMESPACE/schema/triggers/trigger.sql" ]; then + if confirm "Would you like to import TRIGGER from $NAMESPACE/schema/triggers/trigger.sql?" ; then + echo "Running: psql --single-transaction $DB_HOST$DB_PORT -U $DB_OWNER -d $DB_NAME -f $NAMESPACE/schema/triggers/trigger.sql" + if [ $DEBUG -eq 0 ]; then + psql --single-transaction $DB_HOST$DB_PORT -U $DB_OWNER -d $DB_NAME -f $NAMESPACE/schema/triggers/trigger.sql + if [ $? -ne 0 ]; then + die "an error occurs when importing file $NAMESPACE/schema/triggers/trigger.sql." + fi + fi + fi + fi +} + +# Command line options +while getopts "b:d:e:h:j:l:n:o:p:P:t:U:aDfiIsyx?" opt; do + case "$opt" in + a) IMPORT_DATA=1;; + b) SQL_POST_SCRIPT=$OPTARG;; + d) DB_NAME=$OPTARG;; + D) DEBUG=1;; + e) DB_ENCODING=" -E $OPTARG";; + f) NO_DBCHECK=1;; + h) DB_HOST=" -h $OPTARG";; + i) IMPORT_CONSTRAINTS=1;; + I) NO_CONSTRAINTS=1;; + j) IMPORT_JOBS=" -j $OPTARG";; + n) DB_SCHEMA=$OPTARG;; + o) DB_OWNER=$OPTARG;; + p) DB_PORT=" -p $OPTARG";; + P) PARALLEL_TABLES=" -P $OPTARG";; + s) IMPORT_SCHEMA=1;; + t) EXPORT_TYPE=$OPTARG;; + U) DB_USER=" -U $OPTARG";; + x) IMPORT_INDEXES_AFTER=1;; + y) AUTORUN=1;; + "?") usage 1;; + *) die "Unknown error while processing options";; + esac +done + +# Check if post tables import SQL script is readable +if [ ! -z "$SQL_POST_SCRIPT" ]; then + if [ ! -r "$SQL_POST_SCRIPT" ]; then + die "the SQL script $SQL_POST_SCRIPT is not readable." + fi +fi + +# A database name is mandatory +if [ -z "$DB_NAME" ]; then + die "you must give a PostgreSQL database name (see -d option)." +fi + +# A database owner is mandatory +if [ -z "$DB_OWNER" ]; then + die "you must give a username to be used as owner of database (see -o option)." +fi + +# Check if the project directory is readable +if [ ! -r "$NAMESPACE/schema/tables/table.sql" ]; then + die "project directory '$NAMESPACE' is not valid or is not readable." +fi + +# If constraints and indexes files are present propose to import these objects +if [ $IMPORT_CONSTRAINTS -eq 1 ]; then + if confirm "Would you like to load indexes, constraints and triggers?" ; then + import_constraints + fi + exit 0 +fi + +# When a PostgreSQL schema list is provided, create them +if [ $IMPORT_DATA -eq 0 ]; then + is_superuser='f' + if [ $NO_DBCHECK -eq 0 ]; then + # Create owner user + user_exists=`psql -d $DB_NAME$DB_HOST$DB_PORT$DB_USER -Atc "select usename from pg_user where usename='$DB_OWNER';" 2>/dev/null` + is_superuser=`psql -d $DB_NAME$DB_HOST$DB_PORT$DB_USER -Atc "select usesuper from pg_user where usename='$DB_OWNER';" 2>/dev/null`; + if [ "a$user_exists" = "a" ]; then + if confirm "Would you like to create the owner of the database $DB_OWNER?" ; then + echo "Running: createuser$DB_HOST$DB_PORT$DB_USER --no-superuser --no-createrole --no-createdb $DB_OWNER" + if [ $DEBUG -eq 0 ]; then + createuser$DB_HOST$DB_PORT$DB_USER --no-superuser --no-createrole --no-createdb $DB_OWNER + if [ $? -ne 0 ]; then + die "can not create user $DB_OWNER." + fi + fi + fi + else + echo "Database owner $DB_OWNER already exists, skipping creation." + fi + + # Create database if required + if [ "a$DB_ENCODING" = "a" ]; then + DB_ENCODING=" -E UTF8" + fi + db_exists=`psql -d $DB_NAME$DB_HOST$DB_PORT$DB_USER -Atc "select datname from pg_database where datname='$DB_NAME';"` + if [ "a$db_exists" = "a" ]; then + if confirm "Would you like to create the database $DB_NAME?" ; then + echo "Running: createdb$DB_HOST$DB_PORT$DB_USER$DB_ENCODING --owner $DB_OWNER $DB_NAME" + if [ $DEBUG -eq 0 ]; then + createdb$DB_HOST$DB_PORT$DB_USER$DB_ENCODING --owner $DB_OWNER $DB_NAME + if [ $? -ne 0 ]; then + die "can not create database $DB_NAME." + fi + fi + fi + else + if confirm "Would you like to drop the database $DB_NAME before recreate it?" ; then + echo "Running: dropdb$DB_HOST$DB_PORT$DB_USER $DB_NAME" + if [ $DEBUG -eq 0 ]; then + dropdb$DB_HOST$DB_PORT$DB_USER $DB_NAME + if [ $? -ne 0 ]; then + die "can not drop database $DB_NAME." + fi + fi + echo "Running: createdb$DB_HOST$DB_PORT$DB_USER$DB_ENCODING --owner $DB_OWNER $DB_NAME" + if [ $DEBUG -eq 0 ]; then + createdb$DB_HOST$DB_PORT$DB_USER$DB_ENCODING --owner $DB_OWNER $DB_NAME + if [ $? -ne 0 ]; then + die "can not create database $DB_NAME." + fi + fi + fi + fi + fi + + # When schema list is provided, create them + if [ "a$DB_SCHEMA" != "a" ]; then + nspace_list='' + for enspace in $(echo $DB_SCHEMA | tr "," "\n") + do + lnspace=`echo $enspace | tr '[:upper:]' '[:lower:]'` + if confirm "Would you like to create schema $lnspace in database $DB_NAME?" ; then + echo "Running: psql$DB_HOST$DB_PORT -U $DB_OWNER -d $DB_NAME -c \"CREATE SCHEMA $lnspace;\"" + if [ $DEBUG -eq 0 ]; then + psql$DB_HOST$DB_PORT -U $DB_OWNER -d $DB_NAME -c "CREATE SCHEMA $lnspace;" + if [ $? -ne 0 ]; then + die "can not create schema $DB_SCHEMA." + fi + fi + nspace_list="$nspace_list$lnspace," + fi + done + # Change search path of the owner + if [ "a$nspace_list" != "a" ]; then + if confirm "Would you like to change search_path of the database owner?" ; then + echo "Running: psql$DB_HOST$DB_PORT$DB_USER -d $DB_NAME -c \"ALTER ROLE $DB_OWNER SET search_path TO ${nspace_list}public;\"" + if [ $DEBUG -eq 0 ]; then + psql$DB_HOST$DB_PORT$DB_USER -d $DB_NAME -c "ALTER ROLE $DB_OWNER SET search_path TO ${nspace_list}public;" + if [ $? -ne 0 ]; then + die "can not change search_path." + fi + fi + fi + fi + fi + + # Then import all files from project directory + for etype in $(echo $EXPORT_TYPE | tr "," "\n") + do + + if [ $NO_CONSTRAINTS -eq 1 ] && [ $etype = "TRIGGER" ]; then + continue + fi + + if [ $etype = "GRANT" ] || [ $etype = "TABLESPACE" ]; then + continue + fi + + ltype=`echo $etype | tr '[:upper:]' '[:lower:]'` + ltype=`echo $ltype | sed 's/y$/ie/'` + ltype=`echo $ltype | sed 's/s$//'` + if [ -r "$NAMESPACE/schema/${ltype}s/$ltype.sql" ]; then + if confirm "Would you like to import $etype from $NAMESPACE/schema/${ltype}s/$ltype.sql?" ; then + echo "Running: psql --single-transaction $DB_HOST$DB_PORT -U $DB_OWNER -d $DB_NAME -f $NAMESPACE/schema/${ltype}s/$ltype.sql" + if [ $DEBUG -eq 0 ]; then + psql --single-transaction $DB_HOST$DB_PORT -U $DB_OWNER -d $DB_NAME -f $NAMESPACE/schema/${ltype}s/$ltype.sql + if [ $? -ne 0 ]; then + die "an error occurs when importing file $NAMESPACE/schema/${ltype}s/$ltype.sql." + fi + fi + fi + fi + if [ ! -z "$SQL_POST_SCRIPT" ] && [ $etype = "TABLE" ]; then + if confirm "Would you like to execute SQL script $SQL_POST_SCRIPT?" ; then + echo "Running: psql --single-transaction $DB_HOST$DB_PORT -U $DB_OWNER -d $DB_NAME -f $SQL_POST_SCRIPT" + if [ $DEBUG -eq 0 ]; then + psql --single-transaction $DB_HOST$DB_PORT -U $DB_OWNER -d $DB_NAME -f $SQL_POST_SCRIPT + if [ $? -ne 0 ]; then + die "an error occurs when importing file $SQL_POST_SCRIPT." + fi + fi + fi + fi + done + + # If constraints and indexes files are present propose to import these objects + if [ $NO_CONSTRAINTS -eq 0 ] && [ $IMPORT_INDEXES_AFTER -eq 0 ]; then + if confirm "Would you like to process indexes and constraints before loading data?" ; then + IMPORT_INDEXES_AFTER=0 + import_constraints + else + IMPORT_INDEXES_AFTER=1 + fi + fi + + # When the database owner is not superuser use postgres instead + q_user='postgres' + if [ "$is_superuser" = "t" ]; then + q_user=$DB_OWNER + fi + + # Import objects that need superuser privilege: GRANT and TABLESPACE + if [ -r "$NAMESPACE/schema/grants/grant.sql" ]; then + if confirm "Would you like to import GRANT from $NAMESPACE/schema/grants/grant.sql?" ; then + echo "Running: psql $DB_HOST$DB_PORT -U $q_user -d $DB_NAME -f $NAMESPACE/schema/grants/grant.sql" + if [ $DEBUG -eq 0 ]; then + psql $DB_HOST$DB_PORT -U $q_user -d $DB_NAME -f $NAMESPACE/schema/grants/grant.sql + if [ $? -ne 0 ]; then + die "an error occurs when importing file $NAMESPACE/schema/grants/grant.sql." + fi + fi + fi + fi + if [ -r "$NAMESPACE/schema/tablespaces/tablespace.sql" ]; then + if confirm "Would you like to import TABLESPACE from $NAMESPACE/schema/tablespaces/tablespace.sql?" ; then + echo "Running: psql $DB_HOST$DB_PORT -U $q_user -d $DB_NAME -f $NAMESPACE/schema/tablespaces/tablespace.sql" + if [ $DEBUG -eq 0 ]; then + psql $DB_HOST$DB_PORT -U $q_user -d $DB_NAME -f $NAMESPACE/schema/tablespaces/tablespace.sql + if [ $? -ne 0 ]; then + die "an error occurs when importing file $NAMESPACE/schema/tablespaces/tablespace.sql." + fi + fi + fi + fi +fi + + +# Check if we must just import schema or proceed to data import too +if [ $IMPORT_SCHEMA -eq 0 ]; then + # set the PostgreSQL datasource + pgdsn_defined=`grep "^PG_DSN" config/ora2pg.conf | sed 's/.*dbi:Pg/dbi:Pg/'` + if [ "a$pgdsn_defined" = "a" ]; then + if [ "a$DB_HOST" != "a" ]; then + pgdsn_defined="dbi:Pg:dbname=$DB_NAME;host=$DB_HOST" + else + #default to unix socket + pgdsn_defined="dbi:Pg:dbname=$DB_NAME;" + fi + if [ "a$DB_PORT" != "a" ]; then + pgdsn_defined="$pgdsn_defined;port=$DB_PORT" + else + pgdsn_defined="$pgdsn_defined;port=5432" + fi + fi + + # remove command line option from the DSN string + pgdsn_defined=`echo "$pgdsn_defined" | sed 's/ -. //g'` + + # If data file is present propose to import data + if [ -r "$NAMESPACE/data/data.sql" ]; then + if confirm "Would you like to import data from $NAMESPACE/data/data.sql?" ; then + echo "Running: psql$DB_HOST$DB_PORT -U $DB_OWNER -d $DB_NAME -f $NAMESPACE/data/data.sql" + if [ $DEBUG -eq 0 ]; then + psql$DB_HOST$DB_PORT -U $DB_OWNER -d $DB_NAME -f $NAMESPACE/data/data.sql + if [ $? -ne 0 ]; then + die "an error occurs when importing file $NAMESPACE/data/data.sql." + fi + fi + fi + else + # Import data directly from PostgreSQL + if confirm "Would you like to import data from Oracle database directly into PostgreSQL?" ; then + echo "Running: ora2pg$IMPORT_JOBS$PARALLEL_TABLES -c config/ora2pg.conf -t COPY --pg_dsn \"$pgdsn_defined\" --pg_user $DB_OWNER " + if [ $DEBUG -eq 0 ]; then + ora2pg$IMPORT_JOBS$PARALLEL_TABLES -c config/ora2pg.conf -t COPY --pg_dsn "$pgdsn_defined" --pg_user $DB_OWNER + if [ $? -ne 0 ]; then + die "an error occurs when importing data." + fi + fi + fi + fi + + if [ $NO_CONSTRAINTS -eq 0 ] && [ $IMPORT_DATA -eq 0 ]; then + # Import indexes and constraint after data + if [ $IMPORT_INDEXES_AFTER -eq 1 ]; then + import_constraints + fi + fi +fi + +exit 0 + From 381c61e61d4287683639784ff3e715f5262149cf Mon Sep 17 00:00:00 2001 From: jcschaff Date: Thu, 20 Jun 2024 19:24:42 -0400 Subject: [PATCH 3/7] configure migv1 --- .../migration/migv1/config/ora2pg.conf | 38 +++++---- .../migv1/config/tables_to_export.txt | 78 +++++++++++++++++++ 2 files changed, 99 insertions(+), 17 deletions(-) create mode 100644 docker/database/migration/migv1/config/tables_to_export.txt diff --git a/docker/database/migration/migv1/config/ora2pg.conf b/docker/database/migration/migv1/config/ora2pg.conf index 56105acbe5..cb533740e3 100644 --- a/docker/database/migration/migv1/config/ora2pg.conf +++ b/docker/database/migration/migv1/config/ora2pg.conf @@ -20,7 +20,7 @@ ORACLE_HOME /usr/lib/oracle/12.2/client64 # Set Oracle database connection (datasource, user, password) -ORACLE_DSN dbi:Oracle:host=mydb.mydom.fr;sid=SIDNAME;port=1521 +ORACLE_DSN dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 ORACLE_USER system ORACLE_PWD manager @@ -46,7 +46,7 @@ DEBUG 0 EXPORT_SCHEMA 0 # Oracle schema/owner to use -SCHEMA CHANGE_THIS_SCHEMA_NAME +SCHEMA VCELL # Enable/disable the CREATE SCHEMA SQL order at starting of the output file. # It is enable by default and concern on TABLE export type. @@ -182,14 +182,18 @@ DISABLE_COMMENT 0 # that regex will not works with 8i database, use % placeholder instead # Ora2Pg will use the LIKE operator. There is also some extended use of # this directive, see chapter "Limiting object to export" in documentation. -#ALLOW TABLE_TEST +ALLOW tables_to_export.txt # Set which object to exclude from export process. By default none. Value # must be a list of object name or regexp separated by space. Note that regex # will not works with 8i database, use % placeholder instead Ora2Pg will use # the NOT LIKE operator. There is also some extended use of this directive, # see chapter "Limiting object to export" in documentation. -#EXCLUDE OTHER_TABLES +EXCLUDE MAINSEQ NEWSEQ PLSQL_PROFILER_RUNNUMBER WEB_DOWNLOAD_EVENT_SEQ +EXCLUDE toad_profiler.rollup_all_runs toad_profiler.rollup_run toad_profiler.rollup_unit +EXCLUDE comparekinetics squirrel_get_error_offset powerfactor getvalencetype gettaskdescription +EXCLUDE getmathsize getmath getkinetics countsimdata countsim countmath countbio +EXCLUDE copynewmath_to_scmath copyscmath_to_oldmath copyoldmath_to_scmath # By default Ora2Pg exclude from export some Oracle "garbage" tables that should # never be part of an export. This behavior generates a lot of REGEXP_LIKE @@ -625,9 +629,9 @@ DOUBLE_MAX_VARCHAR 0 # database, this will disable file output. Note that these directives are only # used for data export, other export need to be imported manually through the # use of psql or any other PostgreSQL client. -#PG_DSN dbi:Pg:dbname=test_db;host=localhost;port=5432 -#PG_USER test -#PG_PWD test +PG_DSN dbi:Pg:dbname=postgres;host=192.168.1.159;port=5432 +PG_USER quarkus +PG_PWD quarkus # By default all output is dump to STDOUT if not send directly to postgresql # database (see above). Give a filename to save export to it. If you want @@ -940,12 +944,12 @@ LONGREADLEN 1047552 USE_LOB_LOCATOR 1 # Oracle recommends reading from and writing to a LOB in batches using a -# multiple of the LOB chunk size. This chunk size defaults to 8k (8192). -# Recent tests shown that the best performances can be reach with higher -# value like 512K or 4Mb. +# multiple of the LOB chunk size. This chunk size defaults to 8k (8192). +# Recent tests shown that the best performances can be reach with higher +# value like 512K or 4Mb. # -# A quick benchmark with 30120 rows with different size of BLOB (200x5Mb, -# 19800x212k, 10000x942K, 100x17Mb, 20x156Mb), with DATA_LIMIT=100, +# A quick benchmark with 30120 rows with different size of BLOB (200x5Mb, +# 19800x212k, 10000x942K, 100x17Mb, 20x156Mb), with DATA_LIMIT=100, # LONGREADLEN=170Mb and a total table size of 20GB gives: # # no lob locator : 22m46,218s (1365 sec., avg: 22 recs/sec) @@ -954,8 +958,8 @@ USE_LOB_LOCATOR 1 # chunk size 4Mb : 1m23,717s (83 sec., avg: 362 recs/sec) # # In conclusion it can be more than 10 time faster with LOB_CHUNK_SIZE set -# to 4Mb. Dependind of the size of most BLOB you may want to adjust the value -# here. For example if you have a majority of small lobs bellow 8K, using 8192 +# to 4Mb. Dependind of the size of most BLOB you may want to adjust the value +# here. For example if you have a majority of small lobs bellow 8K, using 8192 # is better to not waste space. LOB_CHUNK_SIZE 512000 @@ -1084,7 +1088,7 @@ ORACLE_COPIES 1 # the FILE_PER_TABLE directive if your are exporting to files. PARALLEL_TABLES 1 -# You can force Ora2Pg to use /*+ PARALLEL(tbname, degree) */ hint in each +# 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. A value of 0 or 1 disable the use of parallel hint. # Default is disabled. @@ -1382,12 +1386,12 @@ MYSQL_INTERNAL_EXTRACT_FORMAT 0 # SQL Server SECTION (Control MSSQL export behavior) #------------------------------------------------------------------------------ -# PostgreSQL has no equivalent to rowversion datatype and feature, if you want +# PostgreSQL has no equivalent to rowversion datatype and feature, if you want # to remove these useless columns, enable this directive. Columns of datatype # 'rowversion' or 'timestamp' will not be exported. DROP_ROWVERSION 0 -# Emulate the same behavior of MSSQL with case insensitive search. If the value +# Emulate the same behavior of MSSQL with case insensitive search. If the value # is citext it will use the citext data type instead of char/varchar/text in # tables DDL (Ora2Pg will add a CHECK constraint for columns with a precision). # Instead of citext you can also set a collation name that will be used in the diff --git a/docker/database/migration/migv1/config/tables_to_export.txt b/docker/database/migration/migv1/config/tables_to_export.txt new file mode 100644 index 0000000000..0cdc928919 --- /dev/null +++ b/docker/database/migration/migv1/config/tables_to_export.txt @@ -0,0 +1,78 @@ +vc_userinfo +vc_group +vc_model +vc_celltype +vc_struct +vc_reactstep +vc_protein +vc_proteinalias +vc_compound +vc_compoundalias +vc_enzyme +vc_enzymealias +vc_enzymereaction +vc_dbspecies +vc_specialusers +vc_species +vc_modelsc +vc_modelstruct +vc_reactpart +vc_diagram +vc_geomextent +vc_image +vc_imagedata +vc_browsedata +vc_imageregion +vc_geometry +vc_subvolume +vc_surfaceclass +vc_math +vc_simcontext +vc_speciescontextspec +vc_structmapping +vc_reactionspec +vc_stimulus +vc_analysistask +vc_filament +vc_curve +vc_simulation +vc_simstat +vc_biomodel +vc_biomodelsimcontext +vc_biomodelsim +vc_mathmodel +vc_mathmodelsim +vc_available +vc_userstat +vc_userlog +vc_simcontextstat +vc_simcontextstat2 +stochtest +stochtestrun +stochtestcompare +vc_simulationjob +vc_biomodelxml +vc_mathmodelxml +vc_geometricregion +vc_surfacedesc +vc_userpref +vc_tftestsuite +vc_tftestcase +vc_tftestcriteria +vc_tftestresult +vc_softwareversion +vc_externaldata +vc_mathdescextdata +vc_miriam +vc_apiclient +vc_apiaccesstoken +vc_publication +vc_publicationmodellink +vc_applicationmath +vc_datasymbol +vc_globalmodelparam +loadmodelstat +vc_userlogininfo +vc_metadata +vc_simdelfromdisk +vc_useridentity From 0c33be3c3d517dc832a31707575a5d2135df01a7 Mon Sep 17 00:00:00 2001 From: jcschaff Date: Fri, 21 Jun 2024 04:49:32 -0400 Subject: [PATCH 4/7] run report --- docker/database/migration/README.md | 59 ++-- .../config/ora2pg_all.conf} | 122 ++++---- docker/database/migration/ora2pg.html | 295 ++++++++++++++++++ 3 files changed, 378 insertions(+), 98 deletions(-) rename docker/database/migration/{config/ora2pg.conf => migv1/config/ora2pg_all.conf} (97%) create mode 100644 docker/database/migration/ora2pg.html diff --git a/docker/database/migration/README.md b/docker/database/migration/README.md index 17653b9714..d175acf7c6 100644 --- a/docker/database/migration/README.md +++ b/docker/database/migration/README.md @@ -2,57 +2,38 @@ see https://www.siriusopensource.com/en-us/blog/oracle-postgresql-migration-using-ora2pg ```bash -docker run \ - --platform linux/amd64 \ - -it \ - -v /Users/jimschaff/Documents/workspace/vcell/docker/database/migration:/instance1/ora2pg \ +docker run --platform linux/amd64 -it \ + -v /Users/jimschaff/Documents/workspace/vcell/docker/database/migration:/base \ georgmoser/ora2pg:24.3 \ - ora2pg --project_base /instance1/ora2pg --init_project migv1 - + ora2pg --project_base /base --init_project migv1 ``` - ```bash -export ORACLE_USER=system -docker run \ - --platform linux/amd64 \ - -e ORACLE_USER=${ORACLE_USER} \ - -e ORACLE_PWD=${ORACLE_SECRET} \ - -it \ - -v /Users/jimschaff/Documents/workspace/vcell/docker/database/migration/config:/config \ - -v /Users/jimschaff/Documents/workspace/vcell/docker/database/migration/data:/data \ +docker run --platform linux/amd64 -it \ + -w /base \ + -v /Users/jimschaff/Documents/workspace/vcell/docker/database/migration/migv1:/base \ georgmoser/ora2pg:24.3 \ - ora2pg --debug -c /config/ora2pg.conf > data/ora2pg.log + ora2pg --type show_report --estimate_cost --conf config/ora2pg_all.conf --basedir data --dump_as_html > ora2pg.html ``` ```bash -export ORACLE_USER=system -export ORACLE_SECRET=secret -docker run \ - --platform linux/amd64 \ - -e ORACLE_USER=${ORACLE_USER} \ - -e ORACLE_PWD=${ORACLE_SECRET} \ - -it \ - -v /Users/jimschaff/Documents/workspace/vcell/docker/database/migration/config:/config \ - -v /Users/jimschaff/Documents/workspace/vcell/docker/database/migration/data:/data \ - georgmoser/ora2pg:24.3 \ - ora2pg --debug -c /config/ora2pg.conf -t TEST > data/ora2pg_TEST.log +docker run --platform linux/amd64 -it \ + -w /base \ + -v /Users/jimschaff/Documents/workspace/vcell/docker/database/migration/migv1:/base \ + georgmoser/ora2pg:24.3 /base/export_schema.sh ``` -```bash -cat ../../../vcell-rest/src/main/resources/scripts/init.sql | grep "CREATE TABLE" | tr "(" " " | cut -d' ' -f3 >> config/tables_to_export.txt -``` +### exporting data +#### snapshot +--scn SCN : Allow to set the Oracle System Change Number (SCN) to use to export data. It will be used in the WHERE clause to get the data. It is used with action COPY or INSERT. + ```bash -docker run \ - --platform linux/amd64 \ - -e ORACLE_USER=${ORACLE_USER} \ - -e ORACLE_PWD=${ORACLE_SECRET} \ - -it \ - -v /Users/jimschaff/Documents/workspace/vcell/docker/database/migration/config:/config \ - -v /Users/jimschaff/Documents/workspace/vcell/docker/database/migration/data:/data \ + +docker run --platform linux/amd64 -it \ + -w /base \ + -v /Users/jimschaff/Documents/workspace/vcell/docker/database/migration/migv1:/base \ georgmoser/ora2pg:24.3 \ - ora2pg --debug -c /config/ora2pg.conf -t TABLE > data/ora2pg_TABLE.log - + ora2pg --type table --where "ROWNUM < 100" --conf config/ora2pg_all.conf --basedir data --dump_as_html > ora2pg.html ``` diff --git a/docker/database/migration/config/ora2pg.conf b/docker/database/migration/migv1/config/ora2pg_all.conf similarity index 97% rename from docker/database/migration/config/ora2pg.conf rename to docker/database/migration/migv1/config/ora2pg_all.conf index b616d5ff45..a4e286081f 100644 --- a/docker/database/migration/config/ora2pg.conf +++ b/docker/database/migration/migv1/config/ora2pg_all.conf @@ -20,14 +20,14 @@ ORACLE_HOME /usr/lib/oracle/12.2/client64 # Set Oracle database connection (datasource, user, password) -ORACLE_DSN dbi:Oracle:host=mydb.mydom.fr;sid=SIDNAME;port=1521 +ORACLE_DSN dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 ORACLE_USER system ORACLE_PWD manager # Set this to 1 if you connect as simple user and can not extract things # from the DBA_... tables. It will use tables ALL_... This will not works # with GRANT export, you should use an Oracle DBA username at ORACLE_USER -USER_GRANTS 0 +USER_GRANTS 1 # Trace all to stderr DEBUG 0 @@ -46,14 +46,14 @@ DEBUG 0 EXPORT_SCHEMA 0 # Oracle schema/owner to use -#SCHEMA SCHEMA_NAME +SCHEMA VCELL # Enable/disable the CREATE SCHEMA SQL order at starting of the output file. # It is enable by default and concern on TABLE export type. CREATE_SCHEMA 1 # Enable this directive to force Oracle to compile schema before exporting code. -# When this directive is enabled and SCHEMA is set to a specific schema name, +# When this directive is enabled and SCHEMA is set to a specific schema name, # only invalid objects in this schema will be recompiled. If SCHEMA is not set # then all schema will be recompiled. To force recompile invalid object in a # specific schema, set COMPILE_SCHEMA to the schema name you want to recompile. @@ -77,13 +77,13 @@ COMPILE_SCHEMA 1 # by using: # ALTER ROLE username SET search_path TO user_schema, public; #in this case you don't have to set PG_SCHEMA. -#PG_SCHEMA +#PG_SCHEMA # Use this directive to add a specific schema to the search path to look # for PostGis functions. -#POSTGIS_SCHEMA +#POSTGIS_SCHEMA -# Allow to add a comma separated list of system user to exclude from +# Allow to add a comma separated list of system user to exclude from # Oracle extraction. Oracle have many of them following the modules # installed. By default it will suppress all object owned by the following # system users: @@ -182,14 +182,18 @@ DISABLE_COMMENT 0 # that regex will not works with 8i database, use % placeholder instead # Ora2Pg will use the LIKE operator. There is also some extended use of # this directive, see chapter "Limiting object to export" in documentation. -#ALLOW TABLE_TEST +#ALLOW tables_to_export.txt # Set which object to exclude from export process. By default none. Value # must be a list of object name or regexp separated by space. Note that regex # will not works with 8i database, use % placeholder instead Ora2Pg will use # the NOT LIKE operator. There is also some extended use of this directive, # see chapter "Limiting object to export" in documentation. -#EXCLUDE OTHER_TABLES +#EXCLUDE MAINSEQ NEWSEQ PLSQL_PROFILER_RUNNUMBER WEB_DOWNLOAD_EVENT_SEQ +#EXCLUDE toad_profiler.rollup_all_runs toad_profiler.rollup_run toad_profiler.rollup_unit +#EXCLUDE comparekinetics squirrel_get_error_offset powerfactor getvalencetype gettaskdescription +#EXCLUDE getmathsize getmath getkinetics countsimdata countsim countmath countbio +#EXCLUDE copynewmath_to_scmath copyscmath_to_oldmath copyoldmath_to_scmath # By default Ora2Pg exclude from export some Oracle "garbage" tables that should # never be part of an export. This behavior generates a lot of REGEXP_LIKE @@ -235,7 +239,7 @@ EXTERNAL_TO_FDW 1 # Add a TRUNCATE TABLE instruction before loading data on COPY and INSERT # export. When activated, the instruction will be added only if there's no # global DELETE clause or one specific to the current table (see bellow). -TRUNCATE_TABLE 0 +TRUNCATE_TABLE 1 # Support for include a DELETE FROM ... WHERE clause filter before importing # data and perform a delete of some lines instead of truncatinf tables. @@ -257,7 +261,7 @@ USE_TABLESPACE 0 # Enable this directive to reorder columns and minimized the footprint # on disk, so that more rows fit on a data page, which is the most important -# factor for speed. Default is same order than in Oracle table definition, +# factor for speed. Default is same order than in Oracle table definition, # that should be enough for most usage. REORDERING_COLUMNS 0 @@ -305,7 +309,7 @@ PGTT_NOSUPERUSER 0 CONTEXT_AS_TRGM 0 # By default Ora2Pg creates a function-based index to translate Oracle Text -# indexes. +# indexes. # CREATE INDEX ON t_document # USING gin(to_tsvector('french', title)); # You will have to rewrite the CONTAIN() clause using to_tsvector(), example: @@ -341,7 +345,7 @@ FTS_INDEX_ONLY 1 # Use this directive to force text search configuration to use. When it is not # set, Ora2Pg will autodetect the stemmer used by Oracle for each index and -# pg_catalog.english if nothing is found. +# pg_catalog.english if nothing is found. # #FTS_CONFIG pg_catalog.french @@ -350,7 +354,7 @@ FTS_INDEX_ONLY 1 # creates the pg_trgm indexes using this function. With FTS Ora2Pg will # redefine your text search configuration, for example: # -# CREATE TEXT SEARCH CONFIGURATION fr (COPY = pg_catalog.french); +# CREATE TEXT SEARCH CONFIGURATION fr (COPY = pg_catalog.french); # ALTER TEXT SEARCH CONFIGURATION fr # ALTER MAPPING FOR hword, hword_part, word WITH unaccent, french_stem; # @@ -365,7 +369,7 @@ FTS_INDEX_ONLY 1 # # indexes are exported as follow: # -# CREATE INDEX t_document_title_unaccent_trgm_idx ON t_document +# CREATE INDEX t_document_title_unaccent_trgm_idx ON t_document # USING gin (unaccent_immutable(title) gin_trgm_ops); # # In your queries you will need to use the same function in the search to @@ -494,7 +498,7 @@ FKEY_DEFERRABLE 0 # the import will be done in a single transaction. 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). Constraints will then be -# checked at the end of the transaction. This directive can also be enabled +# checked at the end of the transaction. This directive can also be enabled # if you want to force all foreign keys to be created as deferrable and # initially deferred during schema export (TABLE export type). DEFER_FKEY 0 @@ -513,15 +517,15 @@ DROP_FKEY 0 # Disables alter of sequences on all tables in COPY or INSERT mode. # Set to 1 if you want to disable update of sequence during data migration. -DISABLE_SEQUENCE 0 +DISABLE_SEQUENCE 1 -# Disables triggers on all tables in COPY or INSERT mode. Available modes -# are USER (user defined triggers) and ALL (includes RI system +# Disables triggers on all tables in COPY or INSERT mode. Available modes +# are USER (user defined triggers) and ALL (includes RI system # triggers). Default is 0 do not add SQL statement to disable trigger. # 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. A value of 1 is equal to USER. -DISABLE_TRIGGERS 0 +DISABLE_TRIGGERS 1 #------------------------------------------------------------------------------ @@ -541,7 +545,7 @@ DISABLE_TRIGGERS 0 # You may wish to change table names during data extraction, especally for # replication use. Give a list of tables separate by space as follow. -#REPLACE_TABLES ORIG_TB_NAME1:NEW_TB_NAME1 ORIG_TB_NAME2:NEW_TB_NAME2 +#REPLACE_TABLES ORIG_TB_NAME1:NEW_TB_NAME1 ORIG_TB_NAME2:NEW_TB_NAME2 # You may wish to change column names during export. Give a list of tables # and columns separate by comma as follow. @@ -580,7 +584,7 @@ USE_INDEX_OPCLASS 0 # renamed. Disabled by default. If you have multiple partitioned table, # when exported to PostgreSQL some partitions could have the same name # but different parent tables. This is not allowed, table name must be -# unique, in this case enable this directive. +# unique, in this case enable this directive. RENAME_PARTITION 0 # If you don't want to reproduce the partitioning like in Oracle and want to @@ -603,14 +607,14 @@ WITH_OID 0 ORA_RESERVED_WORDS audit,comment,references # Enable this directive if you have tables or column names that are a reserved -# word for PostgreSQL. Ora2Pg will double quote the name of the object. +# word for PostgreSQL. Ora2Pg will double quote the name of the object. USE_RESERVED_WORDS 0 # By default Ora2Pg export Oracle tables with the NOLOGGING attribute as # UNLOGGED tables. You may want to fully disable this feature because # you will lost all data from unlogged table in case of PostgreSQL crash. # Set it to 1 to export all tables as normal table. -DISABLE_UNLOGGED 0 +DISABLE_UNLOGGED 1 # Increase varchar max character constraints to support PostgreSQL two bytes # character encoding when the source database applies the length constraint @@ -625,9 +629,9 @@ DOUBLE_MAX_VARCHAR 0 # database, this will disable file output. Note that these directives are only # used for data export, other export need to be imported manually through the # use of psql or any other PostgreSQL client. -#PG_DSN dbi:Pg:dbname=test_db;host=localhost;port=5432 -#PG_USER test -#PG_PWD test +PG_DSN dbi:Pg:dbname=postgres;host=192.168.1.159;port=5432 +PG_USER quarkus +PG_PWD quarkus # By default all output is dump to STDOUT if not send directly to postgresql # database (see above). Give a filename to save export to it. If you want @@ -640,37 +644,37 @@ OUTPUT output.sql #OUTPUT_DIR /var/tmp # Path to the bzip2 program. See OUTPUT directive above. -BZIP2 +BZIP2 # Allow object constraints to be saved in a separate file during schema export. # The file will be named CONSTRAINTS_OUTPUT. Where OUTPUT is the value of the # corresponding configuration directive. You can use .gz xor .bz2 extension to -# enable compression. Default is to save all data in the OUTPUT file. This +# enable compression. Default is to save all data in the OUTPUT file. This # directive is usable only with TABLE export type. -FILE_PER_CONSTRAINT 0 +FILE_PER_CONSTRAINT 1 # Allow indexes to be saved in a separate file during schema export. The file # will be named INDEXES_OUTPUT. Where OUTPUT is the value of the corresponding -# configuration directive. You can use the .gz, .xor, or .bz2 file extension to -# enable compression. Default is to save all data in the OUTPUT file. This -# directive is usable only with TABLE or TABLESPACE export type. 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 +# configuration directive. You can use the .gz, .xor, or .bz2 file extension to +# enable compression. Default is to save all data in the OUTPUT file. This +# directive is usable only with TABLE or TABLESPACE export type. 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. -FILE_PER_INDEX 0 +FILE_PER_INDEX 1 # Allow foreign key declaration to be saved in a separate file during # schema export. By default foreign keys are exported into the main # output file or in the CONSTRAINT_output.sql file. When enabled foreign # keys will be exported into a file named FKEYS_output.sql -FILE_PER_FKEYS 0 +FILE_PER_FKEYS 1 # Allow data export to be saved in one file per table/view. The files # will be named as tablename_OUTPUT. Where OUTPUT is the value of the # corresponding configuration directive. You can use .gz xor .bz2 # extension to enable compression. Default is to save all data in one # file. This is usable only during INSERT or COPY export type. -FILE_PER_TABLE 0 +FILE_PER_TABLE 1 # Allow function export to be saved in one file per function/procedure. # The files will be named as funcname_OUTPUT. Where OUTPUT is the value @@ -678,7 +682,7 @@ FILE_PER_TABLE 0 # extension to enable compression. Default is to save all data in one # file. It is usable during FUNCTION, PROCEDURE, TRIGGER and PACKAGE # export type. -FILE_PER_FUNCTION 0 +FILE_PER_FUNCTION 1 # By default Ora2Pg will force Perl to use utf8 I/O encoding. This is done through # a call to the Perl pragma: @@ -687,10 +691,10 @@ FILE_PER_FUNCTION 0 # # You can override this encoding by using the BINMODE directive, for example you # can set it to :locale to use your locale or iso-8859-7, it will respectively use -# +# # use open ':locale'; # use open ':encoding(iso-8859-7)'; -# +# # If you have change the NLS_LANG in non UTF8 encoding, you might want to set this # directive. See http://perldoc.perl.org/5.14.2/open.html for more information. # Most of the time, you might leave this directive commented. @@ -786,12 +790,12 @@ ENABLE_MICROSECOND 1 # exported as timestamp by Ora2Pg can be forced into type date. Value is # a comma-separated list of TABLE:COLUMN:TYPE structure. If you need to use # comma or space inside type definition you will have to backslash them. -# +# # MODIFY_TYPE TABLE1:COL3:varchar,TABLE1:COL4:decimal(9,6) -# +# # Type of table1.col3 will be replaced by a varchar and table1.col4 by # a decimal with precision and scale. -# +# # If the column's type is a user defined type Ora2Pg will autodetect the # composite type and will export its data using ROW(). Some Oracle user # defined types are just array of a native type, in this case you may want @@ -799,7 +803,7 @@ ENABLE_MICROSECOND 1 # To do so, just redefine the destination type as wanted and Ora2Pg will # also transform the data as an array. For example, with the following # definition in Oracle: -# +# # CREATE OR REPLACE TYPE mem_type IS VARRAY(10) of VARCHAR2(15); # CREATE TABLE club (Name VARCHAR2(10), # Address VARCHAR2(20), @@ -807,10 +811,10 @@ ENABLE_MICROSECOND 1 # Phone VARCHAR2(8), # Members mem_type # ); -# +# # custom type "mem_type" is just a string array and can be translated into # the following in PostgreSQL: -# +# # CREATE TABLE club ( # name varchar(10), # address varchar(20), @@ -818,14 +822,14 @@ ENABLE_MICROSECOND 1 # phone varchar(8), # members text[] # ) ; -# +# # To do so, just use the directive as follow: -# +# # MODIFY_TYPE CLUB:MEMBERS:text[] -# +# # Ora2Pg will take care to transform all data of this column in the correct # format. Only arrays of characters and numerics types are supported. -#MODIFY_TYPE +#MODIFY_TYPE # By default Oracle call to function TO_NUMBER will be translated as a cast # into numeric. For example, TO_NUMBER('10.1234') is converted into PostgreSQL @@ -863,7 +867,7 @@ GEN_USER_PWD 0 # to PostgreSQL. If you use an other user (e.g. postgres) you can force # Ora2Pg to set the object owner to be the one used in the Oracle database by # setting the directive to 1, or to a completely different username by setting -# the directive value # to that username. +# the directive value # to that username. FORCE_OWNER 0 # Ora2Pg use the function's security privileges set in Oracle and it is often @@ -919,12 +923,12 @@ STANDARD_CONFORMING_STRINGS 1 # error. Default: 1023*1024 bytes. Take a look at this page to learn more: # http://search.cpan.org/~pythian/DBD-Oracle-1.22/Oracle.pm#Data_Interface_for_Persistent_LOBs # -# Important note: If you increase the value of this directive take care that +# Important note: If you increase the value of this directive take care that # DATA_LIMIT will probably needs to be reduced. Even if you only have a 1MB blob # trying to read 10000 of them (the default DATA_LIMIT) all at once will require # 10GB of memory. You may extract data from those table separately and set a # DATA_LIMIT to 500 or lower, otherwise you may experience some out of memory. -#LONGREADLEN 1047552 +LONGREADLEN 1047552 # 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. @@ -937,7 +941,7 @@ STANDARD_CONFORMING_STRINGS 1 # and not by chunk of DATA_LIMIT rows. For more information on how it works, see # http://search.cpan.org/~pythian/DBD-Oracle-1.74/lib/DBD/Oracle.pm#Data_Interface_for_LOB_Locators # Default is enabled, it use LOB locators. -USE_LOB_LOCATOR 1 +USE_LOB_LOCATOR 1 # Oracle recommends reading from and writing to a LOB in batches using a # multiple of the LOB chunk size. This chunk size defaults to 8k (8192). @@ -1027,7 +1031,7 @@ DATA_EXPORT_ORDER name # if you want to use a relative path following the script execution file # enabling this option will use \ir. See psql help for more information. PSQL_RELATIVE_PATH 0 - + # Number of rows that must be retrieved on both side for data validation. DATA_VALIDATION_ROWS 10000 @@ -1058,7 +1062,7 @@ DATA_VALIDATION_ERROR 10 # PERFORMANCES SECTION (Control export/import performances) #------------------------------------------------------------------------------ -# This configuration directive adds multiprocess support to COPY, FUNCTION +# This configuration directive adds multiprocess support to COPY, FUNCTION # and PROCEDURE export type, the value is the number of process to use. # Default is to not use multiprocess. This directive is used to set the number # of cores to used to parallelize data import into PostgreSQL. During FUNCTION @@ -1133,7 +1137,7 @@ EXPORT_INVALID 0 # Enable PLSQL to PLPSQL conversion. This is a work in progress, feel # free modify/add you own code and send me patches. The code is under # function plsql_toplpgsql in Ora2PG/PLSQL.pm. Default enabled. -PLSQL_PGSQL 1 +PLSQL_PGSQL 0 # Ora2Pg can replace all conditions with a test on NULL by a call to the # coalesce() function to mimic the Oracle behavior where empty field are @@ -1396,4 +1400,4 @@ CASE_INSENSITIVE_SEARCH citext # Append a TOP N clause to the SELECT command used to extract the data from # SQL Server. This is the equivalent to a WHERE ROWNUM < 1000 clause for Oracle. -SELECT_TOP 1000 \ No newline at end of file +SELECT_TOP 1000 diff --git a/docker/database/migration/ora2pg.html b/docker/database/migration/ora2pg.html new file mode 100644 index 0000000000..3a51d7bf5f --- /dev/null +++ b/docker/database/migration/ora2pg.html @@ -0,0 +1,295 @@ +INFO: No CONFIG_LOCATION variable provided. Using default '/config/ora2pg.conf' +INFO: No OUTPUT_LOCATION variable provided. Using default '/data' +INFO: No ORA_HOST variable provided. Using value of 'ORACLE_DSN' from '/config/ora2pg.conf' +INFO: No ORA_USER variable provided. Using value of 'ORACLE_USER' from '/config/ora2pg.conf' +INFO: No ORA_PWD variable provided. Using value of 'ORACLE_PWD' from '/config/ora2pg.conf' +INFO: executing: 'ora2pg --type show_report --estimate_cost --conf config/ora2pg_all.conf --basedir data --dump_as_html' +[2024-06-21 08:42:20] [> ] 1/165 tables (0.6%) scanning table ATTRMAPPING [2024-06-21 08:42:20] [=> ] 11/165 tables (6.7%) scanning table FILES [2024-06-21 08:42:20] [===> ] 21/165 tables (12.7%) scanning table MAILBOUNCE [2024-06-21 08:42:20] [====> ] 31/165 tables (18.8%) scanning table MAILLIST_2016_02_01 [2024-06-21 08:42:20] [=====> ] 41/165 tables (24.8%) scanning table PLAN_TABLE [2024-06-21 08:42:20] [=======> ] 51/165 tables (30.9%) scanning table STOCHTESTCOMPARE_2016_08_26 [2024-06-21 08:42:20] [========> ] 61/165 tables (37.0%) scanning table TEMP_DBSPECIES [2024-06-21 08:42:20] [==========> ] 71/165 tables (43.0%) scanning table VC_BIOMODEL [2024-06-21 08:42:20] [===========> ] 81/165 tables (49.1%) scanning table VC_DATASYMBOL [2024-06-21 08:42:20] [=============> ] 91/165 tables (55.2%) scanning table VC_GEOMETRY [2024-06-21 08:42:20] [==============> ] 101/165 tables (61.2%) scanning table VC_MATHGEN [2024-06-21 08:42:20] [================> ] 111/165 tables (67.3%) scanning table VC_PROTEIN [2024-06-21 08:42:20] [=================> ] 121/165 tables (73.3%) scanning table VC_SIMCONTEXT [2024-06-21 08:42:20] [===================> ] 131/165 tables (79.4%) scanning table VC_SIMDELFROMDISK [2024-06-21 08:42:20] [====================> ] 141/165 tables (85.5%) scanning table VC_SPECIALUSERS [2024-06-21 08:42:20] [=====================> ] 151/165 tables (91.5%) scanning table VC_TASKDESC [2024-06-21 08:42:20] [=======================> ] 161/165 tables (97.6%) scanning table VC_USERSTAT [2024-06-21 08:42:20] [========================>] 165/165 tables (100.0%) end of scanning. +[2024-06-21 08:42:22] [=> ] 1/13 objects types (7.7%) inspecting object DATABASE LINK [2024-06-21 08:42:22] [===> ] 2/13 objects types (15.4%) inspecting object FUNCTION [2024-06-21 08:42:22] [=====> ] 3/13 objects types (23.1%) inspecting object GLOBAL TEMPORARY TABLE [2024-06-21 08:42:22] [=======> ] 4/13 objects types (30.8%) inspecting object INDEX [2024-06-21 08:42:22] [=========> ] 5/13 objects types (38.5%) inspecting object JOB [2024-06-21 08:42:22] [============> ] 7/13 objects types (53.8%) inspecting object PACKAGE BODY [2024-06-21 08:42:22] [==============> ] 8/13 objects types (61.5%) inspecting object PROCEDURE [2024-06-21 08:42:22] [================> ] 9/13 objects types (69.2%) inspecting object SEQUENCE [2024-06-21 08:42:22] [==================> ] 10/13 objects types (76.9%) inspecting object SYNONYM [2024-06-21 08:42:22] [====================> ] 11/13 objects types (84.6%) inspecting object TABLE [2024-06-21 08:42:22] [======================> ] 12/13 objects types (92.3%) inspecting object TRIGGER [2024-06-21 08:42:22] [========================>] 13/13 objects types (100.0%) inspecting object VIEW [2024-06-21 08:42:22] [========================>] 13/13 objects types (100.0%) end of objects auditing. + + + + Ora2Pg - Database Migration Report + + + + + + +
+ + + + + + + + + + + + + + + +
ObjectNumberInvalidEstimated costCommentsDetails
DATABASE LINK000.00Database links will be exported as SQL/MED PostgreSQL's Foreign Data Wrapper (FDW) extensions using oracle_fdw.
FUNCTION13097.00Total size of function code: 6094 bytes.
See detailscountbio: 3
getvalencetype: 3
countsimdata: 3
getphysicsoption: 3
getmath: 12
powerfactor: 3
gettaskdescription: 12
countsim: 3
countmath: 3
comparekinetics: 24
getkinetics: 12
getmathsize: 3
GLOBAL TEMPORARY TABLE1010.00Global temporary table are not supported by PostgreSQL and will not be exported. You will have to rewrite some application code to match the PostgreSQL temporary table behavior.
See detailstasks
INDEX252036.90117 index(es) are concerned by the export, others are automatically generated and will do so on PostgreSQL. Bitmap will be exported as btree_gin index(es). Domain index are exported as b-tree but commented to be edited to mainly use FTS. Cluster, bitmap join and IOT indexes will not be exported at all. Reverse indexes are not exported too, you may use a trigram-based index (see pg_trgm) or a reverse() function based index and search. Use 'varchar_pattern_ops', 'text_pattern_ops' or 'bpchar_pattern_ops' operators in your indexes to improve search with the LIKE operator respectively into varchar, text or char columns.
See details117 b-tree index(es)
JOB000.00Job are not exported. You may set external cron job with them.
PACKAGE BODY1016.00Total size of package code: 5280 bytes. Number of procedures and functions found inside those packages: 3.
See detailstoad_profiler.rollup_all_runs: 3
toad_profiler.rollup_run: 3
toad_profiler.rollup_unit: 4
PROCEDURE3021.00Total size of procedure code: 3208 bytes.
See detailscopynewmath_to_scmath: 6
copyscmath_to_oldmath: 6
copyoldmath_to_scmath: 6
SEQUENCE401.00Sequences are fully supported, but all call to sequence_name.NEXTVAL or sequence_name.CURRVAL will be transformed into NEXTVAL('sequence_name') or CURRVAL('sequence_name').
SYNONYM000.00SYNONYMs will be exported as views. SYNONYMs do not exists with PostgreSQL but a common workaround is to use views or set the PostgreSQL search_path in your session to access object outside the current schema.
TABLE165017.20 7 check constraint(s).
See detailsTotal number of rows: 62331961
Top 10 of tables sorted by number of rows:
vc_struct has 10722547 rows
vc_species has 10375753 rows
vc_apiaccesstoken has 7912069 rows
vc_simdelfromdisk has 3885907 rows
vc_reactionspec has 3652007 rows
vc_geometricregion has 3396466 rows
vc_speciescontextspec has 3374395 rows
vc_reactpart has 3332216 rows
vc_login has 2839359 rows
vc_simulationjob has 1285781 rows
Top 10 of largest tables:
TRIGGER6024.00Total size of trigger code: 0 bytes.
See detailstcrit_lock_trig: 3
tc_lock_trig: 3
trslt_lock_trig: 3
ts_lock_trig: 3
update_login: 3
web_download_event_trg: 3
VIEW303.00Views are fully supported but can use specific functions.
Total4480226.10226.10 cost migration units means approximatively 3 person-day(s). The migration unit was set to 5 minute(s) +
+
+

Migration level: B-5

+ +
    +
  • Migration levels:
  • +
      +
    • A - Migration that might be run automatically
    • +
    • B - Migration with code rewrite and a human-days cost up to 5 days
    • +
    • C - Migration with code rewrite and a human-days cost above 5 days
    • +
    +
  • Technical levels:
  • +
      +
    • 1 = trivial: no stored functions and no triggers
    • +
    • 2 = easy: no stored functions but with triggers, no manual rewriting
    • +
    • 3 = simple: stored functions and/or triggers, no manual rewriting
    • +
    • 4 = manual: no stored functions but with triggers or views with code rewriting
    • +
    • 5 = difficult: stored functions and/or triggers with code rewriting
    • +
    +
+

Details of cost assessment per function

+
Show
    +
  • Function comparekinetics total estimated cost: 24
  • +
      +
    • DBMS_ => 7 (cost: 3)
    • +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
  • Function gettaskdescription total estimated cost: 12
  • +
      +
    • DBMS_ => 3 (cost: 3)
    • +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
  • Function getkinetics total estimated cost: 12
  • +
      +
    • DBMS_ => 3 (cost: 3)
    • +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
  • Function getmath total estimated cost: 12
  • +
      +
    • DBMS_ => 3 (cost: 3)
    • +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
  • Function countbio total estimated cost: 3
  • +
      +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
  • Function getmathsize total estimated cost: 3
  • +
      +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
  • Function countsim total estimated cost: 3
  • +
      +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
  • Function countsimdata total estimated cost: 3
  • +
      +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
  • Function powerfactor total estimated cost: 3
  • +
      +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
  • Function getphysicsoption total estimated cost: 3
  • +
      +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
  • Function countmath total estimated cost: 3
  • +
      +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
  • Function getvalencetype total estimated cost: 3
  • +
      +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
+

Details of cost assessment per procedure

+
Show
    +
  • Procedure copyscmath_to_oldmath total estimated cost: 6
  • +
      +
    • TEST => 2
    • +
    • DBMS_ => 1 (cost: 3)
    • +
    • SIZE => 1
    • +
    +
  • Procedure copynewmath_to_scmath total estimated cost: 6
  • +
      +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    • DBMS_ => 1 (cost: 3)
    • +
    +
  • Procedure copyoldmath_to_scmath total estimated cost: 6
  • +
      +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    • DBMS_ => 1 (cost: 3)
    • +
    +
+

Details of cost assessment per package function

+
Show
    +
  • Function toad_profiler.rollup_unit total estimated cost: 4
  • +
      +
    • SIZE => 2
    • +
    • TEST => 2
    • +
    +
  • Function toad_profiler.rollup_all_runs total estimated cost: 3
  • +
      +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
  • Function toad_profiler.rollup_run total estimated cost: 3
  • +
      +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
+

Details of cost assessment per trigger

+
Show
    +
  • Trigger tc_lock_trig total estimated cost: 3
  • +
      +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
  • Trigger trslt_lock_trig total estimated cost: 3
  • +
      +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
  • Trigger ts_lock_trig total estimated cost: 3
  • +
      +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
  • Trigger update_login total estimated cost: 3
  • +
      +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
  • Trigger web_download_event_trg total estimated cost: 3
  • +
      +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
  • Trigger tcrit_lock_trig total estimated cost: 3
  • +
      +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
+ + + + From ffaaa77c3f5013752bf29adef455d7659c8ea2c2 Mon Sep 17 00:00:00 2001 From: jcschaff Date: Fri, 21 Jun 2024 09:46:02 -0400 Subject: [PATCH 5/7] configuration for export_schema.sh --- docker/database/migration/README.md | 2 +- .../migration/migv1/config/ora2pg.conf | 20 +- .../migration/migv1/config/ora2pg_all.conf | 1403 ----------------- .../database/migration/migv1/export_schema.sh | 2 +- 4 files changed, 12 insertions(+), 1415 deletions(-) delete mode 100644 docker/database/migration/migv1/config/ora2pg_all.conf diff --git a/docker/database/migration/README.md b/docker/database/migration/README.md index d175acf7c6..cd35f200f6 100644 --- a/docker/database/migration/README.md +++ b/docker/database/migration/README.md @@ -20,7 +20,7 @@ docker run --platform linux/amd64 -it \ docker run --platform linux/amd64 -it \ -w /base \ -v /Users/jimschaff/Documents/workspace/vcell/docker/database/migration/migv1:/base \ - georgmoser/ora2pg:24.3 /base/export_schema.sh + georgmoser/ora2pg:24.3 /bin/sh -c "cd /base && ./export_schema.sh" > export_schema.log ``` ### exporting data diff --git a/docker/database/migration/migv1/config/ora2pg.conf b/docker/database/migration/migv1/config/ora2pg.conf index cb533740e3..fd37bb50bd 100644 --- a/docker/database/migration/migv1/config/ora2pg.conf +++ b/docker/database/migration/migv1/config/ora2pg.conf @@ -27,10 +27,10 @@ ORACLE_PWD manager # Set this to 1 if you connect as simple user and can not extract things # from the DBA_... tables. It will use tables ALL_... This will not works # with GRANT export, you should use an Oracle DBA username at ORACLE_USER -USER_GRANTS 1 +USER_GRANTS 0 # Trace all to stderr -DEBUG 0 +DEBUG 1 # This directive can be used to send an initial command to Oracle, just after # the connection. For example to unlock a policy before reading objects or @@ -43,7 +43,7 @@ DEBUG 0 #------------------------------------------------------------------------------ # Export Oracle schema to PostgreSQL schema -EXPORT_SCHEMA 0 +EXPORT_SCHEMA 1 # Oracle schema/owner to use SCHEMA VCELL @@ -116,7 +116,7 @@ COMPILE_SCHEMA 1 # Force Ora2Pg to not look for function declaration. Note that this will prevent # Ora2Pg to rewrite function replacement call if needed. Do not enable it unless # looking forward at function breaks other export. -NO_FUNCTION_METADATA 0 +NO_FUNCTION_METADATA 1 #------------------------------------------------------------------------------ # ENCODING SECTION (Define client encoding at Oracle and PostgreSQL side) @@ -182,18 +182,18 @@ DISABLE_COMMENT 0 # that regex will not works with 8i database, use % placeholder instead # Ora2Pg will use the LIKE operator. There is also some extended use of # this directive, see chapter "Limiting object to export" in documentation. -ALLOW tables_to_export.txt +#ALLOW tables_to_export.txt # Set which object to exclude from export process. By default none. Value # must be a list of object name or regexp separated by space. Note that regex # will not works with 8i database, use % placeholder instead Ora2Pg will use # the NOT LIKE operator. There is also some extended use of this directive, # see chapter "Limiting object to export" in documentation. -EXCLUDE MAINSEQ NEWSEQ PLSQL_PROFILER_RUNNUMBER WEB_DOWNLOAD_EVENT_SEQ -EXCLUDE toad_profiler.rollup_all_runs toad_profiler.rollup_run toad_profiler.rollup_unit -EXCLUDE comparekinetics squirrel_get_error_offset powerfactor getvalencetype gettaskdescription -EXCLUDE getmathsize getmath getkinetics countsimdata countsim countmath countbio -EXCLUDE copynewmath_to_scmath copyscmath_to_oldmath copyoldmath_to_scmath +#EXCLUDE MAINSEQ NEWSEQ PLSQL_PROFILER_RUNNUMBER WEB_DOWNLOAD_EVENT_SEQ +#EXCLUDE toad_profiler.rollup_all_runs toad_profiler.rollup_run toad_profiler.rollup_unit +#EXCLUDE comparekinetics squirrel_get_error_offset powerfactor getvalencetype gettaskdescription +#EXCLUDE getmathsize getmath getkinetics countsimdata countsim countmath countbio +#EXCLUDE copynewmath_to_scmath copyscmath_to_oldmath copyoldmath_to_scmath # By default Ora2Pg exclude from export some Oracle "garbage" tables that should # never be part of an export. This behavior generates a lot of REGEXP_LIKE diff --git a/docker/database/migration/migv1/config/ora2pg_all.conf b/docker/database/migration/migv1/config/ora2pg_all.conf deleted file mode 100644 index a4e286081f..0000000000 --- a/docker/database/migration/migv1/config/ora2pg_all.conf +++ /dev/null @@ -1,1403 +0,0 @@ - -#################### Ora2Pg Configuration file ##################### - -# Support for including a common config file that may contain any -# of the following configuration directives. -#IMPORT common.conf - -#------------------------------------------------------------------------------ -# INPUT SECTION (Oracle connection or input file) -#------------------------------------------------------------------------------ - -# Set this directive to a file containing PL/SQL Oracle Code like function, -# procedure or a full package body to prevent Ora2Pg from connecting to an -# Oracle database end just apply his conversion tool to the content of the -# file. This can only be used with the following export type: PROCEDURE, -# FUNCTION or PACKAGE. If you don't know what you do don't use this directive. -#INPUT_FILE ora_plsql_src.sql - -# Set the Oracle home directory -ORACLE_HOME /usr/lib/oracle/12.2/client64 - -# Set Oracle database connection (datasource, user, password) -ORACLE_DSN dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 -ORACLE_USER system -ORACLE_PWD manager - -# Set this to 1 if you connect as simple user and can not extract things -# from the DBA_... tables. It will use tables ALL_... This will not works -# with GRANT export, you should use an Oracle DBA username at ORACLE_USER -USER_GRANTS 1 - -# Trace all to stderr -DEBUG 0 - -# This directive can be used to send an initial command to Oracle, just after -# the connection. For example to unlock a policy before reading objects or -# to set some session parameters. This directive can be used multiple time. -#ORA_INITIAL_COMMAND - - -#------------------------------------------------------------------------------ -# SCHEMA SECTION (Oracle schema to export and use of schema in PostgreSQL) -#------------------------------------------------------------------------------ - -# Export Oracle schema to PostgreSQL schema -EXPORT_SCHEMA 0 - -# Oracle schema/owner to use -SCHEMA VCELL - -# Enable/disable the CREATE SCHEMA SQL order at starting of the output file. -# It is enable by default and concern on TABLE export type. -CREATE_SCHEMA 1 - -# Enable this directive to force Oracle to compile schema before exporting code. -# When this directive is enabled and SCHEMA is set to a specific schema name, -# only invalid objects in this schema will be recompiled. If SCHEMA is not set -# then all schema will be recompiled. To force recompile invalid object in a -# specific schema, set COMPILE_SCHEMA to the schema name you want to recompile. -# This will ask to Oracle to validate the PL/SQL that could have been invalidate -# after a export/import for example. The 'VALID' or 'INVALID' status applies to -# functions, procedures, packages and user defined types. -COMPILE_SCHEMA 1 - -# By default if you set EXPORT_SCHEMA to 1 the PostgreSQL search_path will be -# set to the schema name exported set as value of the SCHEMA directive. You can -# defined/force the PostgreSQL schema to use by using this directive. -# -# The value can be a comma delimited list of schema but not when using TABLE -# export type because in this case it will generate the CREATE SCHEMA statement -# and it doesn't support multiple schema name. For example, if you set PG_SCHEMA -# to something like "user_schema, public", the search path will be set like this -# SET search_path = user_schema, public; -# forcing the use of an other schema (here user_schema) than the one from Oracle -# schema set in the SCHEMA directive. You can also set the default search_path -# for the PostgreSQL user you are using to connect to the destination database -# by using: -# ALTER ROLE username SET search_path TO user_schema, public; -#in this case you don't have to set PG_SCHEMA. -#PG_SCHEMA - -# Use this directive to add a specific schema to the search path to look -# for PostGis functions. -#POSTGIS_SCHEMA - -# Allow to add a comma separated list of system user to exclude from -# Oracle extraction. Oracle have many of them following the modules -# installed. By default it will suppress all object owned by the following -# system users: -# 'SYSTEM','CTXSYS','DBSNMP','EXFSYS','LBACSYS','MDSYS','MGMT_VIEW', -# 'OLAPSYS','ORDDATA','OWBSYS','ORDPLUGINS','ORDSYS','OUTLN', -# 'SI_INFORMTN_SCHEMA','SYS','SYSMAN','WK_TEST','WKSYS','WKPROXY', -# 'WMSYS','XDB','APEX_PUBLIC_USER','DIP','FLOWS_020100','FLOWS_030000', -# 'FLOWS_040100','FLOWS_010600','FLOWS_FILES','MDDATA','ORACLE_OCM', -# 'SPATIAL_CSW_ADMIN_USR','SPATIAL_WFS_ADMIN_USR','XS$NULL','PERFSTAT', -# 'SQLTXPLAIN','DMSYS','TSMSYS','WKSYS','APEX_040000','APEX_040200', -# 'DVSYS','OJVMSYS','GSMADMIN_INTERNAL','APPQOSSYS','DVSYS','DVF', -# 'AUDSYS','APEX_030200','MGMT_VIEW','ODM','ODM_MTR','TRACESRV','MTMSYS', -# 'OWBSYS_AUDIT','WEBSYS','WK_PROXY','OSE$HTTP$ADMIN', -# 'AURORA$JIS$UTILITY$','AURORA$ORB$UNAUTHENTICATED', -# 'DBMS_PRIVILEGE_CAPTURE','CSMIG','MGDSYS','SDE','DBSFWUSER' -# Other list of users set to this directive will be added to this list. -#SYSUSERS OE,HR - - -# List of schema to get functions/procedures meta information that are used -# in the current schema export. When replacing call to function with OUT -# parameters, if a function is declared in an other package then the function -# call rewriting can not be done because Ora2Pg only know about functions -# declared in the current schema. By setting a comma separated list of schema -# as value of this directive, Ora2Pg will look forward in these packages for -# all functions/procedures/packages declaration before proceeding to current -# schema export. -#LOOK_FORWARD_FUNCTION SCOTT,OE - -# Force Ora2Pg to not look for function declaration. Note that this will prevent -# Ora2Pg to rewrite function replacement call if needed. Do not enable it unless -# looking forward at function breaks other export. -NO_FUNCTION_METADATA 0 - -#------------------------------------------------------------------------------ -# ENCODING SECTION (Define client encoding at Oracle and PostgreSQL side) -#------------------------------------------------------------------------------ - -# Enforce default language setting following the Oracle database encoding. This -# may be used with multibyte characters like UTF8. Here are the default values -# used by Ora2Pg, you may not change them unless you have problem with this -# encoding. This will set $ENV{NLS_LANG} to the given value. -#NLS_LANG AMERICAN_AMERICA.AL32UTF8 -# This will set $ENV{NLS_NCHAR} to the given value. -#NLS_NCHAR AL32UTF8 - -# By default PostgreSQL client encoding is automatically set to UTF8 to avoid -# encoding issue. If you have changed the value of NLS_LANG you might have to -# change the encoding of the PostgreSQL client. -#CLIENT_ENCODING UTF8 - -# To force utf8 encoding of the PL/SQL code exported, enable this directive. -# Could be helpful in some rare condition. -FORCE_PLSQL_ENCODING 0 - -#------------------------------------------------------------------------------ -# EXPORT SECTION (Export type and filters) -#------------------------------------------------------------------------------ - -# Type of export. Values can be the following keyword: -# TABLE Export tables, constraints, indexes, ... -# PACKAGE Export packages -# INSERT Export data from table as INSERT statement -# COPY Export data from table as COPY statement -# VIEW Export views -# GRANT Export grants -# SEQUENCE Export sequences -# TRIGGER Export triggers -# FUNCTION Export functions -# PROCEDURE Export procedures -# TABLESPACE Export tablespace (PostgreSQL >= 8 only) -# TYPE Export user defined Oracle types -# PARTITION Export range or list partition (PostgreSQL >= v8.4) -# FDW Export table as foreign data wrapper tables -# MVIEW Export materialized view as snapshot refresh view -# QUERY Convert Oracle SQL queries from a file. -# KETTLE Generate XML ktr template files to be used by Kettle. -# DBLINK Generate oracle foreign data wrapper server to use as dblink. -# SYNONYM Export Oracle's synonyms as views on other schema's objects. -# DIRECTORY Export Oracle's directories as external_file extension objects. -# LOAD Dispatch a list of queries over multiple PostgreSQl connections. -# TEST perform a diff between Oracle and PostgreSQL database. -# TEST_COUNT perform only a row count between Oracle and PostgreSQL tables. -# TEST_VIEW perform a count on both side of number of rows returned by views -# TEST_DATA perform data validation check on rows at both sides. -# SEQUENCE_VALUES export DDL to set the last values of sequences - -TYPE TABLE - -# Set this to 1 if you don't want to export comments associated to tables and -# column definitions. Default is enabled. -DISABLE_COMMENT 0 - -# Set which object to export from. By default Ora2Pg export all objects. -# Value must be a list of object name or regex separated by space. Note -# that regex will not works with 8i database, use % placeholder instead -# Ora2Pg will use the LIKE operator. There is also some extended use of -# this directive, see chapter "Limiting object to export" in documentation. -#ALLOW tables_to_export.txt - -# Set which object to exclude from export process. By default none. Value -# must be a list of object name or regexp separated by space. Note that regex -# will not works with 8i database, use % placeholder instead Ora2Pg will use -# the NOT LIKE operator. There is also some extended use of this directive, -# see chapter "Limiting object to export" in documentation. -#EXCLUDE MAINSEQ NEWSEQ PLSQL_PROFILER_RUNNUMBER WEB_DOWNLOAD_EVENT_SEQ -#EXCLUDE toad_profiler.rollup_all_runs toad_profiler.rollup_run toad_profiler.rollup_unit -#EXCLUDE comparekinetics squirrel_get_error_offset powerfactor getvalencetype gettaskdescription -#EXCLUDE getmathsize getmath getkinetics countsimdata countsim countmath countbio -#EXCLUDE copynewmath_to_scmath copyscmath_to_oldmath copyoldmath_to_scmath - -# By default Ora2Pg exclude from export some Oracle "garbage" tables that should -# never be part of an export. This behavior generates a lot of REGEXP_LIKE -# expressions which are slowing down the export when looking at tables. To disable -# this behavior enable this directive, you will have to exclude or clean up later -# by yourself the unwanted tables. The regexp used to exclude the table are -# defined in the array in lib/Ora2Pg.pm. Note this is behavior -# is independant to the EXCLUDE configuration directive. -NO_EXCLUDED_TABLE 0 - -# Set which view to export as table. By default none. Value must be a list of -# view name or regexp separated by space. If the object name is a view and the -# export type is TABLE, the view will be exported as a create table statement. -# If export type is COPY or INSERT, the corresponding data will be exported. -#VIEW_AS_TABLE VIEW_NAME - -# Set which materialized view to export as table. By default none. Value must -# be a list of materialized view name or regexp separated by space. If the -# object name is a materialized view and the export type is TABLE, the view -# will be exported as a create table statement. If export type is COPY or -# INSERT, the corresponding data will be exported. -#MVIEW_AS_TABLE VIEW_NAME - -# By default Ora2Pg try to order views to avoid error at import time with -# nested views. With a huge number of view this can take a very long time, -# you can bypass this ordering by enabling this directive. -NO_VIEW_ORDERING 0 - -# When exporting GRANTs you can specify a comma separated list of objects -# for which privilege will be exported. Default is export for all objects. -# Here are the possibles values TABLE, VIEW, MATERIALIZED VIEW, SEQUENCE, -# PROCEDURE, FUNCTION, PACKAGE BODY, TYPE, SYNONYM, DIRECTORY. Only one object -# type is allowed at a time. For example set it to TABLE if you just want to -# export privilege on tables. You can use the -g option to overwrite it. -# When used this directive prevent the export of users unless it is set to -# USER. In this case only users definitions are exported. -#GRANT_OBJECT TABLE - -# By default Ora2Pg will export your external table as file_fdw tables. If -# you don't want to export those tables at all, set the directive to 0. -EXTERNAL_TO_FDW 1 - -# Add a TRUNCATE TABLE instruction before loading data on COPY and INSERT -# export. When activated, the instruction will be added only if there's no -# global DELETE clause or one specific to the current table (see bellow). -TRUNCATE_TABLE 1 - -# Support for include a DELETE FROM ... WHERE clause filter before importing -# data and perform a delete of some lines instead of truncatinf tables. -# Value is construct as follow: TABLE_NAME[DELETE_WHERE_CLAUSE], or -# if you have only one where clause for all tables just put the delete -# clause as single value. Both are possible too. Here are some examples: -#DELETE 1=1 # Apply to all tables and delete all tuples -#DELETE TABLE_TEST[ID1='001'] # Apply only on table TABLE_TEST -#DELETE TABLE_TEST[ID1='001' OR ID1='002] DATE_CREATE > '2001-01-01' TABLE_INFO[NAME='test'] -# The last applies two different delete where clause on tables TABLE_TEST and -# TABLE_INFO and a generic delete where clause on DATE_CREATE to all other tables. -# If TRUNCATE_TABLE is enabled it will be applied to all tables not covered by -# the DELETE definition. - -# When enabled this directive forces ora2pg to export all tables, index -# constraints, and indexes using the tablespace name defined in Oracle database. -# This works only with tablespaces that are not TEMP, USERS and SYSTEM. -USE_TABLESPACE 0 - -# Enable this directive to reorder columns and minimized the footprint -# on disk, so that more rows fit on a data page, which is the most important -# factor for speed. Default is same order than in Oracle table definition, -# that should be enough for most usage. -REORDERING_COLUMNS 0 - -# Support for include a WHERE clause filter when dumping the contents -# of tables. Value is construct as follow: TABLE_NAME[WHERE_CLAUSE], or -# if you have only one where clause for each table just put the where -# clause as value. Both are possible too. Here are some examples: -#WHERE 1=1 # Apply to all tables -#WHERE TABLE_TEST[ID1='001'] # Apply only on table TABLE_TEST -#WHERE TABLE_TEST[ID1='001' OR ID1='002] DATE_CREATE > '2001-01-01' TABLE_INFO[NAME='test'] -# The last applies two different where clause on tables TABLE_TEST and -# TABLE_INFO and a generic where clause on DATE_CREATE to all other tables - -# Sometime you may want to extract data from an Oracle table but you need a -# a custom query for that. Not just a "SELECT * FROM table" like Ora2Pg does -# but a more complex query. This directive allows you to override the query -# used by Ora2Pg to extract data. The format is TABLENAME[SQL_QUERY]. -# If you have multiple tables to extract by replacing the Ora2Pg query, you can -# define multiple REPLACE_QUERY lines. -#REPLACE_QUERY EMPLOYEES[SELECT e.id,e.fisrtname,lastname FROM EMPLOYEES e JOIN EMP_UPDT u ON (e.id=u.id AND u.cdate>'2014-08-01 00:00:00')] - -# To add a DROP IF EXISTS before creating the object, enable -# this directive. Can be useful in an iterative work. Default is disabled. -DROP_IF_EXISTS 0 - -# PostgreSQL do not supports Global Temporary Table natively but you can use -# the pgtt extension to emulate this behavior. Enable this directive to export -# global temporary table. -EXPORT_GTT 0 - -# By default the pgtt extension is load using the superuser privilege, set it -# to 1 if you run the SQL scripts generated using a non superuser user. It will -# use LOAD '$libdir/plugins/pgtt' instead of LOAD 'pgtt'. -PGTT_NOSUPERUSER 0 - -#------------------------------------------------------------------------------ -# FULL TEXT SEARCH SECTION (Control full text search export behaviors) -#------------------------------------------------------------------------------ - -# Force Ora2Pg to translate Oracle Text indexes into PostgreSQL indexes using -# pg_trgm extension. Default is to translate CONTEXT indexes into FTS indexes -# and CTXCAT indexes using pg_trgm. Most of the time using pg_trgm is enough, -# this is why this directive stand for. -# -CONTEXT_AS_TRGM 0 - -# By default Ora2Pg creates a function-based index to translate Oracle Text -# indexes. -# CREATE INDEX ON t_document -# USING gin(to_tsvector('french', title)); -# You will have to rewrite the CONTAIN() clause using to_tsvector(), example: -# SELECT id,title FROM t_document -# WHERE to_tsvector(title)) @@ to_tsquery('search_word'); -# -# To force Ora2Pg to create an extra tsvector column with a dedicated triggers -# for FTS indexes, disable this directive. 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('french', coalesce(title,'')); -# To automatically update the column when a modification in the title column -# appears, Ora2Pg adds the following trigger: -# -# CREATE FUNCTION tsv_t_document_title() RETURNS trigger AS $$ -# BEGIN -# IF TG_OP = 'INSERT' OR new.title != old.title THEN -# new.tsv_title := -# to_tsvector('french', coalesce(new.title,'')); -# END IF; -# return new; -# END -# $$ LANGUAGE plpgsql; -# CREATE TRIGGER trig_tsv_t_document_title BEFORE INSERT OR UPDATE -# ON t_document -# FOR EACH ROW EXECUTE PROCEDURE tsv_t_document_title(); -# -# 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. -# -FTS_INDEX_ONLY 1 - -# Use this directive to force text search configuration to use. When it is not -# set, Ora2Pg will autodetect the stemmer used by Oracle for each index and -# pg_catalog.english if nothing is found. -# -#FTS_CONFIG pg_catalog.french - -# If you want to perform your text search in an accent insensitive way, enable -# this directive. Ora2Pg will create an helper function over unaccent() and -# creates the pg_trgm indexes using this function. With FTS Ora2Pg will -# redefine your text search configuration, for example: -# -# CREATE TEXT SEARCH CONFIGURATION fr (COPY = pg_catalog.french); -# ALTER TEXT SEARCH CONFIGURATION fr -# ALTER MAPPING FOR hword, hword_part, word WITH unaccent, french_stem; -# -# When enabled, Ora2pg will create the wrapper function: -# -# CREATE OR REPLACE FUNCTION unaccent_immutable(text) -# RETURNS text AS -# $$ -# SELECT public.unaccent('public.unaccent', ) -# $$ LANGUAGE sql IMMUTABLE -# COST 1; -# -# indexes are exported as follow: -# -# CREATE INDEX t_document_title_unaccent_trgm_idx ON t_document -# USING gin (unaccent_immutable(title) gin_trgm_ops); -# -# In your queries you will need to use the same function in the search to -# be able to use the function-based index. Example: -# -# SELECT * FROM t_document -# WHERE unaccent_immutable(title) LIKE '%donnees%'; -# -USE_UNACCENT 0 - -# Same as above but call lower() in the unaccent_immutable() function: -# -# CREATE OR REPLACE FUNCTION unaccent_immutable(text) -# RETURNS text AS -# $$ -# SELECT lower(public.unaccent('public.unaccent', )); -# $$ LANGUAGE sql IMMUTABLE; -# -USE_LOWER_UNACCENT 0 - - -#------------------------------------------------------------------------------ -# DATA DIFF SECTION (only delete and insert actually changed rows) -#------------------------------------------------------------------------------ - -# EXPERIMENTAL! Not yet working correctly with partitioned tables, parallelism, -# and direct Postgres connection! Test before using in production! -# This feature affects SQL output for data (INSERT or COPY). -# The deletion and (re-)importing of data is redirected to temporary tables -# (with configurable suffix) and matching entries (i.e. quasi-unchanged rows) -# eliminated before actual application of the DELETE, UPDATE and INSERT. -# Optional functions can be specified that are called before or after the -# actual DELETE, UPDATE and INSERT per table, or after all tables have been -# processed. -# -# Enable DATADIFF functionality -DATADIFF 0 -# Use UPDATE where changed columns can be matched by the primary key -# (otherwise rows are DELETEd and re-INSERTed, which may interfere with -# inverse foreign keys relationships!) -DATADIFF_UPDATE_BY_PKEY 0 -# Suffix for temporary tables holding rows to be deleted and to be inserted. -# Pay attention to your tables names: -# 1) There better be no two tables with names such that name1 + suffix = name2 -# 2) length(suffix) + length(tablename) < NAMEDATALEN (usually 64) -DATADIFF_DEL_SUFFIX _del -DATADIFF_UPD_SUFFIX _upd -DATADIFF_INS_SUFFIX _ins -# Allow setting the work_mem and temp_buffers parameters -# to keep temp tables in memory and have efficient sorting, etc. -DATADIFF_WORK_MEM 256 MB -DATADIFF_TEMP_BUFFERS 512 MB - -# The following are names of functions that will be called (via SELECT) -# after the temporary tables have been reduced (by removing matching rows) -# and right before or right after the actual DELETE and INSERT are performed. -# They must take four arguments, which should ideally be of type "regclass", -# representing the real table, the "deletions", the "updates", and the -# "insertions" temp table names, respectively. They are called before -# re-activation of triggers, indexes, etc. (if configured). -#DATADIFF_BEFORE my_datadiff_handler_function -#DATADIFF_AFTER my_datadiff_handler_function - -# Another function can be called (via SELECT) right before the entire COMMIT -# (i.e., after re-activation of indexes, triggers, etc.), which will be -# passed in Postgres ARRAYs of the table names of the real tables, the -# "deletions", the "updates" and the "insertions" temp tables, respectively, -# with same array index positions belonging together. So this function should -# take four arguments of type regclass[] -#DATADIFF_AFTER_ALL my_datadiff_bunch_handler_function -# If in doubt, use schema-qualified function names here. -# The search_path will have been set to PG_SCHEMA if EXPORT_SCHEMA == 1 -# (as defined by you in those config parameters, see above), -# i.e., the "public" schema is not contained if EXPORT_SCHEMA == 1 - - -#------------------------------------------------------------------------------ -# CONSTRAINT SECTION (Control constraints export and import behaviors) -#------------------------------------------------------------------------------ - -# Support for turning off certain schema features in the postgres side -# during schema export. Values can be : fkeys, pkeys, ukeys, indexes, checks -# separated by a space character. -# fkeys : turn off foreign key constraints -# pkeys : turn off primary keys -# ukeys : turn off unique column constraints -# indexes : turn off all other index types -# checks : turn off check constraints -#SKIP fkeys pkeys ukeys indexes checks - -# By default names of the primary and unique key in the source Oracle database -# are ignored and key names are autogenerated in the target PostgreSQL database -# with the PostgreSQL internal default naming rules. If you want to preserve -# Oracle primary and unique key names set this option to 1. -# Please note if value of USE_TABLESPACE is set to 1 the value of this option is -# enforced to 1 to preserve correct primary and unique key allocation to tablespace. -KEEP_PKEY_NAMES 0 - -# Enable this directive if you want to add primary key definitions inside the -# create table statements. If disabled (the default) primary key definition -# will be added with an alter table statement. Enable it if you are exporting -# to GreenPlum PostgreSQL database. -PKEY_IN_CREATE 0 - -# This directive allow you to add an ON UPDATE CASCADE option to a foreign -# key when a ON DELETE CASCADE is defined or always. Oracle do not support -# this feature, you have to use trigger to operate the ON UPDATE CASCADE. -# As PostgreSQL has this feature, you can choose how to add the foreign -# key option. There is three value to this directive: never, the default -# that mean that foreign keys will be declared exactly like in Oracle. -# The second value is delete, that mean that the ON UPDATE CASCADE option -# will be added only if the ON DELETE CASCADE is already defined on the -# foreign Keys. The last value, always, will force all foreign keys to be -# defined using the update option. -FKEY_ADD_UPDATE never - -# When exporting tables, Ora2Pg normally exports constraints as they are; -# if they are non-deferrable they are exported as non-deferrable. -# However, non-deferrable constraints will probably cause problems when -# attempting to import data to PostgreSQL. The following option set to 1 -# will cause all foreign key constraints to be exported as deferrable -FKEY_DEFERRABLE 0 - -# In addition when exporting data the DEFER_FKEY option set to 1 will add -# a command to defer all foreign key constraints during data export and -# the import will be done in a single transaction. 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). Constraints will then be -# checked at the end of the transaction. This directive can also be enabled -# if you want to force all foreign keys to be created as deferrable and -# initially deferred during schema export (TABLE export type). -DEFER_FKEY 0 - -# If deferring foreign keys is not possible due to the amount of data in a -# single transaction, you've not exported foreign keys as deferrable or you -# are using direct import to PostgreSQL, you can use the DROP_FKEY directive. -# It will drop all foreign keys before all data import and recreate them at -# the end of the import. -DROP_FKEY 0 - - -#------------------------------------------------------------------------------ -# TRIGGERS AND SEQUENCES SECTION (Control triggers and sequences behaviors) -#------------------------------------------------------------------------------ - -# Disables alter of sequences on all tables in COPY or INSERT mode. -# Set to 1 if you want to disable update of sequence during data migration. -DISABLE_SEQUENCE 1 - -# Disables triggers on all tables in COPY or INSERT mode. Available modes -# are USER (user defined triggers) and ALL (includes RI system -# triggers). Default is 0 do not add SQL statement to disable trigger. -# 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. A value of 1 is equal to USER. -DISABLE_TRIGGERS 1 - - -#------------------------------------------------------------------------------ -# OBJECT MODIFICATION SECTION (Control objects structure or name modifications) -#------------------------------------------------------------------------------ - -# You may wish to just extract data from some fields, the following directives -# will help you to do that. Works only with export type INSERT or COPY -# Modify output from the following tables(fields separate by space or comma) -#MODIFY_STRUCT TABLE_TEST(dico,dossier) - -# When there is a lot of columns dropped in the target database compared to the -# Oracle database, being able to exclude columns from data export will simplify -# the configuration compared to MODIFY_STRUCT. The following directive can be -# used to define the columns per table that must be excluded from data export. -#EXCLUDE_COLUMNS TABLE_TEST(dropcol1,dropcol2) - -# You may wish to change table names during data extraction, especally for -# replication use. Give a list of tables separate by space as follow. -#REPLACE_TABLES ORIG_TB_NAME1:NEW_TB_NAME1 ORIG_TB_NAME2:NEW_TB_NAME2 - -# You may wish to change column names during export. Give a list of tables -# and columns separate by comma as follow. -#REPLACE_COLS TB_NAME(ORIG_COLNAME1:NEW_COLNAME1,ORIG_COLNAME2:NEW_COLNAME2) - -# By default all object names are converted to lower case, if you -# want to preserve Oracle object name as-is set this to 1. Not recommended -# unless you always quote all tables and columns on all your scripts. -PRESERVE_CASE 0 - -# Add the given value as suffix to index names. Useful if you have indexes -# with same name as tables. Not so common but it can help. -#INDEXES_SUFFIX _idx - -# Enable this directive to rename all indexes using tablename_columns_names. -# Could be very useful for database that have multiple time the same index name -# or that use the same name than a table, which is not allowed by PostgreSQL -# Disabled by default. -INDEXES_RENAMING 0 - -# Operator classes text_pattern_ops, varchar_pattern_ops, and bpchar_pattern_ops -# support B-tree indexes on the corresponding types. The difference from the -# default operator classes is that the values are compared strictly character by -# character rather than according to the locale-specific collation rules. This -# makes these operator classes suitable for use by queries involving pattern -# matching expressions (LIKE or POSIX regular expressions) when the database -# does not use the standard "C" locale. If you enable, with value 1, this will -# force Ora2Pg to export all indexes defined on varchar2() and char() columns -# using those operators. If you set it to a value greater than 1 it will only -# change indexes on columns where the charactere limit is greater or equal than -# this value. For example, set it to 128 to create these kind of indexes on -# columns of type varchar2(N) where N >= 128. -USE_INDEX_OPCLASS 0 - -# Enable this directive if you want that your partition tables will be -# renamed. Disabled by default. If you have multiple partitioned table, -# when exported to PostgreSQL some partitions could have the same name -# but different parent tables. This is not allowed, table name must be -# unique, in this case enable this directive. -RENAME_PARTITION 0 - -# If you don't want to reproduce the partitioning like in Oracle and want to -# export all partitionned Oracle data into the main single table in PostgreSQL -# enable this directive. Ora2Pg will export all data into the main table name. -# Default is to use partitionning, Ora2Pg will export data from each partition -# and import them into the PostgreSQL dedicated partition table. -DISABLE_PARTITION 0 - -# How to export partition by reference. Possible values are none, duplicate or -# the number of hash partition to create. Default is 'none' to not export the -# partitions by reference. -PARTITION_BY_REFERENCE none - -# Activating this directive will force Ora2Pg to add WITH (OIDS) when creating -# tables or views as tables. Default is same as PostgreSQL, disabled. -WITH_OID 0 - -# Allow escaping of column name using Oracle reserved words. -ORA_RESERVED_WORDS audit,comment,references - -# Enable this directive if you have tables or column names that are a reserved -# word for PostgreSQL. Ora2Pg will double quote the name of the object. -USE_RESERVED_WORDS 0 - -# By default Ora2Pg export Oracle tables with the NOLOGGING attribute as -# UNLOGGED tables. You may want to fully disable this feature because -# you will lost all data from unlogged table in case of PostgreSQL crash. -# Set it to 1 to export all tables as normal table. -DISABLE_UNLOGGED 1 - -# Increase varchar max character constraints to support PostgreSQL two bytes -# character encoding when the source database applies the length constraint -# on characters not bytes. Default disabled. -DOUBLE_MAX_VARCHAR 0 - -#------------------------------------------------------------------------------ -# OUTPUT SECTION (Control output to file or PostgreSQL database) -#------------------------------------------------------------------------------ - -# Define the following directive to send export directly to a PostgreSQL -# database, this will disable file output. Note that these directives are only -# used for data export, other export need to be imported manually through the -# use of psql or any other PostgreSQL client. -PG_DSN dbi:Pg:dbname=postgres;host=192.168.1.159;port=5432 -PG_USER quarkus -PG_PWD quarkus - -# By default all output is dump to STDOUT if not send directly to postgresql -# database (see above). Give a filename to save export to it. If you want -# a Gzip'd compressed file just add the extension .gz to the filename (you -# need perl module Compress::Zlib from CPAN). Add extension .bz2 to use Bzip2 -# compression. -OUTPUT output.sql - -# Base directory where all dumped files must be written -#OUTPUT_DIR /var/tmp - -# Path to the bzip2 program. See OUTPUT directive above. -BZIP2 - -# Allow object constraints to be saved in a separate file during schema export. -# The file will be named CONSTRAINTS_OUTPUT. Where OUTPUT is the value of the -# corresponding configuration directive. You can use .gz xor .bz2 extension to -# enable compression. Default is to save all data in the OUTPUT file. This -# directive is usable only with TABLE export type. -FILE_PER_CONSTRAINT 1 - -# Allow indexes to be saved in a separate file during schema export. The file -# will be named INDEXES_OUTPUT. Where OUTPUT is the value of the corresponding -# configuration directive. You can use the .gz, .xor, or .bz2 file extension to -# enable compression. Default is to save all data in the OUTPUT file. This -# directive is usable only with TABLE or TABLESPACE export type. 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. -FILE_PER_INDEX 1 - -# Allow foreign key declaration to be saved in a separate file during -# schema export. By default foreign keys are exported into the main -# output file or in the CONSTRAINT_output.sql file. When enabled foreign -# keys will be exported into a file named FKEYS_output.sql -FILE_PER_FKEYS 1 - -# Allow data export to be saved in one file per table/view. The files -# will be named as tablename_OUTPUT. Where OUTPUT is the value of the -# corresponding configuration directive. You can use .gz xor .bz2 -# extension to enable compression. Default is to save all data in one -# file. This is usable only during INSERT or COPY export type. -FILE_PER_TABLE 1 - -# Allow function export to be saved in one file per function/procedure. -# The files will be named as funcname_OUTPUT. Where OUTPUT is the value -# of the corresponding configuration directive. You can use .gz xor .bz2 -# extension to enable compression. Default is to save all data in one -# file. It is usable during FUNCTION, PROCEDURE, TRIGGER and PACKAGE -# export type. -FILE_PER_FUNCTION 1 - -# By default Ora2Pg will force Perl to use utf8 I/O encoding. This is done through -# a call to the Perl pragma: -# -# use open ':utf8'; -# -# You can override this encoding by using the BINMODE directive, for example you -# can set it to :locale to use your locale or iso-8859-7, it will respectively use -# -# use open ':locale'; -# use open ':encoding(iso-8859-7)'; -# -# If you have change the NLS_LANG in non UTF8 encoding, you might want to set this -# directive. See http://perldoc.perl.org/5.14.2/open.html for more information. -# Most of the time, you might leave this directive commented. -#BINMODE utf8 - -# Set it to 0 to not include the call to \set ON_ERROR_STOP ON in all SQL -# scripts. By default this order is always present. -STOP_ON_ERROR 1 - -# Enable this directive to use COPY FREEZE instead of a simple COPY to -# export data with rows already frozen. This is intended as a performance -# option for initial data loading. Rows will be frozen only if the table -# being loaded has been created or truncated in the current subtransaction. -# This will only works with export to file and when -J or ORACLE_COPIES is -# not set or default to 1. 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. -COPY_FREEZE 0 - -# By default Ora2Pg use CREATE OR REPLACE in functions and views DDL, if you -# need not to override existing functions or views disable this configuration -# directive, DDL will not include OR REPLACE. -CREATE_OR_REPLACE 1 - -# This directive can be used to send an initial command to PostgreSQL, just -# after the connection. For example to set some session parameters. This -# directive can be used multiple time. -#PG_INITIAL_COMMAND - -# Add an ON CONFLICT DO NOTHING to all INSERT statements generated for this -# type of data export. -INSERT_ON_CONFLICT 0 - - -#------------------------------------------------------------------------------ -# TYPE SECTION (Control type behaviors and redefinitions) -#------------------------------------------------------------------------------ - -# If you're experiencing problems in data type export, the following directive -# will help you to redefine data type translation used in Ora2pg. The syntax is -# a comma separated list of "Oracle datatype:Postgresql data type". Here are the -# data type that can be redefined and their default value. If you want to -# replace a type with a precision and scale you need to escape the coma with -# a backslash. For example, if you want to replace all NUMBER(*,0) into bigint -# instead of numeric(38)add the following: -# DATA_TYPE NUMBER(*\,0):bigint -# Here is the default replacement for all Oracle's types. You don't have to -# recopy all type conversion but just the one you want to rewrite. -#DATA_TYPE VARCHAR2:varchar,NVARCHAR2:varchar,NVARCHAR:varchar,NCHAR:char,DATE:timestamp(0),LONG:text,LONG RAW:bytea,CLOB:text,NCLOB:text,BLOB:bytea,BFILE:bytea,RAW(16):uuid,RAW(32):uuid,RAW:bytea,UROWID:oid,ROWID:oid,FLOAT:double precision,DEC:decimal,DECIMAL:decimal,DOUBLE PRECISION:double precision,INT:integer,INTEGER:integer,REAL:real,SMALLINT:smallint,BINARY_FLOAT:double precision,BINARY_DOUBLE:double precision,TIMESTAMP:timestamp,XMLTYPE:xml,BINARY_INTEGER:integer,PLS_INTEGER:integer,TIMESTAMP WITH TIME ZONE:timestamp with time zone,TIMESTAMP WITH LOCAL TIME ZONE:timestamp with time zone - -# If set to 1 replace portable numeric type into PostgreSQL internal type. -# Oracle data type NUMBER(p,s) is approximatively converted to real and -# float PostgreSQL data type. If you have monetary fields or don't want -# rounding issues with the extra decimals you should preserve the same -# numeric(p,s) PostgreSQL data type. Do that only if you need exactness -# because using numeric(p,s) is slower than using real or double. -PG_NUMERIC_TYPE 1 - -# If set to 1 replace portable numeric type into PostgreSQL internal type. -# Oracle data type NUMBER(p) or NUMBER are converted to smallint, integer -# or bigint PostgreSQL data type following the length of the precision. If -# NUMBER without precision are set to DEFAULT_NUMERIC (see bellow). -PG_INTEGER_TYPE 1 - -# NUMBER() without precision are converted by default to bigint only if -# PG_INTEGER_TYPE is true. You can overwrite this value to any PG type, -# like integer or float. -DEFAULT_NUMERIC bigint - -# Set it to 0 if you don't want to export milliseconds from Oracle timestamp -# columns. Timestamp will be formated with to_char(..., 'YYYY-MM-DD HH24:MI:SS') -# Enabling this directive, the default, format is 'YYYY-MM-DD HH24:MI:SS.FF'. -ENABLE_MICROSECOND 1 - -# If you want to replace some columns as PostgreSQL boolean define here a list -# of tables and column separated by space as follows. You can also give a type -# and a precision to automatically convert all fields of that type as a boolean. -# For example: NUMBER:1 or CHAR:1 will replace any field of type number(1) or -# char(1) as a boolean in all exported tables. -#REPLACE_AS_BOOLEAN TB_NAME1:COL_NAME1 TB_NAME1:COL_NAME2 TB_NAME2:COL_NAME2 - -# Use this to add additional definitions of the possible boolean values in Oracle -# field. You must set a space separated list of TRUE:FALSE values. BY default: -#BOOLEAN_VALUES yes:no y:n 1:0 true:false enabled:disabled - -# When Ora2Pg find a "zero" date: 0000-00-00 00:00:00 it is replaced by a NULL. -# This could be a problem if your column is defined with NOT NULL constraint. -# If you can not remove the constraint, use this directive to set an arbitral -# date that will be used instead. You can also use -INFINITY if you don't want -# to use a fake date. -#REPLACE_ZERO_DATE 1970-01-01 00:00:00 - -# Some time you need to force the destination type, for example a column -# exported as timestamp by Ora2Pg can be forced into type date. Value is -# a comma-separated list of TABLE:COLUMN:TYPE structure. If you need to use -# comma or space inside type definition you will have to backslash them. -# -# MODIFY_TYPE TABLE1:COL3:varchar,TABLE1:COL4:decimal(9,6) -# -# Type of table1.col3 will be replaced by a varchar and table1.col4 by -# a decimal with precision and scale. -# -# If the column's type is a user defined type Ora2Pg will autodetect the -# composite type and will export its data using ROW(). Some Oracle user -# defined types are just array of a native type, in this case you may want -# to transform this column in simple array of a PostgreSQL native type. -# To do so, just redefine the destination type as wanted and Ora2Pg will -# also transform the data as an array. For example, with the following -# definition in Oracle: -# -# CREATE OR REPLACE TYPE mem_type IS VARRAY(10) of VARCHAR2(15); -# CREATE TABLE club (Name VARCHAR2(10), -# Address VARCHAR2(20), -# City VARCHAR2(20), -# Phone VARCHAR2(8), -# Members mem_type -# ); -# -# custom type "mem_type" is just a string array and can be translated into -# the following in PostgreSQL: -# -# CREATE TABLE club ( -# name varchar(10), -# address varchar(20), -# city varchar(20), -# phone varchar(8), -# members text[] -# ) ; -# -# To do so, just use the directive as follow: -# -# MODIFY_TYPE CLUB:MEMBERS:text[] -# -# Ora2Pg will take care to transform all data of this column in the correct -# format. Only arrays of characters and numerics types are supported. -#MODIFY_TYPE - -# By default Oracle call to function TO_NUMBER will be translated as a cast -# into numeric. For example, TO_NUMBER('10.1234') is converted into PostgreSQL -# call to_number('10.1234')::numeric. If you want you can cast the call to integer -# or bigint by changing the value of the configuration directive. If you need -# better control of the format, just set it as value, for example: -# TO_NUMBER_CONVERSION 99999999999999999999.9999999999 -# will convert the code above as: -# TO_NUMBER('10.1234', '99999999999999999999.9999999999') -# Any value of the directive that it is not numeric, integer or bigint will -# be taken as a mask format. If set to none, no conversion will be done. -TO_NUMBER_CONVERSION numeric - -# By default varchar2 without size constraint are tranlated into text. If you -# want to keep the varchar name, disable this directive. -VARCHAR_TO_TEXT 1 - -# Usually identity column must be bigint to correspond to an auto increment -# sequence. If, for any reason you want Ora2Pg respect the DATA_TYPE you have -# set, disable this directive. -FORCE_IDENTITY_BIGINT 1 - -# Remove timezone part into the format of the TO_CHAR() function -TO_CHAR_NOTIMEZONE 1 - -#------------------------------------------------------------------------------ -# GRANT SECTION (Control priviledge and owner export) -#------------------------------------------------------------------------------ - -# Set this to 1 to replace default password for all extracted user -# during GRANT export -GEN_USER_PWD 0 - -# By default the owner of database objects is the one you're using to connect -# to PostgreSQL. If you use an other user (e.g. postgres) you can force -# Ora2Pg to set the object owner to be the one used in the Oracle database by -# setting the directive to 1, or to a completely different username by setting -# the directive value # to that username. -FORCE_OWNER 0 - -# Ora2Pg use the function's security privileges set in Oracle and it is often -# defined as SECURITY DEFINER. If you want to override those security privileges -# for all functions and use SECURITY DEFINER instead, enable this directive. -FORCE_SECURITY_INVOKER 0 - -#------------------------------------------------------------------------------ -# DATA SECTION (Control data export behaviors) -#------------------------------------------------------------------------------ - -# Extract data by bulk of DATA_LIMIT tuples at once. Default 10000. If you set -# a high value be sure to have enough memory if you have million of rows. -DATA_LIMIT 10000 - -# When Ora2Pg detect a table with some BLOB it will automatically reduce the -# value of this directive by dividing it by 10 until his value is below 1000. -# You can control this value by setting BLOB_LIMIT. Exporting BLOB use lot of -# ressources, setting it to a too high value can produce OOM. -#BLOB_LIMIT 500 - -# Apply same behavior on CLOB than BLOB with BLOB_LIMIT settings. This is -# especially useful if you have large CLOB data. -CLOB_AS_BLOB 1 - -# By default all data that are not of type date or time are escaped. If you -# experience any problem with that you can set it to 1 to disable it. This -# directive is only used during a COPY export type. -# See STANDARD_CONFORMING_STRINGS for enabling/disabling escape with INSERT -# statements. -NOESCAPE 0 - -# This directive may be used if you want to change the default isolation -# level of the data export transaction. Default is now to set the level -# to a serializable transaction to ensure data consistency. Here are the -# allowed value of this directive: readonly, readwrite, serializable and -# committed (read committed). -TRANSACTION serializable - -# This controls whether ordinary string literals ('...') treat backslashes -# literally, as specified in SQL standard. This was the default before Ora2Pg -# v8.5 so that all strings was escaped first, now this is currently on, causing -# Ora2Pg to use the escape string syntax (E'...') if this parameter is not -# set to 0. This is the exact behavior of the same option in PostgreSQL. -# This directive is only used during INSERT export to build INSERT statements. -# See NOESCAPE for enabling/disabling escape in COPY statements. -STANDARD_CONFORMING_STRINGS 1 - -# Use this directive to set the database handle's 'LongReadLen' attribute to -# a value that will be the larger than the expected size of the LOB. The default -# is 1MB witch may not be enough to extract BLOB objects. If the size of the LOB -# exceeds the 'LongReadLen' DBD::Oracle will return a 'ORA-24345: A Truncation' -# error. Default: 1023*1024 bytes. Take a look at this page to learn more: -# http://search.cpan.org/~pythian/DBD-Oracle-1.22/Oracle.pm#Data_Interface_for_Persistent_LOBs -# -# Important note: If you increase the value of this directive take care that -# DATA_LIMIT will probably needs to be reduced. Even if you only have a 1MB blob -# trying to read 10000 of them (the default DATA_LIMIT) all at once will require -# 10GB of memory. You may extract data from those table separately and set a -# DATA_LIMIT to 500 or lower, otherwise you may experience some out of memory. -LONGREADLEN 1047552 - -# 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. -#LONGTRUNCOK 0 - -# Disable this if you want to load full content of BLOB and CLOB and not use -# LOB locators. In this case you will have to set LONGREADLEN to the right -# value. 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. For more information on how it works, see -# http://search.cpan.org/~pythian/DBD-Oracle-1.74/lib/DBD/Oracle.pm#Data_Interface_for_LOB_Locators -# Default is enabled, it use LOB locators. -USE_LOB_LOCATOR 1 - -# Oracle recommends reading from and writing to a LOB in batches using a -# multiple of the LOB chunk size. This chunk size defaults to 8k (8192). -# Recent tests shown that the best performances can be reach with higher -# value like 512K or 4Mb. -# -# A quick benchmark with 30120 rows with different size of BLOB (200x5Mb, -# 19800x212k, 10000x942K, 100x17Mb, 20x156Mb), with DATA_LIMIT=100, -# LONGREADLEN=170Mb and a total table size of 20GB gives: -# -# no lob locator : 22m46,218s (1365 sec., avg: 22 recs/sec) -# chunk size 8k : 15m50,886s (951 sec., avg: 31 recs/sec) -# chunk size 512k : 1m28,161s (88 sec., avg: 342 recs/sec) -# chunk size 4Mb : 1m23,717s (83 sec., avg: 362 recs/sec) -# -# In conclusion it can be more than 10 time faster with LOB_CHUNK_SIZE set -# to 4Mb. Dependind of the size of most BLOB you may want to adjust the value -# here. For example if you have a majority of small lobs bellow 8K, using 8192 -# is better to not waste space. -LOB_CHUNK_SIZE 512000 - -# Force the use of getStringVal() instead of getClobVal() for XML data export. -# Default is 1, enabled for backward compatibility. Set here to 0 to use extract -# method a la CLOB and export the XML code as it was stored. Note that XML value -# extracted with getStringVal() must not exceed VARCHAR2 size limit otherwize -# it will return an error. -XML_PRETTY 0 - -# Enable this directive if you want to continue direct data import on error. -# When Ora2Pg receives an error in the COPY or INSERT statement from PostgreSQL -# it will log the statement to a file called TABLENAME_error.log in the output -# directory and continue to next bulk of data. Like this you can try to fix the -# statement and manually reload the error log file. Default is disabled: abort -# import on error. -LOG_ON_ERROR 0 - -# If you want to convert CHAR(n) from Oracle into varchar(n) or text under -# PostgreSQL, you might want to do some triming on the data. By default -# Ora2Pg will auto-detect this conversion and remove any withspace at both -# leading and trailing position. If you just want to remove the leadings -# character, set the value to LEADING. If you just want to remove the trailing -# character, set the value to TRAILING. Default value is BOTH. -TRIM_TYPE BOTH - -# The default triming character is space, use the directive bellow if you need -# to change the character that will be removed. For example, set it to - if you -# have leading - in the char(n) field. To use space as triming charger, comment -# this directive, this is the default value. -#TRIM_CHAR - - -# Internal timestamp retrieves from custom type are extracted in the following -# format: 01-JAN-77 12.00.00.000000 AM. It is impossible to know the exact century -# that must be used, so by default any year below 49 will be added to 2000 -# and others to 1900. You can use this directive to change this default value. -# this is only relevant if you have user defined type with a column timestamp. -INTERNAL_DATE_MAX 49 - -# Disable this directive if you want to disable check_function_bodies. -# -# SET check_function_bodies = false; -# -# It disables validation of the function body string during CREATE FUNCTION. -# Default is to use de postgresql.conf setting that enable it by default. -FUNCTION_CHECK 1 - -# Exporting BLOB takes time, in some circumstances you may want to export -# all data except the BLOB columns. In this case disable this directive and -# the BLOB columns will not be included into data export. Take care that the -# target bytea column do not have a NOT NULL constraint. -ENABLE_BLOB_EXPORT 1 - -# Same but for CLOB data export -ENABLE_CLOB_EXPORT 1 - -# By default data export order will be done by sorting on table name. If you -# have huge tables at end of alphabetic order and you are using multiprocess -# it can be better to set the sort order on size so that multiple small tables -# can be processed before the largest tables finish. In this case set this -# directive to size. Possible values are name and size. Note that export type -# SHOW_TABLE and SHOW_COLUMN will use this sort order too, not only COPY or -# INSERT export type. If you want to give you custom export order, just give -# a filename as value that contains the ordered list of table to export. Must -# be a list of one table per line, in uppercase for Oracle. -DATA_EXPORT_ORDER name - -# By default Ora2Pg use \i psql command to execute generated SQL files -# if you want to use a relative path following the script execution file -# enabling this option will use \ir. See psql help for more information. -PSQL_RELATIVE_PATH 0 - -# Number of rows that must be retrieved on both side for data validation. -DATA_VALIDATION_ROWS 10000 - -# Order of rows between both sides are different once the data have been -# modified. In this case data must be ordered using a primary key or a -# unique index, that mean that a table without such object can not be -# compared. If the validation is done just after the data migration without -# any data modification the validation can be done on all tables without any -# ordering. -DATA_VALIDATION_ORDERING 1 - -# Stop validating data from a table after a certain amount of row mistmatch. -# Default is to stop after 10 rows validation errors. -DATA_VALIDATION_ERROR 10 - -# Use this directive to precise which transformation should be applied to a -# column when exporting data. Value must be a semicolon separated list of -# TABLE[COLUMN_NAME, ] -# For example to replace string 'Oracle' by 'PostgreSQL' in a varchar2 column -# use the following. -#TRANSFORM_VALUE ERROR_LOG_SAMPLE[DBMS_TYPE,regexp_replace("DBMS_TYPE",'Oracle','PostgreSQL')] -#or to replace all Oracle char(0) in a string by a space character: -#TRANSFORM_VALUE CLOB_TABLE[CHARDATA:translate("CHARDATA", chr(0), ' ')] -#The expression will be applied in the SQL statemeent used to extract data -#from the source database. - -#------------------------------------------------------------------------------ -# PERFORMANCES SECTION (Control export/import performances) -#------------------------------------------------------------------------------ - -# This configuration directive adds multiprocess support to COPY, FUNCTION -# and PROCEDURE export type, the value is the number of process to use. -# Default is to not use multiprocess. This directive is used to set the number -# of cores to used to parallelize data import into PostgreSQL. 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. There's no more limitation in parallel processing -# than the number of cores and the PostgreSQL I/O performance capabilities. -# Doesn't works under Windows Operating System, it is simply disabled. -JOBS 1 - -# Multiprocess support. This directive should defined the number of parallel -# connection to Oracle when extracting data. The limit is the number of cores -# on your machine. This is useful if Oracle is the bottleneck. Take care that -# this directive can only be used if there is a primary / unique key defined -# on a numeric column or that a column is defined in DEFINED_PK. -ORACLE_COPIES 1 - -# Multiprocess support. This directive should defined the number of tables -# in parallel data extraction. The limit is the number of cores on your machine. -# Ora2Pg will open one database connection for each parallel table extraction. -# This directive, when upper than 1, will invalidate ORACLE_COPIES but not JOBS. -# Note that this directive when set upper that 1 will also automatically enable -# the FILE_PER_TABLE directive if your are exporting to files. -PARALLEL_TABLES 1 - -# 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. A value of 0 or 1 disable the use of parallel hint. -# Default is disabled. -DEFAULT_PARALLELISM_DEGREE 0 - -# Parallel mode will not be activated if the table have less rows than -# this directive. This prevent fork of Oracle process when it is not -# necessary. Default is 100K rows. -PARALLEL_MIN_ROWS 100000 - -# Multiprocess support. This directive is used to split the select queries -# between the different connections to Oracle if ORA_COPIES is used. Ora2Pg -# will extract data with the following prepare statement: -# SELECT * FROM TABLE WHERE MOD(COLUMN, $ORA_COPIES) = ? -# Where $ORA_COPIES is the total number of cores used to extract data and set -# with ORA_COPIES directive, and ? is the current core used at execution time. -# This means that Ora2Pg needs to know the numeric column to use in this query. -# If this column is a real, float, numeric or decimal, you must add the ROUND() -# function with the column to round the value to the nearest integer. -#DEFINED_PK TABLE:COLUMN TABLE:ROUND(COLUMN) - -# Enabling this directive force Ora2Pg to drop all indexes on data import -# tables, except automatic index on primary key, and recreate them at end -# of data import. This may improve speed a lot during a fresh import. -DROP_INDEXES 0 - -# Specifies whether transaction commit will wait for WAL records to be written -# to disk before the command returns a "success" indication to the client. This -# is the equivalent to set synchronous_commit directive of postgresql.conf file. -# This is only used when you load data directly to PostgreSQL, the default is -# off to disable synchronous commit to gain speed at writing data. Some modified -# versions of PostgreSQL, like Greenplum, do not have this setting, so in this -# case set this directive to 1, ora2pg will not try to change the setting. -SYNCHRONOUS_COMMIT 0 - -#------------------------------------------------------------------------------ -# PLSQL SECTION (Control SQL and PL/SQL to PLPGSQL rewriting behaviors) -#------------------------------------------------------------------------------ - -# If the above configuration directive is not enough to validate your PL/SQL code -# enable this configuration directive to allow export of all PL/SQL code even if -# it is marked as invalid. The 'VALID' or 'INVALID' status applies to functions, -# procedures, packages, triggers and user defined types. -EXPORT_INVALID 0 - -# Enable PLSQL to PLPSQL conversion. This is a work in progress, feel -# free modify/add you own code and send me patches. The code is under -# function plsql_toplpgsql in Ora2PG/PLSQL.pm. Default enabled. -PLSQL_PGSQL 0 - -# Ora2Pg can replace all conditions with a test on NULL by a call to the -# coalesce() function to mimic the Oracle behavior where empty field are -# considered equal to NULL. Ex: (field1 IS NULL) and (field2 IS NOT NULL) will -# be replaced by (coalesce(field1::text, '') = '') and (field2 IS NOT NULL AND -# field2::text <> ''). You might want this replacement to be sure that your -# application will have the same behavior but if you have control on you app -# a better way is to change it to transform empty string into NULL because -# PostgreSQL makes the difference. -NULL_EQUAL_EMPTY 0 - -# Force empty_clob() and empty_blob() to be exported as NULL instead as empty -# string for the first one and \\x for the second. If NULL is allowed in your -# column this might improve data export speed if you have lot of empty lob. -EMPTY_LOB_NULL 1 - -# If you don't want to export package as schema but as simple functions you -# might also want to replace all call to package_name.function_name. If you -# disable the PACKAGE_AS_SCHEMA directive then Ora2Pg will replace all call -# to package_name.function_name() by package_name_function_name(). Default -# is to use a schema to emulate package. -PACKAGE_AS_SCHEMA 1 - -# Enable this directive if the rewrite of Oracle native syntax (+) of -# OUTER JOIN is broken. This will force Ora2Pg to not rewrite such code, -# default is to try to rewrite simple form of rigth outer join for the -# moment. -REWRITE_OUTER_JOIN 1 - -# By default Oracle functions are marked as STABLE as they can not modify data -# unless when used in PL/SQL with variable assignment or as conditional -# expression. You can force Ora2Pg to create these function as VOLATILE by -# disabling the following configuration directive. -FUNCTION_STABLE 1 - -# By default call to COMMIT/ROLLBACK are kept untouched by Ora2Pg to force -# the user to review the logic of the function. Once it is fixed in Oracle -# source code or you want to comment this calls enable the following directive -COMMENT_COMMIT_ROLLBACK 0 - -# It is common to see SAVEPOINT call inside PL/SQL procedure together with -# a ROLLBACK TO savepoint_name. When COMMENT_COMMIT_ROLLBACK is enabled you -# may want to also comment SAVEPOINT calls, in this case enable it. -COMMENT_SAVEPOINT 0 - -# Ora2Pg replace all string constant during the pl/sql to plpgsql translation, -# string constant are all text include between single quote. If you have some -# string placeholder used in dynamic call to queries you can set a list of -# regexp to be temporary replaced to not break the parser.The list of regexp -# must use the semi colon as separator. For exemple: -#STRING_CONSTANT_REGEXP - -# To support the Alternative Quoting Mechanism (''Q'') for String Literals -# set the regexp with the text capture to use to extract the text part. -# For example with a variable declared as -# c_sample VARCHAR2(100 CHAR) := q'{This doesn't work.}'; -# the regexp must be: q'{(.*)}' ora2pg use the $$ delimiter. -#ALTERNATIVE_QUOTING_REGEXP q'{(.*)}' - -# If you want to use functions defined in the Orafce library and prevent -# Ora2Pg to translate call to these function, enable this directive. -# The Orafce library can be found here: https://github.com/orafce/orafce -# By default Ora2pg rewrite add_month(), add_year(), date_trunc() and -# to_char() functions, but you may prefer to use the orafce version of -# these function that do not need any code transformation. -USE_ORAFCE 0 - -# Enable translation of autonomous transactions into a wrapper function -# using dblink or pg_background extension. If you don't want to use this -# translation and just want the function to be exported as a normal one -# without the pragma call, disable this directive. -AUTONOMOUS_TRANSACTION 1 - -#------------------------------------------------------------------------------ -# ASSESSMENT SECTION (Control migration assessment behaviors) -#------------------------------------------------------------------------------ - -# Activate the migration cost evaluation. Must only be used with SHOW_REPORT, -# FUNCTION, PROCEDURE, PACKAGE and QUERY export type. Default is disabled. -# Note that enabling this directive will force PLSQL_PGSQL activation. -ESTIMATE_COST 0 - -# Set the value in minutes of the migration cost evaluation unit. Default -# is five minutes per unit. -COST_UNIT_VALUE 5 - -# By default when using SHOW_REPORT the migration report is generated as -# simple text, enabling this directive will force ora2pg to create a report -# in HTML format. -DUMP_AS_HTML 0 - -# Set the total number of tables to display in the Top N per row and size -# list in the SHOW_TABLE and SHOW_REPORT output. Default 10. -TOP_MAX 10 - -# Use this directive to redefined the number of human-days limit where the -# migration assessment level must switch from B to C. Default is set to 10 -# human-days. -HUMAN_DAYS_LIMIT 5 - -# Set the comma separated list of username that must be used to filter -# queries from the DBA_AUDIT_TRAIL table. Default is to not scan this -# table and to never look for queries. This parameter is used only with -# SHOW_REPORT and QUERY export type with no input file for queries. -# Note that queries will be normalized before output unlike when a file -# is given at input using the -i option or INPUT directive. -#AUDIT_USER USERNAME1,USERNAME2 - -# By default Ora2Pg will convert call to SYS_GUID() Oracle function -# with a call to uuid_generate_v4() from uuid-ossp extension. You can -# redefined it to use the gen_random_uuid() function from pgcrypto -# extension by changing the function name below. -#UUID_FUNCTION uuid_generate_v4 - -#------------------------------------------------------------------------------ -# POSTGRESQL FEATURE SECTION (Control which PostgreSQL features are available) -#------------------------------------------------------------------------------ - -# Set the PostgreSQL major version number of the target database. Ex: 9.6 or 10 -# Default is current major version at time of a new release. This replace the -# old PG_SUPPORTS_* configuration directives. -PG_VERSION 15 - -# Use btree_gin extenstion to create bitmap like index with pg >= 9.4 -# You will need to create the extension by yourself: -# create extension btree_gin; -# Default is to create GIN index, when disabled, a btree index will be created -BITMAP_AS_GIN 1 - -# Use pg_background extension to create an autonomous transaction instead -# of using a dblink wrapper. With pg >= 9.5 only, default is to use dblink. -PG_BACKGROUND 0 - -# By default if you have an autonomous transaction translated using dblink -# extension instead of pg_background the connection is defined using the -# values set with PG_DSN, PG_USER and PG_PWD. If you want to fully override -# the connection string use this directive as follow to set the connection -# in the autonomous transaction wrapper function. -#DBLINK_CONN port=5432 dbname=pgdb host=localhost user=pguser password=pgpass - -# Some versions of PostgreSQL like Redshift doesn't support substr() -# and it need to be replaced by a call to substring(). In this case, -# disable it. -PG_SUPPORTS_SUBSTR 1 - -#------------------------------------------------------------------------------ -# SPATIAL SECTION (Control spatial geometry export) -#------------------------------------------------------------------------------ - -# Enable this directive if you want Ora2Pg to detect the real spatial type and -# dimensions used in a spatial column. By default Ora2Pg will look at spatial -# indexes to see if the layer_gtype and sdo_indx_dims constraint parameters have -# been set, otherwise column will be created with the non-constrained "geometry" -# type. Enabling this feature will force Ora2Pg to scan a sample of 50000 lines -# to look at the GTYPE used. You can increase or reduce the sample by setting -# the value of AUTODETECT_SPATIAL_TYPE to the desired number of line. -AUTODETECT_SPATIAL_TYPE 1 - -# Disable this directive if you don't want to automatically convert SRID to -# EPSG using the sdo_cs.map_oracle_srid_to_epsg() function. Default: enabled -# If the SDO_SRID returned by Oracle is NULL, it will be replaced by the -# default value 8307 converted to its EPSG value: 4326 (see DEFAULT_SRID) -# If the value is upper than 1, all SRID will be forced to this value, in -# this case DEFAULT_SRID will not be used when Oracle returns a null value -# and the value will be forced to CONVERT_SRID. -# Note that it is also possible to set the EPSG value on Oracle side when -# sdo_cs.map_oracle_srid_to_epsg() return NULL if your want to force the value: -# Ex: system> UPDATE sdo_coord_ref_sys SET legacy_code=41014 WHERE srid = 27572; -CONVERT_SRID 1 - -# Use this directive to override the default EPSG SRID to used: 4326. -# Can be overwritten by CONVERT_SRID, see above. -DEFAULT_SRID 4326 - -# This directive can take three values: WKT (default), WKB and INTERNAL. -# When it is set to WKT, Ora2Pg will use SDO_UTIL.TO_WKTGEOMETRY() to -# extract the geometry data. When it is set to WKB, Ora2Pg will use the -# binary output using SDO_UTIL.TO_WKBGEOMETRY(). If those two extract type -# are called at Oracle side, they are slow and you can easily reach Out Of -# Memory when you have lot of rows. Also WKB is not able to export 3D geometry -# and some geometries like CURVEPOLYGON. In this case you may use the INTERNAL -# extraction type. 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 is a work in progress, please validate your exported data geometries -# before use. -GEOMETRY_EXTRACT_TYPE INTERNAL - -# Oracle function to use to extract the srid from ST_Geometry meta information -ST_SRID_FUNCTION ST_SRID - -# Oracle function to use to extract the dimension from ST_Geometry meta information -ST_DIMENSION_FUNCTION ST_DIMENSION - -# Oracle function to used to convert an ST_Geometry value into WKB format -ST_ASBINARY_FUNCTION ST_ASBINARY - -# Oracle function to used to convert an ST_Geometry value into WKT format -ST_ASTEXT_FUNCTION ST_ASTEXT - -# Oracle function to use to extract the geometry type from a ST_Geometry column -ST_GEOMETRYTYPE_FUNCTION ST_GEOMETRYTYPE - -#------------------------------------------------------------------------------ -# FDW SECTION (Control Foreign Data Wrapper export) -#------------------------------------------------------------------------------ - -# This directive is used to set the name of the foreign data server that is used -# in the "CREATE SERVER name FOREIGN DATA WRAPPER oracle_fdw ..." command. This -# import data using oracle_fdw. Default is no foreign server defined. -# This only concerns export type FDW, COPY and INSERT. For export type FDW the -# default value is orcl -#FDW_SERVER orcl - -# Schema where foreign tables for data migration will be created. If you use -# several instances of ora2pg for data migration through the foreign data -# wrapper, you might need to change the name of the schema for each instance. -FDW_IMPORT_SCHEMA ora2pg_fdw_import - -# The default behaviour of Ora2Pg is to NOT set the "prefetch" option for -# oracle_fdw when used for COPY and INSERT. This directive allows the prefetch -# to be set. See oracle_fdw documentation for the current default. -#ORACLE_FDW_PREFETCH 1000 - -# By default Ora2Pg drops the temporary schema ora2pg_fdw_import used to import -# the Oracle foreign schema before each new import. If you want to preserve -# the existing schema because of modifications or the use of a third party -# server, disable this directive. -DROP_FOREIGN_SCHEMA 1 - - -#------------------------------------------------------------------------------ -# MYSQL SECTION (Control MySQL export behavior) -#------------------------------------------------------------------------------ - -# Enable this if double pipe and double ampersand (|| and &&) should not be -# taken as equivalent to OR and AND. It depend of the variable @sql_mode, -# Use it only if Ora2Pg fail on auto detecting this behavior. -MYSQL_PIPES_AS_CONCAT 0 - -# Enable this directive if you want EXTRACT() replacement to use the internal -# format returned as an integer, for example DD HH24:MM:SS will be replaced -# with format; DDHH24MMSS::bigint, this depend of your apps usage. -MYSQL_INTERNAL_EXTRACT_FORMAT 0 - -#------------------------------------------------------------------------------ -# SQL Server SECTION (Control MSSQL export behavior) -#------------------------------------------------------------------------------ - -# PostgreSQL has no equivalent to rowversion datatype and feature, if you want -# to remove these useless columns, enable this directive. Columns of datatype -# 'rowversion' or 'timestamp' will not be exported. -DROP_ROWVERSION 0 - -# Emulate the same behavior of MSSQL with case insensitive search. If the value -# is citext it will use the citext data type instead of char/varchar/text in -# tables DDL (Ora2Pg will add a CHECK constraint for columns with a precision). -# Instead of citext you can also set a collation name that will be used in the -# columns definitions. To disable case insensitive search set it to: none. -CASE_INSENSITIVE_SEARCH citext - -# Append a TOP N clause to the SELECT command used to extract the data from -# SQL Server. This is the equivalent to a WHERE ROWNUM < 1000 clause for Oracle. -SELECT_TOP 1000 diff --git a/docker/database/migration/migv1/export_schema.sh b/docker/database/migration/migv1/export_schema.sh index a17b06a485..4040d6a6ed 100755 --- a/docker/database/migration/migv1/export_schema.sh +++ b/docker/database/migration/migv1/export_schema.sh @@ -6,7 +6,7 @@ #------------------------------------------------------------------------------- EXPORT_TYPE="SEQUENCE SEQUENCE_VALUES TABLE PACKAGE VIEW GRANT TRIGGER FUNCTION PROCEDURE TABLESPACE PARTITION TYPE MVIEW DBLINK SYNONYM DIRECTORY" SOURCE_TYPE="PACKAGE VIEW TRIGGER FUNCTION PROCEDURE PARTITION TYPE MVIEW" -namespace="." +namespace="/base" unit_cost=5 ora2pg -t SHOW_TABLE -c $namespace/config/ora2pg.conf > $namespace/reports/tables.txt From 7ce018db7e511d049eab33a1b7255a2d605e7d72 Mon Sep 17 00:00:00 2001 From: jcschaff Date: Fri, 21 Jun 2024 09:46:45 -0400 Subject: [PATCH 6/7] output from export_schema.sh --- docker/database/migration/README.md | 6 + docker/database/migration/export_schema.log | 932 ++++++++ .../migration/migv1/reports/columns.txt | 1446 +++++++++++++ .../migration/migv1/reports/report.html | 287 +++ .../migration/migv1/reports/tables.txt | 209 ++ .../functions/COMPAREKINETICS_function.sql | 38 + .../schema/functions/COUNTBIO_function.sql | 31 + .../schema/functions/COUNTMATH_function.sql | 32 + .../functions/COUNTSIMDATA_function.sql | 34 + .../schema/functions/COUNTSIM_function.sql | 34 + .../schema/functions/GETKINETICS_function.sql | 37 + .../schema/functions/GETMATHSIZE_function.sql | 32 + .../schema/functions/GETMATH_function.sql | 35 + .../functions/GETPHYSICSOPTION_function.sql | 45 + .../functions/GETTASKDESCRIPTION_function.sql | 37 + .../functions/GETVALENCETYPE_function.sql | 38 + .../schema/functions/POWERFACTOR_function.sql | 36 + .../migv1/schema/functions/function.sql | 21 + .../migv1/schema/packages/package.sql | 23 + .../toad_profiler/rollup_all_runs_package.sql | 27 + .../toad_profiler/rollup_run_package.sql | 59 + .../toad_profiler/rollup_unit_package.sql | 129 ++ .../COPYNEWMATH_TO_SCMATH_procedure.sql | 46 + .../COPYOLDMATH_TO_SCMATH_procedure.sql | 46 + .../COPYSCMATH_TO_OLDMATH_procedure.sql | 45 + .../migv1/schema/procedures/procedure.sql | 12 + .../schema/sequence_values/sequence_value.sql | 15 + .../migv1/schema/sequences/sequence.sql | 14 + .../migv1/schema/tables/CONSTRAINTS_table.sql | 599 ++++++ .../migv1/schema/tables/FKEYS_table.sql | 288 +++ .../migv1/schema/tables/INDEXES_table.sql | 126 ++ .../migration/migv1/schema/tables/table.sql | 1905 +++++++++++++++++ .../tablespaces/TBSP_INDEXES_tablespace.sql | 264 +++ .../migv1/schema/tablespaces/tablespace.sql | 178 ++ .../triggers/TCRIT_LOCK_TRIG_trigger.sql | 56 + .../schema/triggers/TC_LOCK_TRIG_trigger.sql | 54 + .../triggers/TRSLT_LOCK_TRIG_trigger.sql | 58 + .../schema/triggers/TS_LOCK_TRIG_trigger.sql | 38 + .../schema/triggers/UPDATE_LOGIN_trigger.sql | 28 + .../WEB_DOWNLOAD_EVENT_TRG_trigger.sql | 26 + .../migv1/schema/triggers/trigger.sql | 15 + .../schema/views/PUBLIC_SIMULATIONS_view.sql | 16 + .../schema/views/STAT_TOTAL_MODELS_view.sql | 18 + .../views/STAT_USERS_WITH_SIMULATION_view.sql | 17 + .../migration/migv1/schema/views/view.sql | 13 + .../functions/COMPAREKINETICS_function.sql | 26 + .../sources/functions/COUNTBIO_function.sql | 20 + .../sources/functions/COUNTMATH_function.sql | 21 + .../functions/COUNTSIMDATA_function.sql | 23 + .../sources/functions/COUNTSIM_function.sql | 23 + .../functions/GETKINETICS_function.sql | 25 + .../functions/GETMATHSIZE_function.sql | 20 + .../sources/functions/GETMATH_function.sql | 23 + .../functions/GETPHYSICSOPTION_function.sql | 33 + .../functions/GETTASKDESCRIPTION_function.sql | 25 + .../functions/GETVALENCETYPE_function.sql | 26 + .../functions/POWERFACTOR_function.sql | 25 + .../migv1/sources/functions/function.sql | 21 + .../migv1/sources/packages/package.sql | 16 + .../packages/toad_profiler_package.sql | 191 ++ .../COPYNEWMATH_TO_SCMATH_procedure.sql | 35 + .../COPYOLDMATH_TO_SCMATH_procedure.sql | 35 + .../COPYSCMATH_TO_OLDMATH_procedure.sql | 34 + .../migv1/sources/procedures/procedure.sql | 12 + .../triggers/TCRIT_LOCK_TRIG_trigger.sql | 48 + .../sources/triggers/TC_LOCK_TRIG_trigger.sql | 46 + .../triggers/TRSLT_LOCK_TRIG_trigger.sql | 50 + .../sources/triggers/TS_LOCK_TRIG_trigger.sql | 30 + .../sources/triggers/UPDATE_LOGIN_trigger.sql | 27 + .../WEB_DOWNLOAD_EVENT_TRG_trigger.sql | 25 + .../migv1/sources/triggers/trigger.sql | 15 + .../sources/views/PUBLIC_SIMULATIONS_view.sql | 16 + .../sources/views/STAT_TOTAL_MODELS_view.sql | 18 + .../views/STAT_USERS_WITH_SIMULATION_view.sql | 17 + .../migration/migv1/sources/views/view.sql | 13 + 75 files changed, 8384 insertions(+) create mode 100644 docker/database/migration/export_schema.log create mode 100644 docker/database/migration/migv1/reports/columns.txt create mode 100644 docker/database/migration/migv1/reports/report.html create mode 100644 docker/database/migration/migv1/reports/tables.txt create mode 100644 docker/database/migration/migv1/schema/functions/COMPAREKINETICS_function.sql create mode 100644 docker/database/migration/migv1/schema/functions/COUNTBIO_function.sql create mode 100644 docker/database/migration/migv1/schema/functions/COUNTMATH_function.sql create mode 100644 docker/database/migration/migv1/schema/functions/COUNTSIMDATA_function.sql create mode 100644 docker/database/migration/migv1/schema/functions/COUNTSIM_function.sql create mode 100644 docker/database/migration/migv1/schema/functions/GETKINETICS_function.sql create mode 100644 docker/database/migration/migv1/schema/functions/GETMATHSIZE_function.sql create mode 100644 docker/database/migration/migv1/schema/functions/GETMATH_function.sql create mode 100644 docker/database/migration/migv1/schema/functions/GETPHYSICSOPTION_function.sql create mode 100644 docker/database/migration/migv1/schema/functions/GETTASKDESCRIPTION_function.sql create mode 100644 docker/database/migration/migv1/schema/functions/GETVALENCETYPE_function.sql create mode 100644 docker/database/migration/migv1/schema/functions/POWERFACTOR_function.sql create mode 100644 docker/database/migration/migv1/schema/functions/function.sql create mode 100644 docker/database/migration/migv1/schema/packages/package.sql create mode 100644 docker/database/migration/migv1/schema/packages/toad_profiler/rollup_all_runs_package.sql create mode 100644 docker/database/migration/migv1/schema/packages/toad_profiler/rollup_run_package.sql create mode 100644 docker/database/migration/migv1/schema/packages/toad_profiler/rollup_unit_package.sql create mode 100644 docker/database/migration/migv1/schema/procedures/COPYNEWMATH_TO_SCMATH_procedure.sql create mode 100644 docker/database/migration/migv1/schema/procedures/COPYOLDMATH_TO_SCMATH_procedure.sql create mode 100644 docker/database/migration/migv1/schema/procedures/COPYSCMATH_TO_OLDMATH_procedure.sql create mode 100644 docker/database/migration/migv1/schema/procedures/procedure.sql create mode 100644 docker/database/migration/migv1/schema/sequence_values/sequence_value.sql create mode 100644 docker/database/migration/migv1/schema/sequences/sequence.sql create mode 100644 docker/database/migration/migv1/schema/tables/CONSTRAINTS_table.sql create mode 100644 docker/database/migration/migv1/schema/tables/FKEYS_table.sql create mode 100644 docker/database/migration/migv1/schema/tables/INDEXES_table.sql create mode 100644 docker/database/migration/migv1/schema/tables/table.sql create mode 100644 docker/database/migration/migv1/schema/tablespaces/TBSP_INDEXES_tablespace.sql create mode 100644 docker/database/migration/migv1/schema/tablespaces/tablespace.sql create mode 100644 docker/database/migration/migv1/schema/triggers/TCRIT_LOCK_TRIG_trigger.sql create mode 100644 docker/database/migration/migv1/schema/triggers/TC_LOCK_TRIG_trigger.sql create mode 100644 docker/database/migration/migv1/schema/triggers/TRSLT_LOCK_TRIG_trigger.sql create mode 100644 docker/database/migration/migv1/schema/triggers/TS_LOCK_TRIG_trigger.sql create mode 100644 docker/database/migration/migv1/schema/triggers/UPDATE_LOGIN_trigger.sql create mode 100644 docker/database/migration/migv1/schema/triggers/WEB_DOWNLOAD_EVENT_TRG_trigger.sql create mode 100644 docker/database/migration/migv1/schema/triggers/trigger.sql create mode 100644 docker/database/migration/migv1/schema/views/PUBLIC_SIMULATIONS_view.sql create mode 100644 docker/database/migration/migv1/schema/views/STAT_TOTAL_MODELS_view.sql create mode 100644 docker/database/migration/migv1/schema/views/STAT_USERS_WITH_SIMULATION_view.sql create mode 100644 docker/database/migration/migv1/schema/views/view.sql create mode 100644 docker/database/migration/migv1/sources/functions/COMPAREKINETICS_function.sql create mode 100644 docker/database/migration/migv1/sources/functions/COUNTBIO_function.sql create mode 100644 docker/database/migration/migv1/sources/functions/COUNTMATH_function.sql create mode 100644 docker/database/migration/migv1/sources/functions/COUNTSIMDATA_function.sql create mode 100644 docker/database/migration/migv1/sources/functions/COUNTSIM_function.sql create mode 100644 docker/database/migration/migv1/sources/functions/GETKINETICS_function.sql create mode 100644 docker/database/migration/migv1/sources/functions/GETMATHSIZE_function.sql create mode 100644 docker/database/migration/migv1/sources/functions/GETMATH_function.sql create mode 100644 docker/database/migration/migv1/sources/functions/GETPHYSICSOPTION_function.sql create mode 100644 docker/database/migration/migv1/sources/functions/GETTASKDESCRIPTION_function.sql create mode 100644 docker/database/migration/migv1/sources/functions/GETVALENCETYPE_function.sql create mode 100644 docker/database/migration/migv1/sources/functions/POWERFACTOR_function.sql create mode 100644 docker/database/migration/migv1/sources/functions/function.sql create mode 100644 docker/database/migration/migv1/sources/packages/package.sql create mode 100644 docker/database/migration/migv1/sources/packages/toad_profiler_package.sql create mode 100644 docker/database/migration/migv1/sources/procedures/COPYNEWMATH_TO_SCMATH_procedure.sql create mode 100644 docker/database/migration/migv1/sources/procedures/COPYOLDMATH_TO_SCMATH_procedure.sql create mode 100644 docker/database/migration/migv1/sources/procedures/COPYSCMATH_TO_OLDMATH_procedure.sql create mode 100644 docker/database/migration/migv1/sources/procedures/procedure.sql create mode 100644 docker/database/migration/migv1/sources/triggers/TCRIT_LOCK_TRIG_trigger.sql create mode 100644 docker/database/migration/migv1/sources/triggers/TC_LOCK_TRIG_trigger.sql create mode 100644 docker/database/migration/migv1/sources/triggers/TRSLT_LOCK_TRIG_trigger.sql create mode 100644 docker/database/migration/migv1/sources/triggers/TS_LOCK_TRIG_trigger.sql create mode 100644 docker/database/migration/migv1/sources/triggers/UPDATE_LOGIN_trigger.sql create mode 100644 docker/database/migration/migv1/sources/triggers/WEB_DOWNLOAD_EVENT_TRG_trigger.sql create mode 100644 docker/database/migration/migv1/sources/triggers/trigger.sql create mode 100644 docker/database/migration/migv1/sources/views/PUBLIC_SIMULATIONS_view.sql create mode 100644 docker/database/migration/migv1/sources/views/STAT_TOTAL_MODELS_view.sql create mode 100644 docker/database/migration/migv1/sources/views/STAT_USERS_WITH_SIMULATION_view.sql create mode 100644 docker/database/migration/migv1/sources/views/view.sql diff --git a/docker/database/migration/README.md b/docker/database/migration/README.md index cd35f200f6..5efa1fa0d8 100644 --- a/docker/database/migration/README.md +++ b/docker/database/migration/README.md @@ -1,6 +1,8 @@ ### Initialize see https://www.siriusopensource.com/en-us/blog/oracle-postgresql-migration-using-ora2pg +#### Create a new migration project + ```bash docker run --platform linux/amd64 -it \ -v /Users/jimschaff/Documents/workspace/vcell/docker/database/migration:/base \ @@ -8,6 +10,8 @@ docker run --platform linux/amd64 -it \ ora2pg --project_base /base --init_project migv1 ``` +#### Estimate costs of migration + ```bash docker run --platform linux/amd64 -it \ -w /base \ @@ -16,6 +20,8 @@ docker run --platform linux/amd64 -it \ ora2pg --type show_report --estimate_cost --conf config/ora2pg_all.conf --basedir data --dump_as_html > ora2pg.html ``` +#### Run export_schema.sh + ```bash docker run --platform linux/amd64 -it \ -w /base \ diff --git a/docker/database/migration/export_schema.log b/docker/database/migration/export_schema.log new file mode 100644 index 0000000000..8d1f2949e3 --- /dev/null +++ b/docker/database/migration/export_schema.log @@ -0,0 +1,932 @@ +Reporting Oracle Content... +Looking at Oracle server version... +Looking at Oracle database size... +Looking at Oracle defined objects... + Found 13 valid and 0 invalid object FUNCTION + Found 141 valid and 0 invalid object INDEX + Found 1 valid and 0 invalid object PACKAGE + Found 1 valid and 0 invalid object PACKAGE BODY + Found 3 valid and 0 invalid object PROCEDURE + Found 4 valid and 0 invalid object SEQUENCE + Found 166 valid and 0 invalid object TABLE + Found 6 valid and 0 invalid object TRIGGER + Found 3 valid and 0 invalid object VIEW +Looking at table definition... +Looking at views definition... +Looking at database links... + Found 0 DATABASE LINK. +Looking at jobs... + Found 0 JOB. +Looking at synonyms... + Found 0 SYNONYM. +Looking at global temporary table... + Found 1 GLOBAL TEMPORARY TABLE. +Looking at encrypted columns... + Found 0 encrypted column. +Looking at identity columns... + Found 0 identity column. +Building report for object DATABASE LINK... +Building report for object FUNCTION... +Building report for object GLOBAL TEMPORARY TABLE... +Building report for object INDEX... +Building report for object JOB... +Building report for object PACKAGE BODY... +Building report for object PROCEDURE... +Building report for object SEQUENCE... +Building report for object SYNONYM... +Building report for object TABLE... +Building report for object TRIGGER... +Building report for object VIEW... +Running: ora2pg -p -t SEQUENCE -o sequence.sql -b /base/schema/sequences -c /base/config/ora2pg.conf +[2024-06-21 09:25:28] Ora2Pg version: 24.3 +[2024-06-21 09:25:28] Export type: SEQUENCE +[2024-06-21 09:25:28] Geometry export type: INTERNAL +[2024-06-21 09:25:28] ORACLE_HOME = /usr/lib/oracle/12.2/client64 +[2024-06-21 09:25:28] NLS_LANG = AMERICAN_AMERICA.AL32UTF8 +[2024-06-21 09:25:28] NLS_NCHAR = AL32UTF8 +[2024-06-21 09:25:28] Trying to connect to database: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 +[2024-06-21 09:25:29] Isolation level: SET TRANSACTION ISOLATION LEVEL SERIALIZABLE +[2024-06-21 09:25:29] Force Oracle to compile schema VCELL before code extraction +[2024-06-21 09:25:29] Retrieving sequences information... +[2024-06-21 09:25:29] Add sequences definition... +Running: ora2pg -p -t SEQUENCE_VALUES -o sequence_value.sql -b /base/schema/sequence_values -c /base/config/ora2pg.conf +[2024-06-21 09:25:30] Ora2Pg version: 24.3 +[2024-06-21 09:25:30] Export type: SEQUENCE_VALUES +[2024-06-21 09:25:30] Geometry export type: INTERNAL +[2024-06-21 09:25:30] ORACLE_HOME = /usr/lib/oracle/12.2/client64 +[2024-06-21 09:25:30] NLS_LANG = AMERICAN_AMERICA.AL32UTF8 +[2024-06-21 09:25:30] NLS_NCHAR = AL32UTF8 +[2024-06-21 09:25:30] Trying to connect to database: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 +[2024-06-21 09:25:30] Isolation level: SET TRANSACTION ISOLATION LEVEL SERIALIZABLE +[2024-06-21 09:25:30] Force Oracle to compile schema VCELL before code extraction +[2024-06-21 09:25:31] Retrieving sequences information... +[2024-06-21 09:25:31] Add sequences last values... +Running: ora2pg -p -t TABLE -o table.sql -b /base/schema/tables -c /base/config/ora2pg.conf +[2024-06-21 09:25:31] Ora2Pg version: 24.3 +[2024-06-21 09:25:31] Export type: TABLE +[2024-06-21 09:25:31] Geometry export type: INTERNAL +[2024-06-21 09:25:31] ORACLE_HOME = /usr/lib/oracle/12.2/client64 +[2024-06-21 09:25:31] NLS_LANG = AMERICAN_AMERICA.AL32UTF8 +[2024-06-21 09:25:31] NLS_NCHAR = AL32UTF8 +[2024-06-21 09:25:31] Trying to connect to database: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 +[2024-06-21 09:25:31] Isolation level: SET TRANSACTION ISOLATION LEVEL SERIALIZABLE +[2024-06-21 09:25:31] Force Oracle to compile schema VCELL before code extraction +[2024-06-21 09:25:35] Retrieving table information... +[2024-06-21 09:25:35] Collecting 169 tables in DBA_OBJECTS took: 0 wallclock secs ( 0.01 usr + 0.00 sys = 0.01 CPU) +[2024-06-21 09:25:37] Collecting 166 tables comments in DBA_TAB_COMMENTS took: 2 wallclock secs ( 0.00 usr + 0.00 sys = 0.00 CPU) +[2024-06-21 09:25:37] Collecting 165 tables information in DBA_TABLES took: 0 wallclock secs ( 0.01 usr + 0.00 sys = 0.01 CPU) +[2024-06-21 09:25:37] Retrieving index information... +[2024-06-21 09:25:53] Collecting 290 indexes in DBA_INDEXES took: 16 wallclock secs ( 0.01 usr + 0.00 sys = 0.01 CPU) +[2024-06-21 09:25:53] Retrieving columns information... +[2024-06-21 09:25:53] Collecting column information for table ... +[2024-06-21 09:25:53] DEBUG, +SELECT A.COLUMN_NAME, A.DATA_TYPE, A.DATA_LENGTH, A.NULLABLE, A.DATA_DEFAULT, + A.DATA_PRECISION, A.DATA_SCALE, A.CHAR_LENGTH, A.TABLE_NAME, A.OWNER +FROM DBA_TAB_COLUMNS A +WHERE A.TABLE_NAME NOT LIKE 'BIN$%' AND A.OWNER='VCELL' AND ( NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?)) +ORDER BY A.COLUMN_ID +[2024-06-21 09:26:14] Collecting 1229 columns in DBA_INDEXES took: 21 wallclock secs ( 0.24 usr + 0.10 sys = 0.34 CPU) +[2024-06-21 09:26:14] Retrieving comments information... +[2024-06-21 09:26:15] Retrieving foreign keys information... +[2024-06-21 09:26:29] Retrieving unique keys information... +[2024-06-21 09:26:29] Retrieving check constraints information... +[2024-06-21 09:26:38] [1] Scanning table ATTRMAPPING (0 rows)... +[2024-06-21 09:26:38] [2] Scanning table AUTOCOPYMAPPING (0 rows)... +[2024-06-21 09:26:38] [3] Scanning table BACKUP_VC_USERINFO (17677 rows)... +[2024-06-21 09:26:38] [4] Scanning table BAD_GEOMETRIES (64 rows)... +[2024-06-21 09:26:38] [5] Scanning table BAD_REGIONS (28 rows)... +[2024-06-21 09:26:38] [6] Scanning table BAD_VOLFRACT (427 rows)... +[2024-06-21 09:26:38] [7] Scanning table CONTEXT (1 rows)... +[2024-06-21 09:26:38] [8] Scanning table CONTEXTMODIFICATION (1 rows)... +[2024-06-21 09:26:38] [9] Scanning table DANTEMP (1 rows)... +[2024-06-21 09:26:38] [10] Scanning table FILEDATAPARTS (0 rows)... +[2024-06-21 09:26:38] [11] Scanning table FILES (0 rows)... +[2024-06-21 09:26:38] [12] Scanning table FILESCONTENT (0 rows)... +[2024-06-21 09:26:38] [13] Scanning table FLUX_MODEL_INDICES (32764 rows)... +[2024-06-21 09:26:38] [14] Scanning table FLUX_MODEL_INDICES_RP (32764 rows)... +[2024-06-21 09:26:38] [15] Scanning table FLUX_MODEL_PROBLEM_XML (309 rows)... +[2024-06-21 09:26:38] [16] Scanning table FOLDER (2 rows)... +[2024-06-21 09:26:38] [17] Scanning table IMAGEDATAPARTS (0 rows)... +[2024-06-21 09:26:38] [18] Scanning table IMAGES (0 rows)... +[2024-06-21 09:26:38] [19] Scanning table LOADMODELSTAT (3568 rows)... +[2024-06-21 09:26:38] [20] Scanning table LOADMODELSTAT_BACKUP (36336 rows)... +[2024-06-21 09:26:38] [21] Scanning table MAILBOUNCE (580 rows)... +[2024-06-21 09:26:38] [22] Scanning table MAILBOUNCE_OLD (198 rows)... +[2024-06-21 09:26:38] [23] Scanning table MAILLIST (15239 rows)... +[2024-06-21 09:26:38] [24] Scanning table MAILLIST_2013 (16390 rows)... +[2024-06-21 09:26:38] [25] Scanning table MAILLIST_2013_07_29 (16390 rows)... +[2024-06-21 09:26:38] [26] Scanning table MAILLIST_2014_04_30 (17262 rows)... +[2024-06-21 09:26:38] [27] Scanning table MAILLIST_2014_10_22 (17726 rows)... +[2024-06-21 09:26:38] [28] Scanning table MAILLIST_2015_01_08 (18036 rows)... +[2024-06-21 09:26:38] [29] Scanning table MAILLIST_2015_06_09 (18400 rows)... +[2024-06-21 09:26:38] [30] Scanning table MAILLIST_2015_07_17 (18467 rows)... +[2024-06-21 09:26:38] [31] Scanning table MAILLIST_2016_02_01 (19085 rows)... +[2024-06-21 09:26:38] [32] Scanning table MAP (0 rows)... +[2024-06-21 09:26:38] [33] Scanning table MAPITEM (0 rows)... +[2024-06-21 09:26:38] [34] Scanning table MAPITEMATTRIBUTE (0 rows)... +[2024-06-21 09:26:38] [35] Scanning table MATH_HYBRID (660 rows)... +[2024-06-21 09:26:38] [36] Scanning table MISSINGDATA (157215 rows)... +[2024-06-21 09:26:38] [37] Scanning table NOMENCLATURE (0 rows)... +[2024-06-21 09:26:38] [38] Scanning table NOMENCLATUREATTRS (0 rows)... +[2024-06-21 09:26:38] [39] Scanning table OBJECTTYPE (15 rows)... +[2024-06-21 09:26:38] [40] Scanning table OBJECTTYPE2OBJECTTYPE (19 rows)... +[2024-06-21 09:26:38] [41] Scanning table PLAN_TABLE (123 rows)... +[2024-06-21 09:26:38] [42] Scanning table PLSQL_PROFILER_DATA (0 rows)... +[2024-06-21 09:26:38] [43] Scanning table PLSQL_PROFILER_RUNS (0 rows)... +[2024-06-21 09:26:38] [44] Scanning table PLSQL_PROFILER_UNITS (0 rows)... +[2024-06-21 09:26:38] [45] Scanning table PROPERTY (61 rows)... +[2024-06-21 09:26:38] [46] Scanning table PROPERTY2OBJECTTYPE (154 rows)... +[2024-06-21 09:26:38] [47] Scanning table PUBLICATIONTEMP (168 rows)... +[2024-06-21 09:26:38] [48] Scanning table STOCHTEST (111906 rows)... +[2024-06-21 09:26:38] [49] Scanning table STOCHTESTCOMPARE (2137 rows)... +[2024-06-21 09:26:38] [50] Scanning table STOCHTESTCOMPARE_2015_12_08 (1867 rows)... +[2024-06-21 09:26:38] [51] Scanning table STOCHTESTCOMPARE_2016_08_26 (1832 rows)... +[2024-06-21 09:26:38] [52] Scanning table STOCHTESTCOMPARE_2016_09_21 (2233 rows)... +[2024-06-21 09:26:38] [53] Scanning table STOCHTESTRUN (4274 rows)... +[2024-06-21 09:26:38] [54] Scanning table STOCHTESTRUN_2016_08_26 (3664 rows)... +[2024-06-21 09:26:38] [55] Scanning table STOCHTESTRUN_2016_09_21 (4466 rows)... +[2024-06-21 09:26:38] [56] Scanning table STOCHTESTTEMP (172 rows)... +[2024-06-21 09:26:38] [57] Scanning table STOCHTEST_2016_08_26 (106753 rows)... +[2024-06-21 09:26:38] [58] Scanning table STOCHTEST_BACKUP (106110 rows)... +[2024-06-21 09:26:38] [59] Scanning table STOCHTEST_NEWIDS (3509 rows)... +[2024-06-21 09:26:38] [60] Scanning table TEMPSCREF (2 rows)... +[2024-06-21 09:26:38] [61] Scanning table TEMP_DBSPECIES (363 rows)... +[2024-06-21 09:26:38] [62] Scanning table TEMP_SIMCONTEXTSTAT2 (10236 rows)... +[2024-06-21 09:26:38] [63] Scanning table TEMP_SIMSTAT (31649 rows)... +[2024-06-21 09:26:38] [64] Scanning table TEMP_USERS (332 rows)... +[2024-06-21 09:26:38] [65] Scanning table VC_ANALYSISTASK (18241 rows)... +[2024-06-21 09:26:38] [66] Scanning table VC_ANNOUNCE (2 rows)... +[2024-06-21 09:26:38] [67] Scanning table VC_APIACCESSTOKEN (7912069 rows)... +[2024-06-21 09:26:38] [68] Scanning table VC_APICLIENT (3 rows)... +[2024-06-21 09:26:38] [69] Scanning table VC_APPLICATIONMATH (13548 rows)... +[2024-06-21 09:26:38] [70] Scanning table VC_AVAILABLE (5 rows)... +[2024-06-21 09:26:38] [71] Scanning table VC_BIOMODEL (88279 rows)... +[2024-06-21 09:26:38] [72] Scanning table VC_BIOMODELSIM (651800 rows)... +[2024-06-21 09:26:38] [73] Scanning table VC_BIOMODELSIMCONTEXT (190338 rows)... +[2024-06-21 09:26:38] [74] Scanning table VC_BIOMODELXML (87679 rows)... +[2024-06-21 09:26:38] [75] Scanning table VC_BIOMODELXML_BACKUP (1 rows)... +[2024-06-21 09:26:38] [76] Scanning table VC_BROWSEDATA (20597 rows)... +[2024-06-21 09:26:38] [77] Scanning table VC_CELLTYPE (1 rows)... +[2024-06-21 09:26:38] [78] Scanning table VC_COMPOUND (10788 rows)... +[2024-06-21 09:26:38] [79] Scanning table VC_COMPOUNDALIAS (16454 rows)... +[2024-06-21 09:26:38] [80] Scanning table VC_CURVE (4 rows)... +[2024-06-21 09:26:38] [81] Scanning table VC_DATASYMBOL (517 rows)... +[2024-06-21 09:26:38] [82] Scanning table VC_DBSPECIES (920 rows)... +[2024-06-21 09:26:38] [83] Scanning table VC_DEVELOPER (6 rows)... +[2024-06-21 09:26:38] [84] Scanning table VC_DIAGRAM (242666 rows)... +[2024-06-21 09:26:38] [85] Scanning table VC_ENZYME (3805 rows)... +[2024-06-21 09:26:38] [86] Scanning table VC_ENZYMEALIAS (16713 rows)... +[2024-06-21 09:26:38] [87] Scanning table VC_ENZYMEREACTION (25698 rows)... +[2024-06-21 09:26:38] [88] Scanning table VC_EXTERNALDATA (1141 rows)... +[2024-06-21 09:26:38] [89] Scanning table VC_FILAMENT (4 rows)... +[2024-06-21 09:26:38] [90] Scanning table VC_GEOMETRICREGION (3396466 rows)... +[2024-06-21 09:26:38] [91] Scanning table VC_GEOMETRY (94654 rows)... +[2024-06-21 09:26:38] [92] Scanning table VC_GEOMEXTENT (358970 rows)... +[2024-06-21 09:26:38] [93] Scanning table VC_GLOBALMODELPARAM (25258 rows)... +[2024-06-21 09:26:38] [94] Scanning table VC_GROUP (10573 rows)... +[2024-06-21 09:26:38] [95] Scanning table VC_IMAGE (20631 rows)... +[2024-06-21 09:26:38] [96] Scanning table VC_IMAGEDATA (20631 rows)... +[2024-06-21 09:26:38] [97] Scanning table VC_IMAGEREGION (74412 rows)... +[2024-06-21 09:26:38] [98] Scanning table VC_LOGIN (2839359 rows)... +[2024-06-21 09:26:38] [99] Scanning table VC_MATH (174264 rows)... +[2024-06-21 09:26:38] [100] Scanning table VC_MATHDESCEXTDATA (1805 rows)... +[2024-06-21 09:26:38] [101] Scanning table VC_MATHGEN (17033 rows)... +[2024-06-21 09:26:38] [102] Scanning table VC_MATHMODEL (23997 rows)... +[2024-06-21 09:26:38] [103] Scanning table VC_MATHMODELSIM (168608 rows)... +[2024-06-21 09:26:38] [104] Scanning table VC_MATHMODELXML (24003 rows)... +[2024-06-21 09:26:38] [105] Scanning table VC_METADATA (62561 rows)... +[2024-06-21 09:26:38] [106] Scanning table VC_MIRIAM (79017 rows)... +[2024-06-21 09:26:38] [107] Scanning table VC_MODEL (67863 rows)... +[2024-06-21 09:26:38] [108] Scanning table VC_MODELSC (1082587 rows)... +[2024-06-21 09:26:38] [109] Scanning table VC_MODELSTRUCT (242704 rows)... +[2024-06-21 09:26:38] [110] Scanning table VC_PERMISSION (260585 rows)... +[2024-06-21 09:26:38] [111] Scanning table VC_PROTEIN (178940 rows)... +[2024-06-21 09:26:38] [112] Scanning table VC_PROTEINALIAS (178940 rows)... +[2024-06-21 09:26:38] [113] Scanning table VC_PUBLICATION (231 rows)... +[2024-06-21 09:26:38] [114] Scanning table VC_PUBLICATIONMODELLINK (342 rows)... +[2024-06-21 09:26:38] [115] Scanning table VC_REACTIONSPEC (3652007 rows)... +[2024-06-21 09:26:38] [116] Scanning table VC_REACTPART (3332216 rows)... +[2024-06-21 09:26:38] [117] Scanning table VC_REACTSTEP (1164256 rows)... +[2024-06-21 09:26:38] [118] Scanning table VC_RSETEXPORT (2176 rows)... +[2024-06-21 09:26:38] [119] Scanning table VC_RSETMETADATA (180115 rows)... +[2024-06-21 09:26:38] [120] Scanning table VC_SERVICE (63 rows)... +[2024-06-21 09:26:38] [121] Scanning table VC_SIMCONTEXT (164264 rows)... +[2024-06-21 09:26:38] [122] Scanning table VC_SIMCONTEXTSTAT (0 rows)... +[2024-06-21 09:26:38] [123] Scanning table VC_SIMCONTEXTSTAT2 (71061 rows)... +[2024-06-21 09:26:38] [124] Scanning table VC_SIMCONTEXTSTAT2_2011_11_03 (63095 rows)... +[2024-06-21 09:26:38] [125] Scanning table VC_SIMCONTEXTSTAT2_2012_08_09 (63095 rows)... +[2024-06-21 09:26:38] [126] Scanning table VC_SIMCONTEXTSTAT2_BACKUP (13375 rows)... +[2024-06-21 09:26:38] [127] Scanning table VC_SIMCONTEXTSTAT2_BUILD478 (14502 rows)... +[2024-06-21 09:26:38] [128] Scanning table VC_SIMCONTEXTSTAT2_BUILD478_F1 (14482 rows)... +[2024-06-21 09:26:38] [129] Scanning table VC_SIMCONTEXTSTAT_COPY (13375 rows)... +[2024-06-21 09:26:38] [130] Scanning table VC_SIMCONTEXTSTAT_OLDR3 (3316 rows)... +[2024-06-21 09:26:38] [131] Scanning table VC_SIMDELFROMDISK (3885907 rows)... +[2024-06-21 09:26:38] [132] Scanning table VC_SIMJOB_WITHDATA (434623 rows)... +[2024-06-21 09:26:38] [133] Scanning table VC_SIMMESHSPEC (15212 rows)... +[2024-06-21 09:26:38] [134] Scanning table VC_SIMSTAT (273890 rows)... +[2024-06-21 09:26:38] [135] Scanning table VC_SIMSTAT_2012_08_09 (49003 rows)... +[2024-06-21 09:26:38] [136] Scanning table VC_SIMSTAT_BACKUP (34588 rows)... +[2024-06-21 09:26:38] [137] Scanning table VC_SIMSTAT_BACKUP2 (42791 rows)... +[2024-06-21 09:26:38] [138] Scanning table VC_SIMULATION (709564 rows)... +[2024-06-21 09:26:38] [139] Scanning table VC_SIMULATIONJOB (1285781 rows)... +[2024-06-21 09:26:38] [140] Scanning table VC_SOFTWAREVERSION (1238466 rows)... +[2024-06-21 09:26:38] [141] Scanning table VC_SPECIALUSERS (35 rows)... +[2024-06-21 09:26:38] [142] Scanning table VC_SPECIES (10375753 rows)... +[2024-06-21 09:26:38] [143] Scanning table VC_SPECIESCONTEXTSPEC (3374395 rows)... +[2024-06-21 09:26:38] [144] Scanning table VC_SPECIESCONTEXTSPEC_TEMP (0 rows)... +[2024-06-21 09:26:38] [145] Scanning table VC_STIMULUS (30913 rows)... +[2024-06-21 09:26:38] [146] Scanning table VC_STRUCT (10722547 rows)... +[2024-06-21 09:26:38] [147] Scanning table VC_STRUCTMAPPING (620975 rows)... +[2024-06-21 09:26:38] [148] Scanning table VC_SUBVOLUME (180797 rows)... +[2024-06-21 09:26:38] [149] Scanning table VC_SURFACECLASS (56973 rows)... +[2024-06-21 09:26:38] [150] Scanning table VC_SURFACEDESC (59656 rows)... +[2024-06-21 09:26:38] [151] Scanning table VC_TASKDESC (28172 rows)... +[2024-06-21 09:26:38] [152] Scanning table VC_TFTESTCASE (15026 rows)... +[2024-06-21 09:26:38] [153] Scanning table VC_TFTESTCRITERIA (49032 rows)... +[2024-06-21 09:26:38] [154] Scanning table VC_TFTESTRESULT (165889 rows)... +[2024-06-21 09:26:38] [155] Scanning table VC_TFTESTSUITE (109 rows)... +[2024-06-21 09:26:38] [156] Scanning table VC_USERIDENTITY (8 rows)... +[2024-06-21 09:26:38] [157] Scanning table VC_USERINFO (25826 rows)... +[2024-06-21 09:26:38] [158] Scanning table VC_USERLOG (291808 rows)... +[2024-06-21 09:26:38] [159] Scanning table VC_USERLOGININFO (32313 rows)... +[2024-06-21 09:26:38] [160] Scanning table VC_USERPREF (17295 rows)... +[2024-06-21 09:26:38] [161] Scanning table VC_USERSTAT (25369 rows)... +[2024-06-21 09:26:38] [162] Scanning table WEB_DOWNLOAD_EVENT (494 rows)... +[2024-06-21 09:26:38] [163] Scanning table WEB_DOWNLOAD_ITEM (1 rows)... +[2024-06-21 09:26:38] [164] Scanning table WEB_DOWNLOAD_TYPE (3 rows)... +[2024-06-21 09:26:38] [165] Scanning table XUTEMP (1 rows)... +[2024-06-21 09:26:38] Retrieving table partitioning information... +[2024-06-21 09:26:44] Exporting tables... +[2024-06-21 09:26:44] Dumping table ATTRMAPPING... +[2024-06-21 09:26:44] Dumping table AUTOCOPYMAPPING... +[2024-06-21 09:26:44] Dumping table BACKUP_VC_USERINFO... +[2024-06-21 09:26:44] Dumping table BAD_GEOMETRIES... +[2024-06-21 09:26:44] Dumping table BAD_REGIONS... +[2024-06-21 09:26:44] Dumping table BAD_VOLFRACT... +[2024-06-21 09:26:44] Dumping table CONTEXT... +[2024-06-21 09:26:44] Dumping table CONTEXTMODIFICATION... +[2024-06-21 09:26:44] Dumping table DANTEMP... +[2024-06-21 09:26:44] Dumping table FILEDATAPARTS... +[2024-06-21 09:26:44] Dumping table FILES... +[2024-06-21 09:26:44] Dumping table FILESCONTENT... +[2024-06-21 09:26:44] Dumping table FLUX_MODEL_INDICES... +[2024-06-21 09:26:44] Dumping table FLUX_MODEL_INDICES_RP... +[2024-06-21 09:26:44] Dumping table FLUX_MODEL_PROBLEM_XML... +[2024-06-21 09:26:44] Dumping table FOLDER... +[2024-06-21 09:26:44] Dumping table IMAGEDATAPARTS... +[2024-06-21 09:26:44] Dumping table IMAGES... +[2024-06-21 09:26:44] Dumping table LOADMODELSTAT... +[2024-06-21 09:26:44] Dumping table LOADMODELSTAT_BACKUP... +[2024-06-21 09:26:44] Dumping table MAILBOUNCE... +[2024-06-21 09:26:44] Dumping table MAILBOUNCE_OLD... +[2024-06-21 09:26:44] Dumping table MAILLIST... +[2024-06-21 09:26:44] Dumping table MAILLIST_2013... +[2024-06-21 09:26:44] Dumping table MAILLIST_2013_07_29... +[2024-06-21 09:26:44] Dumping table MAILLIST_2014_04_30... +[2024-06-21 09:26:44] Dumping table MAILLIST_2014_10_22... +[2024-06-21 09:26:44] Dumping table MAILLIST_2015_01_08... +[2024-06-21 09:26:44] Dumping table MAILLIST_2015_06_09... +[2024-06-21 09:26:44] Dumping table MAILLIST_2015_07_17... +[2024-06-21 09:26:44] Dumping table MAILLIST_2016_02_01... +[2024-06-21 09:26:44] Dumping table MAP... +[2024-06-21 09:26:44] Dumping table MAPITEM... +[2024-06-21 09:26:44] Dumping table MAPITEMATTRIBUTE... +[2024-06-21 09:26:44] Dumping table MATH_HYBRID... +[2024-06-21 09:26:44] Dumping table MISSINGDATA... +[2024-06-21 09:26:44] Dumping table NOMENCLATURE... +[2024-06-21 09:26:44] Dumping table NOMENCLATUREATTRS... +[2024-06-21 09:26:44] Dumping table OBJECTTYPE... +[2024-06-21 09:26:44] Dumping table OBJECTTYPE2OBJECTTYPE... +[2024-06-21 09:26:44] Dumping table PLAN_TABLE... +[2024-06-21 09:26:44] Dumping table PLSQL_PROFILER_DATA... +[2024-06-21 09:26:44] Dumping table PLSQL_PROFILER_RUNS... +[2024-06-21 09:26:44] Dumping table PLSQL_PROFILER_UNITS... +[2024-06-21 09:26:44] Dumping table PROPERTY... +[2024-06-21 09:26:44] Dumping table PROPERTY2OBJECTTYPE... +[2024-06-21 09:26:44] Dumping table PUBLICATIONTEMP... +[2024-06-21 09:26:44] Dumping table STOCHTEST... +[2024-06-21 09:26:44] Dumping table STOCHTESTCOMPARE... +[2024-06-21 09:26:44] Dumping table STOCHTESTCOMPARE_2015_12_08... +[2024-06-21 09:26:44] Dumping table STOCHTESTCOMPARE_2016_08_26... +[2024-06-21 09:26:44] Dumping table STOCHTESTCOMPARE_2016_09_21... +[2024-06-21 09:26:44] Dumping table STOCHTESTRUN... +[2024-06-21 09:26:44] Dumping table STOCHTESTRUN_2016_08_26... +[2024-06-21 09:26:44] Dumping table STOCHTESTRUN_2016_09_21... +[2024-06-21 09:26:44] Dumping table STOCHTESTTEMP... +[2024-06-21 09:26:44] Dumping table STOCHTEST_2016_08_26... +[2024-06-21 09:26:44] Dumping table STOCHTEST_BACKUP... +[2024-06-21 09:26:44] Dumping table STOCHTEST_NEWIDS... +[2024-06-21 09:26:44] Dumping table TEMPSCREF... +[2024-06-21 09:26:44] Dumping table TEMP_DBSPECIES... +[2024-06-21 09:26:44] Dumping table TEMP_SIMCONTEXTSTAT2... +[2024-06-21 09:26:44] Dumping table TEMP_SIMSTAT... +[2024-06-21 09:26:44] Dumping table TEMP_USERS... +[2024-06-21 09:26:44] Dumping table VC_ANALYSISTASK... +[2024-06-21 09:26:44] Dumping table VC_ANNOUNCE... +[2024-06-21 09:26:44] Dumping table VC_APIACCESSTOKEN... +[2024-06-21 09:26:44] Dumping table VC_APICLIENT... +[2024-06-21 09:26:44] Dumping table VC_APPLICATIONMATH... +[2024-06-21 09:26:44] Dumping table VC_AVAILABLE... +[2024-06-21 09:26:44] Dumping table VC_BIOMODEL... +[2024-06-21 09:26:44] Dumping table VC_BIOMODELSIM... +[2024-06-21 09:26:44] Dumping table VC_BIOMODELSIMCONTEXT... +[2024-06-21 09:26:44] Dumping table VC_BIOMODELXML... +[2024-06-21 09:26:44] Dumping table VC_BIOMODELXML_BACKUP... +[2024-06-21 09:26:44] Dumping table VC_BROWSEDATA... +[2024-06-21 09:26:44] Dumping table VC_CELLTYPE... +[2024-06-21 09:26:44] Dumping table VC_COMPOUND... +[2024-06-21 09:26:44] Dumping table VC_COMPOUNDALIAS... +[2024-06-21 09:26:44] Dumping table VC_CURVE... +[2024-06-21 09:26:44] Dumping table VC_DATASYMBOL... +[2024-06-21 09:26:44] Dumping table VC_DBSPECIES... +[2024-06-21 09:26:44] Dumping table VC_DEVELOPER... +[2024-06-21 09:26:44] Dumping table VC_DIAGRAM... +[2024-06-21 09:26:44] Dumping table VC_ENZYME... +[2024-06-21 09:26:44] Dumping table VC_ENZYMEALIAS... +[2024-06-21 09:26:44] Dumping table VC_ENZYMEREACTION... +[2024-06-21 09:26:44] Dumping table VC_EXTERNALDATA... +[2024-06-21 09:26:44] Dumping table VC_FILAMENT... +[2024-06-21 09:26:44] Dumping table VC_GEOMETRICREGION... +[2024-06-21 09:26:44] Dumping table VC_GEOMETRY... +[2024-06-21 09:26:44] Dumping table VC_GEOMEXTENT... +[2024-06-21 09:26:44] Dumping table VC_GLOBALMODELPARAM... +[2024-06-21 09:26:44] Dumping table VC_GROUP... +[2024-06-21 09:26:44] Dumping table VC_IMAGE... +[2024-06-21 09:26:44] Dumping table VC_IMAGEDATA... +[2024-06-21 09:26:44] Dumping table VC_IMAGEREGION... +[2024-06-21 09:26:44] Dumping table VC_LOGIN... +[2024-06-21 09:26:44] Dumping table VC_MATH... +[2024-06-21 09:26:44] Dumping table VC_MATHDESCEXTDATA... +[2024-06-21 09:26:44] Dumping table VC_MATHGEN... +[2024-06-21 09:26:44] Dumping table VC_MATHMODEL... +[2024-06-21 09:26:44] Dumping table VC_MATHMODELSIM... +[2024-06-21 09:26:44] Dumping table VC_MATHMODELXML... +[2024-06-21 09:26:44] Dumping table VC_METADATA... +[2024-06-21 09:26:44] Dumping table VC_MIRIAM... +[2024-06-21 09:26:44] Dumping table VC_MODEL... +[2024-06-21 09:26:44] Dumping table VC_MODELSC... +[2024-06-21 09:26:44] Dumping table VC_MODELSTRUCT... +[2024-06-21 09:26:44] Dumping table VC_PERMISSION... +[2024-06-21 09:26:44] Dumping table VC_PROTEIN... +[2024-06-21 09:26:44] Dumping table VC_PROTEINALIAS... +[2024-06-21 09:26:44] Dumping table VC_PUBLICATION... +[2024-06-21 09:26:44] Dumping table VC_PUBLICATIONMODELLINK... +[2024-06-21 09:26:44] Dumping table VC_REACTIONSPEC... +[2024-06-21 09:26:44] Dumping table VC_REACTPART... +[2024-06-21 09:26:44] Dumping table VC_REACTSTEP... +[2024-06-21 09:26:44] Dumping table VC_RSETEXPORT... +[2024-06-21 09:26:44] Dumping table VC_RSETMETADATA... +[2024-06-21 09:26:44] Dumping table VC_SERVICE... +[2024-06-21 09:26:44] Dumping table VC_SIMCONTEXT... +[2024-06-21 09:26:44] Dumping table VC_SIMCONTEXTSTAT... +[2024-06-21 09:26:44] Dumping table VC_SIMCONTEXTSTAT2... +[2024-06-21 09:26:44] Dumping table VC_SIMCONTEXTSTAT2_2011_11_03... +[2024-06-21 09:26:44] Dumping table VC_SIMCONTEXTSTAT2_2012_08_09... +[2024-06-21 09:26:44] Dumping table VC_SIMCONTEXTSTAT2_BACKUP... +[2024-06-21 09:26:44] Dumping table VC_SIMCONTEXTSTAT2_BUILD478... +[2024-06-21 09:26:44] Dumping table VC_SIMCONTEXTSTAT2_BUILD478_F1... +[2024-06-21 09:26:44] Dumping table VC_SIMCONTEXTSTAT_COPY... +[2024-06-21 09:26:44] Dumping table VC_SIMCONTEXTSTAT_OLDR3... +[2024-06-21 09:26:44] Dumping table VC_SIMDELFROMDISK... +[2024-06-21 09:26:44] Dumping table VC_SIMJOB_WITHDATA... +[2024-06-21 09:26:44] Dumping table VC_SIMMESHSPEC... +[2024-06-21 09:26:44] Dumping table VC_SIMSTAT... +[2024-06-21 09:26:44] Dumping table VC_SIMSTAT_2012_08_09... +[2024-06-21 09:26:44] Dumping table VC_SIMSTAT_BACKUP... +[2024-06-21 09:26:44] Dumping table VC_SIMSTAT_BACKUP2... +[2024-06-21 09:26:44] Dumping table VC_SIMULATION... +[2024-06-21 09:26:44] Dumping table VC_SIMULATIONJOB... +[2024-06-21 09:26:44] Dumping table VC_SOFTWAREVERSION... +[2024-06-21 09:26:44] Dumping table VC_SPECIALUSERS... +[2024-06-21 09:26:44] Dumping table VC_SPECIES... +[2024-06-21 09:26:44] Dumping table VC_SPECIESCONTEXTSPEC... +[2024-06-21 09:26:44] Dumping table VC_SPECIESCONTEXTSPEC_TEMP... +[2024-06-21 09:26:44] Dumping table VC_STIMULUS... +[2024-06-21 09:26:44] Dumping table VC_STRUCT... +[2024-06-21 09:26:44] Dumping table VC_STRUCTMAPPING... +[2024-06-21 09:26:44] Dumping table VC_SUBVOLUME... +[2024-06-21 09:26:44] Dumping table VC_SURFACECLASS... +[2024-06-21 09:26:44] Dumping table VC_SURFACEDESC... +[2024-06-21 09:26:44] Dumping table VC_TASKDESC... +[2024-06-21 09:26:44] Dumping table VC_TFTESTCASE... +[2024-06-21 09:26:44] Dumping table VC_TFTESTCRITERIA... +[2024-06-21 09:26:44] Dumping table VC_TFTESTRESULT... +[2024-06-21 09:26:44] Dumping table VC_TFTESTSUITE... +[2024-06-21 09:26:44] Dumping table VC_USERIDENTITY... +[2024-06-21 09:26:44] Dumping table VC_USERINFO... +[2024-06-21 09:26:44] Dumping table VC_USERLOG... +[2024-06-21 09:26:44] Dumping table VC_USERLOGININFO... +[2024-06-21 09:26:44] Dumping table VC_USERPREF... +[2024-06-21 09:26:44] Dumping table VC_USERSTAT... +[2024-06-21 09:26:44] Dumping table WEB_DOWNLOAD_EVENT... +[2024-06-21 09:26:44] Dumping table WEB_DOWNLOAD_ITEM... +[2024-06-21 09:26:44] Dumping table WEB_DOWNLOAD_TYPE... +[2024-06-21 09:26:44] Dumping table XUTEMP... +[2024-06-21 09:26:44] Dumping indexes to one separate file : INDEXES_table.sql +[2024-06-21 09:26:44] Dumping RI ATTRMAPPING... +[2024-06-21 09:26:44] Dumping RI AUTOCOPYMAPPING... +[2024-06-21 09:26:44] Dumping RI CONTEXT... +[2024-06-21 09:26:44] Dumping RI CONTEXTMODIFICATION... +[2024-06-21 09:26:44] Dumping RI FILEDATAPARTS... +[2024-06-21 09:26:44] Dumping RI FILES... +[2024-06-21 09:26:44] Dumping RI FOLDER... +[2024-06-21 09:26:44] Dumping RI IMAGEDATAPARTS... +[2024-06-21 09:26:44] Dumping RI LOADMODELSTAT... +[2024-06-21 09:26:44] Dumping RI MAP... +[2024-06-21 09:26:44] Dumping RI MAPITEM... +[2024-06-21 09:26:44] Dumping RI MAPITEMATTRIBUTE... +[2024-06-21 09:26:44] Dumping RI NOMENCLATUREATTRS... +[2024-06-21 09:26:44] Dumping RI OBJECTTYPE... +[2024-06-21 09:26:44] Dumping RI OBJECTTYPE2OBJECTTYPE... +[2024-06-21 09:26:44] Dumping RI PLSQL_PROFILER_DATA... +[2024-06-21 09:26:44] Dumping RI PLSQL_PROFILER_UNITS... +[2024-06-21 09:26:44] Dumping RI PROPERTY... +[2024-06-21 09:26:44] Dumping RI PROPERTY2OBJECTTYPE... +[2024-06-21 09:26:44] Dumping RI STOCHTEST... +[2024-06-21 09:26:44] Dumping RI STOCHTESTCOMPARE... +[2024-06-21 09:26:44] Dumping RI STOCHTESTRUN... +[2024-06-21 09:26:44] Dumping RI TEMPSCREF... +[2024-06-21 09:26:44] Dumping RI TEMP_SIMCONTEXTSTAT2... +[2024-06-21 09:26:44] Dumping RI TEMP_SIMSTAT... +[2024-06-21 09:26:44] Dumping RI VC_ANALYSISTASK... +[2024-06-21 09:26:44] Dumping RI VC_APIACCESSTOKEN... +[2024-06-21 09:26:44] Dumping RI VC_APPLICATIONMATH... +[2024-06-21 09:26:44] Dumping RI VC_BIOMODEL... +[2024-06-21 09:26:44] Dumping RI VC_BIOMODELSIM... +[2024-06-21 09:26:44] Dumping RI VC_BIOMODELSIMCONTEXT... +[2024-06-21 09:26:44] Dumping RI VC_BIOMODELXML... +[2024-06-21 09:26:44] Dumping RI VC_BROWSEDATA... +[2024-06-21 09:26:44] Dumping RI VC_COMPOUNDALIAS... +[2024-06-21 09:26:44] Dumping RI VC_CURVE... +[2024-06-21 09:26:44] Dumping RI VC_DATASYMBOL... +[2024-06-21 09:26:44] Dumping RI VC_DBSPECIES... +[2024-06-21 09:26:44] Dumping RI VC_DEVELOPER... +[2024-06-21 09:26:44] Dumping RI VC_DIAGRAM... +[2024-06-21 09:26:44] Dumping RI VC_ENZYMEALIAS... +[2024-06-21 09:26:44] Dumping RI VC_ENZYMEREACTION... +[2024-06-21 09:26:44] Dumping RI VC_EXTERNALDATA... +[2024-06-21 09:26:44] Dumping RI VC_FILAMENT... +[2024-06-21 09:26:44] Dumping RI VC_GEOMETRICREGION... +[2024-06-21 09:26:44] Dumping RI VC_GEOMETRY... +[2024-06-21 09:26:44] Dumping RI VC_GLOBALMODELPARAM... +[2024-06-21 09:26:44] Dumping RI VC_GROUP... +[2024-06-21 09:26:44] Dumping RI VC_IMAGE... +[2024-06-21 09:26:44] Dumping RI VC_IMAGEDATA... +[2024-06-21 09:26:44] Dumping RI VC_IMAGEREGION... +[2024-06-21 09:26:44] Dumping RI VC_LOGIN... +[2024-06-21 09:26:44] Dumping RI VC_MATH... +[2024-06-21 09:26:44] Dumping RI VC_MATHDESCEXTDATA... +[2024-06-21 09:26:44] Dumping RI VC_MATHGEN... +[2024-06-21 09:26:44] Dumping RI VC_MATHMODEL... +[2024-06-21 09:26:44] Dumping RI VC_MATHMODELSIM... +[2024-06-21 09:26:44] Dumping RI VC_MATHMODELXML... +[2024-06-21 09:26:44] Dumping RI VC_METADATA... +[2024-06-21 09:26:44] Dumping RI VC_MIRIAM... +[2024-06-21 09:26:44] Dumping RI VC_MODEL... +[2024-06-21 09:26:44] Dumping RI VC_MODELSC... +[2024-06-21 09:26:44] Dumping RI VC_MODELSTRUCT... +[2024-06-21 09:26:44] Dumping RI VC_PERMISSION... +[2024-06-21 09:26:44] Dumping RI VC_PROTEINALIAS... +[2024-06-21 09:26:44] Dumping RI VC_PUBLICATIONMODELLINK... +[2024-06-21 09:26:44] Dumping RI VC_REACTIONSPEC... +[2024-06-21 09:26:44] Dumping RI VC_REACTPART... +[2024-06-21 09:26:44] Dumping RI VC_REACTSTEP... +[2024-06-21 09:26:44] Dumping RI VC_RSETEXPORT... +[2024-06-21 09:26:44] Dumping RI VC_RSETMETADATA... +[2024-06-21 09:26:44] Dumping RI VC_SIMCONTEXT... +[2024-06-21 09:26:44] Dumping RI VC_SIMCONTEXTSTAT... +[2024-06-21 09:26:44] Dumping RI VC_SIMMESHSPEC... +[2024-06-21 09:26:44] Dumping RI VC_SIMSTAT... +[2024-06-21 09:26:44] Dumping RI VC_SIMULATION... +[2024-06-21 09:26:44] Dumping RI VC_SIMULATIONJOB... +[2024-06-21 09:26:44] Dumping RI VC_SPECIALUSERS... +[2024-06-21 09:26:44] Dumping RI VC_SPECIES... +[2024-06-21 09:26:44] Dumping RI VC_SPECIESCONTEXTSPEC... +[2024-06-21 09:26:44] Dumping RI VC_STIMULUS... +[2024-06-21 09:26:44] Dumping RI VC_STRUCT... +[2024-06-21 09:26:44] Dumping RI VC_STRUCTMAPPING... +[2024-06-21 09:26:44] Dumping RI VC_SUBVOLUME... +[2024-06-21 09:26:44] Dumping RI VC_SURFACECLASS... +[2024-06-21 09:26:44] Dumping RI VC_SURFACEDESC... +[2024-06-21 09:26:44] Dumping RI VC_TASKDESC... +[2024-06-21 09:26:44] Dumping RI VC_TFTESTCASE... +[2024-06-21 09:26:44] Dumping RI VC_TFTESTCRITERIA... +[2024-06-21 09:26:44] Dumping RI VC_TFTESTRESULT... +[2024-06-21 09:26:44] Dumping RI VC_USERIDENTITY... +[2024-06-21 09:26:44] Dumping RI VC_USERLOG... +[2024-06-21 09:26:44] Dumping RI VC_USERLOGININFO... +[2024-06-21 09:26:44] Dumping RI VC_USERPREF... +[2024-06-21 09:26:44] Dumping RI VC_USERSTAT... +[2024-06-21 09:26:44] Dumping RI WEB_DOWNLOAD_EVENT... +[2024-06-21 09:26:44] Dumping constraints to one separate file : CONSTRAINTS_table.sql +[2024-06-21 09:26:44] Dumping foreign keys to one separate file : FKEYS_table.sql +Running: ora2pg -p -t PACKAGE -o package.sql -b /base/schema/packages -c /base/config/ora2pg.conf +[2024-06-21 09:26:45] Ora2Pg version: 24.3 +[2024-06-21 09:26:45] Export type: PACKAGE +[2024-06-21 09:26:45] Geometry export type: INTERNAL +[2024-06-21 09:26:45] ORACLE_HOME = /usr/lib/oracle/12.2/client64 +[2024-06-21 09:26:45] NLS_LANG = AMERICAN_AMERICA.AL32UTF8 +[2024-06-21 09:26:45] NLS_NCHAR = AL32UTF8 +[2024-06-21 09:26:45] Trying to connect to database: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 +[2024-06-21 09:26:45] Isolation level: SET TRANSACTION ISOLATION LEVEL SERIALIZABLE +[2024-06-21 09:26:45] Force Oracle to compile schema VCELL before code extraction +[2024-06-21 09:26:46] Retrieving packages information... +[2024-06-21 09:26:46] Found Package: TOAD_PROFILER +[2024-06-21 09:26:46] Add packages definition... +[2024-06-21 09:26:46] Looking global declaration in package toad_profiler... +[2024-06-21 09:26:46] Dumping package toad_profiler... +[2024-06-21 09:26:46] Creating directory package: /base/schema/packages/toad_profiler +[2024-06-21 09:26:46] Parsing function toad_profiler.rollup_unit... +[2024-06-21 09:26:46] Dumping to one file per function: /base/schema/packages/toad_profiler/rollup_unit_package.sql +[2024-06-21 09:26:46] Parsing function toad_profiler.rollup_run... +[2024-06-21 09:26:46] Dumping to one file per function: /base/schema/packages/toad_profiler/rollup_run_package.sql +[2024-06-21 09:26:46] Parsing function toad_profiler.rollup_all_runs... +[2024-06-21 09:26:46] Dumping to one file per function: /base/schema/packages/toad_profiler/rollup_all_runs_package.sql +Running: ora2pg -p -t VIEW -o view.sql -b /base/schema/views -c /base/config/ora2pg.conf +[2024-06-21 09:26:47] Ora2Pg version: 24.3 +[2024-06-21 09:26:47] Export type: VIEW +[2024-06-21 09:26:47] Geometry export type: INTERNAL +[2024-06-21 09:26:47] ORACLE_HOME = /usr/lib/oracle/12.2/client64 +[2024-06-21 09:26:47] NLS_LANG = AMERICAN_AMERICA.AL32UTF8 +[2024-06-21 09:26:47] NLS_NCHAR = AL32UTF8 +[2024-06-21 09:26:47] Trying to connect to database: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 +[2024-06-21 09:26:47] Isolation level: SET TRANSACTION ISOLATION LEVEL SERIALIZABLE +[2024-06-21 09:26:47] Force Oracle to compile schema VCELL before code extraction +[2024-06-21 09:26:48] Retrieving views information... +[2024-06-21 09:26:48] Collecting 3 tables in DBA_OBJECTS took: 0 wallclock secs ( 0.00 usr + 0.00 sys = 0.00 CPU) +[2024-06-21 09:26:49] [1] Scanning PUBLIC_SIMULATIONS... +[2024-06-21 09:26:49] [2] Scanning STAT_TOTAL_MODELS... +[2024-06-21 09:26:49] [3] Scanning STAT_USERS_WITH_SIMULATION... +[2024-06-21 09:26:49] Add views definition... +[2024-06-21 09:26:49] Adding view STAT_USERS_WITH_SIMULATION... +[2024-06-21 09:26:49] Dumping to one file per view : STAT_USERS_WITH_SIMULATION_view.sql +[2024-06-21 09:26:49] Adding view PUBLIC_SIMULATIONS... +[2024-06-21 09:26:49] Dumping to one file per view : PUBLIC_SIMULATIONS_view.sql +[2024-06-21 09:26:49] Adding view STAT_TOTAL_MODELS... +[2024-06-21 09:26:49] Dumping to one file per view : STAT_TOTAL_MODELS_view.sql +Running: ora2pg -p -t GRANT -o grant.sql -b /base/schema/grants -c /base/config/ora2pg.conf +[2024-06-21 09:26:49] Ora2Pg version: 24.3 +[2024-06-21 09:26:49] Export type: GRANT +[2024-06-21 09:26:49] Geometry export type: INTERNAL +[2024-06-21 09:26:49] ORACLE_HOME = /usr/lib/oracle/12.2/client64 +[2024-06-21 09:26:49] NLS_LANG = AMERICAN_AMERICA.AL32UTF8 +[2024-06-21 09:26:49] NLS_NCHAR = AL32UTF8 +[2024-06-21 09:26:49] Trying to connect to database: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 +[2024-06-21 09:26:49] Isolation level: SET TRANSACTION ISOLATION LEVEL SERIALIZABLE +[2024-06-21 09:26:49] Force Oracle to compile schema VCELL before code extraction +[2024-06-21 09:26:50] Retrieving users/roles/grants information... +[2024-06-21 09:26:56] Add users/roles/grants privileges... +Running: ora2pg -p -t TRIGGER -o trigger.sql -b /base/schema/triggers -c /base/config/ora2pg.conf +[2024-06-21 09:26:56] Ora2Pg version: 24.3 +[2024-06-21 09:26:56] Export type: TRIGGER +[2024-06-21 09:26:56] Geometry export type: INTERNAL +[2024-06-21 09:26:56] ORACLE_HOME = /usr/lib/oracle/12.2/client64 +[2024-06-21 09:26:56] NLS_LANG = AMERICAN_AMERICA.AL32UTF8 +[2024-06-21 09:26:56] NLS_NCHAR = AL32UTF8 +[2024-06-21 09:26:56] Trying to connect to database: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 +[2024-06-21 09:26:57] Isolation level: SET TRANSACTION ISOLATION LEVEL SERIALIZABLE +[2024-06-21 09:26:57] Force Oracle to compile schema VCELL before code extraction +[2024-06-21 09:26:57] Retrieving triggers information... +[2024-06-21 09:27:00] Add triggers definition... +[2024-06-21 09:27:00] Dumping to one file per trigger : TCRIT_LOCK_TRIG_trigger.sql +[2024-06-21 09:27:00] Dumping trigger TCRIT_LOCK_TRIG defined on table VC_TFTESTCRITERIA... +[2024-06-21 09:27:00] Dumping to one file per trigger : TC_LOCK_TRIG_trigger.sql +[2024-06-21 09:27:00] Dumping trigger TC_LOCK_TRIG defined on table VC_TFTESTCASE... +[2024-06-21 09:27:00] Dumping to one file per trigger : TRSLT_LOCK_TRIG_trigger.sql +[2024-06-21 09:27:00] Dumping trigger TRSLT_LOCK_TRIG defined on table VC_TFTESTRESULT... +[2024-06-21 09:27:00] Dumping to one file per trigger : TS_LOCK_TRIG_trigger.sql +[2024-06-21 09:27:00] Dumping trigger TS_LOCK_TRIG defined on table VC_TFTESTSUITE... +[2024-06-21 09:27:00] Dumping to one file per trigger : UPDATE_LOGIN_trigger.sql +[2024-06-21 09:27:00] Dumping trigger UPDATE_LOGIN defined on table VC_USERLOGININFO... +[2024-06-21 09:27:00] Dumping to one file per trigger : WEB_DOWNLOAD_EVENT_TRG_trigger.sql +[2024-06-21 09:27:00] Dumping trigger WEB_DOWNLOAD_EVENT_TRG defined on table WEB_DOWNLOAD_EVENT... +Running: ora2pg -p -t FUNCTION -o function.sql -b /base/schema/functions -c /base/config/ora2pg.conf +[2024-06-21 09:27:00] Ora2Pg version: 24.3 +[2024-06-21 09:27:00] Export type: FUNCTION +[2024-06-21 09:27:00] Geometry export type: INTERNAL +[2024-06-21 09:27:00] ORACLE_HOME = /usr/lib/oracle/12.2/client64 +[2024-06-21 09:27:00] NLS_LANG = AMERICAN_AMERICA.AL32UTF8 +[2024-06-21 09:27:00] NLS_NCHAR = AL32UTF8 +[2024-06-21 09:27:00] Trying to connect to database: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 +[2024-06-21 09:27:01] Isolation level: SET TRANSACTION ISOLATION LEVEL SERIALIZABLE +[2024-06-21 09:27:01] Force Oracle to compile schema VCELL before code extraction +[2024-06-21 09:27:02] Retrieving functions information... +[2024-06-21 09:27:02] Add functions definition... +[2024-06-21 09:27:02] Dumping function COMPAREKINETICS... +[2024-06-21 09:27:02] Dumping to one file per function : COMPAREKINETICS_function.sql +[2024-06-21 09:27:02] Parsing function vcell.comparekinetics... +[2024-06-21 09:27:02] Dumping function COUNTBIO... +[2024-06-21 09:27:02] Dumping to one file per function : COUNTBIO_function.sql +[2024-06-21 09:27:02] Parsing function vcell.countbio... +[2024-06-21 09:27:02] Dumping function COUNTMATH... +[2024-06-21 09:27:02] Dumping to one file per function : COUNTMATH_function.sql +[2024-06-21 09:27:02] Parsing function vcell.countmath... +[2024-06-21 09:27:02] Dumping function COUNTSIM... +[2024-06-21 09:27:02] Dumping to one file per function : COUNTSIM_function.sql +[2024-06-21 09:27:02] Parsing function vcell.countsim... +[2024-06-21 09:27:02] Dumping function COUNTSIMDATA... +[2024-06-21 09:27:02] Dumping to one file per function : COUNTSIMDATA_function.sql +[2024-06-21 09:27:02] Parsing function vcell.countsimdata... +[2024-06-21 09:27:02] Dumping function GETKINETICS... +[2024-06-21 09:27:02] Dumping to one file per function : GETKINETICS_function.sql +[2024-06-21 09:27:02] Parsing function vcell.getkinetics... +[2024-06-21 09:27:02] Dumping function GETMATH... +[2024-06-21 09:27:02] Dumping to one file per function : GETMATH_function.sql +[2024-06-21 09:27:02] Parsing function vcell.getmath... +[2024-06-21 09:27:02] Dumping function GETMATHSIZE... +[2024-06-21 09:27:02] Dumping to one file per function : GETMATHSIZE_function.sql +[2024-06-21 09:27:02] Parsing function vcell.getmathsize... +[2024-06-21 09:27:02] Dumping function GETPHYSICSOPTION... +[2024-06-21 09:27:02] Dumping to one file per function : GETPHYSICSOPTION_function.sql +[2024-06-21 09:27:02] Parsing function vcell.getphysicsoption... +[2024-06-21 09:27:02] Dumping function GETTASKDESCRIPTION... +[2024-06-21 09:27:02] Dumping to one file per function : GETTASKDESCRIPTION_function.sql +[2024-06-21 09:27:02] Parsing function vcell.gettaskdescription... +[2024-06-21 09:27:02] Dumping function GETVALENCETYPE... +[2024-06-21 09:27:02] Dumping to one file per function : GETVALENCETYPE_function.sql +[2024-06-21 09:27:02] Parsing function vcell.getvalencetype... +[2024-06-21 09:27:02] Dumping function POWERFACTOR... +[2024-06-21 09:27:02] Dumping to one file per function : POWERFACTOR_function.sql +[2024-06-21 09:27:02] Parsing function vcell.powerfactor... +[2024-06-21 09:27:02] Translating of 12 functions took: 0 wallclock secs ( 0.03 usr + 0.00 sys = 0.03 CPU) +[2024-06-21 09:27:02] Total time to translate all functions with 1 process: 0 wallclock secs ( 0.03 usr + 0.00 sys = 0.03 CPU) +Running: ora2pg -p -t PROCEDURE -o procedure.sql -b /base/schema/procedures -c /base/config/ora2pg.conf +[2024-06-21 09:27:02] Ora2Pg version: 24.3 +[2024-06-21 09:27:02] Export type: PROCEDURE +[2024-06-21 09:27:02] Geometry export type: INTERNAL +[2024-06-21 09:27:02] ORACLE_HOME = /usr/lib/oracle/12.2/client64 +[2024-06-21 09:27:02] NLS_LANG = AMERICAN_AMERICA.AL32UTF8 +[2024-06-21 09:27:02] NLS_NCHAR = AL32UTF8 +[2024-06-21 09:27:02] Trying to connect to database: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 +[2024-06-21 09:27:03] Isolation level: SET TRANSACTION ISOLATION LEVEL SERIALIZABLE +[2024-06-21 09:27:03] Force Oracle to compile schema VCELL before code extraction +[2024-06-21 09:27:04] Retrieving procedures information... +[2024-06-21 09:27:04] Add procedures definition... +[2024-06-21 09:27:04] Dumping function COPYNEWMATH_TO_SCMATH... +[2024-06-21 09:27:04] Dumping to one file per function : COPYNEWMATH_TO_SCMATH_procedure.sql +[2024-06-21 09:27:04] Parsing function vcell.copynewmath_to_scmath... +[2024-06-21 09:27:04] Dumping function COPYOLDMATH_TO_SCMATH... +[2024-06-21 09:27:04] Dumping to one file per function : COPYOLDMATH_TO_SCMATH_procedure.sql +[2024-06-21 09:27:04] Parsing function vcell.copyoldmath_to_scmath... +[2024-06-21 09:27:04] Dumping function COPYSCMATH_TO_OLDMATH... +[2024-06-21 09:27:04] Dumping to one file per function : COPYSCMATH_TO_OLDMATH_procedure.sql +[2024-06-21 09:27:04] Parsing function vcell.copyscmath_to_oldmath... +[2024-06-21 09:27:04] Translating of 3 functions took: 0 wallclock secs ( 0.02 usr + 0.01 sys = 0.03 CPU) +[2024-06-21 09:27:04] Total time to translate all functions with 1 process: 0 wallclock secs ( 0.02 usr + 0.01 sys = 0.03 CPU) +Running: ora2pg -p -t TABLESPACE -o tablespace.sql -b /base/schema/tablespaces -c /base/config/ora2pg.conf +[2024-06-21 09:27:04] Ora2Pg version: 24.3 +[2024-06-21 09:27:04] Export type: TABLESPACE +[2024-06-21 09:27:04] Geometry export type: INTERNAL +[2024-06-21 09:27:04] ORACLE_HOME = /usr/lib/oracle/12.2/client64 +[2024-06-21 09:27:04] NLS_LANG = AMERICAN_AMERICA.AL32UTF8 +[2024-06-21 09:27:04] NLS_NCHAR = AL32UTF8 +[2024-06-21 09:27:04] Trying to connect to database: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 +[2024-06-21 09:27:05] Isolation level: SET TRANSACTION ISOLATION LEVEL SERIALIZABLE +[2024-06-21 09:27:05] Force Oracle to compile schema VCELL before code extraction +[2024-06-21 09:27:06] Retrieving tablespaces information... +[2024-06-21 09:27:26] Add tablespaces definition... +[2024-06-21 09:27:26] Dumping tablespace alter indexes to one separate file : TBSP_INDEXES_tablespace.sql +Running: ora2pg -p -t PARTITION -o partition.sql -b /base/schema/partitions -c /base/config/ora2pg.conf +[2024-06-21 09:27:27] Ora2Pg version: 24.3 +[2024-06-21 09:27:27] Export type: PARTITION +[2024-06-21 09:27:27] Geometry export type: INTERNAL +[2024-06-21 09:27:27] ORACLE_HOME = /usr/lib/oracle/12.2/client64 +[2024-06-21 09:27:27] NLS_LANG = AMERICAN_AMERICA.AL32UTF8 +[2024-06-21 09:27:27] NLS_NCHAR = AL32UTF8 +[2024-06-21 09:27:27] Trying to connect to database: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 +[2024-06-21 09:27:27] Isolation level: SET TRANSACTION ISOLATION LEVEL SERIALIZABLE +[2024-06-21 09:27:27] Force Oracle to compile schema VCELL before code extraction +[2024-06-21 09:27:27] Retrieving partitions information... +[2024-06-21 09:27:44] Collecting 290 indexes in DBA_INDEXES took: 16 wallclock secs ( 0.01 usr + 0.00 sys = 0.01 CPU) +[2024-06-21 09:27:44] Add partitions definition... +Running: ora2pg -p -t TYPE -o type.sql -b /base/schema/types -c /base/config/ora2pg.conf +[2024-06-21 09:27:45] Ora2Pg version: 24.3 +[2024-06-21 09:27:45] Export type: TYPE +[2024-06-21 09:27:45] Geometry export type: INTERNAL +[2024-06-21 09:27:45] ORACLE_HOME = /usr/lib/oracle/12.2/client64 +[2024-06-21 09:27:45] NLS_LANG = AMERICAN_AMERICA.AL32UTF8 +[2024-06-21 09:27:45] NLS_NCHAR = AL32UTF8 +[2024-06-21 09:27:45] Trying to connect to database: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 +[2024-06-21 09:27:45] Isolation level: SET TRANSACTION ISOLATION LEVEL SERIALIZABLE +[2024-06-21 09:27:45] Force Oracle to compile schema VCELL before code extraction +[2024-06-21 09:27:46] Retrieving user defined types information... +[2024-06-21 09:27:46] ORACLE_HOME = /usr/lib/oracle/12.2/client64 +[2024-06-21 09:27:46] NLS_LANG = AMERICAN_AMERICA.AL32UTF8 +[2024-06-21 09:27:46] NLS_NCHAR = AL32UTF8 +[2024-06-21 09:27:46] Trying to connect to database: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 +[2024-06-21 09:27:46] Isolation level: SET TRANSACTION ISOLATION LEVEL SERIALIZABLE +[2024-06-21 09:27:46] Add custom types definition... +Running: ora2pg -p -t MVIEW -o mview.sql -b /base/schema/mviews -c /base/config/ora2pg.conf +[2024-06-21 09:27:47] Ora2Pg version: 24.3 +[2024-06-21 09:27:47] Export type: MVIEW +[2024-06-21 09:27:47] Geometry export type: INTERNAL +[2024-06-21 09:27:47] ORACLE_HOME = /usr/lib/oracle/12.2/client64 +[2024-06-21 09:27:47] NLS_LANG = AMERICAN_AMERICA.AL32UTF8 +[2024-06-21 09:27:47] NLS_NCHAR = AL32UTF8 +[2024-06-21 09:27:47] Trying to connect to database: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 +[2024-06-21 09:27:47] Isolation level: SET TRANSACTION ISOLATION LEVEL SERIALIZABLE +[2024-06-21 09:27:47] Force Oracle to compile schema VCELL before code extraction +[2024-06-21 09:27:47] Retrieving materialized views information... +[2024-06-21 09:27:48] Add materialized views definition... +Running: ora2pg -p -t DBLINK -o dblink.sql -b /base/schema/dblinks -c /base/config/ora2pg.conf +[2024-06-21 09:27:48] Ora2Pg version: 24.3 +[2024-06-21 09:27:48] Export type: DBLINK +[2024-06-21 09:27:48] Geometry export type: INTERNAL +[2024-06-21 09:27:48] ORACLE_HOME = /usr/lib/oracle/12.2/client64 +[2024-06-21 09:27:48] NLS_LANG = AMERICAN_AMERICA.AL32UTF8 +[2024-06-21 09:27:48] NLS_NCHAR = AL32UTF8 +[2024-06-21 09:27:48] Trying to connect to database: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 +[2024-06-21 09:27:48] Isolation level: SET TRANSACTION ISOLATION LEVEL SERIALIZABLE +[2024-06-21 09:27:48] Force Oracle to compile schema VCELL before code extraction +[2024-06-21 09:27:49] Retrieving dblinks information... +[2024-06-21 09:27:49] Add dblink definition... +Running: ora2pg -p -t SYNONYM -o synonym.sql -b /base/schema/synonyms -c /base/config/ora2pg.conf +[2024-06-21 09:27:49] Ora2Pg version: 24.3 +[2024-06-21 09:27:49] Export type: SYNONYM +[2024-06-21 09:27:49] Geometry export type: INTERNAL +[2024-06-21 09:27:49] ORACLE_HOME = /usr/lib/oracle/12.2/client64 +[2024-06-21 09:27:49] NLS_LANG = AMERICAN_AMERICA.AL32UTF8 +[2024-06-21 09:27:49] NLS_NCHAR = AL32UTF8 +[2024-06-21 09:27:49] Trying to connect to database: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 +[2024-06-21 09:27:50] Isolation level: SET TRANSACTION ISOLATION LEVEL SERIALIZABLE +[2024-06-21 09:27:50] Force Oracle to compile schema VCELL before code extraction +[2024-06-21 09:27:50] Retrieving synonyms information... +[2024-06-21 09:27:50] Add synonyms definition... +Running: ora2pg -p -t DIRECTORY -o directorie.sql -b /base/schema/directories -c /base/config/ora2pg.conf +[2024-06-21 09:27:51] Ora2Pg version: 24.3 +[2024-06-21 09:27:51] Export type: DIRECTORY +[2024-06-21 09:27:51] Geometry export type: INTERNAL +[2024-06-21 09:27:51] ORACLE_HOME = /usr/lib/oracle/12.2/client64 +[2024-06-21 09:27:51] NLS_LANG = AMERICAN_AMERICA.AL32UTF8 +[2024-06-21 09:27:51] NLS_NCHAR = AL32UTF8 +[2024-06-21 09:27:51] Trying to connect to database: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 +[2024-06-21 09:27:51] Isolation level: SET TRANSACTION ISOLATION LEVEL SERIALIZABLE +[2024-06-21 09:27:51] Force Oracle to compile schema VCELL before code extraction +[2024-06-21 09:27:52] Retrieving directories information... +[2024-06-21 09:27:52] Add directory definition... +Running: ora2pg -t PACKAGE -o package.sql -b /base/sources/packages -c /base/config/ora2pg.conf +[2024-06-21 09:27:52] Ora2Pg version: 24.3 +[2024-06-21 09:27:52] Export type: PACKAGE +[2024-06-21 09:27:52] Geometry export type: INTERNAL +[2024-06-21 09:27:52] ORACLE_HOME = /usr/lib/oracle/12.2/client64 +[2024-06-21 09:27:52] NLS_LANG = AMERICAN_AMERICA.AL32UTF8 +[2024-06-21 09:27:52] NLS_NCHAR = AL32UTF8 +[2024-06-21 09:27:52] Trying to connect to database: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 +[2024-06-21 09:27:52] Isolation level: SET TRANSACTION ISOLATION LEVEL SERIALIZABLE +[2024-06-21 09:27:53] Force Oracle to compile schema VCELL before code extraction +[2024-06-21 09:27:53] Retrieving packages information... +[2024-06-21 09:27:53] Found Package: TOAD_PROFILER +[2024-06-21 09:27:53] Add packages definition... +[2024-06-21 09:27:53] Dumping package TOAD_PROFILER... +Running: ora2pg -t VIEW -o view.sql -b /base/sources/views -c /base/config/ora2pg.conf +[2024-06-21 09:27:54] Ora2Pg version: 24.3 +[2024-06-21 09:27:54] Export type: VIEW +[2024-06-21 09:27:54] Geometry export type: INTERNAL +[2024-06-21 09:27:54] ORACLE_HOME = /usr/lib/oracle/12.2/client64 +[2024-06-21 09:27:54] NLS_LANG = AMERICAN_AMERICA.AL32UTF8 +[2024-06-21 09:27:54] NLS_NCHAR = AL32UTF8 +[2024-06-21 09:27:54] Trying to connect to database: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 +[2024-06-21 09:27:54] Isolation level: SET TRANSACTION ISOLATION LEVEL SERIALIZABLE +[2024-06-21 09:27:54] Force Oracle to compile schema VCELL before code extraction +[2024-06-21 09:27:55] Retrieving views information... +[2024-06-21 09:27:55] Collecting 3 tables in DBA_OBJECTS took: 0 wallclock secs ( 0.01 usr + 0.00 sys = 0.01 CPU) +[2024-06-21 09:27:56] [1] Scanning PUBLIC_SIMULATIONS... +[2024-06-21 09:27:56] [2] Scanning STAT_TOTAL_MODELS... +[2024-06-21 09:27:56] [3] Scanning STAT_USERS_WITH_SIMULATION... +[2024-06-21 09:27:56] Add views definition... +[2024-06-21 09:27:56] Adding view PUBLIC_SIMULATIONS... +[2024-06-21 09:27:56] Dumping to one file per view : PUBLIC_SIMULATIONS_view.sql +[2024-06-21 09:27:56] Adding view STAT_TOTAL_MODELS... +[2024-06-21 09:27:56] Dumping to one file per view : STAT_TOTAL_MODELS_view.sql +[2024-06-21 09:27:56] Adding view STAT_USERS_WITH_SIMULATION... +[2024-06-21 09:27:56] Dumping to one file per view : STAT_USERS_WITH_SIMULATION_view.sql +Running: ora2pg -t TRIGGER -o trigger.sql -b /base/sources/triggers -c /base/config/ora2pg.conf +[2024-06-21 09:27:56] Ora2Pg version: 24.3 +[2024-06-21 09:27:56] Export type: TRIGGER +[2024-06-21 09:27:56] Geometry export type: INTERNAL +[2024-06-21 09:27:56] ORACLE_HOME = /usr/lib/oracle/12.2/client64 +[2024-06-21 09:27:56] NLS_LANG = AMERICAN_AMERICA.AL32UTF8 +[2024-06-21 09:27:56] NLS_NCHAR = AL32UTF8 +[2024-06-21 09:27:56] Trying to connect to database: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 +[2024-06-21 09:27:56] Isolation level: SET TRANSACTION ISOLATION LEVEL SERIALIZABLE +[2024-06-21 09:27:56] Force Oracle to compile schema VCELL before code extraction +[2024-06-21 09:27:57] Retrieving triggers information... +[2024-06-21 09:27:58] Add triggers definition... +[2024-06-21 09:27:58] Dumping to one file per trigger : TCRIT_LOCK_TRIG_trigger.sql +[2024-06-21 09:27:58] Dumping trigger TCRIT_LOCK_TRIG defined on table VC_TFTESTCRITERIA... +[2024-06-21 09:27:58] Dumping to one file per trigger : TC_LOCK_TRIG_trigger.sql +[2024-06-21 09:27:58] Dumping trigger TC_LOCK_TRIG defined on table VC_TFTESTCASE... +[2024-06-21 09:27:58] Dumping to one file per trigger : TRSLT_LOCK_TRIG_trigger.sql +[2024-06-21 09:27:58] Dumping trigger TRSLT_LOCK_TRIG defined on table VC_TFTESTRESULT... +[2024-06-21 09:27:58] Dumping to one file per trigger : TS_LOCK_TRIG_trigger.sql +[2024-06-21 09:27:58] Dumping trigger TS_LOCK_TRIG defined on table VC_TFTESTSUITE... +[2024-06-21 09:27:58] Dumping to one file per trigger : UPDATE_LOGIN_trigger.sql +[2024-06-21 09:27:58] Dumping trigger UPDATE_LOGIN defined on table VC_USERLOGININFO... +[2024-06-21 09:27:58] Dumping to one file per trigger : WEB_DOWNLOAD_EVENT_TRG_trigger.sql +[2024-06-21 09:27:58] Dumping trigger WEB_DOWNLOAD_EVENT_TRG defined on table WEB_DOWNLOAD_EVENT... +Running: ora2pg -t FUNCTION -o function.sql -b /base/sources/functions -c /base/config/ora2pg.conf +[2024-06-21 09:27:59] Ora2Pg version: 24.3 +[2024-06-21 09:27:59] Export type: FUNCTION +[2024-06-21 09:27:59] Geometry export type: INTERNAL +[2024-06-21 09:27:59] ORACLE_HOME = /usr/lib/oracle/12.2/client64 +[2024-06-21 09:27:59] NLS_LANG = AMERICAN_AMERICA.AL32UTF8 +[2024-06-21 09:27:59] NLS_NCHAR = AL32UTF8 +[2024-06-21 09:27:59] Trying to connect to database: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 +[2024-06-21 09:27:59] Isolation level: SET TRANSACTION ISOLATION LEVEL SERIALIZABLE +[2024-06-21 09:27:59] Force Oracle to compile schema VCELL before code extraction +[2024-06-21 09:28:00] Retrieving functions information... +[2024-06-21 09:28:00] Add functions definition... +[2024-06-21 09:28:00] Dumping function COMPAREKINETICS... +[2024-06-21 09:28:00] Dumping to one file per function : COMPAREKINETICS_function.sql +[2024-06-21 09:28:00] Dumping function COUNTBIO... +[2024-06-21 09:28:00] Dumping to one file per function : COUNTBIO_function.sql +[2024-06-21 09:28:00] Dumping function COUNTMATH... +[2024-06-21 09:28:00] Dumping to one file per function : COUNTMATH_function.sql +[2024-06-21 09:28:00] Dumping function COUNTSIM... +[2024-06-21 09:28:00] Dumping to one file per function : COUNTSIM_function.sql +[2024-06-21 09:28:00] Dumping function COUNTSIMDATA... +[2024-06-21 09:28:00] Dumping to one file per function : COUNTSIMDATA_function.sql +[2024-06-21 09:28:00] Dumping function GETKINETICS... +[2024-06-21 09:28:00] Dumping to one file per function : GETKINETICS_function.sql +[2024-06-21 09:28:00] Dumping function GETMATH... +[2024-06-21 09:28:00] Dumping to one file per function : GETMATH_function.sql +[2024-06-21 09:28:00] Dumping function GETMATHSIZE... +[2024-06-21 09:28:00] Dumping to one file per function : GETMATHSIZE_function.sql +[2024-06-21 09:28:00] Dumping function GETPHYSICSOPTION... +[2024-06-21 09:28:00] Dumping to one file per function : GETPHYSICSOPTION_function.sql +[2024-06-21 09:28:00] Dumping function GETTASKDESCRIPTION... +[2024-06-21 09:28:00] Dumping to one file per function : GETTASKDESCRIPTION_function.sql +[2024-06-21 09:28:00] Dumping function GETVALENCETYPE... +[2024-06-21 09:28:00] Dumping to one file per function : GETVALENCETYPE_function.sql +[2024-06-21 09:28:00] Dumping function POWERFACTOR... +[2024-06-21 09:28:00] Dumping to one file per function : POWERFACTOR_function.sql +[2024-06-21 09:28:00] Translating of 12 functions took: 0 wallclock secs ( 0.01 usr + 0.00 sys = 0.01 CPU) +[2024-06-21 09:28:00] Total time to translate all functions with 1 process: 0 wallclock secs ( 0.01 usr + 0.00 sys = 0.01 CPU) +Running: ora2pg -t PROCEDURE -o procedure.sql -b /base/sources/procedures -c /base/config/ora2pg.conf +[2024-06-21 09:28:00] Ora2Pg version: 24.3 +[2024-06-21 09:28:00] Export type: PROCEDURE +[2024-06-21 09:28:00] Geometry export type: INTERNAL +[2024-06-21 09:28:00] ORACLE_HOME = /usr/lib/oracle/12.2/client64 +[2024-06-21 09:28:00] NLS_LANG = AMERICAN_AMERICA.AL32UTF8 +[2024-06-21 09:28:00] NLS_NCHAR = AL32UTF8 +[2024-06-21 09:28:00] Trying to connect to database: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 +[2024-06-21 09:28:01] Isolation level: SET TRANSACTION ISOLATION LEVEL SERIALIZABLE +[2024-06-21 09:28:01] Force Oracle to compile schema VCELL before code extraction +[2024-06-21 09:28:01] Retrieving procedures information... +[2024-06-21 09:28:01] Add procedures definition... +[2024-06-21 09:28:01] Dumping function COPYNEWMATH_TO_SCMATH... +[2024-06-21 09:28:01] Dumping to one file per function : COPYNEWMATH_TO_SCMATH_procedure.sql +[2024-06-21 09:28:01] Dumping function COPYOLDMATH_TO_SCMATH... +[2024-06-21 09:28:01] Dumping to one file per function : COPYOLDMATH_TO_SCMATH_procedure.sql +[2024-06-21 09:28:01] Dumping function COPYSCMATH_TO_OLDMATH... +[2024-06-21 09:28:01] Dumping to one file per function : COPYSCMATH_TO_OLDMATH_procedure.sql +[2024-06-21 09:28:01] Translating of 3 functions took: 0 wallclock secs ( 0.00 usr + 0.00 sys = 0.00 CPU) +[2024-06-21 09:28:01] Total time to translate all functions with 1 process: 0 wallclock secs ( 0.00 usr + 0.00 sys = 0.00 CPU) +Running: ora2pg -t PARTITION -o partition.sql -b /base/sources/partitions -c /base/config/ora2pg.conf +[2024-06-21 09:28:02] Ora2Pg version: 24.3 +[2024-06-21 09:28:02] Export type: PARTITION +[2024-06-21 09:28:02] Geometry export type: INTERNAL +[2024-06-21 09:28:02] ORACLE_HOME = /usr/lib/oracle/12.2/client64 +[2024-06-21 09:28:02] NLS_LANG = AMERICAN_AMERICA.AL32UTF8 +[2024-06-21 09:28:02] NLS_NCHAR = AL32UTF8 +[2024-06-21 09:28:02] Trying to connect to database: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 +[2024-06-21 09:28:02] Isolation level: SET TRANSACTION ISOLATION LEVEL SERIALIZABLE +[2024-06-21 09:28:02] Force Oracle to compile schema VCELL before code extraction +[2024-06-21 09:28:02] Retrieving partitions information... +[2024-06-21 09:28:19] Collecting 290 indexes in DBA_INDEXES took: 16 wallclock secs ( 0.02 usr + 0.00 sys = 0.02 CPU) +[2024-06-21 09:28:19] Add partitions definition... +Running: ora2pg -t TYPE -o type.sql -b /base/sources/types -c /base/config/ora2pg.conf +[2024-06-21 09:28:20] Ora2Pg version: 24.3 +[2024-06-21 09:28:20] Export type: TYPE +[2024-06-21 09:28:20] Geometry export type: INTERNAL +[2024-06-21 09:28:20] ORACLE_HOME = /usr/lib/oracle/12.2/client64 +[2024-06-21 09:28:20] NLS_LANG = AMERICAN_AMERICA.AL32UTF8 +[2024-06-21 09:28:20] NLS_NCHAR = AL32UTF8 +[2024-06-21 09:28:20] Trying to connect to database: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 +[2024-06-21 09:28:20] Isolation level: SET TRANSACTION ISOLATION LEVEL SERIALIZABLE +[2024-06-21 09:28:20] Force Oracle to compile schema VCELL before code extraction +[2024-06-21 09:28:21] Retrieving user defined types information... +[2024-06-21 09:28:21] ORACLE_HOME = /usr/lib/oracle/12.2/client64 +[2024-06-21 09:28:21] NLS_LANG = AMERICAN_AMERICA.AL32UTF8 +[2024-06-21 09:28:21] NLS_NCHAR = AL32UTF8 +[2024-06-21 09:28:21] Trying to connect to database: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 +[2024-06-21 09:28:21] Isolation level: SET TRANSACTION ISOLATION LEVEL SERIALIZABLE +[2024-06-21 09:28:21] Add custom types definition... +Running: ora2pg -t MVIEW -o mview.sql -b /base/sources/mviews -c /base/config/ora2pg.conf +[2024-06-21 09:28:21] Ora2Pg version: 24.3 +[2024-06-21 09:28:21] Export type: MVIEW +[2024-06-21 09:28:21] Geometry export type: INTERNAL +[2024-06-21 09:28:21] ORACLE_HOME = /usr/lib/oracle/12.2/client64 +[2024-06-21 09:28:21] NLS_LANG = AMERICAN_AMERICA.AL32UTF8 +[2024-06-21 09:28:21] NLS_NCHAR = AL32UTF8 +[2024-06-21 09:28:21] Trying to connect to database: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 +[2024-06-21 09:28:22] Isolation level: SET TRANSACTION ISOLATION LEVEL SERIALIZABLE +[2024-06-21 09:28:22] Force Oracle to compile schema VCELL before code extraction +[2024-06-21 09:28:22] Retrieving materialized views information... +[2024-06-21 09:28:22] Add materialized views definition... + + +To extract data use the following command: + +ora2pg -t COPY -o data.sql -b /base/data -c /base/config/ora2pg.conf + diff --git a/docker/database/migration/migv1/reports/columns.txt b/docker/database/migration/migv1/reports/columns.txt new file mode 100644 index 0000000000..dc85a972ce --- /dev/null +++ b/docker/database/migration/migv1/reports/columns.txt @@ -0,0 +1,1446 @@ +[2024-06-21 09:24:05] Ora2Pg version: 24.3 +[2024-06-21 09:24:05] Export type: SHOW_COLUMN +[2024-06-21 09:24:05] Geometry export type: INTERNAL +[2024-06-21 09:24:05] ORACLE_HOME = /usr/lib/oracle/12.2/client64 +[2024-06-21 09:24:05] NLS_LANG = AMERICAN_AMERICA.AL32UTF8 +[2024-06-21 09:24:05] NLS_NCHAR = AL32UTF8 +[2024-06-21 09:24:05] Trying to connect to database: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 +[2024-06-21 09:24:05] Isolation level: SET TRANSACTION ISOLATION LEVEL SERIALIZABLE +[2024-06-21 09:24:05] Showing table information... +[2024-06-21 09:24:06] Collecting 169 tables in DBA_OBJECTS took: 1 wallclock secs ( 0.01 usr + 0.00 sys = 0.01 CPU) +[2024-06-21 09:24:06] Collecting 165 tables information in DBA_TABLES took: 0 wallclock secs ( 0.01 usr + 0.00 sys = 0.01 CPU) +[2024-06-21 09:24:06] Retrieving column identity information... +[2024-06-21 09:24:06] Collecting column information for table ... +[2024-06-21 09:24:06] DEBUG, +SELECT A.COLUMN_NAME, A.DATA_TYPE, A.DATA_LENGTH, A.NULLABLE, A.DATA_DEFAULT, + A.DATA_PRECISION, A.DATA_SCALE, A.CHAR_LENGTH, A.TABLE_NAME, A.OWNER +FROM DBA_TAB_COLUMNS A +WHERE A.TABLE_NAME NOT LIKE 'BIN$%' AND A.OWNER='VCELL' AND ( NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?) AND NOT REGEXP_LIKE(UPPER(A.TABLE_NAME), ?)) +ORDER BY A.COLUMN_ID +[2024-06-21 09:24:30] Collecting 1229 columns in DBA_INDEXES took: 23 wallclock secs ( 0.28 usr + 0.08 sys = 0.36 CPU) +[2024-06-21 09:24:47] Collecting 290 indexes in DBA_INDEXES took: 16 wallclock secs ( 0.02 usr + 0.00 sys = 0.02 CPU) +[2024-06-21 09:24:47] Looking to subpartition information... +[2024-06-21 09:24:47] Looking to partitioned tables information... +[2024-06-21 09:24:48] Looking to external tables information... +[2024-06-21 09:24:48] [1] TABLE VCELL.ATTRMAPPING (owner: VCELL, 0 rows) +[2024-06-21 09:24:48] PROPERTY : VARCHAR2[2024-06-21 09:24:48] (100)[2024-06-21 09:24:48] => varchar(100) +[2024-06-21 09:24:48] OBJECTTYPE : VARCHAR2[2024-06-21 09:24:48] (36)[2024-06-21 09:24:48] => varchar(36) +[2024-06-21 09:24:48] NOMENCLATURE : VARCHAR2[2024-06-21 09:24:48] (200)[2024-06-21 09:24:48] => varchar(200) +[2024-06-21 09:24:48] DIRTY : CHAR[2024-06-21 09:24:48] (1)[2024-06-21 09:24:48] => char(1) +[2024-06-21 09:24:48] [2] TABLE VCELL.AUTOCOPYMAPPING (owner: VCELL, 0 rows) +[2024-06-21 09:24:48] PROPERTY : VARCHAR2[2024-06-21 09:24:48] (100)[2024-06-21 09:24:48] => varchar(100) +[2024-06-21 09:24:48] OBJECTTYPE : VARCHAR2[2024-06-21 09:24:48] (36)[2024-06-21 09:24:48] => varchar(36) +[2024-06-21 09:24:48] LINKTYPE : VARCHAR2[2024-06-21 09:24:48] (36)[2024-06-21 09:24:48] => varchar(36) +[2024-06-21 09:24:48] COPYINGMODE : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] DIRTY : CHAR[2024-06-21 09:24:48] (1)[2024-06-21 09:24:48] => char(1) +[2024-06-21 09:24:48] [3] TABLE VCELL.BACKUP_VC_USERINFO (owner: VCELL, 17677 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] USERID : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] PASSWORD : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) (Warning: 'PASSWORD' is a reserved word in PostgreSQL) +[2024-06-21 09:24:48] EMAIL : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] FIRSTNAME : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] LASTNAME : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] TITLE : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] COMPANYNAME : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] ADDRESS1 : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] ADDRESS2 : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] CITY : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] STATE : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] COUNTRY : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] ZIP : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] NOTIFY : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] INSERTDATE : DATE[2024-06-21 09:24:48] (7)[2024-06-21 09:24:48] => timestamp(0) (date?) +[2024-06-21 09:24:48] DIGESTPW : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] [4] TABLE VCELL.BAD_GEOMETRIES (owner: VCELL, 64 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] NAME : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] OWNERREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] PRIVACY : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] VERSIONPREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] VERSIONDATE : DATE[2024-06-21 09:24:48] (7)[2024-06-21 09:24:48] => timestamp(0) (date?) +[2024-06-21 09:24:48] VERSIONFLAG : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] VERSIONANNOT : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] VERSIONBRANCHID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] DIMENSION : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] ORIGINX : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] ORIGINY : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] ORIGINZ : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] EXTENTREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] IMAGEREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] [5] TABLE VCELL.BAD_REGIONS (owner: VCELL, 28 rows) +[2024-06-21 09:24:48] USERID : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] PASSWORD : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) (Warning: 'PASSWORD' is a reserved word in PostgreSQL) +[2024-06-21 09:24:48] BMNAME : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] BMDATE : VARCHAR2[2024-06-21 09:24:48] (16)[2024-06-21 09:24:48] => varchar(16) +[2024-06-21 09:24:48] APPNAME : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] STATR4 : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] BMKEY : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] SCKEY : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] GEOKEY : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] [6] TABLE VCELL.BAD_VOLFRACT (owner: VCELL, 427 rows) +[2024-06-21 09:24:48] USERID : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] PASSWORD : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) (Warning: 'PASSWORD' is a reserved word in PostgreSQL) +[2024-06-21 09:24:48] BMNAME : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] BMDATE : VARCHAR2[2024-06-21 09:24:48] (16)[2024-06-21 09:24:48] => varchar(16) +[2024-06-21 09:24:48] APPNAME : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] STATR4 : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] STATR3 : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] DIMENSION : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] HASDATA : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] BMKEY : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] SCKEY : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] STRUCTREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] SUBVOLUMEREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] STRNAME : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] SVNAME : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] VOLFRACTEXP : VARCHAR2[2024-06-21 09:24:48] (1024)[2024-06-21 09:24:48] => varchar(1024) +[2024-06-21 09:24:48] [7] TABLE VCELL.CONTEXT (owner: VCELL, 1 rows) +[2024-06-21 09:24:48] NAME : VARCHAR2[2024-06-21 09:24:48] (100)[2024-06-21 09:24:48] => varchar(100) +[2024-06-21 09:24:48] DESCRIPTION : VARCHAR2[2024-06-21 09:24:48] (200)[2024-06-21 09:24:48] => varchar(200) +[2024-06-21 09:24:48] PARENT : VARCHAR2[2024-06-21 09:24:48] (100)[2024-06-21 09:24:48] => varchar(100) +[2024-06-21 09:24:48] REVISION : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] [8] TABLE VCELL.CONTEXTMODIFICATION (owner: VCELL, 1 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] CONTEXTNAME : VARCHAR2[2024-06-21 09:24:48] (100)[2024-06-21 09:24:48] => varchar(100) +[2024-06-21 09:24:48] MODUSER : VARCHAR2[2024-06-21 09:24:48] (100)[2024-06-21 09:24:48] => varchar(100) +[2024-06-21 09:24:48] MODDATE : DATE[2024-06-21 09:24:48] (7)[2024-06-21 09:24:48] => timestamp(0) (date?) +[2024-06-21 09:24:48] [9] TABLE VCELL.DANTEMP (owner: VCELL, 1 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] TITLE : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] AUTHORS : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] YEAR : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] CITATION : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] PUBMEDID : VARCHAR2[2024-06-21 09:24:48] (64)[2024-06-21 09:24:48] => varchar(64) +[2024-06-21 09:24:48] DOI : VARCHAR2[2024-06-21 09:24:48] (128)[2024-06-21 09:24:48] => varchar(128) +[2024-06-21 09:24:48] ENDNOTEID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] URL : VARCHAR2[2024-06-21 09:24:48] (128)[2024-06-21 09:24:48] => varchar(128) +[2024-06-21 09:24:48] WITTID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] PUBDATE : DATE[2024-06-21 09:24:48] (7)[2024-06-21 09:24:48] => timestamp(0) (date?) +[2024-06-21 09:24:48] [10] TABLE VCELL.FILEDATAPARTS (owner: VCELL, 0 rows) +[2024-06-21 09:24:48] FILEID : VARCHAR2[2024-06-21 09:24:48] (32)[2024-06-21 09:24:48] => varchar(32) +[2024-06-21 09:24:48] FILEPART : VARCHAR2[2024-06-21 09:24:48] (2000)[2024-06-21 09:24:48] => varchar(2000) +[2024-06-21 09:24:48] SORTKEY : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] [11] TABLE VCELL.FILES (owner: VCELL, 0 rows) +[2024-06-21 09:24:48] NAME : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] FOLDER : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] MAPID : VARCHAR2[2024-06-21 09:24:48] (32)[2024-06-21 09:24:48] => varchar(32) +[2024-06-21 09:24:48] FILEID : VARCHAR2[2024-06-21 09:24:48] (32)[2024-06-21 09:24:48] => varchar(32) +[2024-06-21 09:24:48] [12] TABLE VCELL.FILESCONTENT (owner: VCELL, 0 rows) +[2024-06-21 09:24:48] ID : VARCHAR2[2024-06-21 09:24:48] (32)[2024-06-21 09:24:48] => varchar(32) +[2024-06-21 09:24:48] NAME : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] [13] TABLE VCELL.FLUX_MODEL_INDICES (owner: VCELL, 32764 rows) +[2024-06-21 09:24:48] BMID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] START_INDEX : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] END_INDEX : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] [14] TABLE VCELL.FLUX_MODEL_INDICES_RP (owner: VCELL, 32764 rows) +[2024-06-21 09:24:48] BMID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] REACTANT_INDEX : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] FLUXCARRIER_INDEX : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] [15] TABLE VCELL.FLUX_MODEL_PROBLEM_XML (owner: VCELL, 309 rows) +[2024-06-21 09:24:48] BMID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] START_INDEX : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] END_INDEX : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] REACTANT_INDEX : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] FLUXCARRIER_INDEX : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] FLUXXML : VARCHAR2[2024-06-21 09:24:48] (2000)[2024-06-21 09:24:48] => varchar(2000) +[2024-06-21 09:24:48] [16] TABLE VCELL.FOLDER (owner: VCELL, 2 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] PATH : VARCHAR2[2024-06-21 09:24:48] (1000)[2024-06-21 09:24:48] => varchar(1000) +[2024-06-21 09:24:48] PARENT : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] CONTEXT : VARCHAR2[2024-06-21 09:24:48] (100)[2024-06-21 09:24:48] => varchar(100) +[2024-06-21 09:24:48] HIDDEN : CHAR[2024-06-21 09:24:48] (1)[2024-06-21 09:24:48] => char(1) +[2024-06-21 09:24:48] [17] TABLE VCELL.IMAGEDATAPARTS (owner: VCELL, 0 rows) +[2024-06-21 09:24:48] IMAGEID : VARCHAR2[2024-06-21 09:24:48] (32)[2024-06-21 09:24:48] => varchar(32) +[2024-06-21 09:24:48] IMAGEPART : VARCHAR2[2024-06-21 09:24:48] (2000)[2024-06-21 09:24:48] => varchar(2000) +[2024-06-21 09:24:48] SORTKEY : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] [18] TABLE VCELL.IMAGES (owner: VCELL, 0 rows) +[2024-06-21 09:24:48] ID : VARCHAR2[2024-06-21 09:24:48] (32)[2024-06-21 09:24:48] => varchar(32) +[2024-06-21 09:24:48] NAME : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] [19] TABLE VCELL.LOADMODELSTAT (owner: VCELL, 3568 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] BIOMODELREF : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] MATHMODELREF : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] RESULTFLAG : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] ERRORMESSAGE : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] TIMESTAMP : VARCHAR2[2024-06-21 09:24:48] (32)[2024-06-21 09:24:48] => varchar(32) +[2024-06-21 09:24:48] LOADTIME : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] SOFTWAREVERS : VARCHAR2[2024-06-21 09:24:48] (32)[2024-06-21 09:24:48] => varchar(32) +[2024-06-21 09:24:48] LOADORIGINALXMLTIME : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] LOADUNRESOLVEDTIME : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] BSAMECACHEDANDNOTCACHEDXML : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] BSAMECACHEDANDNOTCACHEDOBJ : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] BSAMESELFXMLCACHEDROUNDTRIP : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] BSAMECACHEDANDNOTCACHEDXMLEXC : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] BSAMECACHEDANDNOTCACHEDOBJEXC : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] BSAMESELFXMLCACHEDROUNDTRIPEXC : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] BISSUESERRORS : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] [20] TABLE VCELL.LOADMODELSTAT_BACKUP (owner: VCELL, 36336 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] BIOMODELREF : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] MATHMODELREF : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] RESULTFLAG : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] ERRORMESSAGE : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] TIMESTAMP : VARCHAR2[2024-06-21 09:24:48] (32)[2024-06-21 09:24:48] => varchar(32) +[2024-06-21 09:24:48] LOADTIME : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] SOFTWAREVERS : VARCHAR2[2024-06-21 09:24:48] (32)[2024-06-21 09:24:48] => varchar(32) +[2024-06-21 09:24:48] LOADORIGINALXMLTIME : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] LOADUNRESOLVEDTIME : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] BSAMECACHEDANDNOTCACHEDXML : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] BSAMECACHEDANDNOTCACHEDOBJ : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] BSAMESELFXMLCACHEDROUNDTRIP : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] BSAMECACHEDANDNOTCACHEDXMLEXC : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] BSAMECACHEDANDNOTCACHEDOBJEXC : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] BSAMESELFXMLCACHEDROUNDTRIPEXC : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] [21] TABLE VCELL.MAILBOUNCE (owner: VCELL, 580 rows) +[2024-06-21 09:24:48] EMAIL : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] [22] TABLE VCELL.MAILBOUNCE_OLD (owner: VCELL, 198 rows) +[2024-06-21 09:24:48] EMAIL : VARCHAR2[2024-06-21 09:24:48] (100)[2024-06-21 09:24:48] => varchar(100) +[2024-06-21 09:24:48] [23] TABLE VCELL.MAILLIST (owner: VCELL, 15239 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] USERREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] EMAIL : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] ANNOUNCE : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] VALID : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] LIST_2011_11_08 : VARCHAR2[2024-06-21 09:24:48] (10)[2024-06-21 09:24:48] => varchar(10) +[2024-06-21 09:24:48] LIST_2011_11_30 : VARCHAR2[2024-06-21 09:24:48] (10)[2024-06-21 09:24:48] => varchar(10) +[2024-06-21 09:24:48] CATEGORY : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] [24] TABLE VCELL.MAILLIST_2013 (owner: VCELL, 16390 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] USERREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] EMAIL : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] ANNOUNCE : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] VALID : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] LIST_2011_11_08 : VARCHAR2[2024-06-21 09:24:48] (10)[2024-06-21 09:24:48] => varchar(10) +[2024-06-21 09:24:48] LIST_2011_11_30 : VARCHAR2[2024-06-21 09:24:48] (10)[2024-06-21 09:24:48] => varchar(10) +[2024-06-21 09:24:48] CATEGORY : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] [25] TABLE VCELL.MAILLIST_2013_07_29 (owner: VCELL, 16390 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] USERREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] EMAIL : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] ANNOUNCE : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] VALID : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] LIST_2011_11_08 : VARCHAR2[2024-06-21 09:24:48] (10)[2024-06-21 09:24:48] => varchar(10) +[2024-06-21 09:24:48] LIST_2011_11_30 : VARCHAR2[2024-06-21 09:24:48] (10)[2024-06-21 09:24:48] => varchar(10) +[2024-06-21 09:24:48] CATEGORY : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] [26] TABLE VCELL.MAILLIST_2014_04_30 (owner: VCELL, 17262 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] USERREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] EMAIL : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] ANNOUNCE : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] VALID : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] LIST_2011_11_08 : VARCHAR2[2024-06-21 09:24:48] (10)[2024-06-21 09:24:48] => varchar(10) +[2024-06-21 09:24:48] LIST_2011_11_30 : VARCHAR2[2024-06-21 09:24:48] (10)[2024-06-21 09:24:48] => varchar(10) +[2024-06-21 09:24:48] CATEGORY : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] [27] TABLE VCELL.MAILLIST_2014_10_22 (owner: VCELL, 17726 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] USERREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] EMAIL : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] ANNOUNCE : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] VALID : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] LIST_2011_11_08 : VARCHAR2[2024-06-21 09:24:48] (10)[2024-06-21 09:24:48] => varchar(10) +[2024-06-21 09:24:48] LIST_2011_11_30 : VARCHAR2[2024-06-21 09:24:48] (10)[2024-06-21 09:24:48] => varchar(10) +[2024-06-21 09:24:48] CATEGORY : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] [28] TABLE VCELL.MAILLIST_2015_01_08 (owner: VCELL, 18036 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] USERREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] EMAIL : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] ANNOUNCE : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] VALID : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] LIST_2011_11_08 : VARCHAR2[2024-06-21 09:24:48] (10)[2024-06-21 09:24:48] => varchar(10) +[2024-06-21 09:24:48] LIST_2011_11_30 : VARCHAR2[2024-06-21 09:24:48] (10)[2024-06-21 09:24:48] => varchar(10) +[2024-06-21 09:24:48] CATEGORY : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] [29] TABLE VCELL.MAILLIST_2015_06_09 (owner: VCELL, 18400 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] USERREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] EMAIL : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] ANNOUNCE : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] VALID : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] LIST_2011_11_08 : VARCHAR2[2024-06-21 09:24:48] (10)[2024-06-21 09:24:48] => varchar(10) +[2024-06-21 09:24:48] LIST_2011_11_30 : VARCHAR2[2024-06-21 09:24:48] (10)[2024-06-21 09:24:48] => varchar(10) +[2024-06-21 09:24:48] CATEGORY : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] [30] TABLE VCELL.MAILLIST_2015_07_17 (owner: VCELL, 18467 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] USERREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] EMAIL : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] ANNOUNCE : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] VALID : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] LIST_2011_11_08 : VARCHAR2[2024-06-21 09:24:48] (10)[2024-06-21 09:24:48] => varchar(10) +[2024-06-21 09:24:48] LIST_2011_11_30 : VARCHAR2[2024-06-21 09:24:48] (10)[2024-06-21 09:24:48] => varchar(10) +[2024-06-21 09:24:48] CATEGORY : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] [31] TABLE VCELL.MAILLIST_2016_02_01 (owner: VCELL, 19085 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] USERREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] EMAIL : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] ANNOUNCE : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] VALID : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] LIST_2011_11_08 : VARCHAR2[2024-06-21 09:24:48] (10)[2024-06-21 09:24:48] => varchar(10) +[2024-06-21 09:24:48] LIST_2011_11_30 : VARCHAR2[2024-06-21 09:24:48] (10)[2024-06-21 09:24:48] => varchar(10) +[2024-06-21 09:24:48] CATEGORY : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] [32] TABLE VCELL.MAP (owner: VCELL, 0 rows) +[2024-06-21 09:24:48] ID : VARCHAR2[2024-06-21 09:24:48] (36)[2024-06-21 09:24:48] => varchar(36) +[2024-06-21 09:24:48] NAME : VARCHAR2[2024-06-21 09:24:48] (200)[2024-06-21 09:24:48] => varchar(200) +[2024-06-21 09:24:48] FOLDER : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] CONTEXTNAME : VARCHAR2[2024-06-21 09:24:48] (100)[2024-06-21 09:24:48] => varchar(100) +[2024-06-21 09:24:48] MODIFICATIONDATE : DATE[2024-06-21 09:24:48] (7)[2024-06-21 09:24:48] => timestamp(0) (date?) +[2024-06-21 09:24:48] [33] TABLE VCELL.MAPITEM (owner: VCELL, 0 rows) +[2024-06-21 09:24:48] ID : VARCHAR2[2024-06-21 09:24:48] (36)[2024-06-21 09:24:48] => varchar(36) +[2024-06-21 09:24:48] PARENT : VARCHAR2[2024-06-21 09:24:48] (36)[2024-06-21 09:24:48] => varchar(36) +[2024-06-21 09:24:48] MAPID : VARCHAR2[2024-06-21 09:24:48] (36)[2024-06-21 09:24:48] => varchar(36) +[2024-06-21 09:24:48] OBJECTTYPE : VARCHAR2[2024-06-21 09:24:48] (36)[2024-06-21 09:24:48] => varchar(36) +[2024-06-21 09:24:48] ZORDER : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] DIRTY : CHAR[2024-06-21 09:24:48] (1)[2024-06-21 09:24:48] => char(1) +[2024-06-21 09:24:48] [34] TABLE VCELL.MAPITEMATTRIBUTE (owner: VCELL, 0 rows) +[2024-06-21 09:24:48] ID : VARCHAR2[2024-06-21 09:24:48] (36)[2024-06-21 09:24:48] => varchar(36) +[2024-06-21 09:24:48] ITEMID : VARCHAR2[2024-06-21 09:24:48] (36)[2024-06-21 09:24:48] => varchar(36) +[2024-06-21 09:24:48] PROPERTY : VARCHAR2[2024-06-21 09:24:48] (100)[2024-06-21 09:24:48] => varchar(100) +[2024-06-21 09:24:48] OBJECTTYPE : VARCHAR2[2024-06-21 09:24:48] (36)[2024-06-21 09:24:48] => varchar(36) +[2024-06-21 09:24:48] VALUE : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] SEARCHEABLEVALUE : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] ITEMREFERENCE : VARCHAR2[2024-06-21 09:24:48] (36)[2024-06-21 09:24:48] => varchar(36) +[2024-06-21 09:24:48] IMAGEREFERENCE : VARCHAR2[2024-06-21 09:24:48] (32)[2024-06-21 09:24:48] => varchar(32) +[2024-06-21 09:24:48] DIRTY : CHAR[2024-06-21 09:24:48] (1)[2024-06-21 09:24:48] => char(1) +[2024-06-21 09:24:48] [35] TABLE VCELL.MATH_HYBRID (owner: VCELL, 660 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] NAME : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] OWNERREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] PRIVACY : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] VERSIONPREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] VERSIONDATE : DATE[2024-06-21 09:24:48] (7)[2024-06-21 09:24:48] => timestamp(0) (date?) +[2024-06-21 09:24:48] VERSIONFLAG : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] VERSIONANNOT : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] VERSIONBRANCHID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] GEOMETRYREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] LANGUAGE : CLOB[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => text +[2024-06-21 09:24:48] [36] TABLE VCELL.MISSINGDATA (owner: VCELL, 157215 rows) +[2024-06-21 09:24:48] USERID : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] USERINFOID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] SIMJOBSIMREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] MAXTASKID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] JOBINDEX : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] DATAEXISTS : VARCHAR2[2024-06-21 09:24:48] (256)[2024-06-21 09:24:48] => varchar(256) +[2024-06-21 09:24:48] NOTES : VARCHAR2[2024-06-21 09:24:48] (256)[2024-06-21 09:24:48] => varchar(256) +[2024-06-21 09:24:48] [37] TABLE VCELL.NOMENCLATURE (owner: VCELL, 0 rows) +[2024-06-21 09:24:48] NAME : VARCHAR2[2024-06-21 09:24:48] (100)[2024-06-21 09:24:48] => varchar(100) +[2024-06-21 09:24:48] DESCRIPTION : VARCHAR2[2024-06-21 09:24:48] (200)[2024-06-21 09:24:48] => varchar(200) +[2024-06-21 09:24:48] TABLE_POSTFIX : VARCHAR2[2024-06-21 09:24:48] (10)[2024-06-21 09:24:48] => varchar(10) +[2024-06-21 09:24:48] [38] TABLE VCELL.NOMENCLATUREATTRS (owner: VCELL, 0 rows) +[2024-06-21 09:24:48] ATTRNAME : VARCHAR2[2024-06-21 09:24:48] (100)[2024-06-21 09:24:48] => varchar(100) +[2024-06-21 09:24:48] NOMENCLATURE : VARCHAR2[2024-06-21 09:24:48] (100)[2024-06-21 09:24:48] => varchar(100) +[2024-06-21 09:24:48] DESCRIPTION : VARCHAR2[2024-06-21 09:24:48] (200)[2024-06-21 09:24:48] => varchar(200) +[2024-06-21 09:24:48] DATATYPE : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] DATALENGTH : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] NULLABLE : CHAR[2024-06-21 09:24:48] (1)[2024-06-21 09:24:48] => char(1) +[2024-06-21 09:24:48] ISPK : CHAR[2024-06-21 09:24:48] (1)[2024-06-21 09:24:48] => char(1) +[2024-06-21 09:24:48] [39] TABLE VCELL.OBJECTTYPE (owner: VCELL, 15 rows) +[2024-06-21 09:24:48] ID : VARCHAR2[2024-06-21 09:24:48] (36)[2024-06-21 09:24:48] => varchar(36) +[2024-06-21 09:24:48] NAME : VARCHAR2[2024-06-21 09:24:48] (100)[2024-06-21 09:24:48] => varchar(100) +[2024-06-21 09:24:48] CONTEXTNAME : VARCHAR2[2024-06-21 09:24:48] (100)[2024-06-21 09:24:48] => varchar(100) +[2024-06-21 09:24:48] PARENT : VARCHAR2[2024-06-21 09:24:48] (36)[2024-06-21 09:24:48] => varchar(36) +[2024-06-21 09:24:48] JAVACLASS : VARCHAR2[2024-06-21 09:24:48] (200)[2024-06-21 09:24:48] => varchar(200) +[2024-06-21 09:24:48] ICON : VARCHAR2[2024-06-21 09:24:48] (200)[2024-06-21 09:24:48] => varchar(200) +[2024-06-21 09:24:48] PALETTEENTRY : CHAR[2024-06-21 09:24:48] (1)[2024-06-21 09:24:48] => char(1) +[2024-06-21 09:24:48] DIRTY : CHAR[2024-06-21 09:24:48] (1)[2024-06-21 09:24:48] => char(1) +[2024-06-21 09:24:48] SEARCHEABLE : CHAR[2024-06-21 09:24:48] (1)[2024-06-21 09:24:48] => char(1) +[2024-06-21 09:24:48] LONGTEXT : CLOB[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => text +[2024-06-21 09:24:48] [40] TABLE VCELL.OBJECTTYPE2OBJECTTYPE (owner: VCELL, 19 rows) +[2024-06-21 09:24:48] ID : VARCHAR2[2024-06-21 09:24:48] (36)[2024-06-21 09:24:48] => varchar(36) +[2024-06-21 09:24:48] POSSIBLECHILD : VARCHAR2[2024-06-21 09:24:48] (36)[2024-06-21 09:24:48] => varchar(36) +[2024-06-21 09:24:48] ALIAS : VARCHAR2[2024-06-21 09:24:48] (100)[2024-06-21 09:24:48] => varchar(100) +[2024-06-21 09:24:48] [41] TABLE VCELL.PLAN_TABLE (owner: VCELL, 123 rows) +[2024-06-21 09:24:48] STATEMENT_ID : VARCHAR2[2024-06-21 09:24:48] (30)[2024-06-21 09:24:48] => varchar(30) +[2024-06-21 09:24:48] TIMESTAMP : DATE[2024-06-21 09:24:48] (7)[2024-06-21 09:24:48] => timestamp(0) (date?) +[2024-06-21 09:24:48] REMARKS : VARCHAR2[2024-06-21 09:24:48] (80)[2024-06-21 09:24:48] => varchar(80) +[2024-06-21 09:24:48] OPERATION : VARCHAR2[2024-06-21 09:24:48] (30)[2024-06-21 09:24:48] => varchar(30) +[2024-06-21 09:24:48] OPTIONS : VARCHAR2[2024-06-21 09:24:48] (30)[2024-06-21 09:24:48] => varchar(30) +[2024-06-21 09:24:48] OBJECT_NODE : VARCHAR2[2024-06-21 09:24:48] (128)[2024-06-21 09:24:48] => varchar(128) +[2024-06-21 09:24:48] OBJECT_OWNER : VARCHAR2[2024-06-21 09:24:48] (30)[2024-06-21 09:24:48] => varchar(30) +[2024-06-21 09:24:48] OBJECT_NAME : VARCHAR2[2024-06-21 09:24:48] (30)[2024-06-21 09:24:48] => varchar(30) +[2024-06-21 09:24:48] OBJECT_INSTANCE : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] OBJECT_TYPE : VARCHAR2[2024-06-21 09:24:48] (30)[2024-06-21 09:24:48] => varchar(30) +[2024-06-21 09:24:48] OPTIMIZER : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] SEARCH_COLUMNS : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] PARENT_ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] POSITION : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] COST : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] CARDINALITY : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] BYTES : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] OTHER_TAG : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] PARTITION_START : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] PARTITION_STOP : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] PARTITION_ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] OTHER : LONG[2024-06-21 09:24:48] => text +[2024-06-21 09:24:48] DISTRIBUTION : VARCHAR2[2024-06-21 09:24:48] (30)[2024-06-21 09:24:48] => varchar(30) +[2024-06-21 09:24:48] [42] TABLE VCELL.PLSQL_PROFILER_DATA (owner: VCELL, 0 rows) +[2024-06-21 09:24:48] RUNID : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] UNIT_NUMBER : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] LINE# : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] TEXT : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] TOTAL_OCCUR : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] TOTAL_TIME : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] MIN_TIME : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] MAX_TIME : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] SPARE1 : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] SPARE2 : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] SPARE3 : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] SPARE4 : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] [43] TABLE VCELL.PLSQL_PROFILER_RUNS (owner: VCELL, 0 rows) +[2024-06-21 09:24:48] RUNID : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] RELATED_RUN : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] RUN_OWNER : VARCHAR2[2024-06-21 09:24:48] (32)[2024-06-21 09:24:48] => varchar(32) +[2024-06-21 09:24:48] RUN_PROC : VARCHAR2[2024-06-21 09:24:48] (256)[2024-06-21 09:24:48] => varchar(256) +[2024-06-21 09:24:48] RUN_DATE : DATE[2024-06-21 09:24:48] (7)[2024-06-21 09:24:48] => timestamp(0) (date?) +[2024-06-21 09:24:48] RUN_COMMENT : VARCHAR2[2024-06-21 09:24:48] (2047)[2024-06-21 09:24:48] => varchar(2047) +[2024-06-21 09:24:48] RUN_TOTAL_TIME : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] RUN_SYSTEM_INFO : VARCHAR2[2024-06-21 09:24:48] (2047)[2024-06-21 09:24:48] => varchar(2047) +[2024-06-21 09:24:48] RUN_COMMENT1 : VARCHAR2[2024-06-21 09:24:48] (256)[2024-06-21 09:24:48] => varchar(256) +[2024-06-21 09:24:48] SPARE1 : VARCHAR2[2024-06-21 09:24:48] (256)[2024-06-21 09:24:48] => varchar(256) +[2024-06-21 09:24:48] [44] TABLE VCELL.PLSQL_PROFILER_UNITS (owner: VCELL, 0 rows) +[2024-06-21 09:24:48] RUNID : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] UNIT_NUMBER : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] UNIT_TYPE : VARCHAR2[2024-06-21 09:24:48] (32)[2024-06-21 09:24:48] => varchar(32) +[2024-06-21 09:24:48] UNIT_OWNER : VARCHAR2[2024-06-21 09:24:48] (32)[2024-06-21 09:24:48] => varchar(32) +[2024-06-21 09:24:48] UNIT_NAME : VARCHAR2[2024-06-21 09:24:48] (32)[2024-06-21 09:24:48] => varchar(32) +[2024-06-21 09:24:48] UNIT_TIMESTAMP : DATE[2024-06-21 09:24:48] (7)[2024-06-21 09:24:48] => timestamp(0) (date?) +[2024-06-21 09:24:48] TOTAL_TIME : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] SPARE1 : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] SPARE2 : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] [45] TABLE VCELL.PROPERTY (owner: VCELL, 61 rows) +[2024-06-21 09:24:48] NAME : VARCHAR2[2024-06-21 09:24:48] (100)[2024-06-21 09:24:48] => varchar(100) +[2024-06-21 09:24:48] PARENT : VARCHAR2[2024-06-21 09:24:48] (100)[2024-06-21 09:24:48] => varchar(100) +[2024-06-21 09:24:48] DOMAIN : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] LABEL : VARCHAR2[2024-06-21 09:24:48] (100)[2024-06-21 09:24:48] => varchar(100) +[2024-06-21 09:24:48] LABELSCLASS : VARCHAR2[2024-06-21 09:24:48] (100)[2024-06-21 09:24:48] => varchar(100) +[2024-06-21 09:24:48] HIDDEN : CHAR[2024-06-21 09:24:48] (1)[2024-06-21 09:24:48] => char(1) +[2024-06-21 09:24:48] SEARCHEABLE : CHAR[2024-06-21 09:24:48] (1)[2024-06-21 09:24:48] => char(1) +[2024-06-21 09:24:48] HARDCODED : CHAR[2024-06-21 09:24:48] (1)[2024-06-21 09:24:48] => char(1) +[2024-06-21 09:24:48] DIRTY : CHAR[2024-06-21 09:24:48] (1)[2024-06-21 09:24:48] => char(1) +[2024-06-21 09:24:48] TYPEPROPERTY : CHAR[2024-06-21 09:24:48] (1)[2024-06-21 09:24:48] => char(1) +[2024-06-21 09:24:48] LONGTEXT : CLOB[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => text +[2024-06-21 09:24:48] [46] TABLE VCELL.PROPERTY2OBJECTTYPE (owner: VCELL, 154 rows) +[2024-06-21 09:24:48] PROPERTY : VARCHAR2[2024-06-21 09:24:48] (100)[2024-06-21 09:24:48] => varchar(100) +[2024-06-21 09:24:48] OBJECTTYPE : VARCHAR2[2024-06-21 09:24:48] (36)[2024-06-21 09:24:48] => varchar(36) +[2024-06-21 09:24:48] DEFAULTVALUE : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] SEARCHEABLEVALUE : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] REGEXP : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] REQUIRED : CHAR[2024-06-21 09:24:48] (1)[2024-06-21 09:24:48] => char(1) +[2024-06-21 09:24:48] DIRTY : CHAR[2024-06-21 09:24:48] (1)[2024-06-21 09:24:48] => char(1) +[2024-06-21 09:24:48] [47] TABLE VCELL.PUBLICATIONTEMP (owner: VCELL, 168 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] TITLE : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] AUTHORS : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] YEAR : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] CITATION : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] PUBMEDID : VARCHAR2[2024-06-21 09:24:48] (64)[2024-06-21 09:24:48] => varchar(64) +[2024-06-21 09:24:48] DOI : VARCHAR2[2024-06-21 09:24:48] (128)[2024-06-21 09:24:48] => varchar(128) +[2024-06-21 09:24:48] ENDNOTEID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] URL : VARCHAR2[2024-06-21 09:24:48] (128)[2024-06-21 09:24:48] => varchar(128) +[2024-06-21 09:24:48] WITTID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] PUBDATE : DATE[2024-06-21 09:24:48] (7)[2024-06-21 09:24:48] => timestamp(0) (date?) +[2024-06-21 09:24:48] [48] TABLE VCELL.STOCHTEST (owner: VCELL, 111906 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] SIMCONTEXTREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] BIOMODELREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] MATHREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] DIMENSION : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] NUMCOMPARTMENTS : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] MATHTYPE : VARCHAR2[2024-06-21 09:24:48] (64)[2024-06-21 09:24:48] => varchar(64) +[2024-06-21 09:24:48] [49] TABLE VCELL.STOCHTESTCOMPARE (owner: VCELL, 2137 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] STOCHTESTRUNREF1 : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] STOCHTESTRUNREF2 : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] RESULTS : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] STATUS : VARCHAR2[2024-06-21 09:24:48] (32)[2024-06-21 09:24:48] => varchar(32) +[2024-06-21 09:24:48] ERRMSG : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] SMALLEST_PVALUE : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] NUMEXPERIMENTS : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] NUMFAIL_95 : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] NUMFAIL_99 : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] NUMFAIL_999 : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] CONCLUSION : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] [50] TABLE VCELL.STOCHTESTCOMPARE_2015_12_08 (owner: VCELL, 1867 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (8[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => integer +[2024-06-21 09:24:48] STOCHTESTRUNREF1 : NUMBER[2024-06-21 09:24:48] (8[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => integer +[2024-06-21 09:24:48] STOCHTESTRUNREF2 : NUMBER[2024-06-21 09:24:48] (8[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => integer +[2024-06-21 09:24:48] RESULTS : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] STATUS : VARCHAR2[2024-06-21 09:24:48] (32)[2024-06-21 09:24:48] => varchar(32) +[2024-06-21 09:24:48] ERRMSG : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] SMALLEST_PVALUE : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] NUMEXPERIMENTS : NUMBER[2024-06-21 09:24:48] (4[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => smallint +[2024-06-21 09:24:48] NUMFAIL_95 : NUMBER[2024-06-21 09:24:48] (3[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => smallint +[2024-06-21 09:24:48] NUMFAIL_99 : NUMBER[2024-06-21 09:24:48] (3[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => smallint +[2024-06-21 09:24:48] NUMFAIL_999 : NUMBER[2024-06-21 09:24:48] (1[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => smallint +[2024-06-21 09:24:48] CONCLUSION : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] [51] TABLE VCELL.STOCHTESTCOMPARE_2016_08_26 (owner: VCELL, 1832 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (8[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => integer +[2024-06-21 09:24:48] STOCHTESTRUNREF1 : NUMBER[2024-06-21 09:24:48] (8[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => integer +[2024-06-21 09:24:48] STOCHTESTRUNREF2 : NUMBER[2024-06-21 09:24:48] (8[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => integer +[2024-06-21 09:24:48] RESULTS : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] STATUS : VARCHAR2[2024-06-21 09:24:48] (32)[2024-06-21 09:24:48] => varchar(32) +[2024-06-21 09:24:48] ERRMSG : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] SMALLEST_PVALUE : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] NUMEXPERIMENTS : NUMBER[2024-06-21 09:24:48] (4[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => smallint +[2024-06-21 09:24:48] NUMFAIL_95 : NUMBER[2024-06-21 09:24:48] (3[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => smallint +[2024-06-21 09:24:48] NUMFAIL_99 : NUMBER[2024-06-21 09:24:48] (3[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => smallint +[2024-06-21 09:24:48] NUMFAIL_999 : NUMBER[2024-06-21 09:24:48] (1[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => smallint +[2024-06-21 09:24:48] CONCLUSION : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] [52] TABLE VCELL.STOCHTESTCOMPARE_2016_09_21 (owner: VCELL, 2233 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (9[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => integer +[2024-06-21 09:24:48] STOCHTESTRUNREF1 : NUMBER[2024-06-21 09:24:48] (9[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => integer +[2024-06-21 09:24:48] STOCHTESTRUNREF2 : NUMBER[2024-06-21 09:24:48] (9[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => integer +[2024-06-21 09:24:48] RESULTS : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] STATUS : VARCHAR2[2024-06-21 09:24:48] (32)[2024-06-21 09:24:48] => varchar(32) +[2024-06-21 09:24:48] ERRMSG : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] SMALLEST_PVALUE : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] NUMEXPERIMENTS : NUMBER[2024-06-21 09:24:48] (3[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => smallint +[2024-06-21 09:24:48] NUMFAIL_95 : NUMBER[2024-06-21 09:24:48] (2[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => smallint +[2024-06-21 09:24:48] NUMFAIL_99 : NUMBER[2024-06-21 09:24:48] (2[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => smallint +[2024-06-21 09:24:48] NUMFAIL_999 : NUMBER[2024-06-21 09:24:48] (1[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => smallint +[2024-06-21 09:24:48] CONCLUSION : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] [53] TABLE VCELL.STOCHTESTRUN (owner: VCELL, 4274 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] STOCHTESTREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] PARENTMATHTYPE : VARCHAR2[2024-06-21 09:24:48] (64)[2024-06-21 09:24:48] => varchar(64) +[2024-06-21 09:24:48] MATHTYPE : VARCHAR2[2024-06-21 09:24:48] (64)[2024-06-21 09:24:48] => varchar(64) +[2024-06-21 09:24:48] STATUS : VARCHAR2[2024-06-21 09:24:48] (32)[2024-06-21 09:24:48] => varchar(32) +[2024-06-21 09:24:48] ERRMSG : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] CONCLUSION : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] EXCLUDE : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] NETWORKGENPROBS : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] [54] TABLE VCELL.STOCHTESTRUN_2016_08_26 (owner: VCELL, 3664 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (8[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => integer +[2024-06-21 09:24:48] STOCHTESTREF : NUMBER[2024-06-21 09:24:48] (8[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => integer +[2024-06-21 09:24:48] PARENTMATHTYPE : VARCHAR2[2024-06-21 09:24:48] (64)[2024-06-21 09:24:48] => varchar(64) +[2024-06-21 09:24:48] MATHTYPE : VARCHAR2[2024-06-21 09:24:48] (64)[2024-06-21 09:24:48] => varchar(64) +[2024-06-21 09:24:48] STATUS : VARCHAR2[2024-06-21 09:24:48] (32)[2024-06-21 09:24:48] => varchar(32) +[2024-06-21 09:24:48] ERRMSG : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] CONCLUSION : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] EXCLUDE : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] NETWORKGENPROBS : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] [55] TABLE VCELL.STOCHTESTRUN_2016_09_21 (owner: VCELL, 4466 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (9[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => integer +[2024-06-21 09:24:48] STOCHTESTREF : NUMBER[2024-06-21 09:24:48] (9[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => integer +[2024-06-21 09:24:48] PARENTMATHTYPE : VARCHAR2[2024-06-21 09:24:48] (64)[2024-06-21 09:24:48] => varchar(64) +[2024-06-21 09:24:48] MATHTYPE : VARCHAR2[2024-06-21 09:24:48] (64)[2024-06-21 09:24:48] => varchar(64) +[2024-06-21 09:24:48] STATUS : VARCHAR2[2024-06-21 09:24:48] (32)[2024-06-21 09:24:48] => varchar(32) +[2024-06-21 09:24:48] ERRMSG : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] CONCLUSION : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] EXCLUDE : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] NETWORKGENPROBS : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] [56] TABLE VCELL.STOCHTESTTEMP (owner: VCELL, 172 rows) +[2024-06-21 09:24:48] TEMPMATHID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] [57] TABLE VCELL.STOCHTEST_2016_08_26 (owner: VCELL, 106753 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (8[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => integer +[2024-06-21 09:24:48] SIMCONTEXTREF : NUMBER[2024-06-21 09:24:48] (8[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => integer +[2024-06-21 09:24:48] BIOMODELREF : NUMBER[2024-06-21 09:24:48] (8[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => integer +[2024-06-21 09:24:48] MATHREF : NUMBER[2024-06-21 09:24:48] (8[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => integer +[2024-06-21 09:24:48] DIMENSION : NUMBER[2024-06-21 09:24:48] (1[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => smallint +[2024-06-21 09:24:48] NUMCOMPARTMENTS : NUMBER[2024-06-21 09:24:48] (3[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => smallint +[2024-06-21 09:24:48] MATHTYPE : VARCHAR2[2024-06-21 09:24:48] (64)[2024-06-21 09:24:48] => varchar(64) +[2024-06-21 09:24:48] [58] TABLE VCELL.STOCHTEST_BACKUP (owner: VCELL, 106110 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (8[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => integer +[2024-06-21 09:24:48] SIMCONTEXTREF : NUMBER[2024-06-21 09:24:48] (8[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => integer +[2024-06-21 09:24:48] BIOMODELREF : NUMBER[2024-06-21 09:24:48] (8[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => integer +[2024-06-21 09:24:48] MATHREF : NUMBER[2024-06-21 09:24:48] (8[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => integer +[2024-06-21 09:24:48] DIMENSION : NUMBER[2024-06-21 09:24:48] (1[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => smallint +[2024-06-21 09:24:48] NUMCOMPARTMENTS : NUMBER[2024-06-21 09:24:48] (3[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => smallint +[2024-06-21 09:24:48] MATHTYPE : VARCHAR2[2024-06-21 09:24:48] (64)[2024-06-21 09:24:48] => varchar(64) +[2024-06-21 09:24:48] [59] TABLE VCELL.STOCHTEST_NEWIDS (owner: VCELL, 3509 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] [60] TABLE VCELL.TEMPSCREF (owner: VCELL, 2 rows) +[2024-06-21 09:24:48] SCREF : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] [61] TABLE VCELL.TEMP_DBSPECIES (owner: VCELL, 363 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] COMPOUNDREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] ENZYMEREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] PROTEINREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] [62] TABLE VCELL.TEMP_SIMCONTEXTSTAT2 (owner: VCELL, 10236 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] SIMCONTEXTREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] HASDATA : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] EQUIV : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] STATUS : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] CURATOREQUIV : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] COMMENTS : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] [63] TABLE VCELL.TEMP_SIMSTAT (owner: VCELL, 31649 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] SIMREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] EQUIV : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] STATUS : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] CURATOREQUIV : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] COMMENTS : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] [64] TABLE VCELL.TEMP_USERS (owner: VCELL, 332 rows) +[2024-06-21 09:24:48] USERID : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] [65] TABLE VCELL.VC_ANALYSISTASK (owner: VCELL, 18241 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] SIMCONTEXTREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] ANALYSISTASKXML : CLOB[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => text +[2024-06-21 09:24:48] INSERTDATE : DATE[2024-06-21 09:24:48] (7)[2024-06-21 09:24:48] => timestamp(0) (date?) +[2024-06-21 09:24:48] [66] TABLE VCELL.VC_ANNOUNCE (owner: VCELL, 2 rows) +[2024-06-21 09:24:48] EMAIL : VARCHAR2[2024-06-21 09:24:48] (132)[2024-06-21 09:24:48] => varchar(132) +[2024-06-21 09:24:48] NOTE : VARCHAR2[2024-06-21 09:24:48] (256)[2024-06-21 09:24:48] => varchar(256) +[2024-06-21 09:24:48] [67] TABLE VCELL.VC_APIACCESSTOKEN (owner: VCELL, 7912069 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] ACCESSTOKEN : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] CLIENTREF : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] USERREF : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] CREATIONDATE : DATE[2024-06-21 09:24:48] (7)[2024-06-21 09:24:48] => timestamp(0) (date?) +[2024-06-21 09:24:48] EXPIREDATE : DATE[2024-06-21 09:24:48] (7)[2024-06-21 09:24:48] => timestamp(0) (date?) +[2024-06-21 09:24:48] STATUS : VARCHAR2[2024-06-21 09:24:48] (20)[2024-06-21 09:24:48] => varchar(20) +[2024-06-21 09:24:48] [68] TABLE VCELL.VC_APICLIENT (owner: VCELL, 3 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] CLIENTNAME : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] CLIENTID : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] CLIENTSECRET : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] [69] TABLE VCELL.VC_APPLICATIONMATH (owner: VCELL, 13548 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] SIMCONTEXTREF : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] OUTPUTFUNCLRG : CLOB[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => text +[2024-06-21 09:24:48] OUTPUTFUNCSML : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] MATHMODELREF : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] [70] TABLE VCELL.VC_AVAILABLE (owner: VCELL, 5 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] INSERTDATE : DATE[2024-06-21 09:24:48] (7)[2024-06-21 09:24:48] => timestamp(0) (date?) +[2024-06-21 09:24:48] ISAVAILABLE : VARCHAR2[2024-06-21 09:24:48] (5)[2024-06-21 09:24:48] => varchar(5) +[2024-06-21 09:24:48] LETUSERASKFORCALLBACK : VARCHAR2[2024-06-21 09:24:48] (5)[2024-06-21 09:24:48] => varchar(5) +[2024-06-21 09:24:48] OFFLINEMESSAGE : VARCHAR2[2024-06-21 09:24:48] (512)[2024-06-21 09:24:48] => varchar(512) +[2024-06-21 09:24:48] [71] TABLE VCELL.VC_BIOMODEL (owner: VCELL, 88279 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] NAME : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] OWNERREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] PRIVACY : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] VERSIONPREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] VERSIONDATE : DATE[2024-06-21 09:24:48] (7)[2024-06-21 09:24:48] => timestamp(0) (date?) +[2024-06-21 09:24:48] VERSIONFLAG : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] VERSIONANNOT : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] VERSIONBRANCHID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] MODELREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] CHILDSUMMARYLRG : CLOB[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => text +[2024-06-21 09:24:48] CHILDSUMMARYSML : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] [72] TABLE VCELL.VC_BIOMODELSIM (owner: VCELL, 651800 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] BIOMODELREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] SIMREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] [73] TABLE VCELL.VC_BIOMODELSIMCONTEXT (owner: VCELL, 190338 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] BIOMODELREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] SIMCONTEXTREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] [74] TABLE VCELL.VC_BIOMODELXML (owner: VCELL, 87679 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] BIOMODELREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] BMXML : CLOB[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => text +[2024-06-21 09:24:48] CHANGEDATE : DATE[2024-06-21 09:24:48] (7)[2024-06-21 09:24:48] => timestamp(0) (date?) +[2024-06-21 09:24:48] [75] TABLE VCELL.VC_BIOMODELXML_BACKUP (owner: VCELL, 1 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] BIOMODELREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] BMXML : CLOB[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => text +[2024-06-21 09:24:48] CHANGEDATE : DATE[2024-06-21 09:24:48] (7)[2024-06-21 09:24:48] => timestamp(0) (date?) +[2024-06-21 09:24:48] [76] TABLE VCELL.VC_BROWSEDATA (owner: VCELL, 20597 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] IMAGEREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] DATA : BLOB[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => bytea +[2024-06-21 09:24:48] [77] TABLE VCELL.VC_CELLTYPE (owner: VCELL, 1 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] NAME : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] ANNOTATION : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] [78] TABLE VCELL.VC_COMPOUND (owner: VCELL, 10788 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] FORMULA : VARCHAR2[2024-06-21 09:24:48] (256)[2024-06-21 09:24:48] => varchar(256) +[2024-06-21 09:24:48] CASID : VARCHAR2[2024-06-21 09:24:48] (256)[2024-06-21 09:24:48] => varchar(256) +[2024-06-21 09:24:48] KEGGID : VARCHAR2[2024-06-21 09:24:48] (32)[2024-06-21 09:24:48] => varchar(32) +[2024-06-21 09:24:48] [79] TABLE VCELL.VC_COMPOUNDALIAS (owner: VCELL, 16454 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] COMPOUNDREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] NAME : VARCHAR2[2024-06-21 09:24:48] (256)[2024-06-21 09:24:48] => varchar(256) +[2024-06-21 09:24:48] PREFERRED : VARCHAR2[2024-06-21 09:24:48] (1)[2024-06-21 09:24:48] => varchar(1) +[2024-06-21 09:24:48] [80] TABLE VCELL.VC_CURVE (owner: VCELL, 4 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] CURVEDATA : CLOB[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => text +[2024-06-21 09:24:48] FILAMENTREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] [81] TABLE VCELL.VC_DATASYMBOL (owner: VCELL, 517 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] DATASYMBOLNAME : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] DATASYMBOLTYPE : VARCHAR2[2024-06-21 09:24:48] (32)[2024-06-21 09:24:48] => varchar(32) +[2024-06-21 09:24:48] DATASYMBOLVCUNITDEF : VARCHAR2[2024-06-21 09:24:48] (64)[2024-06-21 09:24:48] => varchar(64) +[2024-06-21 09:24:48] SIMCONTEXTREF : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] FIELDDATAREF : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] FIELDDATAVARNAME : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] FIELDDATAVARTYPE : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] FIELDDATAVARTIME : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] [82] TABLE VCELL.VC_DBSPECIES (owner: VCELL, 920 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] COMPOUNDREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] ENZYMEREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] PROTEINREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] [83] TABLE VCELL.VC_DEVELOPER (owner: VCELL, 6 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] [84] TABLE VCELL.VC_DIAGRAM (owner: VCELL, 242666 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] NAME : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] MODELREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] STRUCTREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] LANGUAGE : CLOB[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => text +[2024-06-21 09:24:48] DIAGRAMLRG : CLOB[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => text +[2024-06-21 09:24:48] DIAGRAMSML : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] [85] TABLE VCELL.VC_ENZYME (owner: VCELL, 3805 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] REACTION : VARCHAR2[2024-06-21 09:24:48] (512)[2024-06-21 09:24:48] => varchar(512) +[2024-06-21 09:24:48] ECNUMBER : VARCHAR2[2024-06-21 09:24:48] (32)[2024-06-21 09:24:48] => varchar(32) +[2024-06-21 09:24:48] SYSNAME : VARCHAR2[2024-06-21 09:24:48] (512)[2024-06-21 09:24:48] => varchar(512) +[2024-06-21 09:24:48] CASID : VARCHAR2[2024-06-21 09:24:48] (256)[2024-06-21 09:24:48] => varchar(256) +[2024-06-21 09:24:48] [86] TABLE VCELL.VC_ENZYMEALIAS (owner: VCELL, 16713 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] ENZYMEREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] NAME : VARCHAR2[2024-06-21 09:24:48] (256)[2024-06-21 09:24:48] => varchar(256) +[2024-06-21 09:24:48] PREFERRED : VARCHAR2[2024-06-21 09:24:48] (1)[2024-06-21 09:24:48] => varchar(1) +[2024-06-21 09:24:48] [87] TABLE VCELL.VC_ENZYMEREACTION (owner: VCELL, 25698 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] REACTIONID : VARCHAR2[2024-06-21 09:24:48] (32)[2024-06-21 09:24:48] => varchar(32) +[2024-06-21 09:24:48] ENZYMEREF : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] COMPOUNDREF : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] TYPE : VARCHAR2[2024-06-21 09:24:48] (1)[2024-06-21 09:24:48] => varchar(1) +[2024-06-21 09:24:48] STOICH : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] PARSEDECNUMBER : VARCHAR2[2024-06-21 09:24:48] (32)[2024-06-21 09:24:48] => varchar(32) +[2024-06-21 09:24:48] [88] TABLE VCELL.VC_EXTERNALDATA (owner: VCELL, 1141 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] OWNERREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] EXTERNALDATANAME : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] ANNOTATION : VARCHAR2[2024-06-21 09:24:48] (1024)[2024-06-21 09:24:48] => varchar(1024) +[2024-06-21 09:24:48] [89] TABLE VCELL.VC_FILAMENT (owner: VCELL, 4 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] FILAMENTNAME : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] GEOMETRYREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] [90] TABLE VCELL.VC_GEOMETRICREGION (owner: VCELL, 3396466 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] NAME : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] REGIONTYPE : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] GEOMETRYREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] REGIONSIZE : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] SIZEUNIT : VARCHAR2[2024-06-21 09:24:48] (50)[2024-06-21 09:24:48] => varchar(50) +[2024-06-21 09:24:48] VOLREGION1 : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] VOLREGION2 : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] REGIONID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] SUBVOLUMEREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] [91] TABLE VCELL.VC_GEOMETRY (owner: VCELL, 94654 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] NAME : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] OWNERREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] PRIVACY : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] VERSIONPREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] VERSIONDATE : DATE[2024-06-21 09:24:48] (7)[2024-06-21 09:24:48] => timestamp(0) (date?) +[2024-06-21 09:24:48] VERSIONFLAG : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] VERSIONANNOT : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] VERSIONBRANCHID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] DIMENSION : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] ORIGINX : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] ORIGINY : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] ORIGINZ : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] EXTENTREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] IMAGEREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] [92] TABLE VCELL.VC_GEOMEXTENT (owner: VCELL, 358970 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] EXTENTX : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] EXTENTY : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] EXTENTZ : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] [93] TABLE VCELL.VC_GLOBALMODELPARAM (owner: VCELL, 25258 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] MODELREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] XMLFRAGMENT : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] [94] TABLE VCELL.VC_GROUP (owner: VCELL, 10573 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] GROUPID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] USERREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] ISHIDDENFROMOWNER : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] GROUPMEMBERHASH : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] [95] TABLE VCELL.VC_IMAGE (owner: VCELL, 20631 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] NAME : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] OWNERREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] PRIVACY : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] VERSIONPREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] VERSIONDATE : DATE[2024-06-21 09:24:48] (7)[2024-06-21 09:24:48] => timestamp(0) (date?) +[2024-06-21 09:24:48] VERSIONFLAG : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] VERSIONANNOT : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] VERSIONBRANCHID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] NUMX : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] NUMY : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] NUMZ : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] EXTENTREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] [96] TABLE VCELL.VC_IMAGEDATA (owner: VCELL, 20631 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] IMAGEREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] DATA : BLOB[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => bytea +[2024-06-21 09:24:48] [97] TABLE VCELL.VC_IMAGEREGION (owner: VCELL, 74412 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] REGIONNAME : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] IMAGEREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] PIXELVALUE : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] [98] TABLE VCELL.VC_LOGIN (owner: VCELL, 2839359 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] LOGIN_DATE : DATE[2024-06-21 09:24:48] (7)[2024-06-21 09:24:48] => timestamp(0) (date?) +[2024-06-21 09:24:48] SERVERVERS : VARCHAR2[2024-06-21 09:24:48] (32)[2024-06-21 09:24:48] => varchar(32) +[2024-06-21 09:24:48] [99] TABLE VCELL.VC_MATH (owner: VCELL, 174264 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] NAME : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] OWNERREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] PRIVACY : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] VERSIONPREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] VERSIONDATE : DATE[2024-06-21 09:24:48] (7)[2024-06-21 09:24:48] => timestamp(0) (date?) +[2024-06-21 09:24:48] VERSIONFLAG : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] VERSIONANNOT : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] VERSIONBRANCHID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] GEOMETRYREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] LANGUAGE : CLOB[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => text +[2024-06-21 09:24:48] [100] TABLE VCELL.VC_MATHDESCEXTDATA (owner: VCELL, 1805 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] MATHDESCREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] EXTDATAREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] [101] TABLE VCELL.VC_MATHGEN (owner: VCELL, 17033 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] BIOMODELREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] SIMCONTEXTREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] ORIGMATHREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] MATHLANGUAGE : CLOB[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => text +[2024-06-21 09:24:48] SOFTWAREVERSION : VARCHAR2[2024-06-21 09:24:48] (32)[2024-06-21 09:24:48] => varchar(32) +[2024-06-21 09:24:48] STATUS : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] ISSUES : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] [102] TABLE VCELL.VC_MATHMODEL (owner: VCELL, 23997 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] NAME : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] OWNERREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] PRIVACY : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] VERSIONPREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] VERSIONDATE : DATE[2024-06-21 09:24:48] (7)[2024-06-21 09:24:48] => timestamp(0) (date?) +[2024-06-21 09:24:48] VERSIONFLAG : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] VERSIONANNOT : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] VERSIONBRANCHID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] MATHREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] CHILDSUMMARYLRG : CLOB[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => text +[2024-06-21 09:24:48] CHILDSUMMARYSML : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] [103] TABLE VCELL.VC_MATHMODELSIM (owner: VCELL, 168608 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] MATHMODELREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] SIMREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] [104] TABLE VCELL.VC_MATHMODELXML (owner: VCELL, 24003 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] MATHMODELREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] MMXML : CLOB[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => text +[2024-06-21 09:24:48] CHANGEDATE : DATE[2024-06-21 09:24:48] (7)[2024-06-21 09:24:48] => timestamp(0) (date?) +[2024-06-21 09:24:48] [105] TABLE VCELL.VC_METADATA (owner: VCELL, 62561 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] BIOMODELREF : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] VCMETADATALARGE : CLOB[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => text +[2024-06-21 09:24:48] VCMETADATASMALL : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] [106] TABLE VCELL.VC_MIRIAM (owner: VCELL, 79017 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] BIOMODELREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] SPECIESREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] STRUCTREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] REACTSTEPREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] ANNOTATION : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] USERNOTES : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] [107] TABLE VCELL.VC_MODEL (owner: VCELL, 67863 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] NAME : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] OWNERREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] PRIVACY : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] VERSIONPREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] VERSIONDATE : DATE[2024-06-21 09:24:48] (7)[2024-06-21 09:24:48] => timestamp(0) (date?) +[2024-06-21 09:24:48] VERSIONFLAG : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] VERSIONANNOT : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] VERSIONBRANCHID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] UNITSYSTEMXML : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] RBMLRG : CLOB[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => text +[2024-06-21 09:24:48] RBMSML : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] [108] TABLE VCELL.VC_MODELSC (owner: VCELL, 1082587 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] MODELREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] SPECIESREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] STRUCTREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] NAME : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] HASOVERRIDE : VARCHAR2[2024-06-21 09:24:48] (1)[2024-06-21 09:24:48] => varchar(1) +[2024-06-21 09:24:48] SPECIESPATTERN : VARCHAR2[2024-06-21 09:24:48] (2000)[2024-06-21 09:24:48] => varchar(2000) +[2024-06-21 09:24:48] SBMLNAME : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] [109] TABLE VCELL.VC_MODELSTRUCT (owner: VCELL, 242704 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] MODELREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] STRUCTREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] [110] TABLE VCELL.VC_PERMISSION (owner: VCELL, 260585 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] MATHMODELREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] BIOMODELREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] GEOMETRYREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] IMAGEREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] MATHDESCREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] MODELREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] SIMCONTEXTREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] SIMULATIONREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] GROUPID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] CHILDID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] [111] TABLE VCELL.VC_PROTEIN (owner: VCELL, 178940 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] ORGANISM : VARCHAR2[2024-06-21 09:24:48] (1024)[2024-06-21 09:24:48] => varchar(1024) +[2024-06-21 09:24:48] ACCESSIONNUMBER : VARCHAR2[2024-06-21 09:24:48] (1024)[2024-06-21 09:24:48] => varchar(1024) +[2024-06-21 09:24:48] SWISSPROTID : VARCHAR2[2024-06-21 09:24:48] (32)[2024-06-21 09:24:48] => varchar(32) +[2024-06-21 09:24:48] KEYWORDS : VARCHAR2[2024-06-21 09:24:48] (1024)[2024-06-21 09:24:48] => varchar(1024) +[2024-06-21 09:24:48] DESCRIPTION : VARCHAR2[2024-06-21 09:24:48] (1024)[2024-06-21 09:24:48] => varchar(1024) +[2024-06-21 09:24:48] MOLWEIGHT : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] [112] TABLE VCELL.VC_PROTEINALIAS (owner: VCELL, 178940 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] PROTEINREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] NAME : VARCHAR2[2024-06-21 09:24:48] (256)[2024-06-21 09:24:48] => varchar(256) +[2024-06-21 09:24:48] PREFERRED : VARCHAR2[2024-06-21 09:24:48] (1)[2024-06-21 09:24:48] => varchar(1) +[2024-06-21 09:24:48] [113] TABLE VCELL.VC_PUBLICATION (owner: VCELL, 231 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] TITLE : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] AUTHORS : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] YEAR : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] CITATION : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] PUBMEDID : VARCHAR2[2024-06-21 09:24:48] (64)[2024-06-21 09:24:48] => varchar(64) +[2024-06-21 09:24:48] DOI : VARCHAR2[2024-06-21 09:24:48] (128)[2024-06-21 09:24:48] => varchar(128) +[2024-06-21 09:24:48] ENDNOTEID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] URL : VARCHAR2[2024-06-21 09:24:48] (128)[2024-06-21 09:24:48] => varchar(128) +[2024-06-21 09:24:48] WITTID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] PUBDATE : DATE[2024-06-21 09:24:48] (7)[2024-06-21 09:24:48] => timestamp(0) (date?) +[2024-06-21 09:24:48] [114] TABLE VCELL.VC_PUBLICATIONMODELLINK (owner: VCELL, 342 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] PUBREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] BIOMODELREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] MATHMODELREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] [115] TABLE VCELL.VC_REACTIONSPEC (owner: VCELL, 3652007 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] REACTSTEPREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] SIMCONTEXTREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] MAPPING : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] [116] TABLE VCELL.VC_REACTPART (owner: VCELL, 3332216 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] ROLE : VARCHAR2[2024-06-21 09:24:48] (10)[2024-06-21 09:24:48] => varchar(10) +[2024-06-21 09:24:48] STOICH : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] REACTSTEPREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] SCREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] [117] TABLE VCELL.VC_REACTSTEP (owner: VCELL, 1164256 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] REACTTYPE : VARCHAR2[2024-06-21 09:24:48] (10)[2024-06-21 09:24:48] => varchar(10) +[2024-06-21 09:24:48] MODELREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] STRUCTREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] KINETICS : CLOB[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => text +[2024-06-21 09:24:48] NAME : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] CHARGEVALENCE : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] PHYSICSOPTIONS : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] KINETICSLRG : CLOB[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => text +[2024-06-21 09:24:48] KINETICSSML : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] ANNOTATION : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] SBMLNAME : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] [118] TABLE VCELL.VC_RSETEXPORT (owner: VCELL, 2176 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] SIMULATIONREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] EXPORTDATE : DATE[2024-06-21 09:24:48] (7)[2024-06-21 09:24:48] => timestamp(0) (date?) +[2024-06-21 09:24:48] EXPORTFORMAT : VARCHAR2[2024-06-21 09:24:48] (1024)[2024-06-21 09:24:48] => varchar(1024) +[2024-06-21 09:24:48] EXPORTURL : VARCHAR2[2024-06-21 09:24:48] (1024)[2024-06-21 09:24:48] => varchar(1024) +[2024-06-21 09:24:48] [119] TABLE VCELL.VC_RSETMETADATA (owner: VCELL, 180115 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] SIMREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] STARTDATE : DATE[2024-06-21 09:24:48] (7)[2024-06-21 09:24:48] => timestamp(0) (date?) +[2024-06-21 09:24:48] ENDDATE : DATE[2024-06-21 09:24:48] (7)[2024-06-21 09:24:48] => timestamp(0) (date?) +[2024-06-21 09:24:48] DATAFILEPATH : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] JOBINDEX : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] [120] TABLE VCELL.VC_SERVICE (owner: VCELL, 63 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] SERVERID : VARCHAR2[2024-06-21 09:24:48] (20)[2024-06-21 09:24:48] => varchar(20) +[2024-06-21 09:24:48] TYPE : VARCHAR2[2024-06-21 09:24:48] (64)[2024-06-21 09:24:48] => varchar(64) +[2024-06-21 09:24:48] ORDINAL : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] STARTUPTYPE : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] MEMORYMB : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] LASTUPDATE : DATE[2024-06-21 09:24:48] (7)[2024-06-21 09:24:48] => timestamp(0) (date?) +[2024-06-21 09:24:48] STATUS : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] STATUSMSG : VARCHAR2[2024-06-21 09:24:48] (2048)[2024-06-21 09:24:48] => varchar(2048) +[2024-06-21 09:24:48] PBSJOBID : VARCHAR2[2024-06-21 09:24:48] (128)[2024-06-21 09:24:48] => varchar(128) +[2024-06-21 09:24:48] [121] TABLE VCELL.VC_SIMCONTEXT (owner: VCELL, 164264 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] NAME : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] OWNERREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] PRIVACY : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] VERSIONPREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] VERSIONDATE : DATE[2024-06-21 09:24:48] (7)[2024-06-21 09:24:48] => timestamp(0) (date?) +[2024-06-21 09:24:48] VERSIONFLAG : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] VERSIONANNOT : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] VERSIONBRANCHID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] MATHREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] MODELREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] GEOMETRYREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] CHARSIZE : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] APPCOMPONENTSLRG : CLOB[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => text +[2024-06-21 09:24:48] APPCOMPONENTSSML : VARCHAR2[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => varchar(4000) +[2024-06-21 09:24:48] [122] TABLE VCELL.VC_SIMCONTEXTSTAT (owner: VCELL, 0 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] SIMCONTEXTREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] HASDUPREACT : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] HASDATA : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] EQUIV : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] STATUS : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] OLDMATH : CLOB[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => text +[2024-06-21 09:24:48] NEWMATH : CLOB[2024-06-21 09:24:48] (4000)[2024-06-21 09:24:48] => text +[2024-06-21 09:24:48] CURATOREQUIV : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] COMMENTS : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] UPDATEDMATH : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] EVAL_TIME : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] SUBSTATUS : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] [123] TABLE VCELL.VC_SIMCONTEXTSTAT2 (owner: VCELL, 71061 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] SIMCONTEXTREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] HASDATA : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] EQUIV : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] STATUS : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] CURATOREQUIV : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] COMMENTS : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] EQUIV_4_8 : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] STATUS_4_8 : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] [124] TABLE VCELL.VC_SIMCONTEXTSTAT2_2011_11_03 (owner: VCELL, 63095 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] SIMCONTEXTREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] HASDATA : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] EQUIV : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] STATUS : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] CURATOREQUIV : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] COMMENTS : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] EQUIV_4_8 : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] STATUS_4_8 : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] [125] TABLE VCELL.VC_SIMCONTEXTSTAT2_2012_08_09 (owner: VCELL, 63095 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] SIMCONTEXTREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] HASDATA : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] EQUIV : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] STATUS : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] CURATOREQUIV : NUMBER[2024-06-21 09:24:48] (38[2024-06-21 09:24:48] )[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] COMMENTS : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] EQUIV_4_8 : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] STATUS_4_8 : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] [126] TABLE VCELL.VC_SIMCONTEXTSTAT2_BACKUP (owner: VCELL, 13375 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] SIMCONTEXTREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] HASDATA : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] EQUIV : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] STATUS : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] CURATOREQUIV : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] COMMENTS : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] [127] TABLE VCELL.VC_SIMCONTEXTSTAT2_BUILD478 (owner: VCELL, 14502 rows) +[2024-06-21 09:24:48] ID : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] SIMCONTEXTREF : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] HASDATA : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] EQUIV : NUMBER[2024-06-21 09:24:48] (22)[2024-06-21 09:24:48] => bigint +[2024-06-21 09:24:48] STATUS : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:48] => varchar(255) +[2024-06-21 09:24:48] CURATOREQUIV : NUMBER[2024-06-21 09:24:48] (38)[2024-06-21 09:24:48] => numeric(38) +[2024-06-21 09:24:48] COMMENTS : VARCHAR2[2024-06-21 09:24:48] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] [128] TABLE VCELL.VC_SIMCONTEXTSTAT2_BUILD478_F1 (owner: VCELL, 14482 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SIMCONTEXTREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] HASDATA : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] EQUIV : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] STATUS : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] CURATOREQUIV : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] COMMENTS : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] [129] TABLE VCELL.VC_SIMCONTEXTSTAT_COPY (owner: VCELL, 13375 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SIMCONTEXTREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] HASDUPREACT : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] HASDATA : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] EQUIV : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] STATUS : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] OLDMATH : CLOB[2024-06-21 09:24:49] (4000)[2024-06-21 09:24:49] => text +[2024-06-21 09:24:49] NEWMATH : CLOB[2024-06-21 09:24:49] (4000)[2024-06-21 09:24:49] => text +[2024-06-21 09:24:49] CURATOREQUIV : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] COMMENTS : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] UPDATEDMATH : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] EVAL_TIME : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] SUBSTATUS : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] [130] TABLE VCELL.VC_SIMCONTEXTSTAT_OLDR3 (owner: VCELL, 3316 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SIMCONTEXTREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] HASDUPREACT : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] HASDATA : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] EQUIV : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] STATUS : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] OLDMATH : CLOB[2024-06-21 09:24:49] (4000)[2024-06-21 09:24:49] => text +[2024-06-21 09:24:49] NEWMATH : CLOB[2024-06-21 09:24:49] (4000)[2024-06-21 09:24:49] => text +[2024-06-21 09:24:49] CURATOREQUIV : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] COMMENTS : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] UPDATEDMATH : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] [131] TABLE VCELL.VC_SIMDELFROMDISK (owner: VCELL, 3885907 rows) +[2024-06-21 09:24:49] DELDATE : VARCHAR2[2024-06-21 09:24:49] (20)[2024-06-21 09:24:49] => varchar(20) +[2024-06-21 09:24:49] USERID : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] USERKEY : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SIMID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SIMPREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SIMDATE : VARCHAR2[2024-06-21 09:24:49] (20)[2024-06-21 09:24:49] => varchar(20) +[2024-06-21 09:24:49] SIMNAME : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] STATUS : CHAR[2024-06-21 09:24:49] (10)[2024-06-21 09:24:49] => char(10) +[2024-06-21 09:24:49] NUMFILES : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] TOTALSIZE : NUMBER[2024-06-21 09:24:49] (16[2024-06-21 09:24:49] )[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] [132] TABLE VCELL.VC_SIMJOB_WITHDATA (owner: VCELL, 434623 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SIMREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SUBMITDATE : DATE[2024-06-21 09:24:49] (7)[2024-06-21 09:24:49] => timestamp(0) (date?) +[2024-06-21 09:24:49] TASKID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SCHEDULERSTATUS : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] STATUSMSG : VARCHAR2[2024-06-21 09:24:49] (4000)[2024-06-21 09:24:49] => varchar(4000) +[2024-06-21 09:24:49] QUEUEDATE : DATE[2024-06-21 09:24:49] (7)[2024-06-21 09:24:49] => timestamp(0) (date?) +[2024-06-21 09:24:49] QUEUEPRIORITY : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] QUEUEID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] STARTDATE : DATE[2024-06-21 09:24:49] (7)[2024-06-21 09:24:49] => timestamp(0) (date?) +[2024-06-21 09:24:49] COMPUTEHOST : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] LATESTUPDATEDATE : DATE[2024-06-21 09:24:49] (7)[2024-06-21 09:24:49] => timestamp(0) (date?) +[2024-06-21 09:24:49] ENDDATE : DATE[2024-06-21 09:24:49] (7)[2024-06-21 09:24:49] => timestamp(0) (date?) +[2024-06-21 09:24:49] HASDATA : CHAR[2024-06-21 09:24:49] (1)[2024-06-21 09:24:49] => char(1) +[2024-06-21 09:24:49] SERVERID : VARCHAR2[2024-06-21 09:24:49] (20)[2024-06-21 09:24:49] => varchar(20) +[2024-06-21 09:24:49] JOBINDEX : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] PBSJOBID : VARCHAR2[2024-06-21 09:24:49] (100)[2024-06-21 09:24:49] => varchar(100) +[2024-06-21 09:24:49] SRLNO : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] RSETMETADATAREF : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] [133] TABLE VCELL.VC_SIMMESHSPEC (owner: VCELL, 15212 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SIMREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SAMPLESIZEX : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SAMPLESIZEY : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SAMPLESIZEZ : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] [134] TABLE VCELL.VC_SIMSTAT (owner: VCELL, 273890 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SIMREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] EQUIV : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] STATUS : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] CURATOREQUIV : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] COMMENTS : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] [135] TABLE VCELL.VC_SIMSTAT_2012_08_09 (owner: VCELL, 49003 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SIMREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] EQUIV : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] STATUS : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] CURATOREQUIV : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] COMMENTS : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] [136] TABLE VCELL.VC_SIMSTAT_BACKUP (owner: VCELL, 34588 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SIMREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] EQUIV : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] STATUS : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] CURATOREQUIV : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] COMMENTS : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] [137] TABLE VCELL.VC_SIMSTAT_BACKUP2 (owner: VCELL, 42791 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SIMREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] EQUIV : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] STATUS : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] CURATOREQUIV : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] COMMENTS : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] [138] TABLE VCELL.VC_SIMULATION (owner: VCELL, 709564 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] NAME : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] OWNERREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] PRIVACY : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] VERSIONPREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] VERSIONDATE : DATE[2024-06-21 09:24:49] (7)[2024-06-21 09:24:49] => timestamp(0) (date?) +[2024-06-21 09:24:49] VERSIONFLAG : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] VERSIONANNOT : VARCHAR2[2024-06-21 09:24:49] (4000)[2024-06-21 09:24:49] => varchar(4000) +[2024-06-21 09:24:49] VERSIONBRANCHID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] MATHREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] MATHOVERRIDES : CLOB[2024-06-21 09:24:49] (4000)[2024-06-21 09:24:49] => text +[2024-06-21 09:24:49] PARENTSIMREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] MATHOVERRIDESLRG : CLOB[2024-06-21 09:24:49] (4000)[2024-06-21 09:24:49] => text +[2024-06-21 09:24:49] MATHOVERRIDESSML : VARCHAR2[2024-06-21 09:24:49] (4000)[2024-06-21 09:24:49] => varchar(4000) +[2024-06-21 09:24:49] TASKDESC : VARCHAR2[2024-06-21 09:24:49] (4000)[2024-06-21 09:24:49] => varchar(4000) +[2024-06-21 09:24:49] MESHSPECX : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] MESHSPECY : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] MESHSPECZ : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] DATAPROCINSTR : VARCHAR2[2024-06-21 09:24:49] (4000)[2024-06-21 09:24:49] => varchar(4000) +[2024-06-21 09:24:49] [139] TABLE VCELL.VC_SIMULATIONJOB (owner: VCELL, 1285781 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SIMREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SUBMITDATE : DATE[2024-06-21 09:24:49] (7)[2024-06-21 09:24:49] => timestamp(0) (date?) +[2024-06-21 09:24:49] TASKID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SCHEDULERSTATUS : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] STATUSMSG : VARCHAR2[2024-06-21 09:24:49] (4000)[2024-06-21 09:24:49] => varchar(4000) +[2024-06-21 09:24:49] QUEUEDATE : DATE[2024-06-21 09:24:49] (7)[2024-06-21 09:24:49] => timestamp(0) (date?) +[2024-06-21 09:24:49] QUEUEPRIORITY : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] QUEUEID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] STARTDATE : DATE[2024-06-21 09:24:49] (7)[2024-06-21 09:24:49] => timestamp(0) (date?) +[2024-06-21 09:24:49] COMPUTEHOST : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] LATESTUPDATEDATE : DATE[2024-06-21 09:24:49] (7)[2024-06-21 09:24:49] => timestamp(0) (date?) +[2024-06-21 09:24:49] ENDDATE : DATE[2024-06-21 09:24:49] (7)[2024-06-21 09:24:49] => timestamp(0) (date?) +[2024-06-21 09:24:49] HASDATA : CHAR[2024-06-21 09:24:49] (1)[2024-06-21 09:24:49] => char(1) +[2024-06-21 09:24:49] SERVERID : VARCHAR2[2024-06-21 09:24:49] (20)[2024-06-21 09:24:49] => varchar(20) +[2024-06-21 09:24:49] JOBINDEX : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] PBSJOBID : VARCHAR2[2024-06-21 09:24:49] (100)[2024-06-21 09:24:49] => varchar(100) +[2024-06-21 09:24:49] [140] TABLE VCELL.VC_SOFTWAREVERSION (owner: VCELL, 1238466 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] VERSIONABLEREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SOFTWAREVERSION : VARCHAR2[2024-06-21 09:24:49] (64)[2024-06-21 09:24:49] => varchar(64) +[2024-06-21 09:24:49] [141] TABLE VCELL.VC_SPECIALUSERS (owner: VCELL, 35 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] SPECIAL : VARCHAR2[2024-06-21 09:24:49] (100)[2024-06-21 09:24:49] => varchar(100) +[2024-06-21 09:24:49] USERREF : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] USERDETAIL : VARCHAR2[2024-06-21 09:24:49] (1000)[2024-06-21 09:24:49] => varchar(1000) +[2024-06-21 09:24:49] [142] TABLE VCELL.VC_SPECIES (owner: VCELL, 10375753 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] COMMONNAME : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] DBSPECIESREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] ANNOTATION : VARCHAR2[2024-06-21 09:24:49] (1024)[2024-06-21 09:24:49] => varchar(1024) +[2024-06-21 09:24:49] [143] TABLE VCELL.VC_SPECIESCONTEXTSPEC (owner: VCELL, 3374395 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SPECCONTEXTREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SIMCONTEXTREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] BENABLEDIF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] BFORCECONST : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] BFORCEINDEP : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] INITCONDEXP : VARCHAR2[2024-06-21 09:24:49] (2048)[2024-06-21 09:24:49] => varchar(2048) +[2024-06-21 09:24:49] DIFFRATEEXP : VARCHAR2[2024-06-21 09:24:49] (1024)[2024-06-21 09:24:49] => varchar(1024) +[2024-06-21 09:24:49] BOUNDARYXMEXP : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] BOUNDARYXPEXP : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] BOUNDARYYMEXP : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] BOUNDARYYPEXP : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] BOUNDARYZMEXP : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] BOUNDARYZPEXP : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] INITCONDCOUNTEXP : VARCHAR2[2024-06-21 09:24:49] (1024)[2024-06-21 09:24:49] => varchar(1024) +[2024-06-21 09:24:49] VELOCITYXEXP : VARCHAR2[2024-06-21 09:24:49] (1024)[2024-06-21 09:24:49] => varchar(1024) +[2024-06-21 09:24:49] VELOCITYYEXP : VARCHAR2[2024-06-21 09:24:49] (1024)[2024-06-21 09:24:49] => varchar(1024) +[2024-06-21 09:24:49] VELOCITYZEXP : VARCHAR2[2024-06-21 09:24:49] (1024)[2024-06-21 09:24:49] => varchar(1024) +[2024-06-21 09:24:49] BWELLMIXED : NUMBER[2024-06-21 09:24:49] (38[2024-06-21 09:24:49] )[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] BFORCECONTINUOUS : NUMBER[2024-06-21 09:24:49] (38[2024-06-21 09:24:49] )[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] INTERNALLINKS : VARCHAR2[2024-06-21 09:24:49] (4000)[2024-06-21 09:24:49] => varchar(4000) +[2024-06-21 09:24:49] SITEATTRIBUTESSPECS : VARCHAR2[2024-06-21 09:24:49] (4000)[2024-06-21 09:24:49] => varchar(4000) +[2024-06-21 09:24:49] [144] TABLE VCELL.VC_SPECIESCONTEXTSPEC_TEMP (owner: VCELL, 0 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (38[2024-06-21 09:24:49] )[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SPECCONTEXTREF : NUMBER[2024-06-21 09:24:49] (38[2024-06-21 09:24:49] )[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SIMCONTEXTREF : NUMBER[2024-06-21 09:24:49] (38[2024-06-21 09:24:49] )[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] BENABLEDIF : NUMBER[2024-06-21 09:24:49] (38[2024-06-21 09:24:49] )[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] BFORCECONST : NUMBER[2024-06-21 09:24:49] (38[2024-06-21 09:24:49] )[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] BFORCEINDEP : NUMBER[2024-06-21 09:24:49] (38[2024-06-21 09:24:49] )[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] INITCONDEXP : VARCHAR2[2024-06-21 09:24:49] (2048)[2024-06-21 09:24:49] => varchar(2048) +[2024-06-21 09:24:49] DIFFRATEEXP : VARCHAR2[2024-06-21 09:24:49] (1024)[2024-06-21 09:24:49] => varchar(1024) +[2024-06-21 09:24:49] BOUNDARYXMEXP : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] BOUNDARYXPEXP : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] BOUNDARYYMEXP : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] BOUNDARYYPEXP : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] BOUNDARYZMEXP : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] BOUNDARYZPEXP : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] INITCONDCOUNTEXP : VARCHAR2[2024-06-21 09:24:49] (1024)[2024-06-21 09:24:49] => varchar(1024) +[2024-06-21 09:24:49] VELOCITYXEXP : VARCHAR2[2024-06-21 09:24:49] (1024)[2024-06-21 09:24:49] => varchar(1024) +[2024-06-21 09:24:49] VELOCITYYEXP : VARCHAR2[2024-06-21 09:24:49] (1024)[2024-06-21 09:24:49] => varchar(1024) +[2024-06-21 09:24:49] VELOCITYZEXP : VARCHAR2[2024-06-21 09:24:49] (1024)[2024-06-21 09:24:49] => varchar(1024) +[2024-06-21 09:24:49] BWELLMIXED : NUMBER[2024-06-21 09:24:49] (38[2024-06-21 09:24:49] )[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] BFORCECONTINUOUS : NUMBER[2024-06-21 09:24:49] (38[2024-06-21 09:24:49] )[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] [145] TABLE VCELL.VC_STIMULUS (owner: VCELL, 30913 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] STRUCTREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SIMCONTEXTREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] NAME : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] STIMULUSTYPE : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] EXPRESSION : VARCHAR2[2024-06-21 09:24:49] (4000)[2024-06-21 09:24:49] => varchar(4000) +[2024-06-21 09:24:49] POSX : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] POSY : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] POSZ : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] PARAMS : VARCHAR2[2024-06-21 09:24:49] (4000)[2024-06-21 09:24:49] => varchar(4000) +[2024-06-21 09:24:49] [146] TABLE VCELL.VC_STRUCT (owner: VCELL, 10722547 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] STRNAME : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] STRUCTTYPE : VARCHAR2[2024-06-21 09:24:49] (10)[2024-06-21 09:24:49] => varchar(10) +[2024-06-21 09:24:49] PARENTREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] CELLTYPEREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] MEMVOLTNAME : VARCHAR2[2024-06-21 09:24:49] (64)[2024-06-21 09:24:49] => varchar(64) +[2024-06-21 09:24:49] INSIDEREF : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] OUTSIDEREF : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] NEGFEATUREREF : NUMBER[2024-06-21 09:24:49] (38[2024-06-21 09:24:49] )[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] POSFEATUREREF : NUMBER[2024-06-21 09:24:49] (38[2024-06-21 09:24:49] )[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] [147] TABLE VCELL.VC_STRUCTMAPPING (owner: VCELL, 620975 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SUBVOLUMEREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] STRUCTREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SIMCONTEXTREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] BRESOLVED : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SURFTOVOLEXP : VARCHAR2[2024-06-21 09:24:49] (1024)[2024-06-21 09:24:49] => varchar(1024) +[2024-06-21 09:24:49] VOLFRACTEXP : VARCHAR2[2024-06-21 09:24:49] (1024)[2024-06-21 09:24:49] => varchar(1024) +[2024-06-21 09:24:49] BOUNDARYTYPEXM : VARCHAR2[2024-06-21 09:24:49] (10)[2024-06-21 09:24:49] => varchar(10) +[2024-06-21 09:24:49] BOUNDARYTYPEXP : VARCHAR2[2024-06-21 09:24:49] (10)[2024-06-21 09:24:49] => varchar(10) +[2024-06-21 09:24:49] BOUNDARYTYPEYM : VARCHAR2[2024-06-21 09:24:49] (10)[2024-06-21 09:24:49] => varchar(10) +[2024-06-21 09:24:49] BOUNDARYTYPEYP : VARCHAR2[2024-06-21 09:24:49] (10)[2024-06-21 09:24:49] => varchar(10) +[2024-06-21 09:24:49] BOUNDARYTYPEZM : VARCHAR2[2024-06-21 09:24:49] (10)[2024-06-21 09:24:49] => varchar(10) +[2024-06-21 09:24:49] BOUNDARYTYPEZP : VARCHAR2[2024-06-21 09:24:49] (10)[2024-06-21 09:24:49] => varchar(10) +[2024-06-21 09:24:49] BCALCULATEV : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SPECIFICCAP : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] INITIALV : VARCHAR2[2024-06-21 09:24:49] (1024)[2024-06-21 09:24:49] => varchar(1024) +[2024-06-21 09:24:49] SIZEEXP : VARCHAR2[2024-06-21 09:24:49] (1024)[2024-06-21 09:24:49] => varchar(1024) +[2024-06-21 09:24:49] VOLPERUNITAREAEXP : VARCHAR2[2024-06-21 09:24:49] (1024)[2024-06-21 09:24:49] => varchar(1024) +[2024-06-21 09:24:49] VOLPERUNITVOLEXP : VARCHAR2[2024-06-21 09:24:49] (1024)[2024-06-21 09:24:49] => varchar(1024) +[2024-06-21 09:24:49] AREAPERUNITAREAEXP : VARCHAR2[2024-06-21 09:24:49] (1024)[2024-06-21 09:24:49] => varchar(1024) +[2024-06-21 09:24:49] AREAPERUNITVOLEXP : VARCHAR2[2024-06-21 09:24:49] (1024)[2024-06-21 09:24:49] => varchar(1024) +[2024-06-21 09:24:49] SURFACECLASSREF : NUMBER[2024-06-21 09:24:49] (38[2024-06-21 09:24:49] )[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] [148] TABLE VCELL.VC_SUBVOLUME (owner: VCELL, 180797 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] NAME : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] IMAGEREGIONREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] GEOMETRYREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] EXPRESSION : VARCHAR2[2024-06-21 09:24:49] (2048)[2024-06-21 09:24:49] => varchar(2048) +[2024-06-21 09:24:49] HANDLE : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] ORDINAL : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] [149] TABLE VCELL.VC_SURFACECLASS (owner: VCELL, 56973 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (38[2024-06-21 09:24:49] )[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] NAME : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] GEOMETRYREF : NUMBER[2024-06-21 09:24:49] (38[2024-06-21 09:24:49] )[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SUBVOLUMEREF1 : NUMBER[2024-06-21 09:24:49] (38[2024-06-21 09:24:49] )[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SUBVOLUMEREF2 : NUMBER[2024-06-21 09:24:49] (38[2024-06-21 09:24:49] )[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] [150] TABLE VCELL.VC_SURFACEDESC (owner: VCELL, 59656 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] GEOMETRYREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SAMPLESIZEX : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SAMPLESIZEY : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SAMPLESIZEZ : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] FILTERFREQ : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] [151] TABLE VCELL.VC_TASKDESC (owner: VCELL, 28172 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SIMREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] DATA : CLOB[2024-06-21 09:24:49] (4000)[2024-06-21 09:24:49] => text +[2024-06-21 09:24:49] [152] TABLE VCELL.VC_TFTESTCASE (owner: VCELL, 15026 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] TESTSUITEREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] MATHMODELREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] TCSOLUTIONTYPE : VARCHAR2[2024-06-21 09:24:49] (64)[2024-06-21 09:24:49] => varchar(64) +[2024-06-21 09:24:49] TCANNOTATION : VARCHAR2[2024-06-21 09:24:49] (512)[2024-06-21 09:24:49] => varchar(512) +[2024-06-21 09:24:49] CREATIONDATE : DATE[2024-06-21 09:24:49] (7)[2024-06-21 09:24:49] => timestamp(0) (date?) +[2024-06-21 09:24:49] BMAPPREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] [153] TABLE VCELL.VC_TFTESTCRITERIA (owner: VCELL, 49032 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] TESTCASEREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SIMULATIONREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] SIMDATAREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] REGRESSIONSIMREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] MAXRELERROR : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] MAXABSERROR : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] REGRESSIONBMAPPREF : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] REGRESSIONBMSIMREF : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] REPORTSTATUS : VARCHAR2[2024-06-21 09:24:49] (32)[2024-06-21 09:24:49] => varchar(32) +[2024-06-21 09:24:49] REPORTMESSAGE : VARCHAR2[2024-06-21 09:24:49] (512)[2024-06-21 09:24:49] => varchar(512) +[2024-06-21 09:24:49] [154] TABLE VCELL.VC_TFTESTRESULT (owner: VCELL, 165889 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] TESTCRITERIAREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] VARNAME : VARCHAR2[2024-06-21 09:24:49] (128)[2024-06-21 09:24:49] => varchar(128) +[2024-06-21 09:24:49] ABSERROR : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] RELERROR : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] MAXREF : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] MINREF : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] MEANSQRERROR : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] TIMEABSERROR : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] INDEXABSERROR : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] TIMERELERROR : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] INDEXRELERROR : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] [155] TABLE VCELL.VC_TFTESTSUITE (owner: VCELL, 109 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] TSVERSION : VARCHAR2[2024-06-21 09:24:49] (64)[2024-06-21 09:24:49] => varchar(64) +[2024-06-21 09:24:49] VCBUILDVERSION : VARCHAR2[2024-06-21 09:24:49] (64)[2024-06-21 09:24:49] => varchar(64) +[2024-06-21 09:24:49] VCNUMERICSVERSION : VARCHAR2[2024-06-21 09:24:49] (64)[2024-06-21 09:24:49] => varchar(64) +[2024-06-21 09:24:49] CREATIONDATE : DATE[2024-06-21 09:24:49] (7)[2024-06-21 09:24:49] => timestamp(0) (date?) +[2024-06-21 09:24:49] CHANGEDATE : DATE[2024-06-21 09:24:49] (7)[2024-06-21 09:24:49] => timestamp(0) (date?) +[2024-06-21 09:24:49] TSANNOTATION : VARCHAR2[2024-06-21 09:24:49] (512)[2024-06-21 09:24:49] => varchar(512) +[2024-06-21 09:24:49] ISLOCKED : NUMBER[2024-06-21 09:24:49] (38[2024-06-21 09:24:49] )[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] [156] TABLE VCELL.VC_USERIDENTITY (owner: VCELL, 8 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] USERREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] AUTHSUBJECT : VARCHAR2[2024-06-21 09:24:49] (128)[2024-06-21 09:24:49] => varchar(128) +[2024-06-21 09:24:49] AUTHISSUER : VARCHAR2[2024-06-21 09:24:49] (128)[2024-06-21 09:24:49] => varchar(128) +[2024-06-21 09:24:49] INSERTDATE : DATE[2024-06-21 09:24:49] (7)[2024-06-21 09:24:49] => timestamp(0) (date?) +[2024-06-21 09:24:49] [157] TABLE VCELL.VC_USERINFO (owner: VCELL, 25826 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] USERID : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] PASSWORD : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) (Warning: 'PASSWORD' is a reserved word in PostgreSQL) +[2024-06-21 09:24:49] EMAIL : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] FIRSTNAME : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] LASTNAME : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] TITLE : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] COMPANYNAME : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] ADDRESS1 : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] ADDRESS2 : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] CITY : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] STATE : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] COUNTRY : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] ZIP : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] NOTIFY : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] INSERTDATE : DATE[2024-06-21 09:24:49] (7)[2024-06-21 09:24:49] => timestamp(0) (date?) +[2024-06-21 09:24:49] DIGESTPW : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] [158] TABLE VCELL.VC_USERLOG (owner: VCELL, 291808 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] USERREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] EVENTDATE : DATE[2024-06-21 09:24:49] (7)[2024-06-21 09:24:49] => timestamp(0) (date?) +[2024-06-21 09:24:49] LOGTEXT : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] FILEPATH : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] EVENTTYPE : VARCHAR2[2024-06-21 09:24:49] (10)[2024-06-21 09:24:49] => varchar(10) +[2024-06-21 09:24:49] SWVERSION : VARCHAR2[2024-06-21 09:24:49] (10)[2024-06-21 09:24:49] => varchar(10) +[2024-06-21 09:24:49] IPADDRESS : VARCHAR2[2024-06-21 09:24:49] (40)[2024-06-21 09:24:49] => varchar(40) +[2024-06-21 09:24:49] [159] TABLE VCELL.VC_USERLOGININFO (owner: VCELL, 32313 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (38[2024-06-21 09:24:49] )[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] USERREF : NUMBER[2024-06-21 09:24:49] (38[2024-06-21 09:24:49] )[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] LOGINCOUNT : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] LASTLOGIN : DATE[2024-06-21 09:24:49] (7)[2024-06-21 09:24:49] => timestamp(0) (date?) +[2024-06-21 09:24:49] OSARCH : VARCHAR2[2024-06-21 09:24:49] (32)[2024-06-21 09:24:49] => varchar(32) +[2024-06-21 09:24:49] OSNAME : VARCHAR2[2024-06-21 09:24:49] (32)[2024-06-21 09:24:49] => varchar(32) +[2024-06-21 09:24:49] OSVERS : VARCHAR2[2024-06-21 09:24:49] (32)[2024-06-21 09:24:49] => varchar(32) +[2024-06-21 09:24:49] CLIENTVERS : VARCHAR2[2024-06-21 09:24:49] (32)[2024-06-21 09:24:49] => varchar(32) +[2024-06-21 09:24:49] SERVERVERS : VARCHAR2[2024-06-21 09:24:49] (32)[2024-06-21 09:24:49] => varchar(32) +[2024-06-21 09:24:49] JAVAVERS : VARCHAR2[2024-06-21 09:24:49] (32)[2024-06-21 09:24:49] => varchar(32) +[2024-06-21 09:24:49] [160] TABLE VCELL.VC_USERPREF (owner: VCELL, 17295 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] USERREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] USERPREFKEY : VARCHAR2[2024-06-21 09:24:49] (128)[2024-06-21 09:24:49] => varchar(128) +[2024-06-21 09:24:49] USERPREFVALUE : VARCHAR2[2024-06-21 09:24:49] (4000)[2024-06-21 09:24:49] => varchar(4000) +[2024-06-21 09:24:49] [161] TABLE VCELL.VC_USERSTAT (owner: VCELL, 25369 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] USERREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] LOGINCOUNT : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] LASTLOGIN : DATE[2024-06-21 09:24:49] (7)[2024-06-21 09:24:49] => timestamp(0) (date?) +[2024-06-21 09:24:49] EMAILLOSTPASSWORDOK : VARCHAR2[2024-06-21 09:24:49] (5)[2024-06-21 09:24:49] => varchar(5) +[2024-06-21 09:24:49] WANTSONLINECALLBACK : VARCHAR2[2024-06-21 09:24:49] (5)[2024-06-21 09:24:49] => varchar(5) +[2024-06-21 09:24:49] USERAGENT : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] USEMAC : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] USEWIN : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] USELIN : NUMBER[2024-06-21 09:24:49] (22)[2024-06-21 09:24:49] => bigint +[2024-06-21 09:24:49] [162] TABLE VCELL.WEB_DOWNLOAD_EVENT (owner: VCELL, 494 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] ITEM_ID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] TYPE_ID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] IP_ADDR : CHAR[2024-06-21 09:24:49] (16)[2024-06-21 09:24:49] => char(16) +[2024-06-21 09:24:49] TSTAMP : DATE[2024-06-21 09:24:49] (7)[2024-06-21 09:24:49] => timestamp(0) (date?) +[2024-06-21 09:24:49] [163] TABLE VCELL.WEB_DOWNLOAD_ITEM (owner: VCELL, 1 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] NAME : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] [164] TABLE VCELL.WEB_DOWNLOAD_TYPE (owner: VCELL, 3 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] DESCRIPTION : VARCHAR2[2024-06-21 09:24:49] (255)[2024-06-21 09:24:49] => varchar(255) +[2024-06-21 09:24:49] [165] TABLE VCELL.XUTEMP (owner: VCELL, 1 rows) +[2024-06-21 09:24:49] ID : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] BIOMODELREF : NUMBER[2024-06-21 09:24:49] (38)[2024-06-21 09:24:49] => numeric(38) +[2024-06-21 09:24:49] BMXML : CLOB[2024-06-21 09:24:49] (4000)[2024-06-21 09:24:49] => text +[2024-06-21 09:24:49] CHANGEDATE : DATE[2024-06-21 09:24:49] (7)[2024-06-21 09:24:49] => timestamp(0) (date?) +[2024-06-21 09:24:49] ---------------------------------------------------------- +[2024-06-21 09:24:49] Total number of rows: 62331961 + +[2024-06-21 09:24:49] Global Temporary Tables: +[2024-06-21 09:24:49] TASKS +[2024-06-21 09:24:49] + +[2024-06-21 09:24:49] Top 10 of tables sorted by number of rows: +[2024-06-21 09:24:49] [1] TABLE VCELL.VC_STRUCT has 10722547 rows +[2024-06-21 09:24:49] [2] TABLE VCELL.VC_SPECIES has 10375753 rows +[2024-06-21 09:24:49] [3] TABLE VCELL.VC_APIACCESSTOKEN has 7912069 rows +[2024-06-21 09:24:49] [4] TABLE VCELL.VC_SIMDELFROMDISK has 3885907 rows +[2024-06-21 09:24:49] [5] TABLE VCELL.VC_REACTIONSPEC has 3652007 rows +[2024-06-21 09:24:49] [6] TABLE VCELL.VC_GEOMETRICREGION has 3396466 rows +[2024-06-21 09:24:49] [7] TABLE VCELL.VC_SPECIESCONTEXTSPEC has 3374395 rows +[2024-06-21 09:24:49] [8] TABLE VCELL.VC_REACTPART has 3332216 rows +[2024-06-21 09:24:49] [9] TABLE VCELL.VC_LOGIN has 2839359 rows +[2024-06-21 09:24:49] [10] TABLE VCELL.VC_SIMULATIONJOB has 1285781 rows +[2024-06-21 09:24:49] Top 10 of largest tables: +[2024-06-21 09:24:49] [1] TABLE VCELL.VC_APIACCESSTOKEN: 1479 MB (7912069 rows) +[2024-06-21 09:24:49] [2] TABLE VCELL.VC_SIMULATION: 824 MB (709564 rows) +[2024-06-21 09:24:49] [3] TABLE VCELL.VC_REACTSTEP: 544 MB (1164256 rows) +[2024-06-21 09:24:49] [4] TABLE VCELL.VC_STRUCT: 489 MB (10722547 rows) +[2024-06-21 09:24:49] [5] TABLE VCELL.VC_SIMDELFROMDISK: 440 MB (3885907 rows) +[2024-06-21 09:24:49] [6] TABLE VCELL.VC_DIAGRAM: 296 MB (242666 rows) +[2024-06-21 09:24:49] [7] TABLE VCELL.VC_GEOMETRICREGION: 288 MB (3396466 rows) +[2024-06-21 09:24:49] [8] TABLE VCELL.VC_SPECIES: 272 MB (10375753 rows) +[2024-06-21 09:24:49] [9] TABLE VCELL.VC_SPECIESCONTEXTSPEC: 264 MB (3374395 rows) +[2024-06-21 09:24:49] [10] TABLE VCELL.VC_MATH: 248 MB (174264 rows) diff --git a/docker/database/migration/migv1/reports/report.html b/docker/database/migration/migv1/reports/report.html new file mode 100644 index 0000000000..f6f60e9b1f --- /dev/null +++ b/docker/database/migration/migv1/reports/report.html @@ -0,0 +1,287 @@ + + + + Ora2Pg - Database Migration Report + + + + + + +
+ + + + + + + + + + + + + + + +
ObjectNumberInvalidEstimated costCommentsDetails
DATABASE LINK000.00Database links will be exported as SQL/MED PostgreSQL's Foreign Data Wrapper (FDW) extensions using oracle_fdw.
FUNCTION13097.00Total size of function code: 6238 bytes.
See detailsgetphysicsoption: 3
powerfactor: 3
gettaskdescription: 12
countmath: 3
getmathsize: 3
countbio: 3
getmath: 12
countsim: 3
getvalencetype: 3
getkinetics: 12
countsimdata: 3
comparekinetics: 24
GLOBAL TEMPORARY TABLE1010.00Global temporary table are not supported by PostgreSQL and will not be exported. You will have to rewrite some application code to match the PostgreSQL temporary table behavior.
See detailstasks
INDEX252036.90117 index(es) are concerned by the export, others are automatically generated and will do so on PostgreSQL. Bitmap will be exported as btree_gin index(es). Domain index are exported as b-tree but commented to be edited to mainly use FTS. Cluster, bitmap join and IOT indexes will not be exported at all. Reverse indexes are not exported too, you may use a trigram-based index (see pg_trgm) or a reverse() function based index and search. Use 'varchar_pattern_ops', 'text_pattern_ops' or 'bpchar_pattern_ops' operators in your indexes to improve search with the LIKE operator respectively into varchar, text or char columns.
See details117 b-tree index(es)
JOB000.00Job are not exported. You may set external cron job with them.
PACKAGE BODY1016.00Total size of package code: 5280 bytes. Number of procedures and functions found inside those packages: 3.
See detailstoad_profiler.rollup_all_runs: 3
toad_profiler.rollup_run: 3
toad_profiler.rollup_unit: 4
PROCEDURE3021.00Total size of procedure code: 3244 bytes.
See detailscopyoldmath_to_scmath: 6
copynewmath_to_scmath: 6
copyscmath_to_oldmath: 6
SEQUENCE401.00Sequences are fully supported, but all call to sequence_name.NEXTVAL or sequence_name.CURRVAL will be transformed into NEXTVAL('sequence_name') or CURRVAL('sequence_name').
SYNONYM000.00SYNONYMs will be exported as views. SYNONYMs do not exists with PostgreSQL but a common workaround is to use views or set the PostgreSQL search_path in your session to access object outside the current schema.
TABLE165017.20 7 check constraint(s).
See detailsTotal number of rows: 62331961
Top 10 of tables sorted by number of rows:
vc_struct has 10722547 rows
vc_species has 10375753 rows
vc_apiaccesstoken has 7912069 rows
vc_simdelfromdisk has 3885907 rows
vc_reactionspec has 3652007 rows
vc_geometricregion has 3396466 rows
vc_speciescontextspec has 3374395 rows
vc_reactpart has 3332216 rows
vc_login has 2839359 rows
vc_simulationjob has 1285781 rows
Top 10 of largest tables:
TRIGGER6024.00Total size of trigger code: 0 bytes.
See detailstcrit_lock_trig: 3
tc_lock_trig: 3
trslt_lock_trig: 3
ts_lock_trig: 3
update_login: 3
web_download_event_trg: 3
VIEW303.00Views are fully supported but can use specific functions.
Total4480226.10226.10 cost migration units means approximatively 3 person-day(s). The migration unit was set to 5 minute(s) +
+
+

Migration level: B-5

+ +
    +
  • Migration levels:
  • +
      +
    • A - Migration that might be run automatically
    • +
    • B - Migration with code rewrite and a human-days cost up to 5 days
    • +
    • C - Migration with code rewrite and a human-days cost above 5 days
    • +
    +
  • Technical levels:
  • +
      +
    • 1 = trivial: no stored functions and no triggers
    • +
    • 2 = easy: no stored functions but with triggers, no manual rewriting
    • +
    • 3 = simple: stored functions and/or triggers, no manual rewriting
    • +
    • 4 = manual: no stored functions but with triggers or views with code rewriting
    • +
    • 5 = difficult: stored functions and/or triggers with code rewriting
    • +
    +
+

Details of cost assessment per function

+
Show
    +
  • Function comparekinetics total estimated cost: 24
  • +
      +
    • DBMS_ => 7 (cost: 3)
    • +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
  • Function getkinetics total estimated cost: 12
  • +
      +
    • DBMS_ => 3 (cost: 3)
    • +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
  • Function getmath total estimated cost: 12
  • +
      +
    • DBMS_ => 3 (cost: 3)
    • +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
  • Function gettaskdescription total estimated cost: 12
  • +
      +
    • DBMS_ => 3 (cost: 3)
    • +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
  • Function countsimdata total estimated cost: 3
  • +
      +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
  • Function countmath total estimated cost: 3
  • +
      +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
  • Function powerfactor total estimated cost: 3
  • +
      +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
  • Function countsim total estimated cost: 3
  • +
      +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
  • Function getvalencetype total estimated cost: 3
  • +
      +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
  • Function getmathsize total estimated cost: 3
  • +
      +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
  • Function countbio total estimated cost: 3
  • +
      +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
  • Function getphysicsoption total estimated cost: 3
  • +
      +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
+

Details of cost assessment per procedure

+
Show
    +
  • Procedure copyscmath_to_oldmath total estimated cost: 6
  • +
      +
    • TEST => 2
    • +
    • DBMS_ => 1 (cost: 3)
    • +
    • SIZE => 1
    • +
    +
  • Procedure copyoldmath_to_scmath total estimated cost: 6
  • +
      +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    • DBMS_ => 1 (cost: 3)
    • +
    +
  • Procedure copynewmath_to_scmath total estimated cost: 6
  • +
      +
    • TEST => 2
    • +
    • DBMS_ => 1 (cost: 3)
    • +
    • SIZE => 1
    • +
    +
+

Details of cost assessment per package function

+
Show
    +
  • Function toad_profiler.rollup_unit total estimated cost: 4
  • +
      +
    • SIZE => 2
    • +
    • TEST => 2
    • +
    +
  • Function toad_profiler.rollup_all_runs total estimated cost: 3
  • +
      +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
  • Function toad_profiler.rollup_run total estimated cost: 3
  • +
      +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
+

Details of cost assessment per trigger

+
Show
    +
  • Trigger trslt_lock_trig total estimated cost: 3
  • +
      +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
  • Trigger web_download_event_trg total estimated cost: 3
  • +
      +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
  • Trigger update_login total estimated cost: 3
  • +
      +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
  • Trigger tcrit_lock_trig total estimated cost: 3
  • +
      +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
  • Trigger tc_lock_trig total estimated cost: 3
  • +
      +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
  • Trigger ts_lock_trig total estimated cost: 3
  • +
      +
    • TEST => 2
    • +
    • SIZE => 1
    • +
    +
+ + + + diff --git a/docker/database/migration/migv1/reports/tables.txt b/docker/database/migration/migv1/reports/tables.txt new file mode 100644 index 0000000000..4d810a657b --- /dev/null +++ b/docker/database/migration/migv1/reports/tables.txt @@ -0,0 +1,209 @@ +[2024-06-21 09:23:51] Ora2Pg version: 24.3 +[2024-06-21 09:23:51] Export type: SHOW_TABLE +[2024-06-21 09:23:51] Geometry export type: INTERNAL +[2024-06-21 09:23:51] ORACLE_HOME = /usr/lib/oracle/12.2/client64 +[2024-06-21 09:23:51] NLS_LANG = AMERICAN_AMERICA.AL32UTF8 +[2024-06-21 09:23:51] NLS_NCHAR = AL32UTF8 +[2024-06-21 09:23:51] Trying to connect to database: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 +[2024-06-21 09:23:51] Isolation level: SET TRANSACTION ISOLATION LEVEL SERIALIZABLE +[2024-06-21 09:23:51] Showing table information... +[2024-06-21 09:23:51] Collecting 169 tables in DBA_OBJECTS took: 0 wallclock secs ( 0.00 usr + 0.00 sys = 0.00 CPU) +[2024-06-21 09:23:55] Collecting 165 tables information in DBA_TABLES took: 4 wallclock secs ( 0.01 usr + 0.00 sys = 0.01 CPU) +[2024-06-21 09:23:55] Retrieving column identity information... +[2024-06-21 09:23:55] Looking to subpartition information... +[2024-06-21 09:24:01] Looking to partitioned tables information... +[2024-06-21 09:24:03] Looking to external tables information... +[2024-06-21 09:24:03] [1] TABLE VCELL.ATTRMAPPING (owner: VCELL, 0 rows) +[2024-06-21 09:24:03] [2] TABLE VCELL.AUTOCOPYMAPPING (owner: VCELL, 0 rows) +[2024-06-21 09:24:03] [3] TABLE VCELL.BACKUP_VC_USERINFO (owner: VCELL, 17677 rows) +[2024-06-21 09:24:03] [4] TABLE VCELL.BAD_GEOMETRIES (owner: VCELL, 64 rows) +[2024-06-21 09:24:03] [5] TABLE VCELL.BAD_REGIONS (owner: VCELL, 28 rows) +[2024-06-21 09:24:03] [6] TABLE VCELL.BAD_VOLFRACT (owner: VCELL, 427 rows) +[2024-06-21 09:24:03] [7] TABLE VCELL.CONTEXT (owner: VCELL, 1 rows) +[2024-06-21 09:24:03] [8] TABLE VCELL.CONTEXTMODIFICATION (owner: VCELL, 1 rows) +[2024-06-21 09:24:03] [9] TABLE VCELL.DANTEMP (owner: VCELL, 1 rows) +[2024-06-21 09:24:03] [10] TABLE VCELL.FILEDATAPARTS (owner: VCELL, 0 rows) +[2024-06-21 09:24:03] [11] TABLE VCELL.FILES (owner: VCELL, 0 rows) +[2024-06-21 09:24:03] [12] TABLE VCELL.FILESCONTENT (owner: VCELL, 0 rows) +[2024-06-21 09:24:03] [13] TABLE VCELL.FLUX_MODEL_INDICES (owner: VCELL, 32764 rows) +[2024-06-21 09:24:03] [14] TABLE VCELL.FLUX_MODEL_INDICES_RP (owner: VCELL, 32764 rows) +[2024-06-21 09:24:03] [15] TABLE VCELL.FLUX_MODEL_PROBLEM_XML (owner: VCELL, 309 rows) +[2024-06-21 09:24:03] [16] TABLE VCELL.FOLDER (owner: VCELL, 2 rows) +[2024-06-21 09:24:03] [17] TABLE VCELL.IMAGEDATAPARTS (owner: VCELL, 0 rows) +[2024-06-21 09:24:03] [18] TABLE VCELL.IMAGES (owner: VCELL, 0 rows) +[2024-06-21 09:24:03] [19] TABLE VCELL.LOADMODELSTAT (owner: VCELL, 3568 rows) +[2024-06-21 09:24:03] [20] TABLE VCELL.LOADMODELSTAT_BACKUP (owner: VCELL, 36336 rows) +[2024-06-21 09:24:03] [21] TABLE VCELL.MAILBOUNCE (owner: VCELL, 580 rows) +[2024-06-21 09:24:03] [22] TABLE VCELL.MAILBOUNCE_OLD (owner: VCELL, 198 rows) +[2024-06-21 09:24:03] [23] TABLE VCELL.MAILLIST (owner: VCELL, 15239 rows) +[2024-06-21 09:24:03] [24] TABLE VCELL.MAILLIST_2013 (owner: VCELL, 16390 rows) +[2024-06-21 09:24:03] [25] TABLE VCELL.MAILLIST_2013_07_29 (owner: VCELL, 16390 rows) +[2024-06-21 09:24:03] [26] TABLE VCELL.MAILLIST_2014_04_30 (owner: VCELL, 17262 rows) +[2024-06-21 09:24:03] [27] TABLE VCELL.MAILLIST_2014_10_22 (owner: VCELL, 17726 rows) +[2024-06-21 09:24:03] [28] TABLE VCELL.MAILLIST_2015_01_08 (owner: VCELL, 18036 rows) +[2024-06-21 09:24:03] [29] TABLE VCELL.MAILLIST_2015_06_09 (owner: VCELL, 18400 rows) +[2024-06-21 09:24:03] [30] TABLE VCELL.MAILLIST_2015_07_17 (owner: VCELL, 18467 rows) +[2024-06-21 09:24:03] [31] TABLE VCELL.MAILLIST_2016_02_01 (owner: VCELL, 19085 rows) +[2024-06-21 09:24:03] [32] TABLE VCELL.MAP (owner: VCELL, 0 rows) +[2024-06-21 09:24:03] [33] TABLE VCELL.MAPITEM (owner: VCELL, 0 rows) +[2024-06-21 09:24:03] [34] TABLE VCELL.MAPITEMATTRIBUTE (owner: VCELL, 0 rows) +[2024-06-21 09:24:03] [35] TABLE VCELL.MATH_HYBRID (owner: VCELL, 660 rows) +[2024-06-21 09:24:03] [36] TABLE VCELL.MISSINGDATA (owner: VCELL, 157215 rows) +[2024-06-21 09:24:03] [37] TABLE VCELL.NOMENCLATURE (owner: VCELL, 0 rows) +[2024-06-21 09:24:03] [38] TABLE VCELL.NOMENCLATUREATTRS (owner: VCELL, 0 rows) +[2024-06-21 09:24:03] [39] TABLE VCELL.OBJECTTYPE (owner: VCELL, 15 rows) +[2024-06-21 09:24:03] [40] TABLE VCELL.OBJECTTYPE2OBJECTTYPE (owner: VCELL, 19 rows) +[2024-06-21 09:24:03] [41] TABLE VCELL.PLAN_TABLE (owner: VCELL, 123 rows) +[2024-06-21 09:24:03] [42] TABLE VCELL.PLSQL_PROFILER_DATA (owner: VCELL, 0 rows) +[2024-06-21 09:24:03] [43] TABLE VCELL.PLSQL_PROFILER_RUNS (owner: VCELL, 0 rows) +[2024-06-21 09:24:03] [44] TABLE VCELL.PLSQL_PROFILER_UNITS (owner: VCELL, 0 rows) +[2024-06-21 09:24:03] [45] TABLE VCELL.PROPERTY (owner: VCELL, 61 rows) +[2024-06-21 09:24:03] [46] TABLE VCELL.PROPERTY2OBJECTTYPE (owner: VCELL, 154 rows) +[2024-06-21 09:24:03] [47] TABLE VCELL.PUBLICATIONTEMP (owner: VCELL, 168 rows) +[2024-06-21 09:24:03] [48] TABLE VCELL.STOCHTEST (owner: VCELL, 111906 rows) +[2024-06-21 09:24:03] [49] TABLE VCELL.STOCHTESTCOMPARE (owner: VCELL, 2137 rows) +[2024-06-21 09:24:03] [50] TABLE VCELL.STOCHTESTCOMPARE_2015_12_08 (owner: VCELL, 1867 rows) +[2024-06-21 09:24:03] [51] TABLE VCELL.STOCHTESTCOMPARE_2016_08_26 (owner: VCELL, 1832 rows) +[2024-06-21 09:24:03] [52] TABLE VCELL.STOCHTESTCOMPARE_2016_09_21 (owner: VCELL, 2233 rows) +[2024-06-21 09:24:03] [53] TABLE VCELL.STOCHTESTRUN (owner: VCELL, 4274 rows) +[2024-06-21 09:24:03] [54] TABLE VCELL.STOCHTESTRUN_2016_08_26 (owner: VCELL, 3664 rows) +[2024-06-21 09:24:03] [55] TABLE VCELL.STOCHTESTRUN_2016_09_21 (owner: VCELL, 4466 rows) +[2024-06-21 09:24:03] [56] TABLE VCELL.STOCHTESTTEMP (owner: VCELL, 172 rows) +[2024-06-21 09:24:03] [57] TABLE VCELL.STOCHTEST_2016_08_26 (owner: VCELL, 106753 rows) +[2024-06-21 09:24:03] [58] TABLE VCELL.STOCHTEST_BACKUP (owner: VCELL, 106110 rows) +[2024-06-21 09:24:03] [59] TABLE VCELL.STOCHTEST_NEWIDS (owner: VCELL, 3509 rows) +[2024-06-21 09:24:03] [60] TABLE VCELL.TEMPSCREF (owner: VCELL, 2 rows) +[2024-06-21 09:24:03] [61] TABLE VCELL.TEMP_DBSPECIES (owner: VCELL, 363 rows) +[2024-06-21 09:24:03] [62] TABLE VCELL.TEMP_SIMCONTEXTSTAT2 (owner: VCELL, 10236 rows) +[2024-06-21 09:24:03] [63] TABLE VCELL.TEMP_SIMSTAT (owner: VCELL, 31649 rows) +[2024-06-21 09:24:03] [64] TABLE VCELL.TEMP_USERS (owner: VCELL, 332 rows) +[2024-06-21 09:24:03] [65] TABLE VCELL.VC_ANALYSISTASK (owner: VCELL, 18241 rows) +[2024-06-21 09:24:03] [66] TABLE VCELL.VC_ANNOUNCE (owner: VCELL, 2 rows) +[2024-06-21 09:24:03] [67] TABLE VCELL.VC_APIACCESSTOKEN (owner: VCELL, 7912069 rows) +[2024-06-21 09:24:03] [68] TABLE VCELL.VC_APICLIENT (owner: VCELL, 3 rows) +[2024-06-21 09:24:03] [69] TABLE VCELL.VC_APPLICATIONMATH (owner: VCELL, 13548 rows) +[2024-06-21 09:24:03] [70] TABLE VCELL.VC_AVAILABLE (owner: VCELL, 5 rows) +[2024-06-21 09:24:03] [71] TABLE VCELL.VC_BIOMODEL (owner: VCELL, 88279 rows) +[2024-06-21 09:24:03] [72] TABLE VCELL.VC_BIOMODELSIM (owner: VCELL, 651800 rows) +[2024-06-21 09:24:03] [73] TABLE VCELL.VC_BIOMODELSIMCONTEXT (owner: VCELL, 190338 rows) +[2024-06-21 09:24:03] [74] TABLE VCELL.VC_BIOMODELXML (owner: VCELL, 87679 rows) +[2024-06-21 09:24:03] [75] TABLE VCELL.VC_BIOMODELXML_BACKUP (owner: VCELL, 1 rows) +[2024-06-21 09:24:03] [76] TABLE VCELL.VC_BROWSEDATA (owner: VCELL, 20597 rows) +[2024-06-21 09:24:03] [77] TABLE VCELL.VC_CELLTYPE (owner: VCELL, 1 rows) +[2024-06-21 09:24:03] [78] TABLE VCELL.VC_COMPOUND (owner: VCELL, 10788 rows) +[2024-06-21 09:24:03] [79] TABLE VCELL.VC_COMPOUNDALIAS (owner: VCELL, 16454 rows) +[2024-06-21 09:24:03] [80] TABLE VCELL.VC_CURVE (owner: VCELL, 4 rows) +[2024-06-21 09:24:03] [81] TABLE VCELL.VC_DATASYMBOL (owner: VCELL, 517 rows) +[2024-06-21 09:24:03] [82] TABLE VCELL.VC_DBSPECIES (owner: VCELL, 920 rows) +[2024-06-21 09:24:03] [83] TABLE VCELL.VC_DEVELOPER (owner: VCELL, 6 rows) +[2024-06-21 09:24:03] [84] TABLE VCELL.VC_DIAGRAM (owner: VCELL, 242666 rows) +[2024-06-21 09:24:03] [85] TABLE VCELL.VC_ENZYME (owner: VCELL, 3805 rows) +[2024-06-21 09:24:03] [86] TABLE VCELL.VC_ENZYMEALIAS (owner: VCELL, 16713 rows) +[2024-06-21 09:24:03] [87] TABLE VCELL.VC_ENZYMEREACTION (owner: VCELL, 25698 rows) +[2024-06-21 09:24:03] [88] TABLE VCELL.VC_EXTERNALDATA (owner: VCELL, 1141 rows) +[2024-06-21 09:24:03] [89] TABLE VCELL.VC_FILAMENT (owner: VCELL, 4 rows) +[2024-06-21 09:24:03] [90] TABLE VCELL.VC_GEOMETRICREGION (owner: VCELL, 3396466 rows) +[2024-06-21 09:24:03] [91] TABLE VCELL.VC_GEOMETRY (owner: VCELL, 94654 rows) +[2024-06-21 09:24:03] [92] TABLE VCELL.VC_GEOMEXTENT (owner: VCELL, 358970 rows) +[2024-06-21 09:24:03] [93] TABLE VCELL.VC_GLOBALMODELPARAM (owner: VCELL, 25258 rows) +[2024-06-21 09:24:03] [94] TABLE VCELL.VC_GROUP (owner: VCELL, 10573 rows) +[2024-06-21 09:24:03] [95] TABLE VCELL.VC_IMAGE (owner: VCELL, 20631 rows) +[2024-06-21 09:24:03] [96] TABLE VCELL.VC_IMAGEDATA (owner: VCELL, 20631 rows) +[2024-06-21 09:24:03] [97] TABLE VCELL.VC_IMAGEREGION (owner: VCELL, 74412 rows) +[2024-06-21 09:24:03] [98] TABLE VCELL.VC_LOGIN (owner: VCELL, 2839359 rows) +[2024-06-21 09:24:03] [99] TABLE VCELL.VC_MATH (owner: VCELL, 174264 rows) +[2024-06-21 09:24:03] [100] TABLE VCELL.VC_MATHDESCEXTDATA (owner: VCELL, 1805 rows) +[2024-06-21 09:24:03] [101] TABLE VCELL.VC_MATHGEN (owner: VCELL, 17033 rows) +[2024-06-21 09:24:03] [102] TABLE VCELL.VC_MATHMODEL (owner: VCELL, 23997 rows) +[2024-06-21 09:24:03] [103] TABLE VCELL.VC_MATHMODELSIM (owner: VCELL, 168608 rows) +[2024-06-21 09:24:03] [104] TABLE VCELL.VC_MATHMODELXML (owner: VCELL, 24003 rows) +[2024-06-21 09:24:03] [105] TABLE VCELL.VC_METADATA (owner: VCELL, 62561 rows) +[2024-06-21 09:24:03] [106] TABLE VCELL.VC_MIRIAM (owner: VCELL, 79017 rows) +[2024-06-21 09:24:03] [107] TABLE VCELL.VC_MODEL (owner: VCELL, 67863 rows) +[2024-06-21 09:24:03] [108] TABLE VCELL.VC_MODELSC (owner: VCELL, 1082587 rows) +[2024-06-21 09:24:03] [109] TABLE VCELL.VC_MODELSTRUCT (owner: VCELL, 242704 rows) +[2024-06-21 09:24:03] [110] TABLE VCELL.VC_PERMISSION (owner: VCELL, 260585 rows) +[2024-06-21 09:24:03] [111] TABLE VCELL.VC_PROTEIN (owner: VCELL, 178940 rows) +[2024-06-21 09:24:03] [112] TABLE VCELL.VC_PROTEINALIAS (owner: VCELL, 178940 rows) +[2024-06-21 09:24:03] [113] TABLE VCELL.VC_PUBLICATION (owner: VCELL, 231 rows) +[2024-06-21 09:24:03] [114] TABLE VCELL.VC_PUBLICATIONMODELLINK (owner: VCELL, 342 rows) +[2024-06-21 09:24:03] [115] TABLE VCELL.VC_REACTIONSPEC (owner: VCELL, 3652007 rows) +[2024-06-21 09:24:03] [116] TABLE VCELL.VC_REACTPART (owner: VCELL, 3332216 rows) +[2024-06-21 09:24:03] [117] TABLE VCELL.VC_REACTSTEP (owner: VCELL, 1164256 rows) +[2024-06-21 09:24:03] [118] TABLE VCELL.VC_RSETEXPORT (owner: VCELL, 2176 rows) +[2024-06-21 09:24:03] [119] TABLE VCELL.VC_RSETMETADATA (owner: VCELL, 180115 rows) +[2024-06-21 09:24:03] [120] TABLE VCELL.VC_SERVICE (owner: VCELL, 63 rows) +[2024-06-21 09:24:03] [121] TABLE VCELL.VC_SIMCONTEXT (owner: VCELL, 164264 rows) +[2024-06-21 09:24:03] [122] TABLE VCELL.VC_SIMCONTEXTSTAT (owner: VCELL, 0 rows) +[2024-06-21 09:24:03] [123] TABLE VCELL.VC_SIMCONTEXTSTAT2 (owner: VCELL, 71061 rows) +[2024-06-21 09:24:03] [124] TABLE VCELL.VC_SIMCONTEXTSTAT2_2011_11_03 (owner: VCELL, 63095 rows) +[2024-06-21 09:24:03] [125] TABLE VCELL.VC_SIMCONTEXTSTAT2_2012_08_09 (owner: VCELL, 63095 rows) +[2024-06-21 09:24:03] [126] TABLE VCELL.VC_SIMCONTEXTSTAT2_BACKUP (owner: VCELL, 13375 rows) +[2024-06-21 09:24:03] [127] TABLE VCELL.VC_SIMCONTEXTSTAT2_BUILD478 (owner: VCELL, 14502 rows) +[2024-06-21 09:24:03] [128] TABLE VCELL.VC_SIMCONTEXTSTAT2_BUILD478_F1 (owner: VCELL, 14482 rows) +[2024-06-21 09:24:03] [129] TABLE VCELL.VC_SIMCONTEXTSTAT_COPY (owner: VCELL, 13375 rows) +[2024-06-21 09:24:03] [130] TABLE VCELL.VC_SIMCONTEXTSTAT_OLDR3 (owner: VCELL, 3316 rows) +[2024-06-21 09:24:03] [131] TABLE VCELL.VC_SIMDELFROMDISK (owner: VCELL, 3885907 rows) +[2024-06-21 09:24:03] [132] TABLE VCELL.VC_SIMJOB_WITHDATA (owner: VCELL, 434623 rows) +[2024-06-21 09:24:03] [133] TABLE VCELL.VC_SIMMESHSPEC (owner: VCELL, 15212 rows) +[2024-06-21 09:24:03] [134] TABLE VCELL.VC_SIMSTAT (owner: VCELL, 273890 rows) +[2024-06-21 09:24:03] [135] TABLE VCELL.VC_SIMSTAT_2012_08_09 (owner: VCELL, 49003 rows) +[2024-06-21 09:24:03] [136] TABLE VCELL.VC_SIMSTAT_BACKUP (owner: VCELL, 34588 rows) +[2024-06-21 09:24:03] [137] TABLE VCELL.VC_SIMSTAT_BACKUP2 (owner: VCELL, 42791 rows) +[2024-06-21 09:24:03] [138] TABLE VCELL.VC_SIMULATION (owner: VCELL, 709564 rows) +[2024-06-21 09:24:03] [139] TABLE VCELL.VC_SIMULATIONJOB (owner: VCELL, 1285781 rows) +[2024-06-21 09:24:03] [140] TABLE VCELL.VC_SOFTWAREVERSION (owner: VCELL, 1238466 rows) +[2024-06-21 09:24:03] [141] TABLE VCELL.VC_SPECIALUSERS (owner: VCELL, 35 rows) +[2024-06-21 09:24:03] [142] TABLE VCELL.VC_SPECIES (owner: VCELL, 10375753 rows) +[2024-06-21 09:24:03] [143] TABLE VCELL.VC_SPECIESCONTEXTSPEC (owner: VCELL, 3374395 rows) +[2024-06-21 09:24:03] [144] TABLE VCELL.VC_SPECIESCONTEXTSPEC_TEMP (owner: VCELL, 0 rows) +[2024-06-21 09:24:03] [145] TABLE VCELL.VC_STIMULUS (owner: VCELL, 30913 rows) +[2024-06-21 09:24:03] [146] TABLE VCELL.VC_STRUCT (owner: VCELL, 10722547 rows) +[2024-06-21 09:24:03] [147] TABLE VCELL.VC_STRUCTMAPPING (owner: VCELL, 620975 rows) +[2024-06-21 09:24:03] [148] TABLE VCELL.VC_SUBVOLUME (owner: VCELL, 180797 rows) +[2024-06-21 09:24:03] [149] TABLE VCELL.VC_SURFACECLASS (owner: VCELL, 56973 rows) +[2024-06-21 09:24:03] [150] TABLE VCELL.VC_SURFACEDESC (owner: VCELL, 59656 rows) +[2024-06-21 09:24:03] [151] TABLE VCELL.VC_TASKDESC (owner: VCELL, 28172 rows) +[2024-06-21 09:24:03] [152] TABLE VCELL.VC_TFTESTCASE (owner: VCELL, 15026 rows) +[2024-06-21 09:24:03] [153] TABLE VCELL.VC_TFTESTCRITERIA (owner: VCELL, 49032 rows) +[2024-06-21 09:24:03] [154] TABLE VCELL.VC_TFTESTRESULT (owner: VCELL, 165889 rows) +[2024-06-21 09:24:03] [155] TABLE VCELL.VC_TFTESTSUITE (owner: VCELL, 109 rows) +[2024-06-21 09:24:03] [156] TABLE VCELL.VC_USERIDENTITY (owner: VCELL, 8 rows) +[2024-06-21 09:24:03] [157] TABLE VCELL.VC_USERINFO (owner: VCELL, 25826 rows) +[2024-06-21 09:24:03] [158] TABLE VCELL.VC_USERLOG (owner: VCELL, 291808 rows) +[2024-06-21 09:24:03] [159] TABLE VCELL.VC_USERLOGININFO (owner: VCELL, 32313 rows) +[2024-06-21 09:24:03] [160] TABLE VCELL.VC_USERPREF (owner: VCELL, 17295 rows) +[2024-06-21 09:24:03] [161] TABLE VCELL.VC_USERSTAT (owner: VCELL, 25369 rows) +[2024-06-21 09:24:03] [162] TABLE VCELL.WEB_DOWNLOAD_EVENT (owner: VCELL, 494 rows) +[2024-06-21 09:24:03] [163] TABLE VCELL.WEB_DOWNLOAD_ITEM (owner: VCELL, 1 rows) +[2024-06-21 09:24:03] [164] TABLE VCELL.WEB_DOWNLOAD_TYPE (owner: VCELL, 3 rows) +[2024-06-21 09:24:03] [165] TABLE VCELL.XUTEMP (owner: VCELL, 1 rows) +[2024-06-21 09:24:03] ---------------------------------------------------------- +[2024-06-21 09:24:03] Total number of rows: 62331961 + +[2024-06-21 09:24:04] Global Temporary Tables: +[2024-06-21 09:24:04] TASKS +[2024-06-21 09:24:04] + +[2024-06-21 09:24:04] Top 10 of tables sorted by number of rows: +[2024-06-21 09:24:04] [1] TABLE VCELL.VC_STRUCT has 10722547 rows +[2024-06-21 09:24:04] [2] TABLE VCELL.VC_SPECIES has 10375753 rows +[2024-06-21 09:24:04] [3] TABLE VCELL.VC_APIACCESSTOKEN has 7912069 rows +[2024-06-21 09:24:04] [4] TABLE VCELL.VC_SIMDELFROMDISK has 3885907 rows +[2024-06-21 09:24:04] [5] TABLE VCELL.VC_REACTIONSPEC has 3652007 rows +[2024-06-21 09:24:04] [6] TABLE VCELL.VC_GEOMETRICREGION has 3396466 rows +[2024-06-21 09:24:04] [7] TABLE VCELL.VC_SPECIESCONTEXTSPEC has 3374395 rows +[2024-06-21 09:24:04] [8] TABLE VCELL.VC_REACTPART has 3332216 rows +[2024-06-21 09:24:04] [9] TABLE VCELL.VC_LOGIN has 2839359 rows +[2024-06-21 09:24:04] [10] TABLE VCELL.VC_SIMULATIONJOB has 1285781 rows +[2024-06-21 09:24:04] Top 10 of largest tables: +[2024-06-21 09:24:05] [1] TABLE VCELL.VC_APIACCESSTOKEN: 1479 MB (7912069 rows) +[2024-06-21 09:24:05] [2] TABLE VCELL.VC_SIMULATION: 824 MB (709564 rows) +[2024-06-21 09:24:05] [3] TABLE VCELL.VC_REACTSTEP: 544 MB (1164256 rows) +[2024-06-21 09:24:05] [4] TABLE VCELL.VC_STRUCT: 489 MB (10722547 rows) +[2024-06-21 09:24:05] [5] TABLE VCELL.VC_SIMDELFROMDISK: 440 MB (3885907 rows) +[2024-06-21 09:24:05] [6] TABLE VCELL.VC_DIAGRAM: 296 MB (242666 rows) +[2024-06-21 09:24:05] [7] TABLE VCELL.VC_GEOMETRICREGION: 288 MB (3396466 rows) +[2024-06-21 09:24:05] [8] TABLE VCELL.VC_SPECIES: 272 MB (10375753 rows) +[2024-06-21 09:24:05] [9] TABLE VCELL.VC_SPECIESCONTEXTSPEC: 264 MB (3374395 rows) +[2024-06-21 09:24:05] [10] TABLE VCELL.VC_MATH: 248 MB (174264 rows) diff --git a/docker/database/migration/migv1/schema/functions/COMPAREKINETICS_function.sql b/docker/database/migration/migv1/schema/functions/COMPAREKINETICS_function.sql new file mode 100644 index 0000000000..8d7ed3efed --- /dev/null +++ b/docker/database/migration/migv1/schema/functions/COMPAREKINETICS_function.sql @@ -0,0 +1,38 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + + + + + +CREATE OR REPLACE FUNCTION vcell.comparekinetics (rsKey1 bigint, rsKey2 bigint) RETURNS integer AS $body$ +DECLARE + + kineticsCLOB1 text; + kineticsCLOB2 text; + returncode integer; + +BEGIN + SELECT kinetics INTO STRICT kineticsCLOB1 FROM vc_reactstep WHERE id = rsKey1; + dbms_lob.open(kineticsCLOB1, dbms_lob.lob_readonly); + SELECT kinetics INTO STRICT kineticsCLOB2 FROM vc_reactstep WHERE id = rsKey2; + dbms_lob.open(kineticsCLOB2, dbms_lob.lob_readonly); + returnCode := dbms_lob.compare(kineticsCLOB1, kineticsCLOB2); + dbms_lob.close(kineticsCLOB1); + dbms_lob.close(kineticsCLOB2); + return returnCode; +END; + + +$body$ +LANGUAGE PLPGSQL +SECURITY DEFINER + STABLE; +-- REVOKE ALL ON FUNCTION vcell.comparekinetics (rsKey1 bigint, rsKey2 bigint) FROM PUBLIC; + diff --git a/docker/database/migration/migv1/schema/functions/COUNTBIO_function.sql b/docker/database/migration/migv1/schema/functions/COUNTBIO_function.sql new file mode 100644 index 0000000000..8d4c9332a2 --- /dev/null +++ b/docker/database/migration/migv1/schema/functions/COUNTBIO_function.sql @@ -0,0 +1,31 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + + + + + +CREATE OR REPLACE FUNCTION vcell.countbio (userkey integer) RETURNS integer AS $body$ +DECLARE + +bioModelCount integer; + +BEGIN + select count(*) into STRICT bioModelCount from vc_biomodel where vc_biomodel.ownerref = userkey; + return(bioModelCount); +END; + + + +$body$ +LANGUAGE PLPGSQL +SECURITY DEFINER + STABLE; +-- REVOKE ALL ON FUNCTION vcell.countbio (userkey integer) FROM PUBLIC; + diff --git a/docker/database/migration/migv1/schema/functions/COUNTMATH_function.sql b/docker/database/migration/migv1/schema/functions/COUNTMATH_function.sql new file mode 100644 index 0000000000..f64c8de4d9 --- /dev/null +++ b/docker/database/migration/migv1/schema/functions/COUNTMATH_function.sql @@ -0,0 +1,32 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + + + + + +CREATE OR REPLACE FUNCTION vcell.countmath (userkey integer) RETURNS integer AS $body$ +DECLARE + +mathModelCount integer; + +BEGIN + select count(*) into STRICT mathModelCount from vc_mathmodel where vc_mathmodel.ownerref = userkey; + return(mathModelCount); +END; + + + + +$body$ +LANGUAGE PLPGSQL +SECURITY DEFINER + STABLE; +-- REVOKE ALL ON FUNCTION vcell.countmath (userkey integer) FROM PUBLIC; + diff --git a/docker/database/migration/migv1/schema/functions/COUNTSIMDATA_function.sql b/docker/database/migration/migv1/schema/functions/COUNTSIMDATA_function.sql new file mode 100644 index 0000000000..f261b22674 --- /dev/null +++ b/docker/database/migration/migv1/schema/functions/COUNTSIMDATA_function.sql @@ -0,0 +1,34 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + + + + + +CREATE OR REPLACE FUNCTION vcell.countsimdata (userkey integer) RETURNS integer AS $body$ +DECLARE + +simDataCount integer; + +BEGIN + select count(*) into STRICT simDataCount from vc_simulation, vc_rsetMetaData + where vc_simulation.ownerref = userkey + and vc_simulation.id = vc_rsetMetaData.simref; + return(simDataCount); +END; + + + + +$body$ +LANGUAGE PLPGSQL +SECURITY DEFINER + STABLE; +-- REVOKE ALL ON FUNCTION vcell.countsimdata (userkey integer) FROM PUBLIC; + diff --git a/docker/database/migration/migv1/schema/functions/COUNTSIM_function.sql b/docker/database/migration/migv1/schema/functions/COUNTSIM_function.sql new file mode 100644 index 0000000000..8cd213bad3 --- /dev/null +++ b/docker/database/migration/migv1/schema/functions/COUNTSIM_function.sql @@ -0,0 +1,34 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + + + + + +CREATE OR REPLACE FUNCTION vcell.countsim (userkey integer) RETURNS integer AS $body$ +DECLARE + +simCount integer; + +BEGIN + select count(*) into STRICT simCount from vc_simulation where vc_simulation.ownerref = userkey; + return(simCount); +END; + + + + + + +$body$ +LANGUAGE PLPGSQL +SECURITY DEFINER + STABLE; +-- REVOKE ALL ON FUNCTION vcell.countsim (userkey integer) FROM PUBLIC; + diff --git a/docker/database/migration/migv1/schema/functions/GETKINETICS_function.sql b/docker/database/migration/migv1/schema/functions/GETKINETICS_function.sql new file mode 100644 index 0000000000..c86cdf300a --- /dev/null +++ b/docker/database/migration/migv1/schema/functions/GETKINETICS_function.sql @@ -0,0 +1,37 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + + + + + +CREATE OR REPLACE FUNCTION vcell.getkinetics (rsKey bigint, amt integer) RETURNS varchar AS $body$ +DECLARE + + kineticsCLOB text; + pos integer; + buf varchar(32767); + +BEGIN + SELECT kinetics INTO STRICT kineticsCLOB FROM vc_reactstep WHERE id = rsKey; + dbms_lob.open(kineticsCLOB, dbms_lob.lob_readonly); + pos := 1; + buf := ''; + buf := substr(kineticsCLOB, pos, amt); + dbms_lob.close(kineticsCLOB); + return buf; +END; + + +$body$ +LANGUAGE PLPGSQL +SECURITY DEFINER + STABLE; +-- REVOKE ALL ON FUNCTION vcell.getkinetics (rsKey bigint, amt integer) FROM PUBLIC; + diff --git a/docker/database/migration/migv1/schema/functions/GETMATHSIZE_function.sql b/docker/database/migration/migv1/schema/functions/GETMATHSIZE_function.sql new file mode 100644 index 0000000000..9e2dfe55b4 --- /dev/null +++ b/docker/database/migration/migv1/schema/functions/GETMATHSIZE_function.sql @@ -0,0 +1,32 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + + + + + +CREATE OR REPLACE FUNCTION vcell.getmathsize (mathKey bigint) RETURNS integer AS $body$ +DECLARE + + mathCLOB text; + amount integer; + +BEGIN + SELECT language INTO STRICT mathCLOB FROM vc_math WHERE id = mathKey; + amount := octet_length(mathCLOB); + return amount; +END; + + +$body$ +LANGUAGE PLPGSQL +SECURITY DEFINER + STABLE; +-- REVOKE ALL ON FUNCTION vcell.getmathsize (mathKey bigint) FROM PUBLIC; + diff --git a/docker/database/migration/migv1/schema/functions/GETMATH_function.sql b/docker/database/migration/migv1/schema/functions/GETMATH_function.sql new file mode 100644 index 0000000000..67a19139a5 --- /dev/null +++ b/docker/database/migration/migv1/schema/functions/GETMATH_function.sql @@ -0,0 +1,35 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + + + + + +CREATE OR REPLACE FUNCTION vcell.getmath (mathKey bigint, pos integer, amt integer) RETURNS varchar AS $body$ +DECLARE + + mathCLOB text; + buf varchar(32767); + +BEGIN + SELECT language INTO STRICT mathCLOB FROM vc_math WHERE id = mathKey; + dbms_lob.open(mathCLOB, dbms_lob.lob_readonly); + buf := ''; + buf := substr(mathCLOB, pos, amt); + dbms_lob.close(mathCLOB); + return buf; +END; + + +$body$ +LANGUAGE PLPGSQL +SECURITY DEFINER + STABLE; +-- REVOKE ALL ON FUNCTION vcell.getmath (mathKey bigint, pos integer, amt integer) FROM PUBLIC; + diff --git a/docker/database/migration/migv1/schema/functions/GETPHYSICSOPTION_function.sql b/docker/database/migration/migv1/schema/functions/GETPHYSICSOPTION_function.sql new file mode 100644 index 0000000000..bf644c1f48 --- /dev/null +++ b/docker/database/migration/migv1/schema/functions/GETPHYSICSOPTION_function.sql @@ -0,0 +1,45 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + + + + + +CREATE OR REPLACE FUNCTION vcell.getphysicsoption (valence integer, kineticDesc text) RETURNS integer AS $body$ +DECLARE + + physicsOptions integer; + isElectrical integer := 0; + choice_MOLECULAR_ONLY integer := 0; + choice_BOTH integer := 1; + choice_ELECTRICAL_ONLY integer := 2; + +BEGIN + IF (position('GHK' in kineticDesc)<>0 OR position('Nernst' in kineticDesc)<>0 OR position('GenCurr' in kineticDesc)<>0) THEN + isElectrical := 1; + END IF; + + IF (valence <> 0) THEN + return choice_BOTH; + END IF; + + IF (isElectrical = 0) THEN + return choice_MOLECULAR_ONLY; + ELSE + return choice_ELECTRICAL_ONLY; + END IF; +END; + + +$body$ +LANGUAGE PLPGSQL +SECURITY DEFINER + STABLE; +-- REVOKE ALL ON FUNCTION vcell.getphysicsoption (valence integer, kineticDesc text) FROM PUBLIC; + diff --git a/docker/database/migration/migv1/schema/functions/GETTASKDESCRIPTION_function.sql b/docker/database/migration/migv1/schema/functions/GETTASKDESCRIPTION_function.sql new file mode 100644 index 0000000000..a8f7dacf84 --- /dev/null +++ b/docker/database/migration/migv1/schema/functions/GETTASKDESCRIPTION_function.sql @@ -0,0 +1,37 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + + + + + +CREATE OR REPLACE FUNCTION vcell.gettaskdescription (simKey bigint, amt integer) RETURNS varchar AS $body$ +DECLARE + + dataCLOB text; + pos integer; + buf varchar(32767); + +BEGIN + SELECT data INTO STRICT dataCLOB FROM vc_taskdesc WHERE id = simKey; + dbms_lob.open(dataCLOB, dbms_lob.lob_readonly); + pos := 1; + buf := ''; + buf := substr(dataCLOB, pos, amt); + dbms_lob.close(dataCLOB); + return buf; +END; + + +$body$ +LANGUAGE PLPGSQL +SECURITY DEFINER + STABLE; +-- REVOKE ALL ON FUNCTION vcell.gettaskdescription (simKey bigint, amt integer) FROM PUBLIC; + diff --git a/docker/database/migration/migv1/schema/functions/GETVALENCETYPE_function.sql b/docker/database/migration/migv1/schema/functions/GETVALENCETYPE_function.sql new file mode 100644 index 0000000000..59a8610d45 --- /dev/null +++ b/docker/database/migration/migv1/schema/functions/GETVALENCETYPE_function.sql @@ -0,0 +1,38 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + + + + + +CREATE OR REPLACE FUNCTION vcell.getvalencetype (valence text) RETURNS varchar AS $body$ +DECLARE + + answer varchar(8); + +BEGIN + IF (valence is null) THEN + answer := 'null'; + ELSE + IF (valence = '0') THEN + answer := 'zero'; + ELSE + answer := 'nonzero'; + END IF; + END IF; + return answer; +END; + + +$body$ +LANGUAGE PLPGSQL +SECURITY DEFINER + STABLE; +-- REVOKE ALL ON FUNCTION vcell.getvalencetype (valence text) FROM PUBLIC; + diff --git a/docker/database/migration/migv1/schema/functions/POWERFACTOR_function.sql b/docker/database/migration/migv1/schema/functions/POWERFACTOR_function.sql new file mode 100644 index 0000000000..07f4d08d0a --- /dev/null +++ b/docker/database/migration/migv1/schema/functions/POWERFACTOR_function.sql @@ -0,0 +1,36 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + + + + + +CREATE OR REPLACE FUNCTION vcell.powerfactor (userkey integer) RETURNS integer AS $body$ +DECLARE + +simDataCount integer; +mathCount integer; +bioCount integer; + +BEGIN + simDataCount := countSimData(userkey); + mathCount := countMath(userkey); + bioCount := countBio(userkey); + return(bioCount + mathCount + simDataCount); +END; + + + + +$body$ +LANGUAGE PLPGSQL +SECURITY DEFINER + STABLE; +-- REVOKE ALL ON FUNCTION vcell.powerfactor (userkey integer) FROM PUBLIC; + diff --git a/docker/database/migration/migv1/schema/functions/function.sql b/docker/database/migration/migv1/schema/functions/function.sql new file mode 100644 index 0000000000..74c88cd47d --- /dev/null +++ b/docker/database/migration/migv1/schema/functions/function.sql @@ -0,0 +1,21 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +\i /base/schema/functions/COMPAREKINETICS_function.sql +\i /base/schema/functions/COUNTBIO_function.sql +\i /base/schema/functions/COUNTMATH_function.sql +\i /base/schema/functions/COUNTSIM_function.sql +\i /base/schema/functions/COUNTSIMDATA_function.sql +\i /base/schema/functions/GETKINETICS_function.sql +\i /base/schema/functions/GETMATH_function.sql +\i /base/schema/functions/GETMATHSIZE_function.sql +\i /base/schema/functions/GETPHYSICSOPTION_function.sql +\i /base/schema/functions/GETTASKDESCRIPTION_function.sql +\i /base/schema/functions/GETVALENCETYPE_function.sql +\i /base/schema/functions/POWERFACTOR_function.sql diff --git a/docker/database/migration/migv1/schema/packages/package.sql b/docker/database/migration/migv1/schema/packages/package.sql new file mode 100644 index 0000000000..79f73cea06 --- /dev/null +++ b/docker/database/migration/migv1/schema/packages/package.sql @@ -0,0 +1,23 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + + + +-- Oracle package 'TOAD_PROFILER' declaration, please edit to match PostgreSQL syntax. + +DROP SCHEMA IF EXISTS toad_profiler CASCADE; +CREATE SCHEMA IF NOT EXISTS toad_profiler; + + +\i /base/schema/packages/toad_profiler/rollup_unit_package.sql +\i /base/schema/packages/toad_profiler/rollup_run_package.sql +\i /base/schema/packages/toad_profiler/rollup_all_runs_package.sql + +-- End of Oracle package 'TOAD_PROFILER' declaration + diff --git a/docker/database/migration/migv1/schema/packages/toad_profiler/rollup_all_runs_package.sql b/docker/database/migration/migv1/schema/packages/toad_profiler/rollup_all_runs_package.sql new file mode 100644 index 0000000000..82b8df9eaf --- /dev/null +++ b/docker/database/migration/migv1/schema/packages/toad_profiler/rollup_all_runs_package.sql @@ -0,0 +1,27 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; +SET search_path = vcell,toad_profiler,public; + + + + -- rollup all runs +CREATE OR REPLACE PROCEDURE toad_profiler.rollup_all_runs () AS $body$ +DECLARE + + crunid CURSOR FOR + SELECT runid from plsql_profiler_runs order by runid asc; + +BEGIN + for runidrec in crunid loop + toad_profiler.rollup_run(runidrec.runid); + end loop crunid; + commit; + END; + +$body$ +LANGUAGE PLPGSQL +; +-- REVOKE ALL ON PROCEDURE toad_profiler.rollup_all_runs () FROM PUBLIC; diff --git a/docker/database/migration/migv1/schema/packages/toad_profiler/rollup_run_package.sql b/docker/database/migration/migv1/schema/packages/toad_profiler/rollup_run_package.sql new file mode 100644 index 0000000000..acd4fec83e --- /dev/null +++ b/docker/database/migration/migv1/schema/packages/toad_profiler/rollup_run_package.sql @@ -0,0 +1,59 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; +SET search_path = vcell,toad_profiler,public; + + + + + -- rollup all units for the given run +CREATE OR REPLACE PROCEDURE toad_profiler.rollup_run (run_number bigint) AS $body$ +DECLARE + + tabpos bigint; + comment varchar(2047); + proc varchar(256); + -- + -- only select those units which have not been rolled up yet + cunits CURSOR(run_number bigint) FOR + SELECT unit_number, unit_type, unit_owner, unit_name + from plsql_profiler_units + where runid = run_number and total_time = 0 + order by unit_number asc; + +BEGIN + -- Fix Oracle's calling a 'PACKAGE' a 'PACKAGE SPEC' + update plsql_profiler_units set unit_type = 'PACKAGE' + where runid = run_number and unit_type like 'PACKAGE SPEC%'; + + -- parse the RUN_COMMENT column to get the procedure name + -- (note: this replaces the BI_PLSQL_PROFILER_RUNS trigger. + select run_proc, run_comment into STRICT proc, comment + from plsql_profiler_runs where runid = run_number; + if proc is null then + tabpos := position(CHR(8) in comment); + if tabpos > 0 THEN + proc := SUBSTR(comment, tabpos+1); + comment := SUBSTR(comment, 1, tabpos-1); + else + proc := 'ANONYMOUS BLOCK'; + end if; + update plsql_profiler_runs + set run_owner = USER, run_proc = proc, run_comment = comment + where runid = run_number; + end if; + + + for unitrec in cunits(run_number) loop + toad_profiler.rollup_unit(run_number, unitrec.unit_number, unitrec.unit_type, + unitrec.unit_owner, unitrec.unit_name); + end loop; + END; + +$body$ +LANGUAGE PLPGSQL +SECURITY DEFINER +; +-- REVOKE ALL ON PROCEDURE toad_profiler.rollup_run (run_number bigint) FROM PUBLIC; diff --git a/docker/database/migration/migv1/schema/packages/toad_profiler/rollup_unit_package.sql b/docker/database/migration/migv1/schema/packages/toad_profiler/rollup_unit_package.sql new file mode 100644 index 0000000000..47dcfc45c6 --- /dev/null +++ b/docker/database/migration/migv1/schema/packages/toad_profiler/rollup_unit_package.sql @@ -0,0 +1,129 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; +SET search_path = vcell,toad_profiler,public; + +-- compute the total time spent executing this unit - the sum of the + -- time spent executing lines in this unit (for this run) +CREATE OR REPLACE PROCEDURE toad_profiler.rollup_unit (run_number bigint, UnitNumber bigint, UnitType text, UnitOwner text, UnitName text) AS $body$ +DECLARE + + + TYPE TSourceTable IS TABLE OF varchar(4000) INDEX BY integer; + SourceTable TSourceTable; + TriggerBody text; + FoundTriggerSource boolean; + Cnt bigint; + LnStart bigint; + LnEnd bigint; + Pos bigint; + vText varchar(4000); + IsWrapped boolean; + TotalTime bigint; + + -- Select the lines for the unit to find source code + cLines CURSOR(run_number bigint, UnitNumber bigint) FOR + SELECT line# from plsql_profiler_data + where runid = run_number and unit_number = UnitNumber; + +BEGIN + select sum(total_time) into STRICT TotalTime + from plsql_profiler_data + where runid = run_number and unit_number = UnitNumber; + + if TotalTime IS NULL then + TotalTime := 0; + end if; + + update plsql_profiler_units set total_time = TotalTime + where runid = run_number and unit_number = UnitNumber; + + -- Get trigger source into index-by table + if UnitType = 'TRIGGER' then + begin + FoundTriggerSource := True; + select trigger_body into STRICT TriggerBody + from all_triggers where owner = UnitOwner and trigger_name = UnitName; + exception + when no_data_found then + FoundTriggerSource := False; + end; + + if FoundTriggerSource then + Cnt := 1; + LnStart := 1; + + loop + LnEnd := INSTR(TriggerBody, CHR(10), 1, Cnt); + + if (LnEnd = 0) then + SourceTable(Cnt) := SubStr(TriggerBody, LnStart); + else + SourceTable(Cnt) := Substr(TriggerBody, LnStart, (LnEnd-LnStart)); + end if; + + LnStart := LnStart + (LnEnd-LnStart)+1; + Cnt := Cnt+1; + + exit when(lnEnd = 0); + end loop; + end if; + -- see if the code is wrapped + else + begin + select upper(text) into STRICT vtext from all_source s + where s.type = UnitType and s.owner = UnitOwner and + s.name = UnitName and s.line = 1; + IsWrapped := (position(' WRAPPED' in vText) > 0); + exception + when no_data_found then + IsWrapped := False; + end; + end if; + + -- Get the source for each line in unit + Cnt := 1; + for linerec in cLines(run_number, UnitNumber) loop + if UnitType = 'TRIGGER' then + if FoundTriggerSource then + vText := SourceTable(linerec.line#); + else + if Cnt = 1 then + vText := ''; + else + vText := null; + end if; + end if; + else + if IsWrapped then + if Cnt = 1 then + vText := ''; + else + vText := null; + end if; + else + begin + select text into STRICT vtext from all_source s + where s.type = UnitType and s.owner = UnitOwner and + s.name = UnitName and s.line = linerec.line#; + exception + when no_data_found then + vText := null; + end; + end if; + end if; + -- store the source line + update plsql_profiler_data d set d.text = vText + where d.runid = run_number and d.unit_number = UnitNumber and + d.line# = linerec.line#; + Cnt := Cnt+1; + end loop; + END; + +$body$ +LANGUAGE PLPGSQL +SECURITY DEFINER +; +-- REVOKE ALL ON PROCEDURE toad_profiler.rollup_unit (run_number bigint, UnitNumber bigint, UnitType text, UnitOwner text, UnitName text) FROM PUBLIC; diff --git a/docker/database/migration/migv1/schema/procedures/COPYNEWMATH_TO_SCMATH_procedure.sql b/docker/database/migration/migv1/schema/procedures/COPYNEWMATH_TO_SCMATH_procedure.sql new file mode 100644 index 0000000000..938f6183ed --- /dev/null +++ b/docker/database/migration/migv1/schema/procedures/COPYNEWMATH_TO_SCMATH_procedure.sql @@ -0,0 +1,46 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + + + + + +CREATE OR REPLACE PROCEDURE vcell.copynewmath_to_scmath (simContextKey bigint) AS $body$ +DECLARE + + scMathCLOB text; + newMathCLOB text; + amount integer := 1000; + srcOffset integer := 1; + dstOffset integer := 1; + +BEGIN + SELECT vc_math.language INTO STRICT scMathCLOB + FROM vc_math, vc_simcontext + WHERE vc_math.id = vc_simcontext.mathref + AND vc_simcontext.id = simcontextkey FOR UPDATE OF vc_math.language; + SELECT vc_simcontextstat.newMath INTO STRICT newMathCLOB + FROM vc_simcontextstat + WHERE vc_simcontextstat.simcontextref = simcontextkey; + amount := octet_length(newMathCLOB); + DBMS_LOB.COPY(scMathCLOB, newMathCLOB, amount, dstOffset, srcOffset); + UPDATE vc_simcontextstat set vc_simcontextstat.updatedMath = 1 + WHERE vc_simcontextstat.simcontextref = simContextKey; + commit; +EXCEPTION + WHEN no_data_found THEN + RAISE NOTICE 'no data found for simContext %', simcontextkey; +END; + + +$body$ +LANGUAGE PLPGSQL +; +-- REVOKE ALL ON PROCEDURE vcell.copynewmath_to_scmath (simContextKey bigint) FROM PUBLIC; + diff --git a/docker/database/migration/migv1/schema/procedures/COPYOLDMATH_TO_SCMATH_procedure.sql b/docker/database/migration/migv1/schema/procedures/COPYOLDMATH_TO_SCMATH_procedure.sql new file mode 100644 index 0000000000..eab13a31d2 --- /dev/null +++ b/docker/database/migration/migv1/schema/procedures/COPYOLDMATH_TO_SCMATH_procedure.sql @@ -0,0 +1,46 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + + + + + +CREATE OR REPLACE PROCEDURE vcell.copyoldmath_to_scmath (simContextKey bigint) AS $body$ +DECLARE + + scMathCLOB text; + oldMathCLOB text; + amount integer := 1000; + srcOffset integer := 1; + dstOffset integer := 1; + +BEGIN + SELECT vc_math.language INTO STRICT scMathCLOB + FROM vc_math, vc_simcontext + WHERE vc_math.id = vc_simcontext.mathref + AND vc_simcontext.id = simcontextkey FOR UPDATE OF vc_math.language; + SELECT vc_simcontextstat.oldMath INTO STRICT oldMathCLOB + FROM vc_simcontextstat + WHERE vc_simcontextstat.simcontextref = simcontextkey; + amount := octet_length(oldMathCLOB); + DBMS_LOB.COPY(scMathCLOB, oldMathCLOB, amount, dstOffset, srcOffset); + UPDATE vc_simcontextstat set vc_simcontextstat.updatedMath = 0 + WHERE vc_simcontextstat.simcontextref = simContextKey; + commit; +EXCEPTION + WHEN no_data_found THEN + RAISE NOTICE 'no data found for simContext %', simcontextkey; +END; + + +$body$ +LANGUAGE PLPGSQL +; +-- REVOKE ALL ON PROCEDURE vcell.copyoldmath_to_scmath (simContextKey bigint) FROM PUBLIC; + diff --git a/docker/database/migration/migv1/schema/procedures/COPYSCMATH_TO_OLDMATH_procedure.sql b/docker/database/migration/migv1/schema/procedures/COPYSCMATH_TO_OLDMATH_procedure.sql new file mode 100644 index 0000000000..59502076f4 --- /dev/null +++ b/docker/database/migration/migv1/schema/procedures/COPYSCMATH_TO_OLDMATH_procedure.sql @@ -0,0 +1,45 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + + + + + +CREATE OR REPLACE PROCEDURE vcell.copyscmath_to_oldmath (simContextKey bigint) AS $body$ +DECLARE + + scMathCLOB text; + oldMathCLOB text; + amount integer := 1000; + srcOffset integer := 1; + dstOffset integer := 1; + +BEGIN + SELECT vc_math.language INTO STRICT scMathCLOB + FROM vc_math, vc_simcontext + WHERE vc_math.id = vc_simcontext.mathref + AND vc_simcontext.id = simcontextkey; + UPDATE vc_simcontextstat set oldMath = NULL WHERE oldMath IS NULL AND simcontextref = simcontextKey; + SELECT vc_simcontextstat.oldMath INTO STRICT oldMathCLOB + FROM vc_simcontextstat + WHERE vc_simcontextstat.simcontextref = simcontextkey FOR UPDATE of vc_simcontextstat.oldMath; + amount := octet_length(scMathCLOB); + DBMS_LOB.COPY(oldMathCLOB, scMathCLOB, amount, dstOffset, srcOffset); + commit; +EXCEPTION + WHEN no_data_found THEN + RAISE NOTICE 'no data found for simContext %', simcontextkey; +END; + + +$body$ +LANGUAGE PLPGSQL +; +-- REVOKE ALL ON PROCEDURE vcell.copyscmath_to_oldmath (simContextKey bigint) FROM PUBLIC; + diff --git a/docker/database/migration/migv1/schema/procedures/procedure.sql b/docker/database/migration/migv1/schema/procedures/procedure.sql new file mode 100644 index 0000000000..9199908d99 --- /dev/null +++ b/docker/database/migration/migv1/schema/procedures/procedure.sql @@ -0,0 +1,12 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +\i /base/schema/procedures/COPYNEWMATH_TO_SCMATH_procedure.sql +\i /base/schema/procedures/COPYOLDMATH_TO_SCMATH_procedure.sql +\i /base/schema/procedures/COPYSCMATH_TO_OLDMATH_procedure.sql diff --git a/docker/database/migration/migv1/schema/sequence_values/sequence_value.sql b/docker/database/migration/migv1/schema/sequence_values/sequence_value.sql new file mode 100644 index 0000000000..58f63f273c --- /dev/null +++ b/docker/database/migration/migv1/schema/sequence_values/sequence_value.sql @@ -0,0 +1,15 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +SET search_path = vcell,public; + +ALTER SEQUENCE mainseq START WITH 21; +ALTER SEQUENCE newseq START WITH 272324109; +ALTER SEQUENCE plsql_profiler_runnumber START WITH 1; +ALTER SEQUENCE web_download_event_seq START WITH 2741; diff --git a/docker/database/migration/migv1/schema/sequences/sequence.sql b/docker/database/migration/migv1/schema/sequences/sequence.sql new file mode 100644 index 0000000000..dc7e2bb599 --- /dev/null +++ b/docker/database/migration/migv1/schema/sequences/sequence.sql @@ -0,0 +1,14 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +CREATE SCHEMA IF NOT EXISTS vcell; +CREATE SEQUENCE mainseq INCREMENT 1 MINVALUE 1 NO MAXVALUE START 21 CACHE 20; +CREATE SEQUENCE newseq INCREMENT 1 MINVALUE 1 NO MAXVALUE START 272324109 CACHE 20; +CREATE SEQUENCE plsql_profiler_runnumber INCREMENT 1 MINVALUE 1 NO MAXVALUE START 1; +CREATE SEQUENCE web_download_event_seq INCREMENT 1 MINVALUE 1 NO MAXVALUE START 2741 CACHE 20; diff --git a/docker/database/migration/migv1/schema/tables/CONSTRAINTS_table.sql b/docker/database/migration/migv1/schema/tables/CONSTRAINTS_table.sql new file mode 100644 index 0000000000..e6f391c1f1 --- /dev/null +++ b/docker/database/migration/migv1/schema/tables/CONSTRAINTS_table.sql @@ -0,0 +1,599 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +\set ON_ERROR_STOP ON + +SET search_path = vcell,public; +ALTER TABLE attrmapping ADD PRIMARY KEY (property,objecttype,nomenclature); +ALTER TABLE attrmapping ALTER COLUMN property SET NOT NULL; +ALTER TABLE attrmapping ALTER COLUMN objecttype SET NOT NULL; +ALTER TABLE attrmapping ALTER COLUMN nomenclature SET NOT NULL; +ALTER TABLE autocopymapping ADD PRIMARY KEY (property,objecttype,linktype); +ALTER TABLE autocopymapping ALTER COLUMN property SET NOT NULL; +ALTER TABLE autocopymapping ALTER COLUMN objecttype SET NOT NULL; +ALTER TABLE autocopymapping ALTER COLUMN copyingmode SET NOT NULL; +ALTER TABLE backup_vc_userinfo ALTER COLUMN userid SET NOT NULL; +ALTER TABLE backup_vc_userinfo ALTER COLUMN password SET NOT NULL; +ALTER TABLE backup_vc_userinfo ALTER COLUMN email SET NOT NULL; +ALTER TABLE backup_vc_userinfo ALTER COLUMN firstname SET NOT NULL; +ALTER TABLE backup_vc_userinfo ALTER COLUMN notify SET NOT NULL; +ALTER TABLE backup_vc_userinfo ALTER COLUMN insertdate SET NOT NULL; +ALTER TABLE bad_geometries ALTER COLUMN name SET NOT NULL; +ALTER TABLE bad_geometries ALTER COLUMN ownerref SET NOT NULL; +ALTER TABLE bad_geometries ALTER COLUMN privacy SET NOT NULL; +ALTER TABLE bad_geometries ALTER COLUMN versiondate SET NOT NULL; +ALTER TABLE bad_geometries ALTER COLUMN versionflag SET NOT NULL; +ALTER TABLE bad_geometries ALTER COLUMN versionbranchid SET NOT NULL; +ALTER TABLE bad_geometries ALTER COLUMN dimension SET NOT NULL; +ALTER TABLE bad_geometries ALTER COLUMN originx SET NOT NULL; +ALTER TABLE bad_geometries ALTER COLUMN originy SET NOT NULL; +ALTER TABLE bad_geometries ALTER COLUMN originz SET NOT NULL; +ALTER TABLE bad_geometries ALTER COLUMN extentref SET NOT NULL; +ALTER TABLE bad_regions ALTER COLUMN userid SET NOT NULL; +ALTER TABLE bad_regions ALTER COLUMN password SET NOT NULL; +ALTER TABLE bad_regions ALTER COLUMN bmname SET NOT NULL; +ALTER TABLE bad_regions ALTER COLUMN appname SET NOT NULL; +ALTER TABLE bad_volfract ALTER COLUMN userid SET NOT NULL; +ALTER TABLE bad_volfract ALTER COLUMN password SET NOT NULL; +ALTER TABLE bad_volfract ALTER COLUMN bmname SET NOT NULL; +ALTER TABLE bad_volfract ALTER COLUMN appname SET NOT NULL; +ALTER TABLE bad_volfract ALTER COLUMN dimension SET NOT NULL; +ALTER TABLE bad_volfract ALTER COLUMN structref SET NOT NULL; +ALTER TABLE bad_volfract ALTER COLUMN subvolumeref SET NOT NULL; +ALTER TABLE bad_volfract ALTER COLUMN strname SET NOT NULL; +ALTER TABLE bad_volfract ALTER COLUMN svname SET NOT NULL; +ALTER TABLE context ADD PRIMARY KEY (name); +ALTER TABLE contextmodification ADD PRIMARY KEY (id); +ALTER TABLE contextmodification ALTER COLUMN contextname SET NOT NULL; +ALTER TABLE filedataparts ADD PRIMARY KEY (fileid,sortkey); +ALTER TABLE filedataparts ALTER COLUMN fileid SET NOT NULL; +ALTER TABLE filedataparts ALTER COLUMN sortkey SET NOT NULL; +ALTER TABLE files ALTER COLUMN name SET NOT NULL; +ALTER TABLE files ALTER COLUMN folder SET NOT NULL; +ALTER TABLE filescontent ADD PRIMARY KEY (id); +ALTER TABLE filescontent ALTER COLUMN name SET NOT NULL; +ALTER TABLE flux_model_indices ALTER COLUMN bmid SET NOT NULL; +ALTER TABLE flux_model_indices_rp ALTER COLUMN bmid SET NOT NULL; +ALTER TABLE flux_model_problem_xml ALTER COLUMN bmid SET NOT NULL; +ALTER TABLE folder ADD PRIMARY KEY (id); +ALTER TABLE folder ALTER COLUMN path SET NOT NULL; +ALTER TABLE imagedataparts ADD PRIMARY KEY (imageid,sortkey); +ALTER TABLE imagedataparts ALTER COLUMN imageid SET NOT NULL; +ALTER TABLE imagedataparts ALTER COLUMN sortkey SET NOT NULL; +ALTER TABLE images ADD PRIMARY KEY (id); +ALTER TABLE images ALTER COLUMN name SET NOT NULL; +ALTER TABLE loadmodelstat ADD PRIMARY KEY (id); +ALTER TABLE loadmodelstat ADD CONSTRAINT ldmdlstat_only_1 CHECK (CASE WHEN biomodelref IS NULL THEN 0 WHEN biomodelref=biomodelref THEN 1 END +CASE WHEN mathmodelref IS NULL THEN 0 WHEN mathmodelref=mathmodelref THEN 1 END = 1); +ALTER TABLE loadmodelstat ALTER COLUMN timestamp SET NOT NULL; +ALTER TABLE loadmodelstat ALTER COLUMN softwarevers SET NOT NULL; +ALTER TABLE loadmodelstat_backup ALTER COLUMN timestamp SET NOT NULL; +ALTER TABLE loadmodelstat_backup ALTER COLUMN softwarevers SET NOT NULL; +ALTER TABLE mailbounce ADD PRIMARY KEY (email); +ALTER TABLE mailbounce ALTER COLUMN email SET NOT NULL; +ALTER TABLE maillist ALTER COLUMN email SET NOT NULL; +ALTER TABLE maillist ALTER COLUMN announce SET NOT NULL; +ALTER TABLE maillist_2013 ALTER COLUMN email SET NOT NULL; +ALTER TABLE maillist_2013 ALTER COLUMN announce SET NOT NULL; +ALTER TABLE maillist_2013_07_29 ALTER COLUMN email SET NOT NULL; +ALTER TABLE maillist_2013_07_29 ALTER COLUMN announce SET NOT NULL; +ALTER TABLE maillist_2014_04_30 ALTER COLUMN email SET NOT NULL; +ALTER TABLE maillist_2014_04_30 ALTER COLUMN announce SET NOT NULL; +ALTER TABLE maillist_2014_10_22 ALTER COLUMN email SET NOT NULL; +ALTER TABLE maillist_2014_10_22 ALTER COLUMN announce SET NOT NULL; +ALTER TABLE maillist_2015_01_08 ALTER COLUMN email SET NOT NULL; +ALTER TABLE maillist_2015_01_08 ALTER COLUMN announce SET NOT NULL; +ALTER TABLE maillist_2015_06_09 ALTER COLUMN email SET NOT NULL; +ALTER TABLE maillist_2015_06_09 ALTER COLUMN announce SET NOT NULL; +ALTER TABLE maillist_2015_07_17 ALTER COLUMN email SET NOT NULL; +ALTER TABLE maillist_2015_07_17 ALTER COLUMN announce SET NOT NULL; +ALTER TABLE maillist_2016_02_01 ALTER COLUMN email SET NOT NULL; +ALTER TABLE maillist_2016_02_01 ALTER COLUMN announce SET NOT NULL; +ALTER TABLE map ADD PRIMARY KEY (id); +ALTER TABLE mapitem ADD PRIMARY KEY (id); +ALTER TABLE mapitem ALTER COLUMN mapid SET NOT NULL; +ALTER TABLE mapitem ALTER COLUMN objecttype SET NOT NULL; +ALTER TABLE mapitemattribute ADD PRIMARY KEY (id); +ALTER TABLE mapitemattribute ALTER COLUMN itemid SET NOT NULL; +ALTER TABLE mapitemattribute ALTER COLUMN property SET NOT NULL; +ALTER TABLE mapitemattribute ALTER COLUMN objecttype SET NOT NULL; +ALTER TABLE math_hybrid ALTER COLUMN name SET NOT NULL; +ALTER TABLE math_hybrid ALTER COLUMN ownerref SET NOT NULL; +ALTER TABLE math_hybrid ALTER COLUMN privacy SET NOT NULL; +ALTER TABLE math_hybrid ALTER COLUMN versiondate SET NOT NULL; +ALTER TABLE math_hybrid ALTER COLUMN versionflag SET NOT NULL; +ALTER TABLE math_hybrid ALTER COLUMN versionbranchid SET NOT NULL; +ALTER TABLE math_hybrid ALTER COLUMN geometryref SET NOT NULL; +ALTER TABLE math_hybrid ALTER COLUMN language SET NOT NULL; +ALTER TABLE missingdata ALTER COLUMN userid SET NOT NULL; +ALTER TABLE missingdata ALTER COLUMN simjobsimref SET NOT NULL; +ALTER TABLE missingdata ALTER COLUMN maxtaskid SET NOT NULL; +ALTER TABLE nomenclature ADD PRIMARY KEY (name); +ALTER TABLE nomenclatureattrs ADD PRIMARY KEY (attrname,nomenclature); +ALTER TABLE nomenclatureattrs ALTER COLUMN attrname SET NOT NULL; +ALTER TABLE nomenclatureattrs ALTER COLUMN nomenclature SET NOT NULL; +ALTER TABLE objecttype ADD PRIMARY KEY (id); +ALTER TABLE objecttype2objecttype ADD PRIMARY KEY (id,possiblechild,alias); +ALTER TABLE plsql_profiler_data ADD PRIMARY KEY (runid,unit_number,"line#"); +ALTER TABLE plsql_profiler_data ALTER COLUMN "line#" SET NOT NULL; +ALTER TABLE plsql_profiler_runs ADD PRIMARY KEY (runid); +ALTER TABLE plsql_profiler_units ADD PRIMARY KEY (runid,unit_number); +ALTER TABLE plsql_profiler_units ALTER COLUMN total_time SET NOT NULL; +ALTER TABLE property ADD PRIMARY KEY (name); +ALTER TABLE property ALTER COLUMN name SET NOT NULL; +ALTER TABLE property2objecttype ADD PRIMARY KEY (property,objecttype); +ALTER TABLE property2objecttype ALTER COLUMN property SET NOT NULL; +ALTER TABLE property2objecttype ALTER COLUMN objecttype SET NOT NULL; +ALTER TABLE stochtest ADD PRIMARY KEY (id); +ALTER TABLE stochtest ALTER COLUMN simcontextref SET NOT NULL; +ALTER TABLE stochtest ALTER COLUMN biomodelref SET NOT NULL; +ALTER TABLE stochtest ALTER COLUMN mathref SET NOT NULL; +ALTER TABLE stochtest ALTER COLUMN dimension SET NOT NULL; +ALTER TABLE stochtestcompare ADD PRIMARY KEY (id); +ALTER TABLE stochtestcompare ALTER COLUMN stochtestrunref1 SET NOT NULL; +ALTER TABLE stochtestcompare ALTER COLUMN stochtestrunref2 SET NOT NULL; +ALTER TABLE stochtestcompare_2015_12_08 ALTER COLUMN id SET NOT NULL; +ALTER TABLE stochtestcompare_2015_12_08 ALTER COLUMN stochtestrunref1 SET NOT NULL; +ALTER TABLE stochtestcompare_2015_12_08 ALTER COLUMN stochtestrunref2 SET NOT NULL; +ALTER TABLE stochtestcompare_2016_08_26 ALTER COLUMN id SET NOT NULL; +ALTER TABLE stochtestcompare_2016_08_26 ALTER COLUMN stochtestrunref1 SET NOT NULL; +ALTER TABLE stochtestcompare_2016_08_26 ALTER COLUMN stochtestrunref2 SET NOT NULL; +ALTER TABLE stochtestcompare_2016_09_21 ALTER COLUMN id SET NOT NULL; +ALTER TABLE stochtestcompare_2016_09_21 ALTER COLUMN stochtestrunref1 SET NOT NULL; +ALTER TABLE stochtestcompare_2016_09_21 ALTER COLUMN stochtestrunref2 SET NOT NULL; +ALTER TABLE stochtestrun ADD PRIMARY KEY (id); +ALTER TABLE stochtestrun ALTER COLUMN stochtestref SET NOT NULL; +ALTER TABLE stochtestrun ALTER COLUMN parentmathtype SET NOT NULL; +ALTER TABLE stochtestrun ALTER COLUMN mathtype SET NOT NULL; +ALTER TABLE stochtestrun ALTER COLUMN status SET NOT NULL; +ALTER TABLE stochtestrun_2016_08_26 ALTER COLUMN id SET NOT NULL; +ALTER TABLE stochtestrun_2016_08_26 ALTER COLUMN stochtestref SET NOT NULL; +ALTER TABLE stochtestrun_2016_08_26 ALTER COLUMN parentmathtype SET NOT NULL; +ALTER TABLE stochtestrun_2016_08_26 ALTER COLUMN mathtype SET NOT NULL; +ALTER TABLE stochtestrun_2016_08_26 ALTER COLUMN status SET NOT NULL; +ALTER TABLE stochtestrun_2016_09_21 ALTER COLUMN id SET NOT NULL; +ALTER TABLE stochtestrun_2016_09_21 ALTER COLUMN stochtestref SET NOT NULL; +ALTER TABLE stochtestrun_2016_09_21 ALTER COLUMN parentmathtype SET NOT NULL; +ALTER TABLE stochtestrun_2016_09_21 ALTER COLUMN mathtype SET NOT NULL; +ALTER TABLE stochtestrun_2016_09_21 ALTER COLUMN status SET NOT NULL; +ALTER TABLE stochtesttemp ALTER COLUMN tempmathid SET NOT NULL; +ALTER TABLE stochtest_2016_08_26 ALTER COLUMN id SET NOT NULL; +ALTER TABLE stochtest_2016_08_26 ALTER COLUMN simcontextref SET NOT NULL; +ALTER TABLE stochtest_2016_08_26 ALTER COLUMN biomodelref SET NOT NULL; +ALTER TABLE stochtest_2016_08_26 ALTER COLUMN mathref SET NOT NULL; +ALTER TABLE stochtest_2016_08_26 ALTER COLUMN dimension SET NOT NULL; +ALTER TABLE stochtest_backup ALTER COLUMN id SET NOT NULL; +ALTER TABLE stochtest_backup ALTER COLUMN simcontextref SET NOT NULL; +ALTER TABLE stochtest_backup ALTER COLUMN biomodelref SET NOT NULL; +ALTER TABLE stochtest_backup ALTER COLUMN mathref SET NOT NULL; +ALTER TABLE stochtest_backup ALTER COLUMN dimension SET NOT NULL; +ALTER TABLE temp_simcontextstat2 ADD PRIMARY KEY (id); +ALTER TABLE temp_simcontextstat2 ALTER COLUMN simcontextref SET NOT NULL; +ALTER TABLE temp_simstat ADD PRIMARY KEY (id); +ALTER TABLE temp_simstat ALTER COLUMN simref SET NOT NULL; +ALTER TABLE vc_analysistask ADD PRIMARY KEY (id); +ALTER TABLE vc_analysistask ALTER COLUMN simcontextref SET NOT NULL; +ALTER TABLE vc_analysistask ALTER COLUMN analysistaskxml SET NOT NULL; +ALTER TABLE vc_analysistask ALTER COLUMN insertdate SET NOT NULL; +ALTER TABLE vc_announce ADD PRIMARY KEY (email); +ALTER TABLE vc_announce ALTER COLUMN email SET NOT NULL; +ALTER TABLE vc_apiaccesstoken ADD PRIMARY KEY (id); +ALTER TABLE vc_apiaccesstoken ALTER COLUMN accesstoken SET NOT NULL; +ALTER TABLE vc_apiaccesstoken ALTER COLUMN clientref SET NOT NULL; +ALTER TABLE vc_apiaccesstoken ALTER COLUMN userref SET NOT NULL; +ALTER TABLE vc_apiaccesstoken ALTER COLUMN creationdate SET NOT NULL; +ALTER TABLE vc_apiaccesstoken ALTER COLUMN expiredate SET NOT NULL; +ALTER TABLE vc_apiclient ADD PRIMARY KEY (id); +ALTER TABLE vc_apiclient ALTER COLUMN clientname SET NOT NULL; +ALTER TABLE vc_apiclient ALTER COLUMN clientid SET NOT NULL; +ALTER TABLE vc_apiclient ALTER COLUMN clientsecret SET NOT NULL; +ALTER TABLE vc_applicationmath ADD PRIMARY KEY (id); +ALTER TABLE vc_applicationmath ADD CONSTRAINT math_or_app CHECK (CASE WHEN simcontextref IS NULL THEN 0 WHEN simcontextref=simcontextref THEN 1 END +CASE WHEN mathmodelref IS NULL THEN 0 WHEN mathmodelref=mathmodelref THEN 1 END = 1); +ALTER TABLE vc_available ADD PRIMARY KEY (id); +ALTER TABLE vc_available ALTER COLUMN insertdate SET NOT NULL; +ALTER TABLE vc_available ALTER COLUMN isavailable SET NOT NULL; +ALTER TABLE vc_biomodel ADD PRIMARY KEY (id); +ALTER TABLE vc_biomodel ALTER COLUMN name SET NOT NULL; +ALTER TABLE vc_biomodel ALTER COLUMN ownerref SET NOT NULL; +ALTER TABLE vc_biomodel ALTER COLUMN privacy SET NOT NULL; +ALTER TABLE vc_biomodel ALTER COLUMN versiondate SET NOT NULL; +ALTER TABLE vc_biomodel ALTER COLUMN versionflag SET NOT NULL; +ALTER TABLE vc_biomodel ALTER COLUMN versionbranchid SET NOT NULL; +ALTER TABLE vc_biomodel ALTER COLUMN modelref SET NOT NULL; +ALTER TABLE vc_biomodelsim ADD PRIMARY KEY (id); +ALTER TABLE vc_biomodelsim ALTER COLUMN biomodelref SET NOT NULL; +ALTER TABLE vc_biomodelsim ALTER COLUMN simref SET NOT NULL; +ALTER TABLE vc_biomodelsimcontext ADD PRIMARY KEY (id); +ALTER TABLE vc_biomodelsimcontext ALTER COLUMN biomodelref SET NOT NULL; +ALTER TABLE vc_biomodelsimcontext ALTER COLUMN simcontextref SET NOT NULL; +ALTER TABLE vc_biomodelxml ADD PRIMARY KEY (id); +ALTER TABLE vc_biomodelxml ADD UNIQUE (biomodelref); +ALTER TABLE vc_biomodelxml ALTER COLUMN biomodelref SET NOT NULL; +ALTER TABLE vc_biomodelxml_backup ALTER COLUMN biomodelref SET NOT NULL; +ALTER TABLE vc_browsedata ADD PRIMARY KEY (id); +ALTER TABLE vc_browsedata ALTER COLUMN imageref SET NOT NULL; +ALTER TABLE vc_browsedata ALTER COLUMN data SET NOT NULL; +ALTER TABLE vc_celltype ADD PRIMARY KEY (id); +ALTER TABLE vc_celltype ALTER COLUMN name SET NOT NULL; +ALTER TABLE vc_celltype ALTER COLUMN annotation SET NOT NULL; +ALTER TABLE vc_compound ADD PRIMARY KEY (id); +ALTER TABLE vc_compound ADD UNIQUE (keggid); +ALTER TABLE vc_compound ALTER COLUMN keggid SET NOT NULL; +ALTER TABLE vc_compoundalias ADD PRIMARY KEY (id); +ALTER TABLE vc_compoundalias ALTER COLUMN compoundref SET NOT NULL; +ALTER TABLE vc_compoundalias ALTER COLUMN name SET NOT NULL; +ALTER TABLE vc_compoundalias ALTER COLUMN preferred SET NOT NULL; +ALTER TABLE vc_curve ADD PRIMARY KEY (id); +ALTER TABLE vc_curve ALTER COLUMN curvedata SET NOT NULL; +ALTER TABLE vc_curve ALTER COLUMN filamentref SET NOT NULL; +ALTER TABLE vc_datasymbol ADD PRIMARY KEY (id); +ALTER TABLE vc_datasymbol ALTER COLUMN datasymbolname SET NOT NULL; +ALTER TABLE vc_datasymbol ALTER COLUMN datasymboltype SET NOT NULL; +ALTER TABLE vc_datasymbol ALTER COLUMN datasymbolvcunitdef SET NOT NULL; +ALTER TABLE vc_datasymbol ALTER COLUMN simcontextref SET NOT NULL; +ALTER TABLE vc_dbspecies ADD PRIMARY KEY (id); +ALTER TABLE vc_dbspecies ADD UNIQUE (compoundref,enzymeref,proteinref); +ALTER TABLE vc_dbspecies ADD CONSTRAINT com_enz_pro_only_1 CHECK (CASE WHEN compoundref IS NULL THEN 0 WHEN compoundref=compoundref THEN 1 END +CASE WHEN enzymeref IS NULL THEN 0 WHEN enzymeref=enzymeref THEN 1 END +CASE WHEN proteinref IS NULL THEN 0 WHEN proteinref=proteinref THEN 1 END = 1); +ALTER TABLE vc_developer ADD PRIMARY KEY (id); +ALTER TABLE vc_developer ALTER COLUMN id SET NOT NULL; +ALTER TABLE vc_diagram ADD PRIMARY KEY (id); +ALTER TABLE vc_diagram ALTER COLUMN name SET NOT NULL; +ALTER TABLE vc_diagram ALTER COLUMN modelref SET NOT NULL; +ALTER TABLE vc_diagram ALTER COLUMN structref SET NOT NULL; +ALTER TABLE vc_enzyme ADD UNIQUE (ecnumber); +ALTER TABLE vc_enzyme ADD PRIMARY KEY (id); +ALTER TABLE vc_enzyme ALTER COLUMN ecnumber SET NOT NULL; +ALTER TABLE vc_enzymealias ADD PRIMARY KEY (id); +ALTER TABLE vc_enzymealias ALTER COLUMN enzymeref SET NOT NULL; +ALTER TABLE vc_enzymealias ALTER COLUMN name SET NOT NULL; +ALTER TABLE vc_enzymealias ALTER COLUMN preferred SET NOT NULL; +ALTER TABLE vc_enzymereaction ADD PRIMARY KEY (id); +ALTER TABLE vc_enzymereaction ALTER COLUMN reactionid SET NOT NULL; +ALTER TABLE vc_enzymereaction ALTER COLUMN compoundref SET NOT NULL; +ALTER TABLE vc_enzymereaction ALTER COLUMN type SET NOT NULL; +ALTER TABLE vc_enzymereaction ALTER COLUMN stoich SET NOT NULL; +ALTER TABLE vc_externaldata ADD UNIQUE (ownerref,externaldataname); +ALTER TABLE vc_externaldata ADD PRIMARY KEY (id); +ALTER TABLE vc_externaldata ALTER COLUMN ownerref SET NOT NULL; +ALTER TABLE vc_externaldata ALTER COLUMN externaldataname SET NOT NULL; +ALTER TABLE vc_filament ADD PRIMARY KEY (id); +ALTER TABLE vc_filament ALTER COLUMN filamentname SET NOT NULL; +ALTER TABLE vc_filament ALTER COLUMN geometryref SET NOT NULL; +ALTER TABLE vc_geometricregion ADD PRIMARY KEY (id); +ALTER TABLE vc_geometricregion ALTER COLUMN name SET NOT NULL; +ALTER TABLE vc_geometricregion ALTER COLUMN regiontype SET NOT NULL; +ALTER TABLE vc_geometricregion ALTER COLUMN geometryref SET NOT NULL; +ALTER TABLE vc_geometricregion ALTER COLUMN regionsize SET NOT NULL; +ALTER TABLE vc_geometricregion ALTER COLUMN sizeunit SET NOT NULL; +ALTER TABLE vc_geometry ADD PRIMARY KEY (id); +ALTER TABLE vc_geometry ALTER COLUMN name SET NOT NULL; +ALTER TABLE vc_geometry ALTER COLUMN ownerref SET NOT NULL; +ALTER TABLE vc_geometry ALTER COLUMN privacy SET NOT NULL; +ALTER TABLE vc_geometry ALTER COLUMN versiondate SET NOT NULL; +ALTER TABLE vc_geometry ALTER COLUMN versionflag SET NOT NULL; +ALTER TABLE vc_geometry ALTER COLUMN versionbranchid SET NOT NULL; +ALTER TABLE vc_geometry ALTER COLUMN dimension SET NOT NULL; +ALTER TABLE vc_geometry ALTER COLUMN originx SET NOT NULL; +ALTER TABLE vc_geometry ALTER COLUMN originy SET NOT NULL; +ALTER TABLE vc_geometry ALTER COLUMN originz SET NOT NULL; +ALTER TABLE vc_geometry ALTER COLUMN extentref SET NOT NULL; +ALTER TABLE vc_geomextent ADD PRIMARY KEY (id); +ALTER TABLE vc_geomextent ALTER COLUMN extentx SET NOT NULL; +ALTER TABLE vc_geomextent ALTER COLUMN extenty SET NOT NULL; +ALTER TABLE vc_geomextent ALTER COLUMN extentz SET NOT NULL; +ALTER TABLE vc_globalmodelparam ADD PRIMARY KEY (id); +ALTER TABLE vc_globalmodelparam ALTER COLUMN modelref SET NOT NULL; +ALTER TABLE vc_globalmodelparam ALTER COLUMN xmlfragment SET NOT NULL; +ALTER TABLE vc_group ADD PRIMARY KEY (id); +ALTER TABLE vc_group ALTER COLUMN groupid SET NOT NULL; +ALTER TABLE vc_group ALTER COLUMN userref SET NOT NULL; +ALTER TABLE vc_group ALTER COLUMN ishiddenfromowner SET NOT NULL; +ALTER TABLE vc_group ALTER COLUMN groupmemberhash SET NOT NULL; +ALTER TABLE vc_image ADD PRIMARY KEY (id); +ALTER TABLE vc_image ALTER COLUMN name SET NOT NULL; +ALTER TABLE vc_image ALTER COLUMN ownerref SET NOT NULL; +ALTER TABLE vc_image ALTER COLUMN privacy SET NOT NULL; +ALTER TABLE vc_image ALTER COLUMN versiondate SET NOT NULL; +ALTER TABLE vc_image ALTER COLUMN versionflag SET NOT NULL; +ALTER TABLE vc_image ALTER COLUMN versionbranchid SET NOT NULL; +ALTER TABLE vc_image ALTER COLUMN numx SET NOT NULL; +ALTER TABLE vc_image ALTER COLUMN numy SET NOT NULL; +ALTER TABLE vc_image ALTER COLUMN numz SET NOT NULL; +ALTER TABLE vc_image ALTER COLUMN extentref SET NOT NULL; +ALTER TABLE vc_imagedata ADD PRIMARY KEY (id); +ALTER TABLE vc_imagedata ALTER COLUMN imageref SET NOT NULL; +ALTER TABLE vc_imagedata ALTER COLUMN data SET NOT NULL; +ALTER TABLE vc_imageregion ADD PRIMARY KEY (id); +ALTER TABLE vc_imageregion ALTER COLUMN regionname SET NOT NULL; +ALTER TABLE vc_imageregion ALTER COLUMN imageref SET NOT NULL; +ALTER TABLE vc_imageregion ALTER COLUMN pixelvalue SET NOT NULL; +ALTER TABLE vc_login ALTER COLUMN id SET NOT NULL; +ALTER TABLE vc_login ALTER COLUMN login_date SET NOT NULL; +ALTER TABLE vc_math ADD PRIMARY KEY (id); +ALTER TABLE vc_math ALTER COLUMN name SET NOT NULL; +ALTER TABLE vc_math ALTER COLUMN ownerref SET NOT NULL; +ALTER TABLE vc_math ALTER COLUMN privacy SET NOT NULL; +ALTER TABLE vc_math ALTER COLUMN versiondate SET NOT NULL; +ALTER TABLE vc_math ALTER COLUMN versionflag SET NOT NULL; +ALTER TABLE vc_math ALTER COLUMN versionbranchid SET NOT NULL; +ALTER TABLE vc_math ALTER COLUMN geometryref SET NOT NULL; +ALTER TABLE vc_math ALTER COLUMN language SET NOT NULL; +ALTER TABLE vc_mathdescextdata ADD UNIQUE (mathdescref,extdataref); +ALTER TABLE vc_mathdescextdata ADD PRIMARY KEY (id); +ALTER TABLE vc_mathdescextdata ALTER COLUMN mathdescref SET NOT NULL; +ALTER TABLE vc_mathdescextdata ALTER COLUMN extdataref SET NOT NULL; +ALTER TABLE vc_mathgen ADD PRIMARY KEY (id); +ALTER TABLE vc_mathgen ALTER COLUMN biomodelref SET NOT NULL; +ALTER TABLE vc_mathgen ALTER COLUMN simcontextref SET NOT NULL; +ALTER TABLE vc_mathgen ALTER COLUMN origmathref SET NOT NULL; +ALTER TABLE vc_mathgen ALTER COLUMN softwareversion SET NOT NULL; +ALTER TABLE vc_mathgen ALTER COLUMN status SET NOT NULL; +ALTER TABLE vc_mathmodel ADD PRIMARY KEY (id); +ALTER TABLE vc_mathmodel ALTER COLUMN name SET NOT NULL; +ALTER TABLE vc_mathmodel ALTER COLUMN ownerref SET NOT NULL; +ALTER TABLE vc_mathmodel ALTER COLUMN privacy SET NOT NULL; +ALTER TABLE vc_mathmodel ALTER COLUMN versiondate SET NOT NULL; +ALTER TABLE vc_mathmodel ALTER COLUMN versionflag SET NOT NULL; +ALTER TABLE vc_mathmodel ALTER COLUMN versionbranchid SET NOT NULL; +ALTER TABLE vc_mathmodel ALTER COLUMN mathref SET NOT NULL; +ALTER TABLE vc_mathmodelsim ADD PRIMARY KEY (id); +ALTER TABLE vc_mathmodelsim ALTER COLUMN mathmodelref SET NOT NULL; +ALTER TABLE vc_mathmodelsim ALTER COLUMN simref SET NOT NULL; +ALTER TABLE vc_mathmodelxml ADD PRIMARY KEY (id); +ALTER TABLE vc_mathmodelxml ADD UNIQUE (mathmodelref); +ALTER TABLE vc_mathmodelxml ALTER COLUMN mathmodelref SET NOT NULL; +ALTER TABLE vc_mathmodelxml ALTER COLUMN mmxml SET NOT NULL; +ALTER TABLE vc_mathmodelxml ALTER COLUMN changedate SET NOT NULL; +ALTER TABLE vc_metadata ADD PRIMARY KEY (id); +ALTER TABLE vc_metadata ALTER COLUMN biomodelref SET NOT NULL; +ALTER TABLE vc_miriam ADD PRIMARY KEY (id); +ALTER TABLE vc_miriam ADD CONSTRAINT miriam_info_not_null CHECK (CASE WHEN annotation IS NULL THEN 0 WHEN annotation=structref THEN 1 END +CASE WHEN usernotes IS NULL THEN 0 WHEN usernotes=reactstepref THEN 1 END > 0); +ALTER TABLE vc_miriam ADD CONSTRAINT miriam_only_1 CHECK (CASE WHEN biomodelref IS NULL THEN 0 WHEN biomodelref=biomodelref THEN 1 END +CASE WHEN speciesref IS NULL THEN 0 WHEN speciesref=speciesref THEN 1 END +CASE WHEN structref IS NULL THEN 0 WHEN structref=structref THEN 1 END +CASE WHEN reactstepref IS NULL THEN 0 WHEN reactstepref=reactstepref THEN 1 END = 1); +ALTER TABLE vc_model ADD PRIMARY KEY (id); +ALTER TABLE vc_model ALTER COLUMN name SET NOT NULL; +ALTER TABLE vc_model ALTER COLUMN ownerref SET NOT NULL; +ALTER TABLE vc_model ALTER COLUMN privacy SET NOT NULL; +ALTER TABLE vc_model ALTER COLUMN versiondate SET NOT NULL; +ALTER TABLE vc_model ALTER COLUMN versionflag SET NOT NULL; +ALTER TABLE vc_model ALTER COLUMN versionbranchid SET NOT NULL; +ALTER TABLE vc_modelsc ADD PRIMARY KEY (id); +ALTER TABLE vc_modelsc ALTER COLUMN modelref SET NOT NULL; +ALTER TABLE vc_modelsc ALTER COLUMN speciesref SET NOT NULL; +ALTER TABLE vc_modelsc ALTER COLUMN structref SET NOT NULL; +ALTER TABLE vc_modelsc ALTER COLUMN name SET NOT NULL; +ALTER TABLE vc_modelsc ALTER COLUMN hasoverride SET NOT NULL; +ALTER TABLE vc_modelstruct ADD PRIMARY KEY (id); +ALTER TABLE vc_modelstruct ALTER COLUMN modelref SET NOT NULL; +ALTER TABLE vc_modelstruct ALTER COLUMN structref SET NOT NULL; +ALTER TABLE vc_permission ADD PRIMARY KEY (id); +ALTER TABLE vc_permission ALTER COLUMN groupid SET NOT NULL; +ALTER TABLE vc_permission ALTER COLUMN childid SET NOT NULL; +ALTER TABLE vc_protein ADD PRIMARY KEY (id); +ALTER TABLE vc_protein ADD UNIQUE (swissprotid); +ALTER TABLE vc_protein ALTER COLUMN swissprotid SET NOT NULL; +ALTER TABLE vc_proteinalias ADD PRIMARY KEY (id); +ALTER TABLE vc_proteinalias ALTER COLUMN proteinref SET NOT NULL; +ALTER TABLE vc_proteinalias ALTER COLUMN name SET NOT NULL; +ALTER TABLE vc_proteinalias ALTER COLUMN preferred SET NOT NULL; +ALTER TABLE vc_publication ADD PRIMARY KEY (id); +ALTER TABLE vc_publicationmodellink ADD PRIMARY KEY (id); +ALTER TABLE vc_publicationmodellink ALTER COLUMN pubref SET NOT NULL; +ALTER TABLE vc_reactionspec ADD PRIMARY KEY (id); +ALTER TABLE vc_reactionspec ALTER COLUMN reactstepref SET NOT NULL; +ALTER TABLE vc_reactionspec ALTER COLUMN simcontextref SET NOT NULL; +ALTER TABLE vc_reactionspec ALTER COLUMN mapping SET NOT NULL; +ALTER TABLE vc_reactpart ADD PRIMARY KEY (id); +ALTER TABLE vc_reactpart ALTER COLUMN role SET NOT NULL; +ALTER TABLE vc_reactpart ALTER COLUMN stoich SET NOT NULL; +ALTER TABLE vc_reactpart ALTER COLUMN reactstepref SET NOT NULL; +ALTER TABLE vc_reactpart ALTER COLUMN scref SET NOT NULL; +ALTER TABLE vc_reactstep ADD PRIMARY KEY (id); +ALTER TABLE vc_reactstep ALTER COLUMN reacttype SET NOT NULL; +ALTER TABLE vc_reactstep ALTER COLUMN modelref SET NOT NULL; +ALTER TABLE vc_reactstep ALTER COLUMN structref SET NOT NULL; +ALTER TABLE vc_rsetexport ADD PRIMARY KEY (id); +ALTER TABLE vc_rsetexport ALTER COLUMN simulationref SET NOT NULL; +ALTER TABLE vc_rsetexport ALTER COLUMN exportdate SET NOT NULL; +ALTER TABLE vc_rsetexport ALTER COLUMN exportformat SET NOT NULL; +ALTER TABLE vc_rsetexport ALTER COLUMN exporturl SET NOT NULL; +ALTER TABLE vc_rsetmetadata ADD UNIQUE (simref,jobindex); +ALTER TABLE vc_rsetmetadata ADD PRIMARY KEY (id); +ALTER TABLE vc_rsetmetadata ALTER COLUMN simref SET NOT NULL; +ALTER TABLE vc_rsetmetadata ALTER COLUMN startdate SET NOT NULL; +ALTER TABLE vc_rsetmetadata ALTER COLUMN datafilepath SET NOT NULL; +ALTER TABLE vc_service ADD PRIMARY KEY (id); +ALTER TABLE vc_service ADD UNIQUE (serverid,type,ordinal); +ALTER TABLE vc_service ALTER COLUMN serverid SET NOT NULL; +ALTER TABLE vc_service ALTER COLUMN type SET NOT NULL; +ALTER TABLE vc_service ALTER COLUMN ordinal SET NOT NULL; +ALTER TABLE vc_service ALTER COLUMN startuptype SET NOT NULL; +ALTER TABLE vc_service ALTER COLUMN memorymb SET NOT NULL; +ALTER TABLE vc_service ALTER COLUMN lastupdate SET NOT NULL; +ALTER TABLE vc_service ALTER COLUMN status SET NOT NULL; +ALTER TABLE vc_service ALTER COLUMN statusmsg SET NOT NULL; +ALTER TABLE vc_simcontext ADD PRIMARY KEY (id); +ALTER TABLE vc_simcontext ALTER COLUMN name SET NOT NULL; +ALTER TABLE vc_simcontext ALTER COLUMN ownerref SET NOT NULL; +ALTER TABLE vc_simcontext ALTER COLUMN privacy SET NOT NULL; +ALTER TABLE vc_simcontext ALTER COLUMN versiondate SET NOT NULL; +ALTER TABLE vc_simcontext ALTER COLUMN versionflag SET NOT NULL; +ALTER TABLE vc_simcontext ALTER COLUMN versionbranchid SET NOT NULL; +ALTER TABLE vc_simcontext ALTER COLUMN modelref SET NOT NULL; +ALTER TABLE vc_simcontext ALTER COLUMN geometryref SET NOT NULL; +ALTER TABLE vc_simcontextstat ADD PRIMARY KEY (id); +ALTER TABLE vc_simcontextstat ALTER COLUMN simcontextref SET NOT NULL; +ALTER TABLE vc_simcontextstat2_backup ALTER COLUMN simcontextref SET NOT NULL; +ALTER TABLE vc_simcontextstat2_build478 ALTER COLUMN simcontextref SET NOT NULL; +ALTER TABLE vc_simcontextstat2_build478_f1 ALTER COLUMN simcontextref SET NOT NULL; +ALTER TABLE vc_simcontextstat_copy ALTER COLUMN simcontextref SET NOT NULL; +ALTER TABLE vc_simcontextstat_oldr3 ALTER COLUMN simcontextref SET NOT NULL; +ALTER TABLE vc_simdelfromdisk ALTER COLUMN userid SET NOT NULL; +ALTER TABLE vc_simdelfromdisk ALTER COLUMN simname SET NOT NULL; +ALTER TABLE vc_simjob_withdata ALTER COLUMN simref SET NOT NULL; +ALTER TABLE vc_simjob_withdata ALTER COLUMN submitdate SET NOT NULL; +ALTER TABLE vc_simjob_withdata ALTER COLUMN taskid SET NOT NULL; +ALTER TABLE vc_simjob_withdata ALTER COLUMN schedulerstatus SET NOT NULL; +ALTER TABLE vc_simjob_withdata ALTER COLUMN latestupdatedate SET NOT NULL; +ALTER TABLE vc_simjob_withdata ALTER COLUMN serverid SET NOT NULL; +ALTER TABLE vc_simmeshspec ADD PRIMARY KEY (id); +ALTER TABLE vc_simmeshspec ALTER COLUMN simref SET NOT NULL; +ALTER TABLE vc_simmeshspec ALTER COLUMN samplesizex SET NOT NULL; +ALTER TABLE vc_simmeshspec ALTER COLUMN samplesizey SET NOT NULL; +ALTER TABLE vc_simmeshspec ALTER COLUMN samplesizez SET NOT NULL; +ALTER TABLE vc_simstat ADD PRIMARY KEY (id); +ALTER TABLE vc_simstat ALTER COLUMN simref SET NOT NULL; +ALTER TABLE vc_simstat_2012_08_09 ALTER COLUMN simref SET NOT NULL; +ALTER TABLE vc_simstat_backup ALTER COLUMN simref SET NOT NULL; +ALTER TABLE vc_simstat_backup2 ALTER COLUMN simref SET NOT NULL; +ALTER TABLE vc_simulation ADD PRIMARY KEY (id); +ALTER TABLE vc_simulation ALTER COLUMN name SET NOT NULL; +ALTER TABLE vc_simulation ALTER COLUMN ownerref SET NOT NULL; +ALTER TABLE vc_simulation ALTER COLUMN privacy SET NOT NULL; +ALTER TABLE vc_simulation ALTER COLUMN versiondate SET NOT NULL; +ALTER TABLE vc_simulation ALTER COLUMN versionflag SET NOT NULL; +ALTER TABLE vc_simulation ALTER COLUMN versionbranchid SET NOT NULL; +ALTER TABLE vc_simulation ALTER COLUMN mathref SET NOT NULL; +ALTER TABLE vc_simulationjob ADD UNIQUE (simref,jobindex,taskid); +ALTER TABLE vc_simulationjob ADD PRIMARY KEY (id); +ALTER TABLE vc_simulationjob ALTER COLUMN simref SET NOT NULL; +ALTER TABLE vc_simulationjob ALTER COLUMN submitdate SET NOT NULL; +ALTER TABLE vc_simulationjob ALTER COLUMN taskid SET NOT NULL; +ALTER TABLE vc_simulationjob ALTER COLUMN schedulerstatus SET NOT NULL; +ALTER TABLE vc_simulationjob ALTER COLUMN latestupdatedate SET NOT NULL; +ALTER TABLE vc_simulationjob ALTER COLUMN serverid SET NOT NULL; +ALTER TABLE vc_softwareversion ADD PRIMARY KEY (id); +ALTER TABLE vc_softwareversion ADD UNIQUE (versionableref); +ALTER TABLE vc_softwareversion ALTER COLUMN versionableref SET NOT NULL; +ALTER TABLE vc_softwareversion ALTER COLUMN softwareversion SET NOT NULL; +ALTER TABLE vc_specialusers ADD PRIMARY KEY (id); +ALTER TABLE vc_specialusers ALTER COLUMN id SET NOT NULL; +ALTER TABLE vc_specialusers ALTER COLUMN special SET NOT NULL; +ALTER TABLE vc_specialusers ALTER COLUMN userref SET NOT NULL; +ALTER TABLE vc_species ADD PRIMARY KEY (id); +ALTER TABLE vc_species ALTER COLUMN commonname SET NOT NULL; +ALTER TABLE vc_speciescontextspec ADD PRIMARY KEY (id); +ALTER TABLE vc_speciescontextspec ADD CONSTRAINT initcndcnstr CHECK (not(initcondexp is null and initcondcountexp is null) and not(initcondexp is not null and initcondcountexp is not null)); +ALTER TABLE vc_speciescontextspec ALTER COLUMN speccontextref SET NOT NULL; +ALTER TABLE vc_speciescontextspec ALTER COLUMN simcontextref SET NOT NULL; +ALTER TABLE vc_speciescontextspec ALTER COLUMN benabledif SET NOT NULL; +ALTER TABLE vc_speciescontextspec ALTER COLUMN bforceconst SET NOT NULL; +ALTER TABLE vc_speciescontextspec ALTER COLUMN bforceindep SET NOT NULL; +ALTER TABLE vc_speciescontextspec ALTER COLUMN diffrateexp SET NOT NULL; +ALTER TABLE vc_speciescontextspec_temp ADD PRIMARY KEY (id); +ALTER TABLE vc_speciescontextspec_temp ALTER COLUMN id SET NOT NULL; +ALTER TABLE vc_speciescontextspec_temp ALTER COLUMN speccontextref SET NOT NULL; +ALTER TABLE vc_speciescontextspec_temp ALTER COLUMN simcontextref SET NOT NULL; +ALTER TABLE vc_speciescontextspec_temp ALTER COLUMN benabledif SET NOT NULL; +ALTER TABLE vc_speciescontextspec_temp ALTER COLUMN bforceconst SET NOT NULL; +ALTER TABLE vc_speciescontextspec_temp ALTER COLUMN bforceindep SET NOT NULL; +ALTER TABLE vc_speciescontextspec_temp ALTER COLUMN diffrateexp SET NOT NULL; +ALTER TABLE vc_stimulus ADD PRIMARY KEY (id); +ALTER TABLE vc_stimulus ALTER COLUMN structref SET NOT NULL; +ALTER TABLE vc_stimulus ALTER COLUMN simcontextref SET NOT NULL; +ALTER TABLE vc_stimulus ALTER COLUMN stimulustype SET NOT NULL; +ALTER TABLE vc_stimulus ALTER COLUMN posx SET NOT NULL; +ALTER TABLE vc_stimulus ALTER COLUMN posy SET NOT NULL; +ALTER TABLE vc_stimulus ALTER COLUMN posz SET NOT NULL; +ALTER TABLE vc_struct ADD PRIMARY KEY (id); +ALTER TABLE vc_struct ALTER COLUMN strname SET NOT NULL; +ALTER TABLE vc_struct ALTER COLUMN structtype SET NOT NULL; +ALTER TABLE vc_structmapping ADD PRIMARY KEY (id); +ALTER TABLE vc_structmapping ALTER COLUMN structref SET NOT NULL; +ALTER TABLE vc_structmapping ALTER COLUMN simcontextref SET NOT NULL; +ALTER TABLE vc_structmapping ALTER COLUMN bresolved SET NOT NULL; +ALTER TABLE vc_subvolume ADD PRIMARY KEY (id); +ALTER TABLE vc_subvolume ALTER COLUMN name SET NOT NULL; +ALTER TABLE vc_subvolume ALTER COLUMN geometryref SET NOT NULL; +ALTER TABLE vc_subvolume ALTER COLUMN handle SET NOT NULL; +ALTER TABLE vc_subvolume ALTER COLUMN ordinal SET NOT NULL; +ALTER TABLE vc_surfaceclass ADD PRIMARY KEY (id); +ALTER TABLE vc_surfaceclass ALTER COLUMN name SET NOT NULL; +ALTER TABLE vc_surfaceclass ALTER COLUMN geometryref SET NOT NULL; +ALTER TABLE vc_surfacedesc ADD PRIMARY KEY (id); +ALTER TABLE vc_surfacedesc ALTER COLUMN geometryref SET NOT NULL; +ALTER TABLE vc_surfacedesc ALTER COLUMN samplesizex SET NOT NULL; +ALTER TABLE vc_surfacedesc ALTER COLUMN samplesizey SET NOT NULL; +ALTER TABLE vc_surfacedesc ALTER COLUMN samplesizez SET NOT NULL; +ALTER TABLE vc_surfacedesc ALTER COLUMN filterfreq SET NOT NULL; +ALTER TABLE vc_taskdesc ADD PRIMARY KEY (id); +ALTER TABLE vc_taskdesc ALTER COLUMN simref SET NOT NULL; +ALTER TABLE vc_taskdesc ALTER COLUMN data SET NOT NULL; +ALTER TABLE vc_tftestcase ADD UNIQUE (testsuiteref,mathmodelref,bmappref); +ALTER TABLE vc_tftestcase ADD PRIMARY KEY (id); +ALTER TABLE vc_tftestcase ALTER COLUMN testsuiteref SET NOT NULL; +ALTER TABLE vc_tftestcase ALTER COLUMN tcsolutiontype SET NOT NULL; +ALTER TABLE vc_tftestcase ALTER COLUMN creationdate SET NOT NULL; +ALTER TABLE vc_tftestcase ADD CONSTRAINT tc_tsr_must_mmbm CHECK (not(mathmodelref is null and bmappref is null) and not(mathmodelref is not null and bmappref is not null)); +ALTER TABLE vc_tftestcriteria ADD UNIQUE (simulationref); +ALTER TABLE vc_tftestcriteria ADD PRIMARY KEY (id); +ALTER TABLE vc_tftestcriteria ADD UNIQUE (testcaseref,simulationref); +ALTER TABLE vc_tftestcriteria ADD UNIQUE (simdataref); +ALTER TABLE vc_tftestcriteria ALTER COLUMN testcaseref SET NOT NULL; +ALTER TABLE vc_tftestcriteria ALTER COLUMN simulationref SET NOT NULL; +ALTER TABLE vc_tftestresult ADD PRIMARY KEY (id); +ALTER TABLE vc_tftestresult ADD UNIQUE (testcriteriaref,varname); +ALTER TABLE vc_tftestresult ALTER COLUMN testcriteriaref SET NOT NULL; +ALTER TABLE vc_tftestresult ALTER COLUMN varname SET NOT NULL; +ALTER TABLE vc_tftestresult ALTER COLUMN abserror SET NOT NULL; +ALTER TABLE vc_tftestresult ALTER COLUMN relerror SET NOT NULL; +ALTER TABLE vc_tftestresult ALTER COLUMN maxref SET NOT NULL; +ALTER TABLE vc_tftestresult ALTER COLUMN minref SET NOT NULL; +ALTER TABLE vc_tftestresult ALTER COLUMN meansqrerror SET NOT NULL; +ALTER TABLE vc_tftestresult ALTER COLUMN timeabserror SET NOT NULL; +ALTER TABLE vc_tftestresult ALTER COLUMN indexabserror SET NOT NULL; +ALTER TABLE vc_tftestresult ALTER COLUMN timerelerror SET NOT NULL; +ALTER TABLE vc_tftestresult ALTER COLUMN indexrelerror SET NOT NULL; +ALTER TABLE vc_tftestsuite ADD UNIQUE (tsversion); +ALTER TABLE vc_tftestsuite ADD PRIMARY KEY (id); +ALTER TABLE vc_tftestsuite ADD UNIQUE (vcbuildversion,vcnumericsversion); +ALTER TABLE vc_tftestsuite ALTER COLUMN tsversion SET NOT NULL; +ALTER TABLE vc_tftestsuite ALTER COLUMN vcbuildversion SET NOT NULL; +ALTER TABLE vc_tftestsuite ALTER COLUMN vcnumericsversion SET NOT NULL; +ALTER TABLE vc_tftestsuite ALTER COLUMN creationdate SET NOT NULL; +ALTER TABLE vc_tftestsuite ALTER COLUMN islocked SET NOT NULL; +ALTER TABLE vc_useridentity ADD PRIMARY KEY (id); +ALTER TABLE vc_useridentity ALTER COLUMN userref SET NOT NULL; +ALTER TABLE vc_useridentity ALTER COLUMN authsubject SET NOT NULL; +ALTER TABLE vc_useridentity ALTER COLUMN authissuer SET NOT NULL; +ALTER TABLE vc_useridentity ALTER COLUMN insertdate SET NOT NULL; +ALTER TABLE vc_userinfo ADD PRIMARY KEY (id); +ALTER TABLE vc_userinfo ADD UNIQUE (userid); +ALTER TABLE vc_userinfo ALTER COLUMN userid SET NOT NULL; +ALTER TABLE vc_userinfo ALTER COLUMN password SET NOT NULL; +ALTER TABLE vc_userinfo ALTER COLUMN email SET NOT NULL; +ALTER TABLE vc_userinfo ALTER COLUMN firstname SET NOT NULL; +ALTER TABLE vc_userinfo ALTER COLUMN notify SET NOT NULL; +ALTER TABLE vc_userinfo ALTER COLUMN insertdate SET NOT NULL; +ALTER TABLE vc_userlog ADD PRIMARY KEY (id); +ALTER TABLE vc_userlog ALTER COLUMN userref SET NOT NULL; +ALTER TABLE vc_userlog ALTER COLUMN eventdate SET NOT NULL; +ALTER TABLE vc_userlog ALTER COLUMN logtext SET NOT NULL; +ALTER TABLE vc_userlog ALTER COLUMN eventtype SET NOT NULL; +ALTER TABLE vc_userlogininfo ADD UNIQUE (userref,osarch,osname,osvers,clientvers,serververs,javavers); +ALTER TABLE vc_userlogininfo ADD PRIMARY KEY (id); +ALTER TABLE vc_userlogininfo ALTER COLUMN userref SET NOT NULL; +ALTER TABLE vc_userlogininfo ALTER COLUMN logincount SET NOT NULL; +ALTER TABLE vc_userlogininfo ALTER COLUMN lastlogin SET NOT NULL; +ALTER TABLE vc_userlogininfo ALTER COLUMN osarch SET NOT NULL; +ALTER TABLE vc_userlogininfo ALTER COLUMN osname SET NOT NULL; +ALTER TABLE vc_userlogininfo ALTER COLUMN osvers SET NOT NULL; +ALTER TABLE vc_userlogininfo ALTER COLUMN clientvers SET NOT NULL; +ALTER TABLE vc_userlogininfo ALTER COLUMN serververs SET NOT NULL; +ALTER TABLE vc_userlogininfo ALTER COLUMN javavers SET NOT NULL; +ALTER TABLE vc_userpref ADD PRIMARY KEY (id); +ALTER TABLE vc_userpref ALTER COLUMN userref SET NOT NULL; +ALTER TABLE vc_userpref ALTER COLUMN userprefkey SET NOT NULL; +ALTER TABLE vc_userpref ALTER COLUMN userprefvalue SET NOT NULL; +ALTER TABLE vc_userstat ADD UNIQUE (userref); +ALTER TABLE vc_userstat ADD PRIMARY KEY (id); +ALTER TABLE vc_userstat ALTER COLUMN userref SET NOT NULL; +ALTER TABLE web_download_event ADD PRIMARY KEY (id); +ALTER TABLE web_download_event ALTER COLUMN id SET NOT NULL; +ALTER TABLE web_download_item ADD PRIMARY KEY (id); +ALTER TABLE web_download_item ALTER COLUMN id SET NOT NULL; +ALTER TABLE web_download_item ALTER COLUMN name SET NOT NULL; +ALTER TABLE web_download_type ADD PRIMARY KEY (id); +ALTER TABLE web_download_type ALTER COLUMN id SET NOT NULL; +ALTER TABLE xutemp ALTER COLUMN biomodelref SET NOT NULL; diff --git a/docker/database/migration/migv1/schema/tables/FKEYS_table.sql b/docker/database/migration/migv1/schema/tables/FKEYS_table.sql new file mode 100644 index 0000000000..33e6d6bdf0 --- /dev/null +++ b/docker/database/migration/migv1/schema/tables/FKEYS_table.sql @@ -0,0 +1,288 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +\set ON_ERROR_STOP ON + +SET search_path = vcell,public; +ALTER TABLE attrmapping ADD CONSTRAINT mapping_p2o_fk FOREIGN KEY (property,objecttype) REFERENCES property2objecttype(property,objecttype) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE autocopymapping ADD CONSTRAINT am_linktype_fk FOREIGN KEY (linktype) REFERENCES objecttype(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE autocopymapping ADD CONSTRAINT am_p2o_fk FOREIGN KEY (property,objecttype) REFERENCES property2objecttype(property,objecttype) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE context ADD CONSTRAINT parent_fk FOREIGN KEY (parent) REFERENCES context(name) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE contextmodification ADD CONSTRAINT contextmodification_context_fk FOREIGN KEY (contextname) REFERENCES context(name) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE filedataparts ADD CONSTRAINT file_part_fk FOREIGN KEY (fileid) REFERENCES filescontent(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE files ADD CONSTRAINT file_content_fk FOREIGN KEY (fileid) REFERENCES filescontent(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE files ADD CONSTRAINT file_folder_fk FOREIGN KEY (folder) REFERENCES folder(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE files ADD CONSTRAINT file_map_fk FOREIGN KEY (mapid) REFERENCES map(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE folder ADD CONSTRAINT folder_context_fk FOREIGN KEY (context) REFERENCES context(name) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE folder ADD CONSTRAINT folder_parent_fk FOREIGN KEY (parent) REFERENCES folder(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE imagedataparts ADD CONSTRAINT image_part_fk FOREIGN KEY (imageid) REFERENCES images(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE loadmodelstat ADD CONSTRAINT sys_c008175 FOREIGN KEY (biomodelref) REFERENCES vc_biomodel(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE loadmodelstat ADD CONSTRAINT sys_c008176 FOREIGN KEY (mathmodelref) REFERENCES vc_mathmodel(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE map ADD CONSTRAINT map_context_fk FOREIGN KEY (contextname) REFERENCES context(name) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE map ADD CONSTRAINT map_folder_fk FOREIGN KEY (folder) REFERENCES folder(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE mapitem ADD CONSTRAINT mapitem_map_fk FOREIGN KEY (mapid) REFERENCES map(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE mapitem ADD CONSTRAINT mapitem_objecttype_fk FOREIGN KEY (objecttype) REFERENCES objecttype(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE mapitem ADD CONSTRAINT mapitem_parent_fk FOREIGN KEY (parent) REFERENCES mapitem(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE mapitemattribute ADD CONSTRAINT attribute_image_fk FOREIGN KEY (imagereference) REFERENCES images(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE mapitemattribute ADD CONSTRAINT attr_mapitem_fk FOREIGN KEY (itemid) REFERENCES mapitem(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE mapitemattribute ADD CONSTRAINT attr_mapitem_ref_fk FOREIGN KEY (itemreference) REFERENCES mapitem(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE mapitemattribute ADD CONSTRAINT attr_property_fk FOREIGN KEY (property) REFERENCES property(name) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE mapitemattribute ADD CONSTRAINT attr_type_fk FOREIGN KEY (objecttype) REFERENCES objecttype(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE nomenclatureattrs ADD CONSTRAINT nomenclature_fk FOREIGN KEY (nomenclature) REFERENCES nomenclature(name) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE objecttype ADD CONSTRAINT objecttype_context_fk FOREIGN KEY (contextname) REFERENCES context(name) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE objecttype ADD CONSTRAINT objecttype_objecttype_fk FOREIGN KEY (parent) REFERENCES objecttype(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE objecttype2objecttype ADD CONSTRAINT objecttype_child_fk FOREIGN KEY (possiblechild) REFERENCES objecttype(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE objecttype2objecttype ADD CONSTRAINT objecttype_fk FOREIGN KEY (id) REFERENCES objecttype(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE plsql_profiler_data ADD CONSTRAINT sys_c008192 FOREIGN KEY (runid,unit_number) REFERENCES plsql_profiler_units(runid,unit_number) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE plsql_profiler_units ADD CONSTRAINT sys_c008193 FOREIGN KEY (runid) REFERENCES plsql_profiler_runs(runid) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE property ADD CONSTRAINT property_parent_fk FOREIGN KEY (parent) REFERENCES property(name) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE property2objecttype ADD CONSTRAINT property_fk FOREIGN KEY (property) REFERENCES property(name) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE property2objecttype ADD CONSTRAINT prop_objecttype_fk FOREIGN KEY (objecttype) REFERENCES objecttype(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE stochtest ADD CONSTRAINT sys_c008337 FOREIGN KEY (simcontextref) REFERENCES vc_simcontext(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE stochtest ADD CONSTRAINT sys_c008338 FOREIGN KEY (biomodelref) REFERENCES vc_biomodel(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE stochtest ADD CONSTRAINT sys_c008339 FOREIGN KEY (mathref) REFERENCES vc_math(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE stochtestcompare ADD CONSTRAINT sys_c008341 FOREIGN KEY (stochtestrunref1) REFERENCES stochtestrun(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE stochtestcompare ADD CONSTRAINT sys_c008342 FOREIGN KEY (stochtestrunref2) REFERENCES stochtestrun(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE stochtestrun ADD CONSTRAINT sys_c008340 FOREIGN KEY (stochtestref) REFERENCES stochtest(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE tempscref ADD CONSTRAINT tempscref_bmsc FOREIGN KEY (scref) REFERENCES vc_biomodelsimcontext(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE temp_simcontextstat2 ADD CONSTRAINT sys_c008198 FOREIGN KEY (simcontextref) REFERENCES vc_simcontext(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE temp_simstat ADD CONSTRAINT sys_c008199 FOREIGN KEY (simref) REFERENCES vc_simulation(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_analysistask ADD CONSTRAINT sys_c008200 FOREIGN KEY (simcontextref) REFERENCES vc_simcontext(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_apiaccesstoken ADD CONSTRAINT sys_c008201 FOREIGN KEY (clientref) REFERENCES vc_apiclient(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_apiaccesstoken ADD CONSTRAINT sys_c008202 FOREIGN KEY (userref) REFERENCES vc_userinfo(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_applicationmath ADD CONSTRAINT sys_c008203 FOREIGN KEY (simcontextref) REFERENCES vc_simcontext(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_applicationmath ADD CONSTRAINT sys_c008204 FOREIGN KEY (mathmodelref) REFERENCES vc_mathmodel(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_biomodel ADD CONSTRAINT sys_c008205 FOREIGN KEY (modelref) REFERENCES vc_model(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_biomodel ADD CONSTRAINT sys_c008206 FOREIGN KEY (ownerref) REFERENCES vc_userinfo(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_biomodel ADD CONSTRAINT sys_c008207 FOREIGN KEY (versionpref) REFERENCES vc_biomodel(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_biomodelsim ADD CONSTRAINT sys_c008208 FOREIGN KEY (biomodelref) REFERENCES vc_biomodel(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_biomodelsim ADD CONSTRAINT sys_c008209 FOREIGN KEY (simref) REFERENCES vc_simulation(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_biomodelsimcontext ADD CONSTRAINT sys_c008210 FOREIGN KEY (biomodelref) REFERENCES vc_biomodel(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_biomodelsimcontext ADD CONSTRAINT sys_c008211 FOREIGN KEY (simcontextref) REFERENCES vc_simcontext(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_biomodelxml ADD CONSTRAINT sys_c008212 FOREIGN KEY (biomodelref) REFERENCES vc_biomodel(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_browsedata ADD CONSTRAINT sys_c008213 FOREIGN KEY (imageref) REFERENCES vc_image(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_compoundalias ADD CONSTRAINT compoundref_fkr FOREIGN KEY (compoundref) REFERENCES vc_compound(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_curve ADD CONSTRAINT sys_c008215 FOREIGN KEY (filamentref) REFERENCES vc_filament(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_datasymbol ADD CONSTRAINT sys_c008216 FOREIGN KEY (simcontextref) REFERENCES vc_simcontext(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_datasymbol ADD CONSTRAINT sys_c008217 FOREIGN KEY (fielddataref) REFERENCES vc_externaldata(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_dbspecies ADD CONSTRAINT sys_c008218 FOREIGN KEY (proteinref) REFERENCES vc_protein(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_dbspecies ADD CONSTRAINT sys_c008219 FOREIGN KEY (enzymeref) REFERENCES vc_enzyme(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_dbspecies ADD CONSTRAINT sys_c008220 FOREIGN KEY (compoundref) REFERENCES vc_compound(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_developer ADD CONSTRAINT vc_developer_fk FOREIGN KEY (id) REFERENCES vc_userinfo(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_diagram ADD CONSTRAINT sys_c008222 FOREIGN KEY (modelref) REFERENCES vc_model(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_diagram ADD CONSTRAINT sys_c008223 FOREIGN KEY (structref) REFERENCES vc_struct(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_enzymealias ADD CONSTRAINT enzymeref_fkr FOREIGN KEY (enzymeref) REFERENCES vc_enzyme(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_enzymereaction ADD CONSTRAINT sys_c008225 FOREIGN KEY (compoundref) REFERENCES vc_compound(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_enzymereaction ADD CONSTRAINT sys_c008226 FOREIGN KEY (enzymeref) REFERENCES vc_enzyme(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_externaldata ADD CONSTRAINT sys_c008227 FOREIGN KEY (ownerref) REFERENCES vc_userinfo(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_filament ADD CONSTRAINT sys_c008228 FOREIGN KEY (geometryref) REFERENCES vc_geometry(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_geometricregion ADD CONSTRAINT sys_c008229 FOREIGN KEY (subvolumeref) REFERENCES vc_subvolume(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_geometricregion ADD CONSTRAINT sys_c008230 FOREIGN KEY (volregion2) REFERENCES vc_geometricregion(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_geometricregion ADD CONSTRAINT sys_c008231 FOREIGN KEY (volregion1) REFERENCES vc_geometricregion(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_geometricregion ADD CONSTRAINT sys_c008232 FOREIGN KEY (geometryref) REFERENCES vc_geometry(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_geometry ADD CONSTRAINT sys_c008233 FOREIGN KEY (extentref) REFERENCES vc_geomextent(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_geometry ADD CONSTRAINT sys_c008234 FOREIGN KEY (ownerref) REFERENCES vc_userinfo(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_geometry ADD CONSTRAINT sys_c008235 FOREIGN KEY (versionpref) REFERENCES vc_geometry(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_geometry ADD CONSTRAINT sys_c008236 FOREIGN KEY (imageref) REFERENCES vc_image(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_globalmodelparam ADD CONSTRAINT sys_c008237 FOREIGN KEY (modelref) REFERENCES vc_model(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_group ADD CONSTRAINT sys_c008238 FOREIGN KEY (userref) REFERENCES vc_userinfo(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_image ADD CONSTRAINT sys_c008239 FOREIGN KEY (extentref) REFERENCES vc_geomextent(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_image ADD CONSTRAINT sys_c008240 FOREIGN KEY (ownerref) REFERENCES vc_userinfo(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_image ADD CONSTRAINT sys_c008241 FOREIGN KEY (versionpref) REFERENCES vc_image(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_imagedata ADD CONSTRAINT sys_c008242 FOREIGN KEY (imageref) REFERENCES vc_image(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_imageregion ADD CONSTRAINT sys_c008243 FOREIGN KEY (imageref) REFERENCES vc_image(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_login ADD CONSTRAINT vc_login_fk FOREIGN KEY (id) REFERENCES vc_userinfo(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_math ADD CONSTRAINT sys_c008245 FOREIGN KEY (versionpref) REFERENCES vc_math(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_math ADD CONSTRAINT sys_c008246 FOREIGN KEY (ownerref) REFERENCES vc_userinfo(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_math ADD CONSTRAINT sys_c008247 FOREIGN KEY (geometryref) REFERENCES vc_geometry(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_mathdescextdata ADD CONSTRAINT sys_c008248 FOREIGN KEY (extdataref) REFERENCES vc_externaldata(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_mathdescextdata ADD CONSTRAINT sys_c008249 FOREIGN KEY (mathdescref) REFERENCES vc_math(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_mathgen ADD CONSTRAINT sys_c008250 FOREIGN KEY (simcontextref) REFERENCES vc_simcontext(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_mathgen ADD CONSTRAINT sys_c008251 FOREIGN KEY (origmathref) REFERENCES vc_math(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_mathgen ADD CONSTRAINT sys_c008252 FOREIGN KEY (biomodelref) REFERENCES vc_biomodel(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_mathmodel ADD CONSTRAINT sys_c008253 FOREIGN KEY (mathref) REFERENCES vc_math(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_mathmodel ADD CONSTRAINT sys_c008254 FOREIGN KEY (ownerref) REFERENCES vc_userinfo(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_mathmodel ADD CONSTRAINT sys_c008255 FOREIGN KEY (versionpref) REFERENCES vc_mathmodel(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_mathmodelsim ADD CONSTRAINT sys_c008256 FOREIGN KEY (simref) REFERENCES vc_simulation(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_mathmodelsim ADD CONSTRAINT sys_c008257 FOREIGN KEY (mathmodelref) REFERENCES vc_mathmodel(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_mathmodelxml ADD CONSTRAINT sys_c008258 FOREIGN KEY (mathmodelref) REFERENCES vc_mathmodel(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_metadata ADD CONSTRAINT sys_c008259 FOREIGN KEY (biomodelref) REFERENCES vc_biomodel(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_miriam ADD CONSTRAINT sys_c008260 FOREIGN KEY (structref) REFERENCES vc_struct(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_miriam ADD CONSTRAINT sys_c008261 FOREIGN KEY (speciesref) REFERENCES vc_species(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_miriam ADD CONSTRAINT sys_c008262 FOREIGN KEY (biomodelref) REFERENCES vc_biomodel(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_miriam ADD CONSTRAINT sys_c008263 FOREIGN KEY (reactstepref) REFERENCES vc_reactstep(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_model ADD CONSTRAINT sys_c008264 FOREIGN KEY (ownerref) REFERENCES vc_userinfo(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_model ADD CONSTRAINT sys_c008265 FOREIGN KEY (versionpref) REFERENCES vc_model(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_modelsc ADD CONSTRAINT sys_c008266 FOREIGN KEY (modelref) REFERENCES vc_model(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_modelsc ADD CONSTRAINT sys_c008267 FOREIGN KEY (speciesref) REFERENCES vc_species(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_modelsc ADD CONSTRAINT sys_c008268 FOREIGN KEY (structref) REFERENCES vc_struct(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_modelstruct ADD CONSTRAINT sys_c008269 FOREIGN KEY (modelref) REFERENCES vc_model(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_modelstruct ADD CONSTRAINT sys_c008270 FOREIGN KEY (structref) REFERENCES vc_struct(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_permission ADD CONSTRAINT sys_c008271 FOREIGN KEY (biomodelref) REFERENCES vc_biomodel(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_permission ADD CONSTRAINT sys_c008272 FOREIGN KEY (modelref) REFERENCES vc_model(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_permission ADD CONSTRAINT sys_c008273 FOREIGN KEY (mathdescref) REFERENCES vc_math(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_permission ADD CONSTRAINT sys_c008274 FOREIGN KEY (simulationref) REFERENCES vc_simulation(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_permission ADD CONSTRAINT sys_c008275 FOREIGN KEY (simcontextref) REFERENCES vc_simcontext(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_permission ADD CONSTRAINT sys_c008276 FOREIGN KEY (mathmodelref) REFERENCES vc_mathmodel(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_permission ADD CONSTRAINT sys_c008277 FOREIGN KEY (geometryref) REFERENCES vc_geometry(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_permission ADD CONSTRAINT sys_c008278 FOREIGN KEY (imageref) REFERENCES vc_image(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_proteinalias ADD CONSTRAINT proteinref_fkr FOREIGN KEY (proteinref) REFERENCES vc_protein(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_publicationmodellink ADD CONSTRAINT sys_c008345 FOREIGN KEY (pubref) REFERENCES vc_publication(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_publicationmodellink ADD CONSTRAINT sys_c008346 FOREIGN KEY (biomodelref) REFERENCES vc_biomodel(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_publicationmodellink ADD CONSTRAINT sys_c008347 FOREIGN KEY (mathmodelref) REFERENCES vc_mathmodel(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_reactionspec ADD CONSTRAINT sys_c008280 FOREIGN KEY (simcontextref) REFERENCES vc_simcontext(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_reactionspec ADD CONSTRAINT sys_c008281 FOREIGN KEY (reactstepref) REFERENCES vc_reactstep(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_reactpart ADD CONSTRAINT sys_c008282 FOREIGN KEY (reactstepref) REFERENCES vc_reactstep(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_reactpart ADD CONSTRAINT sys_c008283 FOREIGN KEY (scref) REFERENCES vc_modelsc(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_reactstep ADD CONSTRAINT sys_c008284 FOREIGN KEY (modelref) REFERENCES vc_model(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_reactstep ADD CONSTRAINT sys_c008285 FOREIGN KEY (structref) REFERENCES vc_struct(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_rsetexport ADD CONSTRAINT sys_c008286 FOREIGN KEY (simulationref) REFERENCES vc_simulation(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_rsetmetadata ADD CONSTRAINT sys_c008287 FOREIGN KEY (simref) REFERENCES vc_simulation(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_simcontext ADD CONSTRAINT sys_c008288 FOREIGN KEY (modelref) REFERENCES vc_model(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_simcontext ADD CONSTRAINT sys_c008289 FOREIGN KEY (mathref) REFERENCES vc_math(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_simcontext ADD CONSTRAINT sys_c008290 FOREIGN KEY (ownerref) REFERENCES vc_userinfo(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_simcontext ADD CONSTRAINT sys_c008291 FOREIGN KEY (versionpref) REFERENCES vc_simcontext(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_simcontext ADD CONSTRAINT sys_c008292 FOREIGN KEY (geometryref) REFERENCES vc_geometry(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_simcontextstat ADD CONSTRAINT sys_c008293 FOREIGN KEY (simcontextref) REFERENCES vc_simcontext(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_simmeshspec ADD CONSTRAINT sys_c008294 FOREIGN KEY (simref) REFERENCES vc_simulation(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_simstat ADD CONSTRAINT sys_c008295 FOREIGN KEY (simref) REFERENCES vc_simulation(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_simulation ADD CONSTRAINT sys_c008296 FOREIGN KEY (mathref) REFERENCES vc_math(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_simulation ADD CONSTRAINT sys_c008297 FOREIGN KEY (ownerref) REFERENCES vc_userinfo(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_simulation ADD CONSTRAINT sys_c008298 FOREIGN KEY (parentsimref) REFERENCES vc_simulation(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_simulation ADD CONSTRAINT sys_c008299 FOREIGN KEY (versionpref) REFERENCES vc_simulation(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_simulationjob ADD CONSTRAINT sys_c008300 FOREIGN KEY (simref) REFERENCES vc_simulation(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_specialusers ADD CONSTRAINT vc_specialusers_fk1 FOREIGN KEY (userref) REFERENCES vc_userinfo(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_species ADD CONSTRAINT sys_c008301 FOREIGN KEY (dbspeciesref) REFERENCES vc_dbspecies(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_speciescontextspec ADD CONSTRAINT sys_c008302 FOREIGN KEY (simcontextref) REFERENCES vc_simcontext(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_speciescontextspec ADD CONSTRAINT sys_c008303 FOREIGN KEY (speccontextref) REFERENCES vc_modelsc(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_stimulus ADD CONSTRAINT sys_c008304 FOREIGN KEY (simcontextref) REFERENCES vc_simcontext(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_stimulus ADD CONSTRAINT sys_c008305 FOREIGN KEY (structref) REFERENCES vc_struct(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_struct ADD CONSTRAINT sys_c008306 FOREIGN KEY (parentref) REFERENCES vc_struct(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_struct ADD CONSTRAINT sys_c008307 FOREIGN KEY (celltyperef) REFERENCES vc_celltype(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_struct ADD CONSTRAINT sys_c008308 FOREIGN KEY (outsideref) REFERENCES vc_struct(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_struct ADD CONSTRAINT sys_c008309 FOREIGN KEY (insideref) REFERENCES vc_struct(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_struct ADD CONSTRAINT sys_c008310 FOREIGN KEY (posfeatureref) REFERENCES vc_struct(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_struct ADD CONSTRAINT sys_c008311 FOREIGN KEY (negfeatureref) REFERENCES vc_struct(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_structmapping ADD CONSTRAINT sys_c008312 FOREIGN KEY (subvolumeref) REFERENCES vc_subvolume(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_structmapping ADD CONSTRAINT sys_c008313 FOREIGN KEY (simcontextref) REFERENCES vc_simcontext(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_structmapping ADD CONSTRAINT sys_c008314 FOREIGN KEY (structref) REFERENCES vc_struct(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_structmapping ADD CONSTRAINT sys_c008315 FOREIGN KEY (surfaceclassref) REFERENCES vc_surfaceclass(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_subvolume ADD CONSTRAINT sys_c008316 FOREIGN KEY (imageregionref) REFERENCES vc_imageregion(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_subvolume ADD CONSTRAINT sys_c008317 FOREIGN KEY (geometryref) REFERENCES vc_geometry(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_surfaceclass ADD CONSTRAINT sys_c008318 FOREIGN KEY (subvolumeref1) REFERENCES vc_subvolume(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_surfaceclass ADD CONSTRAINT sys_c008319 FOREIGN KEY (geometryref) REFERENCES vc_geometry(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_surfaceclass ADD CONSTRAINT sys_c008320 FOREIGN KEY (subvolumeref2) REFERENCES vc_subvolume(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_surfacedesc ADD CONSTRAINT sys_c008321 FOREIGN KEY (geometryref) REFERENCES vc_geometry(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_taskdesc ADD CONSTRAINT sys_c008322 FOREIGN KEY (simref) REFERENCES vc_simulation(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_tftestcase ADD CONSTRAINT sys_c008323 FOREIGN KEY (mathmodelref) REFERENCES vc_mathmodel(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_tftestcase ADD CONSTRAINT sys_c008324 FOREIGN KEY (testsuiteref) REFERENCES vc_tftestsuite(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_tftestcase ADD CONSTRAINT sys_c008325 FOREIGN KEY (bmappref) REFERENCES vc_biomodelsimcontext(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_tftestcriteria ADD CONSTRAINT sys_c008326 FOREIGN KEY (regressionsimref) REFERENCES vc_mathmodelsim(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_tftestcriteria ADD CONSTRAINT sys_c008327 FOREIGN KEY (simdataref) REFERENCES vc_rsetmetadata(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_tftestcriteria ADD CONSTRAINT sys_c008328 FOREIGN KEY (simulationref) REFERENCES vc_simulation(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_tftestcriteria ADD CONSTRAINT tcrit_regr_bmapp FOREIGN KEY (regressionbmappref) REFERENCES vc_biomodelsimcontext(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_tftestcriteria ADD CONSTRAINT tcrit_regr_bmsim FOREIGN KEY (regressionbmsimref) REFERENCES vc_biomodelsim(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE vc_tftestcriteria ADD CONSTRAINT tcrit_tcref FOREIGN KEY (testcaseref) REFERENCES vc_tftestcase(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_tftestresult ADD CONSTRAINT sys_c008332 FOREIGN KEY (testcriteriaref) REFERENCES vc_tftestcriteria(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_useridentity ADD CONSTRAINT sys_c0011406 FOREIGN KEY (userref) REFERENCES vc_userinfo(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_userlog ADD CONSTRAINT sys_c008333 FOREIGN KEY (userref) REFERENCES vc_userinfo(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_userlogininfo ADD CONSTRAINT sys_c008334 FOREIGN KEY (userref) REFERENCES vc_userinfo(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_userpref ADD CONSTRAINT sys_c008335 FOREIGN KEY (userref) REFERENCES vc_userinfo(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE vc_userstat ADD CONSTRAINT sys_c008336 FOREIGN KEY (userref) REFERENCES vc_userinfo(id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE web_download_event ADD CONSTRAINT web_download_event_web_do_fk1 FOREIGN KEY (item_id) REFERENCES web_download_item(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; + +ALTER TABLE web_download_event ADD CONSTRAINT web_download_event_web_do_fk2 FOREIGN KEY (type_id) REFERENCES web_download_type(id) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE; diff --git a/docker/database/migration/migv1/schema/tables/INDEXES_table.sql b/docker/database/migration/migv1/schema/tables/INDEXES_table.sql new file mode 100644 index 0000000000..9385d12d6c --- /dev/null +++ b/docker/database/migration/migv1/schema/tables/INDEXES_table.sql @@ -0,0 +1,126 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +\set ON_ERROR_STOP ON + +SET search_path = vcell,public; +CREATE UNIQUE INDEX file_unique ON files (name, folder, mapid); +CREATE UNIQUE INDEX folder_path ON folder (path); +CREATE UNIQUE INDEX map_name_folder ON map (folder, name); +CREATE INDEX mapitem_mapid ON mapitem (mapid); +CREATE INDEX mapitem_parent ON mapitem (parent); +CREATE INDEX mapitemattribute_itemid ON mapitemattribute (itemid); +CREATE INDEX mapitemattribute_itemreference ON mapitemattribute (itemreference); +CREATE INDEX mapitemattribute_property ON mapitemattribute (objecttype, property); +CREATE UNIQUE INDEX objecttype_name ON objecttype (name, contextname); +CREATE INDEX vc_analysistask_scref ON vc_analysistask (simcontextref); +CREATE INDEX vc_appmath_mmref ON vc_applicationmath (mathmodelref); +CREATE INDEX vc_appmath_scref ON vc_applicationmath (simcontextref); +CREATE INDEX bm_priv_indx ON vc_biomodel (privacy); +CREATE INDEX vc_biomodel_modelref ON vc_biomodel (modelref); +CREATE INDEX vc_biomodel_ownerref ON vc_biomodel (ownerref); +CREATE INDEX vc_biomodel_versionpref ON vc_biomodel (versionpref); +CREATE INDEX vc_biomodelsim_biomodelref ON vc_biomodelsim (biomodelref); +CREATE INDEX vc_biomodelsim_simref ON vc_biomodelsim (simref); +CREATE INDEX vc_bmsimcont_biomodelref ON vc_biomodelsimcontext (biomodelref); +CREATE INDEX vc_bmsimcont_simcontextref ON vc_biomodelsimcontext (simcontextref); +CREATE INDEX browse_imgref ON vc_browsedata (imageref); +CREATE INDEX vc_compoundalias_compoundref ON vc_compoundalias (compoundref); +CREATE INDEX vc_curve_filamentref ON vc_curve (filamentref); +CREATE INDEX vc_dbspecies_compoundref ON vc_dbspecies (compoundref); +CREATE INDEX vc_dbspecies_enzymeref ON vc_dbspecies (enzymeref); +CREATE INDEX vc_dbspecies_proteinref ON vc_dbspecies (proteinref); +CREATE INDEX vc_diagram_modelref ON vc_diagram (modelref); +CREATE INDEX vc_diagram_structref ON vc_diagram (structref); +CREATE INDEX vc_enzymealias_enzymeref ON vc_enzymealias (enzymeref); +CREATE INDEX vc_filament_geometryref ON vc_filament (geometryref); +CREATE INDEX vc_georegion_geometryref ON vc_geometricregion (geometryref); +CREATE INDEX vc_georegion_subvolumeref ON vc_geometricregion (subvolumeref); +CREATE INDEX vc_georegion_volregion1 ON vc_geometricregion (volregion1); +CREATE INDEX vc_georegion_volregion2 ON vc_geometricregion (volregion2); +CREATE INDEX geom_extentref ON vc_geometry (extentref); +CREATE INDEX geom_imageref ON vc_geometry (imageref); +CREATE INDEX vc_geometry_ownerref ON vc_geometry (ownerref); +CREATE INDEX vc_geometry_versionpref ON vc_geometry (versionpref); +CREATE INDEX vc_gmp_modelref ON vc_globalmodelparam (modelref); +CREATE INDEX grp_grpid ON vc_group (groupid); +CREATE INDEX vc_grp_userref_indx ON vc_group (userref); +CREATE INDEX vc_image_extentref ON vc_image (extentref); +CREATE INDEX vc_image_ownerref ON vc_image (ownerref); +CREATE INDEX vc_image_versionpref ON vc_image (versionpref); +CREATE INDEX vc_img_priv_indx ON vc_image (privacy); +CREATE INDEX vc_imagedata_imageref ON vc_imagedata (imageref); +CREATE INDEX vc_imageregion_imageref ON vc_imageregion (imageref); +CREATE INDEX vc_login_index ON vc_login (id); +CREATE INDEX mathdesc_geomref ON vc_math (geometryref); +CREATE INDEX vc_math_ownerref ON vc_math (ownerref); +CREATE INDEX vc_math_versionpref ON vc_math (versionpref); +CREATE INDEX vc_mathmodel_mathref ON vc_mathmodel (mathref); +CREATE INDEX vc_mathmodel_ownerref ON vc_mathmodel (ownerref); +CREATE INDEX vc_mathmodel_versionpref ON vc_mathmodel (versionpref); +CREATE INDEX vc_mathmodelsim_mathmodelref ON vc_mathmodelsim (mathmodelref); +CREATE INDEX vc_mathmodelsim_simref ON vc_mathmodelsim (simref); +CREATE INDEX vc_metadata_bmref ON vc_metadata (biomodelref); +CREATE INDEX vc_miriam_bmref ON vc_miriam (biomodelref); +CREATE INDEX vc_miriam_rsref ON vc_miriam (reactstepref); +CREATE INDEX vc_miriam_structref ON vc_miriam (structref); +CREATE INDEX vc_mirian_speciesref ON vc_miriam (speciesref); +CREATE INDEX vc_model_ownerref ON vc_model (ownerref); +CREATE INDEX vc_model_versionpref ON vc_model (versionpref); +CREATE INDEX vc_modelsc_modelref ON vc_modelsc (modelref); +CREATE INDEX vc_modelsc_speciesref ON vc_modelsc (speciesref); +CREATE INDEX vc_modelsc_structref ON vc_modelsc (structref); +CREATE INDEX vc_modelstruct_modelref ON vc_modelstruct (modelref); +CREATE INDEX vc_modelstruct_structref ON vc_modelstruct (structref); +CREATE INDEX perm_childid ON vc_permission (childid); +CREATE INDEX perm_grpid ON vc_permission (groupid); +CREATE INDEX vc_permission_biomodelref ON vc_permission (biomodelref); +CREATE INDEX vc_permission_geometryref ON vc_permission (geometryref); +CREATE INDEX vc_permission_imageref ON vc_permission (imageref); +CREATE INDEX vc_permission_mathdescref ON vc_permission (mathdescref); +CREATE INDEX vc_permission_mathmodelref ON vc_permission (mathmodelref); +CREATE INDEX vc_permission_modelref ON vc_permission (modelref); +CREATE INDEX vc_permission_simcontextref ON vc_permission (simcontextref); +CREATE INDEX vc_permission_simulationref ON vc_permission (simulationref); +CREATE INDEX vc_proteinalias_proteinref ON vc_proteinalias (proteinref); +CREATE INDEX vc_reactionspec_reactstepref ON vc_reactionspec (reactstepref); +CREATE INDEX vc_reactionspec_simcontextref ON vc_reactionspec (simcontextref); +CREATE INDEX vc_reactpart_reactstepref ON vc_reactpart (reactstepref); +CREATE INDEX vc_reactpart_scref ON vc_reactpart (scref); +CREATE INDEX vc_reactstep_modelref ON vc_reactstep (modelref); +CREATE INDEX vc_reactstep_structref ON vc_reactstep (structref); +CREATE INDEX vc_rsetexport_simulationref ON vc_rsetexport (simulationref); +CREATE INDEX vc_simcontext_geometryref ON vc_simcontext (geometryref); +CREATE INDEX vc_simcontext_mathref ON vc_simcontext (mathref); +CREATE INDEX vc_simcontext_modelref ON vc_simcontext (modelref); +CREATE INDEX vc_simcontext_ownerref ON vc_simcontext (ownerref); +CREATE INDEX vc_simcontext_versionpref ON vc_simcontext (versionpref); +CREATE INDEX simcstat_simcref ON vc_simcontextstat (simcontextref); +CREATE INDEX vc_simmeshspec_simref ON vc_simmeshspec (simref); +CREATE INDEX vc_simulation_mathref ON vc_simulation (mathref); +CREATE INDEX vc_simulation_ownerref ON vc_simulation (ownerref); +CREATE INDEX vc_simulation_prntsimref ON vc_simulation (parentsimref); +CREATE INDEX vc_simulation_versionpref ON vc_simulation (versionpref); +CREATE INDEX simjob_schdst ON vc_simulationjob (schedulerstatus); +CREATE INDEX simjob_srvid ON vc_simulationjob (serverid); +CREATE INDEX vc_species_dbspeciesref ON vc_species (dbspeciesref); +CREATE INDEX vc_specconspec_simcontextref ON vc_speciescontextspec (simcontextref); +CREATE INDEX vc_specconspec_speccontextref ON vc_speciescontextspec (speccontextref); +CREATE INDEX vc_stimulus_simcontextref ON vc_stimulus (simcontextref); +CREATE INDEX vc_stimulus_structref ON vc_stimulus (structref); +CREATE INDEX vc_struct_celltyperef ON vc_struct (celltyperef); +CREATE INDEX vc_struct_parentref ON vc_struct (parentref); +CREATE INDEX vc_strmap_simcontextref ON vc_structmapping (simcontextref); +CREATE INDEX vc_strmap_structref ON vc_structmapping (structref); +CREATE INDEX vc_strmap_subvolumeref ON vc_structmapping (subvolumeref); +CREATE INDEX vc_subvolume_geometryref ON vc_subvolume (geometryref); +CREATE INDEX vc_subvolume_imageregionref ON vc_subvolume (imageregionref); +CREATE INDEX vc_surfacedesc_geometryref ON vc_surfacedesc (geometryref); +CREATE INDEX vc_taskdesc_simref ON vc_taskdesc (simref); +CREATE INDEX tcrregrsimref ON vc_tftestcriteria (regressionsimref); +CREATE INDEX vc_userpref_userref ON vc_userpref (userref); +CREATE UNIQUE INDEX web_download_index1 ON web_download_item (name); +CREATE UNIQUE INDEX web_download_type_index1 ON web_download_type (description); diff --git a/docker/database/migration/migv1/schema/tables/table.sql b/docker/database/migration/migv1/schema/tables/table.sql new file mode 100644 index 0000000000..ddd8aab81f --- /dev/null +++ b/docker/database/migration/migv1/schema/tables/table.sql @@ -0,0 +1,1905 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +\set ON_ERROR_STOP ON + +CREATE SCHEMA IF NOT EXISTS vcell; +ALTER SCHEMA vcell OWNER TO vcell; + +SET search_path = vcell,public; + + +CREATE TABLE attrmapping ( + property varchar(100) NOT NULL, + objecttype varchar(36) NOT NULL, + nomenclature varchar(200) NOT NULL, + dirty char(1) +) ; + + +CREATE TABLE autocopymapping ( + property varchar(100) NOT NULL, + objecttype varchar(36) NOT NULL, + linktype varchar(36) NOT NULL, + copyingmode bigint NOT NULL, + dirty char(1) +) ; + + +CREATE TABLE backup_vc_userinfo ( + id numeric(38), + userid varchar(255) NOT NULL, + password varchar(255) NOT NULL, + email varchar(255) NOT NULL, + firstname varchar(255) NOT NULL, + lastname varchar(255), + title varchar(255), + companyname varchar(255), + address1 varchar(255), + address2 varchar(255), + city varchar(255), + state varchar(255), + country varchar(255), + zip varchar(255), + notify varchar(255) NOT NULL, + insertdate timestamp(0) NOT NULL, + digestpw varchar(255) +) ; + + +CREATE TABLE bad_geometries ( + id numeric(38), + name varchar(255) NOT NULL, + ownerref numeric(38) NOT NULL, + privacy numeric(38) NOT NULL, + versionpref numeric(38), + versiondate timestamp(0) NOT NULL, + versionflag numeric(38) NOT NULL, + versionannot varchar(4000), + versionbranchid numeric(38) NOT NULL, + dimension numeric(38) NOT NULL, + originx bigint NOT NULL, + originy bigint NOT NULL, + originz bigint NOT NULL, + extentref numeric(38) NOT NULL, + imageref numeric(38) +) ; + + +CREATE TABLE bad_regions ( + userid varchar(255) NOT NULL, + password varchar(255) NOT NULL, + bmname varchar(255) NOT NULL, + bmdate varchar(16), + appname varchar(255) NOT NULL, + statr4 varchar(255), + bmkey numeric(38), + sckey numeric(38), + geokey numeric(38) +) ; + + +CREATE TABLE bad_volfract ( + userid varchar(255) NOT NULL, + password varchar(255) NOT NULL, + bmname varchar(255) NOT NULL, + bmdate varchar(16), + appname varchar(255) NOT NULL, + statr4 varchar(255), + statr3 varchar(255), + dimension numeric(38) NOT NULL, + hasdata bigint, + bmkey numeric(38), + sckey numeric(38), + structref numeric(38) NOT NULL, + subvolumeref numeric(38) NOT NULL, + strname varchar(255) NOT NULL, + svname varchar(255) NOT NULL, + volfractexp varchar(1024) +) ; + + +CREATE TABLE context ( + name varchar(100) NOT NULL, + description varchar(200), + parent varchar(100), + revision bigint +) ; + + +CREATE TABLE contextmodification ( + id bigint NOT NULL, + contextname varchar(100) NOT NULL, + moduser varchar(100), + moddate timestamp(0) +) ; + + +CREATE TABLE dantemp ( + id numeric(38), + title varchar(4000), + authors varchar(4000), + year numeric(38), + citation varchar(4000), + pubmedid varchar(64), + doi varchar(128), + endnoteid numeric(38), + url varchar(128), + wittid numeric(38), + pubdate timestamp(0) +) ; + + +CREATE TABLE filedataparts ( + fileid varchar(32) NOT NULL, + filepart varchar(2000), + sortkey bigint NOT NULL +) ; + + +CREATE TABLE files ( + name varchar(255) NOT NULL, + folder bigint NOT NULL, + mapid varchar(32), + fileid varchar(32) +) ; + + +CREATE TABLE filescontent ( + id varchar(32) NOT NULL, + name varchar(255) NOT NULL +) ; + + +CREATE TABLE flux_model_indices ( + bmid numeric(38) NOT NULL, + start_index bigint, + end_index bigint +) ; + + +CREATE TABLE flux_model_indices_rp ( + bmid numeric(38) NOT NULL, + reactant_index bigint, + fluxcarrier_index bigint +) ; + + +CREATE TABLE flux_model_problem_xml ( + bmid numeric(38) NOT NULL, + start_index bigint, + end_index bigint, + reactant_index bigint, + fluxcarrier_index bigint, + fluxxml varchar(2000) +) ; + + +CREATE TABLE folder ( + id bigint NOT NULL, + path varchar(1000) NOT NULL, + parent bigint, + context varchar(100), + hidden char(1) +) ; + + +CREATE TABLE imagedataparts ( + imageid varchar(32) NOT NULL, + imagepart varchar(2000), + sortkey bigint NOT NULL +) ; + + +CREATE TABLE images ( + id varchar(32) NOT NULL, + name varchar(255) NOT NULL +) ; + + +CREATE TABLE loadmodelstat ( + id numeric(38) NOT NULL, + biomodelref numeric(38), + mathmodelref numeric(38), + resultflag numeric(38), + errormessage varchar(255), + timestamp varchar(32) NOT NULL, + loadtime numeric(38), + softwarevers varchar(32) NOT NULL, + loadoriginalxmltime numeric(38), + loadunresolvedtime numeric(38), + bsamecachedandnotcachedxml numeric(38), + bsamecachedandnotcachedobj numeric(38), + bsameselfxmlcachedroundtrip numeric(38), + bsamecachedandnotcachedxmlexc varchar(255), + bsamecachedandnotcachedobjexc varchar(255), + bsameselfxmlcachedroundtripexc varchar(255), + bissueserrors varchar(255) +) ; + + +CREATE TABLE loadmodelstat_backup ( + id numeric(38), + biomodelref numeric(38), + mathmodelref numeric(38), + resultflag numeric(38), + errormessage varchar(255), + timestamp varchar(32) NOT NULL, + loadtime numeric(38), + softwarevers varchar(32) NOT NULL, + loadoriginalxmltime numeric(38), + loadunresolvedtime numeric(38), + bsamecachedandnotcachedxml numeric(38), + bsamecachedandnotcachedobj numeric(38), + bsameselfxmlcachedroundtrip numeric(38), + bsamecachedandnotcachedxmlexc varchar(255), + bsamecachedandnotcachedobjexc varchar(255), + bsameselfxmlcachedroundtripexc varchar(255) +) ; + + +CREATE TABLE mailbounce ( + email varchar(255) NOT NULL +) ; + + +CREATE TABLE mailbounce_old ( + email varchar(100) +) ; + + +CREATE TABLE maillist ( + id numeric(38), + userref numeric(38), + email varchar(255) NOT NULL, + announce varchar(255) NOT NULL, + valid varchar(255), + list_2011_11_08 varchar(10), + list_2011_11_30 varchar(10), + category varchar(255) +) ; + + +CREATE TABLE maillist_2013 ( + id numeric(38), + userref numeric(38), + email varchar(255) NOT NULL, + announce varchar(255) NOT NULL, + valid varchar(255), + list_2011_11_08 varchar(10), + list_2011_11_30 varchar(10), + category varchar(255) +) ; + + +CREATE TABLE maillist_2013_07_29 ( + id numeric(38), + userref numeric(38), + email varchar(255) NOT NULL, + announce varchar(255) NOT NULL, + valid varchar(255), + list_2011_11_08 varchar(10), + list_2011_11_30 varchar(10), + category varchar(255) +) ; + + +CREATE TABLE maillist_2014_04_30 ( + id numeric(38), + userref numeric(38), + email varchar(255) NOT NULL, + announce varchar(255) NOT NULL, + valid varchar(255), + list_2011_11_08 varchar(10), + list_2011_11_30 varchar(10), + category varchar(255) +) ; + + +CREATE TABLE maillist_2014_10_22 ( + id numeric(38), + userref numeric(38), + email varchar(255) NOT NULL, + announce varchar(255) NOT NULL, + valid varchar(255), + list_2011_11_08 varchar(10), + list_2011_11_30 varchar(10), + category varchar(255) +) ; + + +CREATE TABLE maillist_2015_01_08 ( + id numeric(38), + userref numeric(38), + email varchar(255) NOT NULL, + announce varchar(255) NOT NULL, + valid varchar(255), + list_2011_11_08 varchar(10), + list_2011_11_30 varchar(10), + category varchar(255) +) ; + + +CREATE TABLE maillist_2015_06_09 ( + id numeric(38), + userref numeric(38), + email varchar(255) NOT NULL, + announce varchar(255) NOT NULL, + valid varchar(255), + list_2011_11_08 varchar(10), + list_2011_11_30 varchar(10), + category varchar(255) +) ; + + +CREATE TABLE maillist_2015_07_17 ( + id numeric(38), + userref numeric(38), + email varchar(255) NOT NULL, + announce varchar(255) NOT NULL, + valid varchar(255), + list_2011_11_08 varchar(10), + list_2011_11_30 varchar(10), + category varchar(255) +) ; + + +CREATE TABLE maillist_2016_02_01 ( + id numeric(38), + userref numeric(38), + email varchar(255) NOT NULL, + announce varchar(255) NOT NULL, + valid varchar(255), + list_2011_11_08 varchar(10), + list_2011_11_30 varchar(10), + category varchar(255) +) ; + + +CREATE TABLE map ( + id varchar(36) NOT NULL, + name varchar(200), + folder bigint, + contextname varchar(100), + modificationdate timestamp(0) +) ; + + +CREATE TABLE mapitem ( + id varchar(36) NOT NULL, + parent varchar(36), + mapid varchar(36) NOT NULL, + objecttype varchar(36) NOT NULL, + zorder bigint, + dirty char(1) +) ; + + +CREATE TABLE mapitemattribute ( + id varchar(36) NOT NULL, + itemid varchar(36) NOT NULL, + property varchar(100) NOT NULL, + objecttype varchar(36) NOT NULL, + value varchar(4000), + searcheablevalue varchar(4000), + itemreference varchar(36), + imagereference varchar(32), + dirty char(1) +) ; + + +CREATE TABLE math_hybrid ( + id numeric(38), + name varchar(255) NOT NULL, + ownerref numeric(38) NOT NULL, + privacy numeric(38) NOT NULL, + versionpref numeric(38), + versiondate timestamp(0) NOT NULL, + versionflag numeric(38) NOT NULL, + versionannot varchar(4000), + versionbranchid numeric(38) NOT NULL, + geometryref numeric(38) NOT NULL, + language text NOT NULL +) ; + + +CREATE TABLE missingdata ( + userid varchar(255) NOT NULL, + userinfoid numeric(38), + simjobsimref numeric(38) NOT NULL, + maxtaskid numeric(38) NOT NULL, + jobindex numeric(38), + dataexists varchar(256), + notes varchar(256) +) ; + + +CREATE TABLE nomenclature ( + name varchar(100) NOT NULL, + description varchar(200), + table_postfix varchar(10) +) ; + + +CREATE TABLE nomenclatureattrs ( + attrname varchar(100) NOT NULL, + nomenclature varchar(100) NOT NULL, + description varchar(200), + datatype bigint, + datalength bigint, + nullable char(1), + ispk char(1) +) ; + + +CREATE TABLE objecttype ( + id varchar(36) NOT NULL, + name varchar(100), + contextname varchar(100), + parent varchar(36), + javaclass varchar(200), + icon varchar(200), + paletteentry char(1), + dirty char(1), + searcheable char(1), + longtext text +) ; + + +CREATE TABLE objecttype2objecttype ( + id varchar(36) NOT NULL, + possiblechild varchar(36) NOT NULL, + alias varchar(100) NOT NULL +) ; + + +CREATE TABLE plan_table ( + statement_id varchar(30), + timestamp timestamp(0), + remarks varchar(80), + operation varchar(30), + options varchar(30), + object_node varchar(128), + object_owner varchar(30), + object_name varchar(30), + object_instance numeric(38), + object_type varchar(30), + optimizer varchar(255), + search_columns bigint, + id numeric(38), + parent_id numeric(38), + position numeric(38), + cost numeric(38), + cardinality numeric(38), + bytes numeric(38), + other_tag varchar(255), + partition_start varchar(255), + partition_stop varchar(255), + partition_id numeric(38), + other text, + distribution varchar(30) +) ; + + +CREATE TABLE plsql_profiler_data ( + runid bigint NOT NULL, + unit_number bigint NOT NULL, + "line#" bigint NOT NULL, + text varchar(4000), + total_occur bigint, + total_time bigint, + min_time bigint, + max_time bigint, + spare1 bigint, + spare2 bigint, + spare3 bigint, + spare4 bigint +) ; +COMMENT ON TABLE plsql_profiler_data IS E'Accumulated data from all profiler runs'; + + +CREATE TABLE plsql_profiler_runs ( + runid bigint NOT NULL, + related_run bigint, + run_owner varchar(32), + run_proc varchar(256), + run_date timestamp(0), + run_comment varchar(2047), + run_total_time bigint, + run_system_info varchar(2047), + run_comment1 varchar(256), + spare1 varchar(256) +) ; +COMMENT ON TABLE plsql_profiler_runs IS E'Run-specific information for the PL/SQL profiler'; + + +CREATE TABLE plsql_profiler_units ( + runid bigint NOT NULL, + unit_number bigint NOT NULL, + unit_type varchar(32), + unit_owner varchar(32), + unit_name varchar(32), + unit_timestamp timestamp(0), + total_time bigint NOT NULL DEFAULT 0, + spare1 bigint, + spare2 bigint +) ; +COMMENT ON TABLE plsql_profiler_units IS E'Information about each library unit in a run'; + + +CREATE TABLE property ( + name varchar(100) NOT NULL, + parent varchar(100), + domain bigint, + label varchar(100), + labelsclass varchar(100), + hidden char(1), + searcheable char(1), + hardcoded char(1), + dirty char(1), + typeproperty char(1), + longtext text +) ; + + +CREATE TABLE property2objecttype ( + property varchar(100) NOT NULL, + objecttype varchar(36) NOT NULL, + defaultvalue varchar(4000), + searcheablevalue varchar(4000), + regexp varchar(255), + required char(1), + dirty char(1) +) ; + + +CREATE TABLE publicationtemp ( + id numeric(38), + title varchar(4000), + authors varchar(4000), + year numeric(38), + citation varchar(4000), + pubmedid varchar(64), + doi varchar(128), + endnoteid numeric(38), + url varchar(128), + wittid numeric(38), + pubdate timestamp(0) +) ; + + +CREATE TABLE stochtest ( + id numeric(38) NOT NULL, + simcontextref numeric(38) NOT NULL, + biomodelref numeric(38) NOT NULL, + mathref numeric(38) NOT NULL, + dimension numeric(38) NOT NULL, + numcompartments numeric(38), + mathtype varchar(64) +) ; + + +CREATE TABLE stochtestcompare ( + id numeric(38) NOT NULL, + stochtestrunref1 numeric(38) NOT NULL, + stochtestrunref2 numeric(38) NOT NULL, + results varchar(4000), + status varchar(32), + errmsg varchar(4000), + smallest_pvalue bigint, + numexperiments bigint, + numfail_95 bigint, + numfail_99 bigint, + numfail_999 bigint, + conclusion varchar(4000) +) ; + + +CREATE TABLE stochtestcompare_2015_12_08 ( + id integer NOT NULL, + stochtestrunref1 integer NOT NULL, + stochtestrunref2 integer NOT NULL, + results varchar(4000), + status varchar(32), + errmsg varchar(4000), + smallest_pvalue numeric(38), + numexperiments smallint, + numfail_95 smallint, + numfail_99 smallint, + numfail_999 smallint, + conclusion varchar(4000) +) ; + + +CREATE TABLE stochtestcompare_2016_08_26 ( + id integer NOT NULL, + stochtestrunref1 integer NOT NULL, + stochtestrunref2 integer NOT NULL, + results varchar(4000), + status varchar(32), + errmsg varchar(4000), + smallest_pvalue numeric(38), + numexperiments smallint, + numfail_95 smallint, + numfail_99 smallint, + numfail_999 smallint, + conclusion varchar(4000) +) ; + + +CREATE TABLE stochtestcompare_2016_09_21 ( + id integer NOT NULL, + stochtestrunref1 integer NOT NULL, + stochtestrunref2 integer NOT NULL, + results varchar(4000), + status varchar(32), + errmsg varchar(4000), + smallest_pvalue numeric(38), + numexperiments smallint, + numfail_95 smallint, + numfail_99 smallint, + numfail_999 smallint, + conclusion varchar(4000) +) ; + + +CREATE TABLE stochtestrun ( + id numeric(38) NOT NULL, + stochtestref numeric(38) NOT NULL, + parentmathtype varchar(64) NOT NULL, + mathtype varchar(64) NOT NULL, + status varchar(32) NOT NULL DEFAULT 'none', + errmsg varchar(4000), + conclusion varchar(4000), + exclude varchar(4000), + networkgenprobs varchar(4000) +) ; + + +CREATE TABLE stochtestrun_2016_08_26 ( + id integer NOT NULL, + stochtestref integer NOT NULL, + parentmathtype varchar(64) NOT NULL, + mathtype varchar(64) NOT NULL, + status varchar(32) NOT NULL, + errmsg varchar(4000), + conclusion varchar(4000), + exclude varchar(4000), + networkgenprobs varchar(4000) +) ; + + +CREATE TABLE stochtestrun_2016_09_21 ( + id integer NOT NULL, + stochtestref integer NOT NULL, + parentmathtype varchar(64) NOT NULL, + mathtype varchar(64) NOT NULL, + status varchar(32) NOT NULL, + errmsg varchar(4000), + conclusion varchar(4000), + exclude varchar(4000), + networkgenprobs varchar(4000) +) ; + + +CREATE TABLE stochtesttemp ( + tempmathid numeric(38) NOT NULL +) ; + + +CREATE TABLE stochtest_2016_08_26 ( + id integer NOT NULL, + simcontextref integer NOT NULL, + biomodelref integer NOT NULL, + mathref integer NOT NULL, + dimension smallint NOT NULL, + numcompartments smallint, + mathtype varchar(64) +) ; + + +CREATE TABLE stochtest_backup ( + id integer NOT NULL, + simcontextref integer NOT NULL, + biomodelref integer NOT NULL, + mathref integer NOT NULL, + dimension smallint NOT NULL, + numcompartments smallint, + mathtype varchar(64) +) ; + + +CREATE TABLE stochtest_newids ( + id numeric(38) +) ; + + +CREATE TABLE tempscref ( + scref bigint +) ; + + +CREATE TABLE temp_dbspecies ( + id numeric(38), + compoundref numeric(38), + enzymeref numeric(38), + proteinref numeric(38) +) ; + + +CREATE TABLE temp_simcontextstat2 ( + id numeric(38) NOT NULL, + simcontextref numeric(38) NOT NULL, + hasdata bigint, + equiv bigint, + status varchar(255), + curatorequiv numeric(38), + comments varchar(255) +) ; + + +CREATE TABLE temp_simstat ( + id numeric(38) NOT NULL, + simref numeric(38) NOT NULL, + equiv bigint, + status varchar(255), + curatorequiv numeric(38), + comments varchar(255) +) ; + + +CREATE TABLE temp_users ( + userid varchar(255) +) ; + + +CREATE TABLE vc_analysistask ( + id numeric(38) NOT NULL, + simcontextref numeric(38) NOT NULL, + analysistaskxml text NOT NULL, + insertdate timestamp(0) NOT NULL +) ; + + +CREATE TABLE vc_announce ( + email varchar(132) NOT NULL, + note varchar(256) +) ; + + +CREATE TABLE vc_apiaccesstoken ( + id numeric(38) NOT NULL, + accesstoken varchar(4000) NOT NULL, + clientref numeric(38) NOT NULL, + userref numeric(38) NOT NULL, + creationdate timestamp(0) NOT NULL, + expiredate timestamp(0) NOT NULL, + status varchar(20) +) ; + + +CREATE TABLE vc_apiclient ( + id numeric(38) NOT NULL, + clientname varchar(255) NOT NULL, + clientid varchar(255) NOT NULL, + clientsecret varchar(255) NOT NULL +) ; + + +CREATE TABLE vc_applicationmath ( + id numeric(38) NOT NULL, + simcontextref numeric(38), + outputfunclrg text, + outputfuncsml varchar(4000), + mathmodelref numeric(38) +) ; + + +CREATE TABLE vc_available ( + id numeric(38) NOT NULL, + insertdate timestamp(0) NOT NULL, + isavailable varchar(5) NOT NULL, + letuseraskforcallback varchar(5), + offlinemessage varchar(512) +) ; + + +CREATE TABLE vc_biomodel ( + id numeric(38) NOT NULL, + name varchar(255) NOT NULL, + ownerref numeric(38) NOT NULL, + privacy numeric(38) NOT NULL, + versionpref numeric(38), + versiondate timestamp(0) NOT NULL, + versionflag numeric(38) NOT NULL, + versionannot varchar(4000), + versionbranchid numeric(38) NOT NULL, + modelref numeric(38) NOT NULL, + childsummarylrg text, + childsummarysml varchar(4000) +) ; + + +CREATE TABLE vc_biomodelsim ( + id numeric(38) NOT NULL, + biomodelref numeric(38) NOT NULL, + simref numeric(38) NOT NULL +) ; + + +CREATE TABLE vc_biomodelsimcontext ( + id numeric(38) NOT NULL, + biomodelref numeric(38) NOT NULL, + simcontextref numeric(38) NOT NULL +) ; + + +CREATE TABLE vc_biomodelxml ( + id numeric(38) NOT NULL, + biomodelref numeric(38) NOT NULL, + bmxml text, + changedate timestamp(0) +) ; + + +CREATE TABLE vc_biomodelxml_backup ( + id numeric(38), + biomodelref numeric(38) NOT NULL, + bmxml text, + changedate timestamp(0) +) ; + + +CREATE TABLE vc_browsedata ( + id numeric(38) NOT NULL, + imageref numeric(38) NOT NULL, + data bytea NOT NULL +) ; + + +CREATE TABLE vc_celltype ( + id numeric(38) NOT NULL, + name varchar(255) NOT NULL, + annotation varchar(255) NOT NULL +) ; + + +CREATE TABLE vc_compound ( + id numeric(38) NOT NULL, + formula varchar(256), + casid varchar(256), + keggid varchar(32) NOT NULL +) ; + + +CREATE TABLE vc_compoundalias ( + id numeric(38) NOT NULL, + compoundref numeric(38) NOT NULL, + name varchar(256) NOT NULL, + preferred varchar(1) NOT NULL +) ; + + +CREATE TABLE vc_curve ( + id numeric(38) NOT NULL, + curvedata text NOT NULL, + filamentref numeric(38) NOT NULL +) ; + + +CREATE TABLE vc_datasymbol ( + id numeric(38) NOT NULL, + datasymbolname varchar(255) NOT NULL, + datasymboltype varchar(32) NOT NULL, + datasymbolvcunitdef varchar(64) NOT NULL, + simcontextref numeric(38) NOT NULL, + fielddataref numeric(38), + fielddatavarname varchar(255), + fielddatavartype varchar(255), + fielddatavartime bigint +) ; + + +CREATE TABLE vc_dbspecies ( + id numeric(38) NOT NULL, + compoundref numeric(38), + enzymeref numeric(38), + proteinref numeric(38) +) ; + + +CREATE TABLE vc_developer ( + id numeric(38) NOT NULL +) ; +COMMENT ON TABLE vc_developer IS E'ids which should not be logged as users'; +COMMENT ON COLUMN vc_developer.id IS E'ids which should not be logged as users'; + + +CREATE TABLE vc_diagram ( + id numeric(38) NOT NULL, + name varchar(255) NOT NULL, + modelref numeric(38) NOT NULL, + structref numeric(38) NOT NULL, + language text, + diagramlrg text, + diagramsml varchar(4000) +) ; + + +CREATE TABLE vc_enzyme ( + id numeric(38) NOT NULL, + reaction varchar(512), + ecnumber varchar(32) NOT NULL, + sysname varchar(512), + casid varchar(256) +) ; + + +CREATE TABLE vc_enzymealias ( + id numeric(38) NOT NULL, + enzymeref numeric(38) NOT NULL, + name varchar(256) NOT NULL, + preferred varchar(1) NOT NULL +) ; + + +CREATE TABLE vc_enzymereaction ( + id numeric(38) NOT NULL, + reactionid varchar(32) NOT NULL, + enzymeref bigint, + compoundref bigint NOT NULL, + type varchar(1) NOT NULL, + stoich bigint NOT NULL, + parsedecnumber varchar(32) +) ; + + +CREATE TABLE vc_externaldata ( + id numeric(38) NOT NULL, + ownerref numeric(38) NOT NULL, + externaldataname varchar(255) NOT NULL, + annotation varchar(1024) +) ; + + +CREATE TABLE vc_filament ( + id numeric(38) NOT NULL, + filamentname varchar(255) NOT NULL, + geometryref numeric(38) NOT NULL +) ; + + +CREATE TABLE vc_geometricregion ( + id numeric(38) NOT NULL, + name varchar(255) NOT NULL, + regiontype numeric(38) NOT NULL, + geometryref numeric(38) NOT NULL, + regionsize bigint NOT NULL, + sizeunit varchar(50) NOT NULL, + volregion1 numeric(38), + volregion2 numeric(38), + regionid numeric(38), + subvolumeref numeric(38) +) ; + + +CREATE TABLE vc_geometry ( + id numeric(38) NOT NULL, + name varchar(255) NOT NULL, + ownerref numeric(38) NOT NULL, + privacy numeric(38) NOT NULL, + versionpref numeric(38), + versiondate timestamp(0) NOT NULL, + versionflag numeric(38) NOT NULL, + versionannot varchar(4000), + versionbranchid numeric(38) NOT NULL, + dimension numeric(38) NOT NULL, + originx bigint NOT NULL, + originy bigint NOT NULL, + originz bigint NOT NULL, + extentref numeric(38) NOT NULL, + imageref numeric(38) +) ; + + +CREATE TABLE vc_geomextent ( + id numeric(38) NOT NULL, + extentx bigint NOT NULL, + extenty bigint NOT NULL, + extentz bigint NOT NULL +) ; + + +CREATE TABLE vc_globalmodelparam ( + id numeric(38) NOT NULL, + modelref numeric(38) NOT NULL, + xmlfragment varchar(4000) NOT NULL +) ; + + +CREATE TABLE vc_group ( + id numeric(38) NOT NULL, + groupid numeric(38) NOT NULL, + userref numeric(38) NOT NULL, + ishiddenfromowner numeric(38) NOT NULL, + groupmemberhash numeric(38) NOT NULL +) ; + + +CREATE TABLE vc_image ( + id numeric(38) NOT NULL, + name varchar(255) NOT NULL, + ownerref numeric(38) NOT NULL, + privacy numeric(38) NOT NULL, + versionpref numeric(38), + versiondate timestamp(0) NOT NULL, + versionflag numeric(38) NOT NULL, + versionannot varchar(4000), + versionbranchid numeric(38) NOT NULL, + numx numeric(38) NOT NULL, + numy numeric(38) NOT NULL, + numz numeric(38) NOT NULL, + extentref numeric(38) NOT NULL +) ; + + +CREATE TABLE vc_imagedata ( + id numeric(38) NOT NULL, + imageref numeric(38) NOT NULL, + data bytea NOT NULL +) ; + + +CREATE TABLE vc_imageregion ( + id numeric(38) NOT NULL, + regionname varchar(255) NOT NULL, + imageref numeric(38) NOT NULL, + pixelvalue numeric(38) NOT NULL +) ; + + +CREATE TABLE vc_login ( + id numeric(38) NOT NULL, + login_date timestamp(0) NOT NULL, + serververs varchar(32) +) ; + + +CREATE TABLE vc_math ( + id numeric(38) NOT NULL, + name varchar(255) NOT NULL, + ownerref numeric(38) NOT NULL, + privacy numeric(38) NOT NULL, + versionpref numeric(38), + versiondate timestamp(0) NOT NULL, + versionflag numeric(38) NOT NULL, + versionannot varchar(4000), + versionbranchid numeric(38) NOT NULL, + geometryref numeric(38) NOT NULL, + language text NOT NULL +) ; + + +CREATE TABLE vc_mathdescextdata ( + id numeric(38) NOT NULL, + mathdescref numeric(38) NOT NULL, + extdataref numeric(38) NOT NULL +) ; + + +CREATE TABLE vc_mathgen ( + id numeric(38) NOT NULL, + biomodelref numeric(38) NOT NULL, + simcontextref numeric(38) NOT NULL, + origmathref numeric(38) NOT NULL, + mathlanguage text, + softwareversion varchar(32) NOT NULL, + status varchar(255) NOT NULL, + issues varchar(4000) +) ; + + +CREATE TABLE vc_mathmodel ( + id numeric(38) NOT NULL, + name varchar(255) NOT NULL, + ownerref numeric(38) NOT NULL, + privacy numeric(38) NOT NULL, + versionpref numeric(38), + versiondate timestamp(0) NOT NULL, + versionflag numeric(38) NOT NULL, + versionannot varchar(4000), + versionbranchid numeric(38) NOT NULL, + mathref numeric(38) NOT NULL, + childsummarylrg text, + childsummarysml varchar(4000) +) ; + + +CREATE TABLE vc_mathmodelsim ( + id numeric(38) NOT NULL, + mathmodelref numeric(38) NOT NULL, + simref numeric(38) NOT NULL +) ; + + +CREATE TABLE vc_mathmodelxml ( + id numeric(38) NOT NULL, + mathmodelref numeric(38) NOT NULL, + mmxml text NOT NULL, + changedate timestamp(0) NOT NULL +) ; + + +CREATE TABLE vc_metadata ( + id numeric(38) NOT NULL, + biomodelref numeric(38) NOT NULL, + vcmetadatalarge text, + vcmetadatasmall varchar(4000) +) ; + + +CREATE TABLE vc_miriam ( + id numeric(38) NOT NULL, + biomodelref numeric(38), + speciesref numeric(38), + structref numeric(38), + reactstepref numeric(38), + annotation varchar(4000), + usernotes varchar(4000) +) ; + + +CREATE TABLE vc_model ( + id numeric(38) NOT NULL, + name varchar(255) NOT NULL, + ownerref numeric(38) NOT NULL, + privacy numeric(38) NOT NULL, + versionpref numeric(38), + versiondate timestamp(0) NOT NULL, + versionflag numeric(38) NOT NULL, + versionannot varchar(4000), + versionbranchid numeric(38) NOT NULL, + unitsystemxml varchar(4000), + rbmlrg text, + rbmsml varchar(4000) +) ; + + +CREATE TABLE vc_modelsc ( + id numeric(38) NOT NULL, + modelref numeric(38) NOT NULL, + speciesref numeric(38) NOT NULL, + structref numeric(38) NOT NULL, + name varchar(255) NOT NULL, + hasoverride varchar(1) NOT NULL, + speciespattern varchar(2000), + sbmlname varchar(255) +) ; + + +CREATE TABLE vc_modelstruct ( + id numeric(38) NOT NULL, + modelref numeric(38) NOT NULL, + structref numeric(38) NOT NULL +) ; + + +CREATE TABLE vc_permission ( + id numeric(38) NOT NULL, + mathmodelref numeric(38), + biomodelref numeric(38), + geometryref numeric(38), + imageref numeric(38), + mathdescref numeric(38), + modelref numeric(38), + simcontextref numeric(38), + simulationref numeric(38), + groupid numeric(38) NOT NULL, + childid numeric(38) NOT NULL +) ; + + +CREATE TABLE vc_protein ( + id numeric(38) NOT NULL, + organism varchar(1024), + accessionnumber varchar(1024), + swissprotid varchar(32) NOT NULL, + keywords varchar(1024), + description varchar(1024), + molweight bigint +) ; + + +CREATE TABLE vc_proteinalias ( + id numeric(38) NOT NULL, + proteinref numeric(38) NOT NULL, + name varchar(256) NOT NULL, + preferred varchar(1) NOT NULL +) ; + + +CREATE TABLE vc_publication ( + id numeric(38) NOT NULL, + title varchar(4000), + authors varchar(4000), + year numeric(38), + citation varchar(4000), + pubmedid varchar(64), + doi varchar(128), + endnoteid numeric(38), + url varchar(128), + wittid numeric(38), + pubdate timestamp(0) +) ; + + +CREATE TABLE vc_publicationmodellink ( + id numeric(38) NOT NULL, + pubref numeric(38) NOT NULL, + biomodelref numeric(38), + mathmodelref numeric(38) +) ; + + +CREATE TABLE vc_reactionspec ( + id numeric(38) NOT NULL, + reactstepref numeric(38) NOT NULL, + simcontextref numeric(38) NOT NULL, + mapping numeric(38) NOT NULL +) ; + + +CREATE TABLE vc_reactpart ( + id numeric(38) NOT NULL, + role varchar(10) NOT NULL, + stoich numeric(38) NOT NULL, + reactstepref numeric(38) NOT NULL, + scref numeric(38) NOT NULL +) ; + + +CREATE TABLE vc_reactstep ( + id numeric(38) NOT NULL, + reacttype varchar(10) NOT NULL, + modelref numeric(38) NOT NULL, + structref numeric(38) NOT NULL, + kinetics text, + name varchar(255), + chargevalence numeric(38), + physicsoptions numeric(38), + kineticslrg text, + kineticssml varchar(4000), + annotation varchar(4000), + sbmlname varchar(255) +) ; + + +CREATE TABLE vc_rsetexport ( + id numeric(38) NOT NULL, + simulationref numeric(38) NOT NULL, + exportdate timestamp(0) NOT NULL, + exportformat varchar(1024) NOT NULL, + exporturl varchar(1024) NOT NULL +) ; + + +CREATE TABLE vc_rsetmetadata ( + id numeric(38) NOT NULL, + simref numeric(38) NOT NULL, + startdate timestamp(0) NOT NULL, + enddate timestamp(0), + datafilepath varchar(255) NOT NULL, + jobindex numeric(38) +) ; + + +CREATE TABLE vc_service ( + id numeric(38) NOT NULL, + serverid varchar(20) NOT NULL, + type varchar(64) NOT NULL, + ordinal numeric(38) NOT NULL, + startuptype numeric(38) NOT NULL, + memorymb numeric(38) NOT NULL, + lastupdate timestamp(0) NOT NULL, + status numeric(38) NOT NULL, + statusmsg varchar(2048) NOT NULL, + pbsjobid varchar(128) +) ; + + +CREATE TABLE vc_simcontext ( + id numeric(38) NOT NULL, + name varchar(255) NOT NULL, + ownerref numeric(38) NOT NULL, + privacy numeric(38) NOT NULL, + versionpref numeric(38), + versiondate timestamp(0) NOT NULL, + versionflag numeric(38) NOT NULL, + versionannot varchar(4000), + versionbranchid numeric(38) NOT NULL, + mathref numeric(38), + modelref numeric(38) NOT NULL, + geometryref numeric(38) NOT NULL, + charsize bigint, + appcomponentslrg text, + appcomponentssml varchar(4000) +) ; + + +CREATE TABLE vc_simcontextstat ( + id numeric(38) NOT NULL, + simcontextref numeric(38) NOT NULL, + hasdupreact bigint, + hasdata bigint, + equiv bigint, + status varchar(255), + oldmath text, + newmath text, + curatorequiv numeric(38), + comments varchar(255), + updatedmath numeric(38), + eval_time bigint, + substatus varchar(255) +) ; + + +CREATE TABLE vc_simcontextstat2 ( + id numeric(38), + simcontextref numeric(38), + hasdata bigint, + equiv bigint, + status varchar(255), + curatorequiv numeric(38), + comments varchar(255), + equiv_4_8 bigint, + status_4_8 varchar(255) +) ; + + +CREATE TABLE vc_simcontextstat2_2011_11_03 ( + id numeric(38), + simcontextref numeric(38), + hasdata bigint, + equiv bigint, + status varchar(255), + curatorequiv numeric(38), + comments varchar(255), + equiv_4_8 bigint, + status_4_8 varchar(255) +) ; + + +CREATE TABLE vc_simcontextstat2_2012_08_09 ( + id numeric(38), + simcontextref numeric(38), + hasdata bigint, + equiv bigint, + status varchar(255), + curatorequiv numeric(38), + comments varchar(255), + equiv_4_8 bigint, + status_4_8 varchar(255) +) ; + + +CREATE TABLE vc_simcontextstat2_backup ( + id numeric(38), + simcontextref numeric(38) NOT NULL, + hasdata bigint, + equiv bigint, + status varchar(255), + curatorequiv numeric(38), + comments varchar(255) +) ; + + +CREATE TABLE vc_simcontextstat2_build478 ( + id numeric(38), + simcontextref numeric(38) NOT NULL, + hasdata bigint, + equiv bigint, + status varchar(255), + curatorequiv numeric(38), + comments varchar(255) +) ; + + +CREATE TABLE vc_simcontextstat2_build478_f1 ( + id numeric(38), + simcontextref numeric(38) NOT NULL, + hasdata bigint, + equiv bigint, + status varchar(255), + curatorequiv numeric(38), + comments varchar(255) +) ; + + +CREATE TABLE vc_simcontextstat_copy ( + id numeric(38), + simcontextref numeric(38) NOT NULL, + hasdupreact bigint, + hasdata bigint, + equiv bigint, + status varchar(255), + oldmath text, + newmath text, + curatorequiv numeric(38), + comments varchar(255), + updatedmath numeric(38), + eval_time bigint, + substatus varchar(255) +) ; + + +CREATE TABLE vc_simcontextstat_oldr3 ( + id numeric(38), + simcontextref numeric(38) NOT NULL, + hasdupreact bigint, + hasdata bigint, + equiv bigint, + status varchar(255), + oldmath text, + newmath text, + curatorequiv numeric(38), + comments varchar(255), + updatedmath numeric(38) +) ; + + +CREATE TABLE vc_simdelfromdisk ( + deldate varchar(20), + userid varchar(255) NOT NULL, + userkey numeric(38), + simid numeric(38), + simpref numeric(38), + simdate varchar(20), + simname varchar(255) NOT NULL, + status char(10), + numfiles bigint, + totalsize bigint +) ; + + +CREATE TABLE vc_simjob_withdata ( + id numeric(38), + simref numeric(38) NOT NULL, + submitdate timestamp(0) NOT NULL, + taskid numeric(38) NOT NULL, + schedulerstatus numeric(38) NOT NULL, + statusmsg varchar(4000), + queuedate timestamp(0), + queuepriority numeric(38), + queueid numeric(38), + startdate timestamp(0), + computehost varchar(255), + latestupdatedate timestamp(0) NOT NULL, + enddate timestamp(0), + hasdata char(1), + serverid varchar(20) NOT NULL, + jobindex numeric(38), + pbsjobid varchar(100), + srlno bigint, + rsetmetadataref bigint +) ; + + +CREATE TABLE vc_simmeshspec ( + id numeric(38) NOT NULL, + simref numeric(38) NOT NULL, + samplesizex numeric(38) NOT NULL, + samplesizey numeric(38) NOT NULL, + samplesizez numeric(38) NOT NULL +) ; + + +CREATE TABLE vc_simstat ( + id numeric(38) NOT NULL, + simref numeric(38) NOT NULL, + equiv bigint, + status varchar(255), + curatorequiv numeric(38), + comments varchar(255) +) ; + + +CREATE TABLE vc_simstat_2012_08_09 ( + id numeric(38), + simref numeric(38) NOT NULL, + equiv bigint, + status varchar(255), + curatorequiv numeric(38), + comments varchar(255) +) ; + + +CREATE TABLE vc_simstat_backup ( + id numeric(38), + simref numeric(38) NOT NULL, + equiv bigint, + status varchar(255), + curatorequiv numeric(38), + comments varchar(255) +) ; + + +CREATE TABLE vc_simstat_backup2 ( + id numeric(38), + simref numeric(38) NOT NULL, + equiv bigint, + status varchar(255), + curatorequiv numeric(38), + comments varchar(255) +) ; + + +CREATE TABLE vc_simulation ( + id numeric(38) NOT NULL, + name varchar(255) NOT NULL, + ownerref numeric(38) NOT NULL, + privacy numeric(38) NOT NULL, + versionpref numeric(38), + versiondate timestamp(0) NOT NULL, + versionflag numeric(38) NOT NULL, + versionannot varchar(4000), + versionbranchid numeric(38) NOT NULL, + mathref numeric(38) NOT NULL, + mathoverrides text, + parentsimref numeric(38), + mathoverrideslrg text, + mathoverridessml varchar(4000), + taskdesc varchar(4000), + meshspecx numeric(38), + meshspecy numeric(38), + meshspecz numeric(38), + dataprocinstr varchar(4000) +) ; + + +CREATE TABLE vc_simulationjob ( + id numeric(38) NOT NULL, + simref numeric(38) NOT NULL, + submitdate timestamp(0) NOT NULL, + taskid numeric(38) NOT NULL, + schedulerstatus numeric(38) NOT NULL, + statusmsg varchar(4000), + queuedate timestamp(0), + queuepriority numeric(38), + queueid numeric(38), + startdate timestamp(0), + computehost varchar(255), + latestupdatedate timestamp(0) NOT NULL, + enddate timestamp(0), + hasdata char(1), + serverid varchar(20) NOT NULL, + jobindex numeric(38) DEFAULT 0, + pbsjobid varchar(100) +) ; + + +CREATE TABLE vc_softwareversion ( + id numeric(38) NOT NULL, + versionableref numeric(38) NOT NULL, + softwareversion varchar(64) NOT NULL +) ; + + +CREATE TABLE vc_specialusers ( + id bigint NOT NULL, + special varchar(100) NOT NULL, + userref bigint NOT NULL, + userdetail varchar(1000) +) ; + + +CREATE TABLE vc_species ( + id numeric(38) NOT NULL, + commonname varchar(255) NOT NULL, + dbspeciesref numeric(38), + annotation varchar(1024) +) ; + + +CREATE TABLE vc_speciescontextspec ( + id numeric(38) NOT NULL, + speccontextref numeric(38) NOT NULL, + simcontextref numeric(38) NOT NULL, + benabledif numeric(38) NOT NULL, + bforceconst numeric(38) NOT NULL, + bforceindep numeric(38) NOT NULL, + initcondexp varchar(2048), + diffrateexp varchar(1024) NOT NULL, + boundaryxmexp varchar(255), + boundaryxpexp varchar(255), + boundaryymexp varchar(255), + boundaryypexp varchar(255), + boundaryzmexp varchar(255), + boundaryzpexp varchar(255), + initcondcountexp varchar(1024), + velocityxexp varchar(1024), + velocityyexp varchar(1024), + velocityzexp varchar(1024), + bwellmixed numeric(38), + bforcecontinuous numeric(38), + internallinks varchar(4000), + siteattributesspecs varchar(4000) +) ; + + +CREATE TABLE vc_speciescontextspec_temp ( + id numeric(38) NOT NULL, + speccontextref numeric(38) NOT NULL, + simcontextref numeric(38) NOT NULL, + benabledif numeric(38) NOT NULL, + bforceconst numeric(38) NOT NULL, + bforceindep numeric(38) NOT NULL, + initcondexp varchar(2048), + diffrateexp varchar(1024) NOT NULL, + boundaryxmexp varchar(255), + boundaryxpexp varchar(255), + boundaryymexp varchar(255), + boundaryypexp varchar(255), + boundaryzmexp varchar(255), + boundaryzpexp varchar(255), + initcondcountexp varchar(1024), + velocityxexp varchar(1024), + velocityyexp varchar(1024), + velocityzexp varchar(1024), + bwellmixed numeric(38), + bforcecontinuous numeric(38) +) ; + + +CREATE TABLE vc_stimulus ( + id numeric(38) NOT NULL, + structref numeric(38) NOT NULL, + simcontextref numeric(38) NOT NULL, + name varchar(255), + stimulustype numeric(38) NOT NULL, + expression varchar(4000), + posx bigint NOT NULL, + posy bigint NOT NULL, + posz bigint NOT NULL, + params varchar(4000) +) ; + + +CREATE TABLE vc_struct ( + id numeric(38) NOT NULL, + strname varchar(255) NOT NULL, + structtype varchar(10) NOT NULL, + parentref numeric(38), + celltyperef numeric(38), + memvoltname varchar(64), + insideref bigint, + outsideref bigint, + negfeatureref numeric(38), + posfeatureref numeric(38) +) ; + + +CREATE TABLE vc_structmapping ( + id numeric(38) NOT NULL, + subvolumeref numeric(38), + structref numeric(38) NOT NULL, + simcontextref numeric(38) NOT NULL, + bresolved numeric(38) NOT NULL, + surftovolexp varchar(1024), + volfractexp varchar(1024), + boundarytypexm varchar(10), + boundarytypexp varchar(10), + boundarytypeym varchar(10), + boundarytypeyp varchar(10), + boundarytypezm varchar(10), + boundarytypezp varchar(10), + bcalculatev numeric(38), + specificcap bigint, + initialv varchar(1024), + sizeexp varchar(1024), + volperunitareaexp varchar(1024), + volperunitvolexp varchar(1024), + areaperunitareaexp varchar(1024), + areaperunitvolexp varchar(1024), + surfaceclassref numeric(38) +) ; + + +CREATE TABLE vc_subvolume ( + id numeric(38) NOT NULL, + name varchar(255) NOT NULL, + imageregionref numeric(38), + geometryref numeric(38) NOT NULL, + expression varchar(2048), + handle numeric(38) NOT NULL, + ordinal numeric(38) NOT NULL +) ; + + +CREATE TABLE vc_surfaceclass ( + id numeric(38) NOT NULL, + name varchar(255) NOT NULL, + geometryref numeric(38) NOT NULL, + subvolumeref1 numeric(38), + subvolumeref2 numeric(38) +) ; + + +CREATE TABLE vc_surfacedesc ( + id numeric(38) NOT NULL, + geometryref numeric(38) NOT NULL, + samplesizex numeric(38) NOT NULL, + samplesizey numeric(38) NOT NULL, + samplesizez numeric(38) NOT NULL, + filterfreq bigint NOT NULL +) ; + + +CREATE TABLE vc_taskdesc ( + id numeric(38) NOT NULL, + simref numeric(38) NOT NULL, + data text NOT NULL +) ; + + +CREATE TABLE vc_tftestcase ( + id numeric(38) NOT NULL, + testsuiteref numeric(38) NOT NULL, + mathmodelref numeric(38), + tcsolutiontype varchar(64) NOT NULL, + tcannotation varchar(512), + creationdate timestamp(0) NOT NULL, + bmappref numeric(38) +) ; + + +CREATE TABLE vc_tftestcriteria ( + id numeric(38) NOT NULL, + testcaseref numeric(38) NOT NULL, + simulationref numeric(38) NOT NULL, + simdataref numeric(38), + regressionsimref numeric(38), + maxrelerror bigint, + maxabserror bigint, + regressionbmappref bigint, + regressionbmsimref bigint, + reportstatus varchar(32), + reportmessage varchar(512) +) ; + + +CREATE TABLE vc_tftestresult ( + id numeric(38) NOT NULL, + testcriteriaref numeric(38) NOT NULL, + varname varchar(128) NOT NULL, + abserror bigint NOT NULL, + relerror bigint NOT NULL, + maxref bigint NOT NULL, + minref bigint NOT NULL, + meansqrerror bigint NOT NULL, + timeabserror bigint NOT NULL DEFAULT (nullif('-1', '')::numeric), + indexabserror numeric(38) NOT NULL DEFAULT (nullif('-1', '')::numeric), + timerelerror bigint NOT NULL DEFAULT -1, + indexrelerror numeric(38) NOT NULL DEFAULT -1 +) ; + + +CREATE TABLE vc_tftestsuite ( + id numeric(38) NOT NULL, + tsversion varchar(64) NOT NULL, + vcbuildversion varchar(64) NOT NULL, + vcnumericsversion varchar(64) NOT NULL, + creationdate timestamp(0) NOT NULL, + changedate timestamp(0), + tsannotation varchar(512), + islocked numeric(38) NOT NULL DEFAULT 0 +) ; + + +CREATE TABLE vc_useridentity ( + id numeric(38) NOT NULL, + userref numeric(38) NOT NULL, + authsubject varchar(128) NOT NULL, + authissuer varchar(128) NOT NULL, + insertdate timestamp(0) NOT NULL +) ; + + +CREATE TABLE vc_userinfo ( + id numeric(38) NOT NULL, + userid varchar(255) NOT NULL, + password varchar(255) NOT NULL, + email varchar(255) NOT NULL, + firstname varchar(255) NOT NULL, + lastname varchar(255), + title varchar(255), + companyname varchar(255), + address1 varchar(255), + address2 varchar(255), + city varchar(255), + state varchar(255), + country varchar(255), + zip varchar(255), + notify varchar(255) NOT NULL, + insertdate timestamp(0) NOT NULL, + digestpw varchar(255) +) ; + + +CREATE TABLE vc_userlog ( + id numeric(38) NOT NULL, + userref numeric(38) NOT NULL, + eventdate timestamp(0) NOT NULL, + logtext varchar(255) NOT NULL, + filepath varchar(255), + eventtype varchar(10) NOT NULL, + swversion varchar(10), + ipaddress varchar(40) +) ; + + +CREATE TABLE vc_userlogininfo ( + id numeric(38) NOT NULL, + userref numeric(38) NOT NULL, + logincount bigint NOT NULL, + lastlogin timestamp(0) NOT NULL, + osarch varchar(32) NOT NULL, + osname varchar(32) NOT NULL, + osvers varchar(32) NOT NULL, + clientvers varchar(32) NOT NULL, + serververs varchar(32) NOT NULL, + javavers varchar(32) NOT NULL DEFAULT 'old_unset' +) ; + + +CREATE TABLE vc_userpref ( + id numeric(38) NOT NULL, + userref numeric(38) NOT NULL, + userprefkey varchar(128) NOT NULL, + userprefvalue varchar(4000) NOT NULL +) ; + + +CREATE TABLE vc_userstat ( + id numeric(38) NOT NULL, + userref numeric(38) NOT NULL, + logincount bigint, + lastlogin timestamp(0), + emaillostpasswordok varchar(5), + wantsonlinecallback varchar(5), + useragent varchar(255), + usemac bigint, + usewin bigint, + uselin bigint +) ; + + +CREATE TABLE web_download_event ( + id numeric(38) NOT NULL, + item_id numeric(38), + type_id numeric(38), + ip_addr char(16), + tstamp timestamp(0) +) ; + + +CREATE TABLE web_download_item ( + id numeric(38) NOT NULL, + name varchar(255) NOT NULL +) ; + + +CREATE TABLE web_download_type ( + id numeric(38) NOT NULL, + description varchar(255) +) ; + + +CREATE TABLE xutemp ( + id numeric(38), + biomodelref numeric(38) NOT NULL, + bmxml text, + changedate timestamp(0) +) ; diff --git a/docker/database/migration/migv1/schema/tablespaces/TBSP_INDEXES_tablespace.sql b/docker/database/migration/migv1/schema/tablespaces/TBSP_INDEXES_tablespace.sql new file mode 100644 index 0000000000..0cd8777cae --- /dev/null +++ b/docker/database/migration/migv1/schema/tablespaces/TBSP_INDEXES_tablespace.sql @@ -0,0 +1,264 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +-- Oracle tablespaces export, please edit path to match your filesystem. +-- In PostgreSQl the path must be a directory and is expected to already exists +ALTER INDEX bm_priv_indx SET TABLESPACE users; +ALTER INDEX browse_imgref SET TABLESPACE users; +ALTER INDEX com_enz_pro_unique SET TABLESPACE users; +ALTER INDEX file_unique SET TABLESPACE users; +ALTER INDEX folder_path SET TABLESPACE users; +ALTER INDEX geom_extentref SET TABLESPACE users; +ALTER INDEX geom_imageref SET TABLESPACE users; +ALTER INDEX grp_grpid SET TABLESPACE users; +ALTER INDEX mailbounce_pk SET TABLESPACE users; +ALTER INDEX mapitemattribute_itemid SET TABLESPACE users; +ALTER INDEX mapitemattribute_itemreference SET TABLESPACE users; +ALTER INDEX mapitemattribute_property SET TABLESPACE users; +ALTER INDEX mapitem_mapid SET TABLESPACE users; +ALTER INDEX mapitem_parent SET TABLESPACE users; +ALTER INDEX map_name_folder SET TABLESPACE users; +ALTER INDEX mathdesc_geomref SET TABLESPACE users; +ALTER INDEX md_ed_unq SET TABLESPACE users; +ALTER INDEX objecttype_name SET TABLESPACE users; +ALTER INDEX own_fdn_unique SET TABLESPACE users; +ALTER INDEX perm_childid SET TABLESPACE users; +ALTER INDEX perm_grpid SET TABLESPACE users; +ALTER INDEX service_sid_type_ord_unique SET TABLESPACE users; +ALTER INDEX simcstat_simcref SET TABLESPACE users; +ALTER INDEX simjob_schdst SET TABLESPACE users; +ALTER INDEX simjob_srvid SET TABLESPACE users; +ALTER INDEX sr_ji_unique SET TABLESPACE users; +ALTER INDEX sys_c0010533 SET TABLESPACE users; +ALTER INDEX sys_c0011405 SET TABLESPACE users; +ALTER INDEX sys_c008022 SET TABLESPACE users; +ALTER INDEX sys_c008023 SET TABLESPACE users; +ALTER INDEX sys_c008024 SET TABLESPACE users; +ALTER INDEX sys_c008025 SET TABLESPACE users; +ALTER INDEX sys_c008026 SET TABLESPACE users; +ALTER INDEX sys_c008027 SET TABLESPACE users; +ALTER INDEX sys_c008028 SET TABLESPACE users; +ALTER INDEX sys_c008029 SET TABLESPACE users; +ALTER INDEX sys_c008030 SET TABLESPACE users; +ALTER INDEX sys_c008032 SET TABLESPACE users; +ALTER INDEX sys_c008033 SET TABLESPACE users; +ALTER INDEX sys_c008034 SET TABLESPACE users; +ALTER INDEX sys_c008035 SET TABLESPACE users; +ALTER INDEX sys_c008036 SET TABLESPACE users; +ALTER INDEX sys_c008037 SET TABLESPACE users; +ALTER INDEX sys_c008038 SET TABLESPACE users; +ALTER INDEX sys_c008039 SET TABLESPACE users; +ALTER INDEX sys_c008040 SET TABLESPACE users; +ALTER INDEX sys_c008041 SET TABLESPACE users; +ALTER INDEX sys_c008042 SET TABLESPACE users; +ALTER INDEX sys_c008043 SET TABLESPACE users; +ALTER INDEX sys_c008044 SET TABLESPACE users; +ALTER INDEX sys_c008045 SET TABLESPACE users; +ALTER INDEX sys_c008046 SET TABLESPACE users; +ALTER INDEX sys_c008047 SET TABLESPACE users; +ALTER INDEX sys_c008048 SET TABLESPACE users; +ALTER INDEX sys_c008049 SET TABLESPACE users; +ALTER INDEX sys_c008050 SET TABLESPACE users; +ALTER INDEX sys_c008052 SET TABLESPACE users; +ALTER INDEX sys_c008053 SET TABLESPACE users; +ALTER INDEX sys_c008054 SET TABLESPACE users; +ALTER INDEX sys_c008055 SET TABLESPACE users; +ALTER INDEX sys_c008056 SET TABLESPACE users; +ALTER INDEX sys_c008057 SET TABLESPACE users; +ALTER INDEX sys_c008058 SET TABLESPACE users; +ALTER INDEX sys_c008059 SET TABLESPACE users; +ALTER INDEX sys_c008060 SET TABLESPACE users; +ALTER INDEX sys_c008062 SET TABLESPACE users; +ALTER INDEX sys_c008063 SET TABLESPACE users; +ALTER INDEX sys_c008064 SET TABLESPACE users; +ALTER INDEX sys_c008066 SET TABLESPACE users; +ALTER INDEX sys_c008069 SET TABLESPACE users; +ALTER INDEX sys_c008071 SET TABLESPACE users; +ALTER INDEX sys_c008072 SET TABLESPACE users; +ALTER INDEX sys_c008073 SET TABLESPACE users; +ALTER INDEX sys_c008074 SET TABLESPACE users; +ALTER INDEX sys_c008076 SET TABLESPACE users; +ALTER INDEX sys_c008077 SET TABLESPACE users; +ALTER INDEX sys_c008078 SET TABLESPACE users; +ALTER INDEX sys_c008079 SET TABLESPACE users; +ALTER INDEX sys_c008080 SET TABLESPACE users; +ALTER INDEX sys_c008081 SET TABLESPACE users; +ALTER INDEX sys_c008082 SET TABLESPACE users; +ALTER INDEX sys_c008083 SET TABLESPACE users; +ALTER INDEX sys_c008084 SET TABLESPACE users; +ALTER INDEX sys_c008085 SET TABLESPACE users; +ALTER INDEX sys_c008086 SET TABLESPACE users; +ALTER INDEX sys_c008088 SET TABLESPACE users; +ALTER INDEX sys_c008089 SET TABLESPACE users; +ALTER INDEX sys_c008090 SET TABLESPACE users; +ALTER INDEX sys_c008091 SET TABLESPACE users; +ALTER INDEX sys_c008092 SET TABLESPACE users; +ALTER INDEX sys_c008093 SET TABLESPACE users; +ALTER INDEX sys_c008096 SET TABLESPACE users; +ALTER INDEX sys_c008097 SET TABLESPACE users; +ALTER INDEX sys_c008098 SET TABLESPACE users; +ALTER INDEX sys_c008099 SET TABLESPACE users; +ALTER INDEX sys_c008100 SET TABLESPACE users; +ALTER INDEX sys_c008102 SET TABLESPACE users; +ALTER INDEX sys_c008103 SET TABLESPACE users; +ALTER INDEX sys_c008104 SET TABLESPACE users; +ALTER INDEX sys_c008105 SET TABLESPACE users; +ALTER INDEX sys_c008106 SET TABLESPACE users; +ALTER INDEX sys_c008107 SET TABLESPACE users; +ALTER INDEX sys_c008108 SET TABLESPACE users; +ALTER INDEX sys_c008110 SET TABLESPACE users; +ALTER INDEX sys_c008112 SET TABLESPACE users; +ALTER INDEX sys_c008113 SET TABLESPACE users; +ALTER INDEX sys_c008114 SET TABLESPACE users; +ALTER INDEX sys_c008115 SET TABLESPACE users; +ALTER INDEX sys_c008116 SET TABLESPACE users; +ALTER INDEX sys_c008117 SET TABLESPACE users; +ALTER INDEX sys_c008119 SET TABLESPACE users; +ALTER INDEX sys_c008120 SET TABLESPACE users; +ALTER INDEX sys_c008121 SET TABLESPACE users; +ALTER INDEX sys_c008122 SET TABLESPACE users; +ALTER INDEX sys_c008124 SET TABLESPACE users; +ALTER INDEX sys_c008125 SET TABLESPACE users; +ALTER INDEX sys_c008126 SET TABLESPACE users; +ALTER INDEX sys_c008127 SET TABLESPACE users; +ALTER INDEX sys_c008128 SET TABLESPACE users; +ALTER INDEX sys_c008129 SET TABLESPACE users; +ALTER INDEX sys_c008130 SET TABLESPACE users; +ALTER INDEX sys_c008131 SET TABLESPACE users; +ALTER INDEX sys_c008133 SET TABLESPACE users; +ALTER INDEX sys_c008135 SET TABLESPACE users; +ALTER INDEX sys_c008136 SET TABLESPACE users; +ALTER INDEX sys_c008137 SET TABLESPACE users; +ALTER INDEX sys_c008139 SET TABLESPACE users; +ALTER INDEX sys_c008141 SET TABLESPACE users; +ALTER INDEX sys_c008142 SET TABLESPACE users; +ALTER INDEX sys_c008144 SET TABLESPACE users; +ALTER INDEX sys_c008146 SET TABLESPACE users; +ALTER INDEX sys_c008147 SET TABLESPACE users; +ALTER INDEX sys_c008149 SET TABLESPACE users; +ALTER INDEX sys_c008150 SET TABLESPACE users; +ALTER INDEX sys_c008152 SET TABLESPACE users; +ALTER INDEX sys_c008153 SET TABLESPACE users; +ALTER INDEX sys_c008154 SET TABLESPACE users; +ALTER INDEX sys_c008160 SET TABLESPACE users; +ALTER INDEX sys_c008161 SET TABLESPACE users; +ALTER INDEX tcrregrsimref SET TABLESPACE users; +ALTER INDEX tcr_tcr_simr_unique SET TABLESPACE users; +ALTER INDEX tc_tsr_mm_bm_unq SET TABLESPACE users; +ALTER INDEX tpsql_idx SET TABLESPACE users; +ALTER INDEX tres_tcr_vn_unique SET TABLESPACE users; +ALTER INDEX ts_bld_num_unique SET TABLESPACE users; +ALTER INDEX ulginfo_unique SET TABLESPACE users; +ALTER INDEX userid_unq SET TABLESPACE users; +ALTER INDEX vc_analysistask_scref SET TABLESPACE users; +ALTER INDEX vc_announce_pk SET TABLESPACE users; +ALTER INDEX vc_appmath_mmref SET TABLESPACE users; +ALTER INDEX vc_appmath_scref SET TABLESPACE users; +ALTER INDEX vc_biomodelsim_biomodelref SET TABLESPACE users; +ALTER INDEX vc_biomodelsim_simref SET TABLESPACE users; +ALTER INDEX vc_biomodel_modelref SET TABLESPACE users; +ALTER INDEX vc_biomodel_ownerref SET TABLESPACE users; +ALTER INDEX vc_biomodel_versionpref SET TABLESPACE users; +ALTER INDEX vc_bmsimcont_biomodelref SET TABLESPACE users; +ALTER INDEX vc_bmsimcont_simcontextref SET TABLESPACE users; +ALTER INDEX vc_compoundalias_compoundref SET TABLESPACE users; +ALTER INDEX vc_compound_keggid_unique SET TABLESPACE users; +ALTER INDEX vc_curve_filamentref SET TABLESPACE users; +ALTER INDEX vc_dbspecies_compoundref SET TABLESPACE users; +ALTER INDEX vc_dbspecies_enzymeref SET TABLESPACE users; +ALTER INDEX vc_dbspecies_proteinref SET TABLESPACE users; +ALTER INDEX vc_developer_pk SET TABLESPACE users; +ALTER INDEX vc_diagram_modelref SET TABLESPACE users; +ALTER INDEX vc_diagram_structref SET TABLESPACE users; +ALTER INDEX vc_enzymealias_enzymeref SET TABLESPACE users; +ALTER INDEX vc_enzyme_ecnumber_unique SET TABLESPACE users; +ALTER INDEX vc_filament_geometryref SET TABLESPACE users; +ALTER INDEX vc_geometry_ownerref SET TABLESPACE users; +ALTER INDEX vc_geometry_versionpref SET TABLESPACE users; +ALTER INDEX vc_georegion_geometryref SET TABLESPACE users; +ALTER INDEX vc_georegion_subvolumeref SET TABLESPACE users; +ALTER INDEX vc_georegion_volregion1 SET TABLESPACE users; +ALTER INDEX vc_georegion_volregion2 SET TABLESPACE users; +ALTER INDEX vc_gmp_modelref SET TABLESPACE users; +ALTER INDEX vc_grp_userref_indx SET TABLESPACE users; +ALTER INDEX vc_imagedata_imageref SET TABLESPACE users; +ALTER INDEX vc_imageregion_imageref SET TABLESPACE users; +ALTER INDEX vc_image_extentref SET TABLESPACE users; +ALTER INDEX vc_image_ownerref SET TABLESPACE users; +ALTER INDEX vc_image_versionpref SET TABLESPACE users; +ALTER INDEX vc_img_priv_indx SET TABLESPACE users; +ALTER INDEX vc_login_index SET TABLESPACE users; +ALTER INDEX vc_mathmodelsim_mathmodelref SET TABLESPACE users; +ALTER INDEX vc_mathmodelsim_simref SET TABLESPACE users; +ALTER INDEX vc_mathmodel_mathref SET TABLESPACE users; +ALTER INDEX vc_mathmodel_ownerref SET TABLESPACE users; +ALTER INDEX vc_mathmodel_versionpref SET TABLESPACE users; +ALTER INDEX vc_math_ownerref SET TABLESPACE users; +ALTER INDEX vc_math_versionpref SET TABLESPACE users; +ALTER INDEX vc_metadata_bmref SET TABLESPACE users; +ALTER INDEX vc_miriam_bmref SET TABLESPACE users; +ALTER INDEX vc_miriam_rsref SET TABLESPACE users; +ALTER INDEX vc_miriam_structref SET TABLESPACE users; +ALTER INDEX vc_mirian_speciesref SET TABLESPACE users; +ALTER INDEX vc_modelsc_modelref SET TABLESPACE users; +ALTER INDEX vc_modelsc_speciesref SET TABLESPACE users; +ALTER INDEX vc_modelsc_structref SET TABLESPACE users; +ALTER INDEX vc_modelstruct_modelref SET TABLESPACE users; +ALTER INDEX vc_modelstruct_structref SET TABLESPACE users; +ALTER INDEX vc_model_ownerref SET TABLESPACE users; +ALTER INDEX vc_model_versionpref SET TABLESPACE users; +ALTER INDEX vc_permission_biomodelref SET TABLESPACE users; +ALTER INDEX vc_permission_geometryref SET TABLESPACE users; +ALTER INDEX vc_permission_imageref SET TABLESPACE users; +ALTER INDEX vc_permission_mathdescref SET TABLESPACE users; +ALTER INDEX vc_permission_mathmodelref SET TABLESPACE users; +ALTER INDEX vc_permission_modelref SET TABLESPACE users; +ALTER INDEX vc_permission_simcontextref SET TABLESPACE users; +ALTER INDEX vc_permission_simulationref SET TABLESPACE users; +ALTER INDEX vc_proteinalias_proteinref SET TABLESPACE users; +ALTER INDEX vc_protein_swissprotid_unique SET TABLESPACE users; +ALTER INDEX vc_reactionspec_reactstepref SET TABLESPACE users; +ALTER INDEX vc_reactionspec_simcontextref SET TABLESPACE users; +ALTER INDEX vc_reactpart_reactstepref SET TABLESPACE users; +ALTER INDEX vc_reactpart_scref SET TABLESPACE users; +ALTER INDEX vc_reactstep_modelref SET TABLESPACE users; +ALTER INDEX vc_reactstep_structref SET TABLESPACE users; +ALTER INDEX vc_rsetexport_simulationref SET TABLESPACE users; +ALTER INDEX vc_simcontext_geometryref SET TABLESPACE users; +ALTER INDEX vc_simcontext_mathref SET TABLESPACE users; +ALTER INDEX vc_simcontext_modelref SET TABLESPACE users; +ALTER INDEX vc_simcontext_ownerref SET TABLESPACE users; +ALTER INDEX vc_simcontext_versionpref SET TABLESPACE users; +ALTER INDEX vc_simmeshspec_simref SET TABLESPACE users; +ALTER INDEX vc_simulation_mathref SET TABLESPACE users; +ALTER INDEX vc_simulation_ownerref SET TABLESPACE users; +ALTER INDEX vc_simulation_prntsimref SET TABLESPACE users; +ALTER INDEX vc_simulation_versionpref SET TABLESPACE users; +ALTER INDEX vc_specconspec_simcontextref SET TABLESPACE users; +ALTER INDEX vc_specconspec_speccontextref SET TABLESPACE users; +ALTER INDEX vc_specialusers_pk SET TABLESPACE users; +ALTER INDEX vc_species_dbspeciesref SET TABLESPACE users; +ALTER INDEX vc_stimulus_simcontextref SET TABLESPACE users; +ALTER INDEX vc_stimulus_structref SET TABLESPACE users; +ALTER INDEX vc_strmap_simcontextref SET TABLESPACE users; +ALTER INDEX vc_strmap_structref SET TABLESPACE users; +ALTER INDEX vc_strmap_subvolumeref SET TABLESPACE users; +ALTER INDEX vc_struct_celltyperef SET TABLESPACE users; +ALTER INDEX vc_struct_parentref SET TABLESPACE users; +ALTER INDEX vc_subvolume_geometryref SET TABLESPACE users; +ALTER INDEX vc_subvolume_imageregionref SET TABLESPACE users; +ALTER INDEX vc_surfacedesc_geometryref SET TABLESPACE users; +ALTER INDEX vc_taskdesc_simref SET TABLESPACE users; +ALTER INDEX vc_userpref_userref SET TABLESPACE users; +ALTER INDEX vc_userstat_userref SET TABLESPACE users; +ALTER INDEX web_download_event_pk SET TABLESPACE users; +ALTER INDEX web_download_index1 SET TABLESPACE users; +ALTER INDEX web_download_pk SET TABLESPACE users; +ALTER INDEX web_download_type_index1 SET TABLESPACE users; +ALTER INDEX web_download_type_pk SET TABLESPACE users; diff --git a/docker/database/migration/migv1/schema/tablespaces/tablespace.sql b/docker/database/migration/migv1/schema/tablespaces/tablespace.sql new file mode 100644 index 0000000000..291953511e --- /dev/null +++ b/docker/database/migration/migv1/schema/tablespaces/tablespace.sql @@ -0,0 +1,178 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +-- Oracle tablespaces export, please edit path to match your filesystem. +-- In PostgreSQl the path must be a directory and is expected to already exists +CREATE TABLESPACE users LOCATION '/opt/oracle/oradata/ORCLCDB/ORCLPDB1/users01.dbf/USERS'; + +ALTER TABLE attrmapping SET TABLESPACE users; +ALTER TABLE autocopymapping SET TABLESPACE users; +ALTER TABLE backup_vc_userinfo SET TABLESPACE users; +ALTER TABLE bad_geometries SET TABLESPACE users; +ALTER TABLE bad_regions SET TABLESPACE users; +ALTER TABLE bad_volfract SET TABLESPACE users; +ALTER TABLE context SET TABLESPACE users; +ALTER TABLE contextmodification SET TABLESPACE users; +ALTER TABLE dantemp SET TABLESPACE users; +ALTER TABLE filedataparts SET TABLESPACE users; +ALTER TABLE files SET TABLESPACE users; +ALTER TABLE filescontent SET TABLESPACE users; +ALTER TABLE flux_model_indices SET TABLESPACE users; +ALTER TABLE flux_model_indices_rp SET TABLESPACE users; +ALTER TABLE flux_model_problem_xml SET TABLESPACE users; +ALTER TABLE folder SET TABLESPACE users; +ALTER TABLE imagedataparts SET TABLESPACE users; +ALTER TABLE images SET TABLESPACE users; +ALTER TABLE loadmodelstat SET TABLESPACE users; +ALTER TABLE loadmodelstat_backup SET TABLESPACE users; +ALTER TABLE mailbounce SET TABLESPACE users; +ALTER TABLE mailbounce_old SET TABLESPACE users; +ALTER TABLE maillist SET TABLESPACE users; +ALTER TABLE maillist_2013 SET TABLESPACE users; +ALTER TABLE maillist_2013_07_29 SET TABLESPACE users; +ALTER TABLE maillist_2014_04_30 SET TABLESPACE users; +ALTER TABLE maillist_2014_10_22 SET TABLESPACE users; +ALTER TABLE maillist_2015_01_08 SET TABLESPACE users; +ALTER TABLE maillist_2015_06_09 SET TABLESPACE users; +ALTER TABLE maillist_2015_07_17 SET TABLESPACE users; +ALTER TABLE maillist_2016_02_01 SET TABLESPACE users; +ALTER TABLE map SET TABLESPACE users; +ALTER TABLE mapitem SET TABLESPACE users; +ALTER TABLE mapitemattribute SET TABLESPACE users; +ALTER TABLE math_hybrid SET TABLESPACE users; +ALTER TABLE missingdata SET TABLESPACE users; +ALTER TABLE nomenclature SET TABLESPACE users; +ALTER TABLE nomenclatureattrs SET TABLESPACE users; +ALTER TABLE objecttype SET TABLESPACE users; +ALTER TABLE objecttype2objecttype SET TABLESPACE users; +ALTER TABLE plan_table SET TABLESPACE users; +ALTER TABLE plsql_profiler_data SET TABLESPACE users; +ALTER TABLE plsql_profiler_runs SET TABLESPACE users; +ALTER TABLE plsql_profiler_units SET TABLESPACE users; +ALTER TABLE property SET TABLESPACE users; +ALTER TABLE property2objecttype SET TABLESPACE users; +ALTER TABLE publicationtemp SET TABLESPACE users; +ALTER TABLE stochtest SET TABLESPACE users; +ALTER TABLE stochtestcompare SET TABLESPACE users; +ALTER TABLE stochtestcompare_2015_12_08 SET TABLESPACE users; +ALTER TABLE stochtestcompare_2016_08_26 SET TABLESPACE users; +ALTER TABLE stochtestcompare_2016_09_21 SET TABLESPACE users; +ALTER TABLE stochtestrun SET TABLESPACE users; +ALTER TABLE stochtestrun_2016_08_26 SET TABLESPACE users; +ALTER TABLE stochtestrun_2016_09_21 SET TABLESPACE users; +ALTER TABLE stochtesttemp SET TABLESPACE users; +ALTER TABLE stochtest_2016_08_26 SET TABLESPACE users; +ALTER TABLE stochtest_backup SET TABLESPACE users; +ALTER TABLE stochtest_newids SET TABLESPACE users; +ALTER TABLE tempscref SET TABLESPACE users; +ALTER TABLE temp_dbspecies SET TABLESPACE users; +ALTER TABLE temp_simcontextstat2 SET TABLESPACE users; +ALTER TABLE temp_simstat SET TABLESPACE users; +ALTER TABLE temp_users SET TABLESPACE users; +ALTER TABLE vc_analysistask SET TABLESPACE users; +ALTER TABLE vc_announce SET TABLESPACE users; +ALTER TABLE vc_apiaccesstoken SET TABLESPACE users; +ALTER TABLE vc_apiclient SET TABLESPACE users; +ALTER TABLE vc_applicationmath SET TABLESPACE users; +ALTER TABLE vc_available SET TABLESPACE users; +ALTER TABLE vc_biomodel SET TABLESPACE users; +ALTER TABLE vc_biomodelsim SET TABLESPACE users; +ALTER TABLE vc_biomodelsimcontext SET TABLESPACE users; +ALTER TABLE vc_biomodelxml SET TABLESPACE users; +ALTER TABLE vc_biomodelxml_backup SET TABLESPACE users; +ALTER TABLE vc_browsedata SET TABLESPACE users; +ALTER TABLE vc_celltype SET TABLESPACE users; +ALTER TABLE vc_compound SET TABLESPACE users; +ALTER TABLE vc_compoundalias SET TABLESPACE users; +ALTER TABLE vc_curve SET TABLESPACE users; +ALTER TABLE vc_datasymbol SET TABLESPACE users; +ALTER TABLE vc_dbspecies SET TABLESPACE users; +ALTER TABLE vc_developer SET TABLESPACE users; +ALTER TABLE vc_diagram SET TABLESPACE users; +ALTER TABLE vc_enzyme SET TABLESPACE users; +ALTER TABLE vc_enzymealias SET TABLESPACE users; +ALTER TABLE vc_enzymereaction SET TABLESPACE users; +ALTER TABLE vc_externaldata SET TABLESPACE users; +ALTER TABLE vc_filament SET TABLESPACE users; +ALTER TABLE vc_geometricregion SET TABLESPACE users; +ALTER TABLE vc_geometry SET TABLESPACE users; +ALTER TABLE vc_geomextent SET TABLESPACE users; +ALTER TABLE vc_globalmodelparam SET TABLESPACE users; +ALTER TABLE vc_group SET TABLESPACE users; +ALTER TABLE vc_image SET TABLESPACE users; +ALTER TABLE vc_imagedata SET TABLESPACE users; +ALTER TABLE vc_imageregion SET TABLESPACE users; +ALTER TABLE vc_login SET TABLESPACE users; +ALTER TABLE vc_math SET TABLESPACE users; +ALTER TABLE vc_mathdescextdata SET TABLESPACE users; +ALTER TABLE vc_mathgen SET TABLESPACE users; +ALTER TABLE vc_mathmodel SET TABLESPACE users; +ALTER TABLE vc_mathmodelsim SET TABLESPACE users; +ALTER TABLE vc_mathmodelxml SET TABLESPACE users; +ALTER TABLE vc_metadata SET TABLESPACE users; +ALTER TABLE vc_miriam SET TABLESPACE users; +ALTER TABLE vc_model SET TABLESPACE users; +ALTER TABLE vc_modelsc SET TABLESPACE users; +ALTER TABLE vc_modelstruct SET TABLESPACE users; +ALTER TABLE vc_permission SET TABLESPACE users; +ALTER TABLE vc_protein SET TABLESPACE users; +ALTER TABLE vc_proteinalias SET TABLESPACE users; +ALTER TABLE vc_publication SET TABLESPACE users; +ALTER TABLE vc_publicationmodellink SET TABLESPACE users; +ALTER TABLE vc_reactionspec SET TABLESPACE users; +ALTER TABLE vc_reactpart SET TABLESPACE users; +ALTER TABLE vc_reactstep SET TABLESPACE users; +ALTER TABLE vc_rsetexport SET TABLESPACE users; +ALTER TABLE vc_rsetmetadata SET TABLESPACE users; +ALTER TABLE vc_service SET TABLESPACE users; +ALTER TABLE vc_simcontext SET TABLESPACE users; +ALTER TABLE vc_simcontextstat SET TABLESPACE users; +ALTER TABLE vc_simcontextstat2 SET TABLESPACE users; +ALTER TABLE vc_simcontextstat2_2011_11_03 SET TABLESPACE users; +ALTER TABLE vc_simcontextstat2_2012_08_09 SET TABLESPACE users; +ALTER TABLE vc_simcontextstat2_backup SET TABLESPACE users; +ALTER TABLE vc_simcontextstat2_build478 SET TABLESPACE users; +ALTER TABLE vc_simcontextstat2_build478_f1 SET TABLESPACE users; +ALTER TABLE vc_simcontextstat_copy SET TABLESPACE users; +ALTER TABLE vc_simcontextstat_oldr3 SET TABLESPACE users; +ALTER TABLE vc_simdelfromdisk SET TABLESPACE users; +ALTER TABLE vc_simjob_withdata SET TABLESPACE users; +ALTER TABLE vc_simmeshspec SET TABLESPACE users; +ALTER TABLE vc_simstat SET TABLESPACE users; +ALTER TABLE vc_simstat_2012_08_09 SET TABLESPACE users; +ALTER TABLE vc_simstat_backup SET TABLESPACE users; +ALTER TABLE vc_simstat_backup2 SET TABLESPACE users; +ALTER TABLE vc_simulation SET TABLESPACE users; +ALTER TABLE vc_simulationjob SET TABLESPACE users; +ALTER TABLE vc_softwareversion SET TABLESPACE users; +ALTER TABLE vc_specialusers SET TABLESPACE users; +ALTER TABLE vc_species SET TABLESPACE users; +ALTER TABLE vc_speciescontextspec SET TABLESPACE users; +ALTER TABLE vc_speciescontextspec_temp SET TABLESPACE users; +ALTER TABLE vc_stimulus SET TABLESPACE users; +ALTER TABLE vc_struct SET TABLESPACE users; +ALTER TABLE vc_structmapping SET TABLESPACE users; +ALTER TABLE vc_subvolume SET TABLESPACE users; +ALTER TABLE vc_surfaceclass SET TABLESPACE users; +ALTER TABLE vc_surfacedesc SET TABLESPACE users; +ALTER TABLE vc_taskdesc SET TABLESPACE users; +ALTER TABLE vc_tftestcase SET TABLESPACE users; +ALTER TABLE vc_tftestcriteria SET TABLESPACE users; +ALTER TABLE vc_tftestresult SET TABLESPACE users; +ALTER TABLE vc_tftestsuite SET TABLESPACE users; +ALTER TABLE vc_useridentity SET TABLESPACE users; +ALTER TABLE vc_userinfo SET TABLESPACE users; +ALTER TABLE vc_userlog SET TABLESPACE users; +ALTER TABLE vc_userlogininfo SET TABLESPACE users; +ALTER TABLE vc_userpref SET TABLESPACE users; +ALTER TABLE vc_userstat SET TABLESPACE users; +ALTER TABLE web_download_event SET TABLESPACE users; +ALTER TABLE web_download_item SET TABLESPACE users; +ALTER TABLE web_download_type SET TABLESPACE users; +ALTER TABLE xutemp SET TABLESPACE users; diff --git a/docker/database/migration/migv1/schema/triggers/TCRIT_LOCK_TRIG_trigger.sql b/docker/database/migration/migv1/schema/triggers/TCRIT_LOCK_TRIG_trigger.sql new file mode 100644 index 0000000000..d5aabfeb09 --- /dev/null +++ b/docker/database/migration/migv1/schema/triggers/TCRIT_LOCK_TRIG_trigger.sql @@ -0,0 +1,56 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +DROP TRIGGER IF EXISTS tcrit_lock_trig ON vc_tftestcriteria CASCADE; +CREATE OR REPLACE FUNCTION trigger_fct_tcrit_lock_trig() RETURNS trigger AS $BODY$ +DECLARE +PRAGMA AUTONOMOUS_TRANSACTION; +testcaseid bigint; +lockState bigint; +BEGIN + BEGIN + +IF TG_OP = 'INSERT' THEN +testcaseid :=NEW.testcaseref; +ELSIF TG_OP = 'UPDATE' THEN +testcaseid :=OLD.testcaseref; +ELSIF TG_OP = 'DELETE' THEN +testcaseid :=OLD.testcaseref; +END IF; + + select vc_tftestsuite.islocked + into STRICT lockstate + from vc_tftestsuite,vc_tftestcase + where vc_tftestsuite.id = vc_tftestcase.testsuiteref + and + vc_tftestcase.id = testcaseid; + + if + lockstate != 0 + then + RAISE EXCEPTION '%', 'Test Suite locked' USING ERRCODE = '45100'; + end if; + + END; +IF TG_OP = 'DELETE' THEN + RETURN OLD; +ELSE + RETURN NEW; +END IF; + +END +$BODY$ + LANGUAGE 'plpgsql' SECURITY DEFINER; +-- REVOKE ALL ON FUNCTION trigger_fct_tcrit_lock_trig() FROM PUBLIC; + +CREATE TRIGGER tcrit_lock_trig + BEFORE INSERT OR UPDATE OR DELETE ON vc_tftestcriteria + FOR EACH ROW + EXECUTE PROCEDURE trigger_fct_tcrit_lock_trig(); + diff --git a/docker/database/migration/migv1/schema/triggers/TC_LOCK_TRIG_trigger.sql b/docker/database/migration/migv1/schema/triggers/TC_LOCK_TRIG_trigger.sql new file mode 100644 index 0000000000..d53e4e3d5f --- /dev/null +++ b/docker/database/migration/migv1/schema/triggers/TC_LOCK_TRIG_trigger.sql @@ -0,0 +1,54 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +DROP TRIGGER IF EXISTS tc_lock_trig ON vc_tftestcase CASCADE; +CREATE OR REPLACE FUNCTION trigger_fct_tc_lock_trig() RETURNS trigger AS $BODY$ +DECLARE +PRAGMA AUTONOMOUS_TRANSACTION; +testsuiteid bigint; +lockState bigint; +BEGIN + BEGIN + +IF TG_OP = 'INSERT' THEN +testsuiteid :=NEW.testsuiteref; +ELSIF TG_OP = 'UPDATE' THEN +testsuiteid :=OLD.testsuiteref; +ELSIF TG_OP = 'DELETE' THEN +testsuiteid :=OLD.testsuiteref; +END IF; + + select vc_tftestsuite.islocked + into STRICT lockstate + from vc_tftestsuite + where vc_tftestsuite.id = testsuiteid; + + if + lockstate != 0 + then + RAISE EXCEPTION '%', 'Test Suite locked' USING ERRCODE = '45100'; + end if; + + END; +IF TG_OP = 'DELETE' THEN + RETURN OLD; +ELSE + RETURN NEW; +END IF; + +END +$BODY$ + LANGUAGE 'plpgsql' SECURITY DEFINER; +-- REVOKE ALL ON FUNCTION trigger_fct_tc_lock_trig() FROM PUBLIC; + +CREATE TRIGGER tc_lock_trig + BEFORE INSERT OR UPDATE OR DELETE ON vc_tftestcase + FOR EACH ROW + EXECUTE PROCEDURE trigger_fct_tc_lock_trig(); + diff --git a/docker/database/migration/migv1/schema/triggers/TRSLT_LOCK_TRIG_trigger.sql b/docker/database/migration/migv1/schema/triggers/TRSLT_LOCK_TRIG_trigger.sql new file mode 100644 index 0000000000..ee174c2a5b --- /dev/null +++ b/docker/database/migration/migv1/schema/triggers/TRSLT_LOCK_TRIG_trigger.sql @@ -0,0 +1,58 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +DROP TRIGGER IF EXISTS trslt_lock_trig ON vc_tftestresult CASCADE; +CREATE OR REPLACE FUNCTION trigger_fct_trslt_lock_trig() RETURNS trigger AS $BODY$ +DECLARE +PRAGMA AUTONOMOUS_TRANSACTION; +testsuiteid bigint; +lockState bigint; +BEGIN + BEGIN + +IF TG_OP = 'INSERT' THEN +testsuiteid :=NEW.testcriteriaref; +ELSIF TG_OP = 'UPDATE' THEN +testsuiteid :=OLD.testcriteriaref; +ELSIF TG_OP = 'DELETE' THEN +testsuiteid :=OLD.testcriteriaref; +END IF; + + select vc_tftestsuite.islocked + into STRICT lockstate + from vc_tftestsuite,vc_tftestcase,vc_tftestcriteria + where vc_tftestsuite.id = vc_tftestcase.testsuiteref + and + vc_tftestcase.id = vc_tftestcriteria.testcaseref + and + vc_tftestcriteria.id = testsuiteid; + + if + lockstate != 0 + then + RAISE EXCEPTION '%', 'Test Suite locked' USING ERRCODE = '45100'; + end if; + + END; +IF TG_OP = 'DELETE' THEN + RETURN OLD; +ELSE + RETURN NEW; +END IF; + +END +$BODY$ + LANGUAGE 'plpgsql' SECURITY DEFINER; +-- REVOKE ALL ON FUNCTION trigger_fct_trslt_lock_trig() FROM PUBLIC; + +CREATE TRIGGER trslt_lock_trig + BEFORE INSERT OR UPDATE OR DELETE ON vc_tftestresult + FOR EACH ROW + EXECUTE PROCEDURE trigger_fct_trslt_lock_trig(); + diff --git a/docker/database/migration/migv1/schema/triggers/TS_LOCK_TRIG_trigger.sql b/docker/database/migration/migv1/schema/triggers/TS_LOCK_TRIG_trigger.sql new file mode 100644 index 0000000000..c9a81fd5b3 --- /dev/null +++ b/docker/database/migration/migv1/schema/triggers/TS_LOCK_TRIG_trigger.sql @@ -0,0 +1,38 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +DROP TRIGGER IF EXISTS ts_lock_trig ON vc_tftestsuite CASCADE; +CREATE OR REPLACE FUNCTION trigger_fct_ts_lock_trig() RETURNS trigger AS $BODY$ +DECLARE +lockState bigint; +BEGIN + BEGIN + + if OLD.islocked != 0 + then + RAISE EXCEPTION '%', 'Test Suite ' || OLD.tsversion || ' locked' USING ERRCODE = '45100'; + end if; + + END; +IF TG_OP = 'DELETE' THEN + RETURN OLD; +ELSE + RETURN NEW; +END IF; + +END +$BODY$ + LANGUAGE 'plpgsql' SECURITY DEFINER; +-- REVOKE ALL ON FUNCTION trigger_fct_ts_lock_trig() FROM PUBLIC; + +CREATE TRIGGER ts_lock_trig + BEFORE UPDATE OR DELETE ON vc_tftestsuite + FOR EACH ROW + EXECUTE PROCEDURE trigger_fct_ts_lock_trig(); + diff --git a/docker/database/migration/migv1/schema/triggers/UPDATE_LOGIN_trigger.sql b/docker/database/migration/migv1/schema/triggers/UPDATE_LOGIN_trigger.sql new file mode 100644 index 0000000000..015082bf58 --- /dev/null +++ b/docker/database/migration/migv1/schema/triggers/UPDATE_LOGIN_trigger.sql @@ -0,0 +1,28 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +DROP TRIGGER IF EXISTS update_login ON vc_userlogininfo CASCADE; +CREATE OR REPLACE FUNCTION trigger_fct_update_login() RETURNS trigger AS $BODY$ +declare developer bigint; +BEGIN + select count(1) into STRICT developer from vc_developer where id = NEW.userref; + -- if id not in developer table, then add login entry + if developer = 0 then + insert into VC_LOGIN values (NEW.userref,NEW.lastlogin,NEW.serververs); + end if; +RETURN NEW; +end +$BODY$ + LANGUAGE 'plpgsql' SECURITY DEFINER; +-- REVOKE ALL ON FUNCTION trigger_fct_update_login() FROM PUBLIC; + +CREATE TRIGGER update_login + AFTER INSERT OR UPDATE ON vc_userlogininfo FOR EACH ROW + EXECUTE PROCEDURE trigger_fct_update_login(); + diff --git a/docker/database/migration/migv1/schema/triggers/WEB_DOWNLOAD_EVENT_TRG_trigger.sql b/docker/database/migration/migv1/schema/triggers/WEB_DOWNLOAD_EVENT_TRG_trigger.sql new file mode 100644 index 0000000000..b4d29ed278 --- /dev/null +++ b/docker/database/migration/migv1/schema/triggers/WEB_DOWNLOAD_EVENT_TRG_trigger.sql @@ -0,0 +1,26 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +DROP TRIGGER IF EXISTS web_download_event_trg ON web_download_event CASCADE; +CREATE OR REPLACE FUNCTION trigger_fct_web_download_event_trg() RETURNS trigger AS $BODY$ +BEGIN + <> + BEGIN + SELECT nextval('web_download_event_seq') INTO STRICT NEW.ID; + END; +RETURN NEW; +END +$BODY$ + LANGUAGE 'plpgsql' SECURITY DEFINER; +-- REVOKE ALL ON FUNCTION trigger_fct_web_download_event_trg() FROM PUBLIC; + +CREATE TRIGGER web_download_event_trg + BEFORE INSERT ON web_download_event FOR EACH ROW + EXECUTE PROCEDURE trigger_fct_web_download_event_trg(); + diff --git a/docker/database/migration/migv1/schema/triggers/trigger.sql b/docker/database/migration/migv1/schema/triggers/trigger.sql new file mode 100644 index 0000000000..60e4b338da --- /dev/null +++ b/docker/database/migration/migv1/schema/triggers/trigger.sql @@ -0,0 +1,15 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +\i /base/schema/triggers/TCRIT_LOCK_TRIG_trigger.sql +\i /base/schema/triggers/TC_LOCK_TRIG_trigger.sql +\i /base/schema/triggers/TRSLT_LOCK_TRIG_trigger.sql +\i /base/schema/triggers/TS_LOCK_TRIG_trigger.sql +\i /base/schema/triggers/UPDATE_LOGIN_trigger.sql +\i /base/schema/triggers/WEB_DOWNLOAD_EVENT_TRG_trigger.sql diff --git a/docker/database/migration/migv1/schema/views/PUBLIC_SIMULATIONS_view.sql b/docker/database/migration/migv1/schema/views/PUBLIC_SIMULATIONS_view.sql new file mode 100644 index 0000000000..75b016f3d8 --- /dev/null +++ b/docker/database/migration/migv1/schema/views/PUBLIC_SIMULATIONS_view.sql @@ -0,0 +1,16 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +CREATE OR REPLACE VIEW public_simulations (biomodel_public_simulations, math_public_simulations, total_public_simulations) AS (select (SELECT COUNT(*) FROM VC_SIMULATION WHERE VC_SIMULATION.ID IN (SELECT DISTINCT VC_SIMULATION.ID FROM VC_BIOMODEL, VC_SIMULATION, VC_BIOMODELSIM WHERE VC_SIMULATION.ID = VC_BIOMODELSIM.simref AND VC_BIOMODEL.ID = VC_BIOMODELSIM.biomodelref AND vc_biomodel.privacy = 0)) biomodel_public_simulations, +(SELECT COUNT(*) FROM VC_SIMULATION WHERE VC_SIMULATION.ID IN (SELECT DISTINCT VC_SIMULATION.ID FROM VC_MATHMODEL, VC_SIMULATION, VC_MATHMODELSIM WHERE VC_SIMULATION.ID = VC_MATHMODELSIM.simref AND VC_MATHMODEL.ID = VC_MATHMODELSIM.mathmodelref AND VC_MATHMODEL.privacy = 0)) math_public_simulations, +(SELECT COUNT(*) FROM VC_SIMULATION WHERE VC_SIMULATION.ID IN (SELECT DISTINCT VC_SIMULATION.ID FROM VC_BIOMODEL, VC_SIMULATION, VC_BIOMODELSIM WHERE VC_SIMULATION.ID = VC_BIOMODELSIM.simref AND VC_BIOMODEL.ID = VC_BIOMODELSIM.biomodelref AND vc_biomodel.privacy = 0)) ++ (SELECT COUNT(*) FROM VC_SIMULATION WHERE VC_SIMULATION.ID IN (SELECT DISTINCT VC_SIMULATION.ID FROM VC_MATHMODEL, VC_SIMULATION, VC_MATHMODELSIM WHERE VC_SIMULATION.ID = VC_MATHMODELSIM.simref AND VC_MATHMODEL.ID = VC_MATHMODELSIM.mathmodelref AND VC_MATHMODEL.privacy = 0)) total_public_simulations +) +; + diff --git a/docker/database/migration/migv1/schema/views/STAT_TOTAL_MODELS_view.sql b/docker/database/migration/migv1/schema/views/STAT_TOTAL_MODELS_view.sql new file mode 100644 index 0000000000..ed7105f040 --- /dev/null +++ b/docker/database/migration/migv1/schema/views/STAT_TOTAL_MODELS_view.sql @@ -0,0 +1,18 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +CREATE OR REPLACE VIEW stat_total_models (bio_models, math_models, total_models, bio_models_public, math_models_public, total_public_models) AS (select (select count(*) FROM vcell.vc_biomodel) bio_models, +(select count(*) from vcell.vc_mathmodel) math_models, +(select count(*) from vcell.vc_biomodel) + (select count(*) from vcell.vc_mathmodel) total_models , +(select count(*) from vcell.vc_biomodel where privacy=0) bio_models_public, +(select count(*) from vcell.vc_mathmodel where privacy=0) math_models_public, +(select count(*) from vcell.vc_biomodel where privacy=0) + (select count(*) from vcell.vc_mathmodel where privacy=0) total_public_models +) +; + diff --git a/docker/database/migration/migv1/schema/views/STAT_USERS_WITH_SIMULATION_view.sql b/docker/database/migration/migv1/schema/views/STAT_USERS_WITH_SIMULATION_view.sql new file mode 100644 index 0000000000..13da640155 --- /dev/null +++ b/docker/database/migration/migv1/schema/views/STAT_USERS_WITH_SIMULATION_view.sql @@ -0,0 +1,17 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +CREATE OR REPLACE VIEW stat_users_with_simulation (nusers) AS (SELECT count(distinct VC_USERINFO.USERID) nusers +FROM VC_SIMULATIONJOB +INNER JOIN VC_SIMULATION +ON VC_SIMULATION.ID = VC_SIMULATIONJOB.SIMREF +INNER JOIN VC_USERINFO +ON VC_USERINFO.ID = VC_SIMULATION.OWNERREF) +; + diff --git a/docker/database/migration/migv1/schema/views/view.sql b/docker/database/migration/migv1/schema/views/view.sql new file mode 100644 index 0000000000..50af9786f2 --- /dev/null +++ b/docker/database/migration/migv1/schema/views/view.sql @@ -0,0 +1,13 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +\i '/base/schema/views/STAT_USERS_WITH_SIMULATION_view.sql' +\i '/base/schema/views/PUBLIC_SIMULATIONS_view.sql' +\i '/base/schema/views/STAT_TOTAL_MODELS_view.sql' + diff --git a/docker/database/migration/migv1/sources/functions/COMPAREKINETICS_function.sql b/docker/database/migration/migv1/sources/functions/COMPAREKINETICS_function.sql new file mode 100644 index 0000000000..bb54967132 --- /dev/null +++ b/docker/database/migration/migv1/sources/functions/COMPAREKINETICS_function.sql @@ -0,0 +1,26 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +function compareKinetics(rsKey1 NUMBER, rsKey2 NUMBER) return INTEGER as + kineticsCLOB1 CLOB; + kineticsCLOB2 CLOB; + returncode INTEGER; +BEGIN + SELECT kinetics INTO kineticsCLOB1 FROM vc_reactstep WHERE id = rsKey1; + dbms_lob.open(kineticsCLOB1, dbms_lob.lob_readonly); + SELECT kinetics INTO kineticsCLOB2 FROM vc_reactstep WHERE id = rsKey2; + dbms_lob.open(kineticsCLOB2, dbms_lob.lob_readonly); + returnCode := dbms_lob.compare(kineticsCLOB1, kineticsCLOB2); + dbms_lob.close(kineticsCLOB1); + dbms_lob.close(kineticsCLOB2); + return returnCode; +END; + + + diff --git a/docker/database/migration/migv1/sources/functions/COUNTBIO_function.sql b/docker/database/migration/migv1/sources/functions/COUNTBIO_function.sql new file mode 100644 index 0000000000..ff8a5d7b9f --- /dev/null +++ b/docker/database/migration/migv1/sources/functions/COUNTBIO_function.sql @@ -0,0 +1,20 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +function countBio(userkey integer) +return integer is +bioModelCount integer; +BEGIN + select count(*) into bioModelCount from vc_biomodel where vc_biomodel.ownerref = userkey; + return (bioModelCount); +END countBio; + + + + diff --git a/docker/database/migration/migv1/sources/functions/COUNTMATH_function.sql b/docker/database/migration/migv1/sources/functions/COUNTMATH_function.sql new file mode 100644 index 0000000000..e89cbd6765 --- /dev/null +++ b/docker/database/migration/migv1/sources/functions/COUNTMATH_function.sql @@ -0,0 +1,21 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +function countMath(userkey integer) +return integer is +mathModelCount integer; +BEGIN + select count(*) into mathModelCount from vc_mathmodel where vc_mathmodel.ownerref = userkey; + return (mathModelCount); +END countMath; + + + + + diff --git a/docker/database/migration/migv1/sources/functions/COUNTSIMDATA_function.sql b/docker/database/migration/migv1/sources/functions/COUNTSIMDATA_function.sql new file mode 100644 index 0000000000..b244b95813 --- /dev/null +++ b/docker/database/migration/migv1/sources/functions/COUNTSIMDATA_function.sql @@ -0,0 +1,23 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +function countSimData(userkey integer) +return integer is +simDataCount integer; +BEGIN + select count(*) into simDataCount from vc_simulation, vc_rsetMetaData + where vc_simulation.ownerref = userkey + and vc_simulation.id = vc_rsetMetaData.simref; + return (simDataCount); +END countSimData; + + + + + diff --git a/docker/database/migration/migv1/sources/functions/COUNTSIM_function.sql b/docker/database/migration/migv1/sources/functions/COUNTSIM_function.sql new file mode 100644 index 0000000000..369e3db29a --- /dev/null +++ b/docker/database/migration/migv1/sources/functions/COUNTSIM_function.sql @@ -0,0 +1,23 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +function countSim(userkey integer) +return integer is +simCount integer; +BEGIN + select count(*) into simCount from vc_simulation where vc_simulation.ownerref = userkey; + return (simCount); +END countSim; + + + + + + + diff --git a/docker/database/migration/migv1/sources/functions/GETKINETICS_function.sql b/docker/database/migration/migv1/sources/functions/GETKINETICS_function.sql new file mode 100644 index 0000000000..f96f82bbaa --- /dev/null +++ b/docker/database/migration/migv1/sources/functions/GETKINETICS_function.sql @@ -0,0 +1,25 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +function getKinetics(rsKey NUMBER, amt BINARY_INTEGER) return varchar2 as + kineticsCLOB CLOB; + pos INTEGER; + buf VARCHAR(32767); +BEGIN + SELECT kinetics INTO kineticsCLOB FROM vc_reactstep WHERE id = rsKey; + dbms_lob.open(kineticsCLOB, dbms_lob.lob_readonly); + pos := 1; + buf := ''; + buf := dbms_lob.substr(kineticsCLOB, amt, pos); + dbms_lob.close(kineticsCLOB); + return buf; +END; + + + diff --git a/docker/database/migration/migv1/sources/functions/GETMATHSIZE_function.sql b/docker/database/migration/migv1/sources/functions/GETMATHSIZE_function.sql new file mode 100644 index 0000000000..d6f4e6b940 --- /dev/null +++ b/docker/database/migration/migv1/sources/functions/GETMATHSIZE_function.sql @@ -0,0 +1,20 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +function getMathSize(mathKey NUMBER) return INTEGER as + mathCLOB CLOB; + amount INTEGER; +BEGIN + SELECT language INTO mathCLOB FROM vc_math WHERE id = mathKey; + amount := DBMS_LOB.GETLENGTH(mathCLOB); + return amount; +END; + + + diff --git a/docker/database/migration/migv1/sources/functions/GETMATH_function.sql b/docker/database/migration/migv1/sources/functions/GETMATH_function.sql new file mode 100644 index 0000000000..7bec117b09 --- /dev/null +++ b/docker/database/migration/migv1/sources/functions/GETMATH_function.sql @@ -0,0 +1,23 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +function getMath(mathKey NUMBER, pos INTEGER, amt BINARY_INTEGER) return varchar2 as + mathCLOB CLOB; + buf VARCHAR(32767); +BEGIN + SELECT language INTO mathCLOB FROM vc_math WHERE id = mathKey; + dbms_lob.open(mathCLOB, dbms_lob.lob_readonly); + buf := ''; + buf := dbms_lob.substr(mathCLOB, amt, pos); + dbms_lob.close(mathCLOB); + return buf; +END; + + + diff --git a/docker/database/migration/migv1/sources/functions/GETPHYSICSOPTION_function.sql b/docker/database/migration/migv1/sources/functions/GETPHYSICSOPTION_function.sql new file mode 100644 index 0000000000..b4377971a1 --- /dev/null +++ b/docker/database/migration/migv1/sources/functions/GETPHYSICSOPTION_function.sql @@ -0,0 +1,33 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +function getPhysicsOption(valence integer, kineticDesc varchar2) return integer as + physicsOptions integer; + isElectrical integer := 0; + choice_MOLECULAR_ONLY integer := 0; + choice_BOTH integer := 1; + choice_ELECTRICAL_ONLY integer := 2; +BEGIN + IF (instr(kineticDesc,'GHK')<>0 OR instr(kineticDesc,'Nernst')<>0 OR instr(kineticDesc,'GenCurr')<>0) THEN + isElectrical := 1; + END IF; + + IF (valence <> 0) THEN + return choice_BOTH; + END IF; + + IF (isElectrical = 0) THEN + return choice_MOLECULAR_ONLY; + ELSE + return choice_ELECTRICAL_ONLY; + END IF; +END; + + + diff --git a/docker/database/migration/migv1/sources/functions/GETTASKDESCRIPTION_function.sql b/docker/database/migration/migv1/sources/functions/GETTASKDESCRIPTION_function.sql new file mode 100644 index 0000000000..238ff536e2 --- /dev/null +++ b/docker/database/migration/migv1/sources/functions/GETTASKDESCRIPTION_function.sql @@ -0,0 +1,25 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +function getTaskDescription(simKey NUMBER, amt BINARY_INTEGER) return varchar2 as + dataCLOB CLOB; + pos INTEGER; + buf VARCHAR(32767); +BEGIN + SELECT data INTO dataCLOB FROM vc_taskdesc WHERE id = simKey; + dbms_lob.open(dataCLOB, dbms_lob.lob_readonly); + pos := 1; + buf := ''; + buf := dbms_lob.substr(dataCLOB, amt, pos); + dbms_lob.close(dataCLOB); + return buf; +END; + + + diff --git a/docker/database/migration/migv1/sources/functions/GETVALENCETYPE_function.sql b/docker/database/migration/migv1/sources/functions/GETVALENCETYPE_function.sql new file mode 100644 index 0000000000..346126a184 --- /dev/null +++ b/docker/database/migration/migv1/sources/functions/GETVALENCETYPE_function.sql @@ -0,0 +1,26 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +function getValenceType(valence varchar2) return varchar2 as + answer VARCHAR(8); +BEGIN + IF (valence is null) THEN + answer := 'null'; + ELSE + IF (valence = '0') THEN + answer := 'zero'; + ELSE + answer := 'nonzero'; + END IF; + END IF; + return answer; +END; + + + diff --git a/docker/database/migration/migv1/sources/functions/POWERFACTOR_function.sql b/docker/database/migration/migv1/sources/functions/POWERFACTOR_function.sql new file mode 100644 index 0000000000..83a7f0247d --- /dev/null +++ b/docker/database/migration/migv1/sources/functions/POWERFACTOR_function.sql @@ -0,0 +1,25 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +function powerFactor(userkey integer) +return integer is +simDataCount integer; +mathCount integer; +bioCount integer; +BEGIN + simDataCount := countSimData(userkey); + mathCount := countMath(userkey); + bioCount := countBio(userkey); + return (bioCount + mathCount + simDataCount); +END powerFactor; + + + + + diff --git a/docker/database/migration/migv1/sources/functions/function.sql b/docker/database/migration/migv1/sources/functions/function.sql new file mode 100644 index 0000000000..31ecda5328 --- /dev/null +++ b/docker/database/migration/migv1/sources/functions/function.sql @@ -0,0 +1,21 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +\i /base/sources/functions/COMPAREKINETICS_function.sql +\i /base/sources/functions/COUNTBIO_function.sql +\i /base/sources/functions/COUNTMATH_function.sql +\i /base/sources/functions/COUNTSIM_function.sql +\i /base/sources/functions/COUNTSIMDATA_function.sql +\i /base/sources/functions/GETKINETICS_function.sql +\i /base/sources/functions/GETMATH_function.sql +\i /base/sources/functions/GETMATHSIZE_function.sql +\i /base/sources/functions/GETPHYSICSOPTION_function.sql +\i /base/sources/functions/GETTASKDESCRIPTION_function.sql +\i /base/sources/functions/GETVALENCETYPE_function.sql +\i /base/sources/functions/POWERFACTOR_function.sql diff --git a/docker/database/migration/migv1/sources/packages/package.sql b/docker/database/migration/migv1/sources/packages/package.sql new file mode 100644 index 0000000000..58179f1dd1 --- /dev/null +++ b/docker/database/migration/migv1/sources/packages/package.sql @@ -0,0 +1,16 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + + + +-- Oracle package 'TOAD_PROFILER' declaration, please edit to match PostgreSQL syntax. +\i /base/sources/packages/toad_profiler_package.sql + +-- End of Oracle package 'TOAD_PROFILER' declaration + diff --git a/docker/database/migration/migv1/sources/packages/toad_profiler_package.sql b/docker/database/migration/migv1/sources/packages/toad_profiler_package.sql new file mode 100644 index 0000000000..d6653aa738 --- /dev/null +++ b/docker/database/migration/migv1/sources/packages/toad_profiler_package.sql @@ -0,0 +1,191 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +CREATE OR REPLACE PACKAGE toad_profiler is + procedure rollup_unit(run_number IN number, UnitNumber IN number, + UnitType IN varchar2, UnitOwner IN varchar2, UnitName IN varchar2); + procedure rollup_run(run_number IN number); + procedure rollup_all_runs; +end toad_profiler; + + + + +CREATE OR REPLACE PACKAGE BODY toad_profiler is + -- compute the total time spent executing this unit - the sum of the + -- time spent executing lines in this unit (for this run) + + procedure rollup_unit(run_number IN number, UnitNumber IN number, + UnitType IN varchar2, UnitOwner IN varchar2, UnitName IN varchar2) is + + TYPE TSourceTable IS TABLE OF VARCHAR2(4000) INDEX BY BINARY_INTEGER; + SourceTable TSourceTable; + TriggerBody long; + FoundTriggerSource boolean; + Cnt number; + LnStart number; + LnEnd number; + Pos number; + vText varchar2(4000); + IsWrapped boolean; + TotalTime number; + + -- Select the lines for the unit to find source code + cursor cLines(run_number number, UnitNumber number) is + select line# from plsql_profiler_data + where runid = run_number and unit_number = UnitNumber; + begin + select sum(total_time) into TotalTime + from plsql_profiler_data + where runid = run_number and unit_number = UnitNumber; + + if TotalTime IS NULL then + TotalTime := 0; + end if; + + update plsql_profiler_units set total_time = TotalTime + where runid = run_number and unit_number = UnitNumber; + + -- Get trigger source into index-by table + if UnitType = 'TRIGGER' then + begin + FoundTriggerSource := True; + select trigger_body into TriggerBody + from all_triggers where owner = UnitOwner and trigger_name = UnitName; + exception + when NO_DATA_FOUND then + FoundTriggerSource := False; + end; + + if FoundTriggerSource then + Cnt := 1; + LnStart := 1; + + loop + LnEnd := INSTR(TriggerBody, CHR(10), 1, Cnt); + + if (LnEnd = 0) then + SourceTable(Cnt) := SubStr(TriggerBody, LnStart); + else + SourceTable(Cnt) := Substr(TriggerBody, LnStart, (LnEnd-LnStart)); + end if; + + LnStart := LnStart + (LnEnd-LnStart)+1; + Cnt := Cnt+1; + + exit when (lnEnd = 0); + end loop; + end if; + -- see if the code is wrapped + else + begin + select upper(text) into vtext from all_source s + where s.type = UnitType and s.owner = UnitOwner and + s.name = UnitName and s.line = 1; + IsWrapped := (INSTR(vText, ' WRAPPED') > 0); + exception + when NO_DATA_FOUND then + IsWrapped := False; + end; + end if; + + -- Get the source for each line in unit + Cnt := 1; + for linerec in cLines(run_number, UnitNumber) loop + if UnitType = 'TRIGGER' then + if FoundTriggerSource then + vText := SourceTable(linerec.line#); + else + if Cnt = 1 then + vText := ''; + else + vText := null; + end if; + end if; + else + if IsWrapped then + if Cnt = 1 then + vText := ''; + else + vText := null; + end if; + else + begin + select text into vtext from all_source s + where s.type = UnitType and s.owner = UnitOwner and + s.name = UnitName and s.line = linerec.line#; + exception + when NO_DATA_FOUND then + vText := null; + end; + end if; + end if; + -- store the source line + update plsql_profiler_data d set d.text = vText + where d.runid = run_number and d.unit_number = UnitNumber and + d.line# = linerec.line#; + Cnt := Cnt+1; + end loop; + end rollup_unit; + + + + -- rollup all units for the given run + procedure rollup_run(run_number IN number) is + tabpos number; + comment varchar2(2047); + proc varchar2(256); + -- + -- only select those units which have not been rolled up yet + cursor cunits(run_number number) is + select unit_number, unit_type, unit_owner, unit_name + from plsql_profiler_units + where runid = run_number and total_time = 0 + order by unit_number asc; + begin + -- Fix Oracle's calling a 'PACKAGE' a 'PACKAGE SPEC' + update plsql_profiler_units set unit_type = 'PACKAGE' + where runid = run_number and unit_type like 'PACKAGE SPEC%'; + + -- parse the RUN_COMMENT column to get the procedure name + -- (note: this replaces the BI_PLSQL_PROFILER_RUNS trigger. + select run_proc, run_comment into proc, comment + from plsql_profiler_runs where runid = run_number; + if proc is null then + tabpos := INSTR(comment, CHR(8)); + if tabpos > 0 THEN + proc := SUBSTR(comment, tabpos+1); + comment := SUBSTR(comment, 1, tabpos-1); + else + proc := 'ANONYMOUS BLOCK'; + end if; + update plsql_profiler_runs + set run_owner = USER, run_proc = proc, run_comment = comment + where runid = run_number; + end if; + + + for unitrec in cunits(run_number) loop + rollup_unit(run_number, unitrec.unit_number, unitrec.unit_type, + unitrec.unit_owner, unitrec.unit_name); + end loop; + end rollup_run; + + + -- rollup all runs + procedure rollup_all_runs is + cursor crunid is + select runid from plsql_profiler_runs order by runid asc; + begin + for runidrec in crunid loop + rollup_run(runidrec.runid); + end loop crunid; + commit; + end rollup_all_runs; +end toad_profiler; diff --git a/docker/database/migration/migv1/sources/procedures/COPYNEWMATH_TO_SCMATH_procedure.sql b/docker/database/migration/migv1/sources/procedures/COPYNEWMATH_TO_SCMATH_procedure.sql new file mode 100644 index 0000000000..0232ef9bec --- /dev/null +++ b/docker/database/migration/migv1/sources/procedures/COPYNEWMATH_TO_SCMATH_procedure.sql @@ -0,0 +1,35 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +procedure copyNewMath_To_SCMath(simContextKey NUMBER) as + scMathCLOB CLOB; + newMathCLOB CLOB; + amount INTEGER := 1000; + srcOffset INTEGER := 1; + dstOffset INTEGER := 1; +BEGIN + SELECT vc_math.language INTO scMathCLOB + FROM vc_math, vc_simcontext + WHERE vc_math.id = vc_simcontext.mathref + AND vc_simcontext.id = simcontextkey FOR UPDATE OF vc_math.language; + SELECT vc_simcontextstat.newMath INTO newMathCLOB + FROM vc_simcontextstat + WHERE vc_simcontextstat.simcontextref = simcontextkey; + amount := DBMS_LOB.GETLENGTH(newMathCLOB); + DBMS_LOB.COPY(scMathCLOB, newMathCLOB, amount, dstOffset, srcOffset); + UPDATE vc_simcontextstat set vc_simcontextstat.updatedMath = 1 + WHERE vc_simcontextstat.simcontextref = simContextKey; + commit; +EXCEPTION + WHEN NO_DATA_FOUND THEN + DBMS_OUTPUT.PUT_LINE('no data found for simContext '||simcontextkey); +END; + + + diff --git a/docker/database/migration/migv1/sources/procedures/COPYOLDMATH_TO_SCMATH_procedure.sql b/docker/database/migration/migv1/sources/procedures/COPYOLDMATH_TO_SCMATH_procedure.sql new file mode 100644 index 0000000000..f2944cac12 --- /dev/null +++ b/docker/database/migration/migv1/sources/procedures/COPYOLDMATH_TO_SCMATH_procedure.sql @@ -0,0 +1,35 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +procedure copyOldMath_To_SCMath(simContextKey NUMBER) as + scMathCLOB CLOB; + oldMathCLOB CLOB; + amount INTEGER := 1000; + srcOffset INTEGER := 1; + dstOffset INTEGER := 1; +BEGIN + SELECT vc_math.language INTO scMathCLOB + FROM vc_math, vc_simcontext + WHERE vc_math.id = vc_simcontext.mathref + AND vc_simcontext.id = simcontextkey FOR UPDATE OF vc_math.language; + SELECT vc_simcontextstat.oldMath INTO oldMathCLOB + FROM vc_simcontextstat + WHERE vc_simcontextstat.simcontextref = simcontextkey; + amount := DBMS_LOB.GETLENGTH(oldMathCLOB); + DBMS_LOB.COPY(scMathCLOB, oldMathCLOB, amount, dstOffset, srcOffset); + UPDATE vc_simcontextstat set vc_simcontextstat.updatedMath = 0 + WHERE vc_simcontextstat.simcontextref = simContextKey; + commit; +EXCEPTION + WHEN NO_DATA_FOUND THEN + DBMS_OUTPUT.PUT_LINE('no data found for simContext '||simcontextkey); +END; + + + diff --git a/docker/database/migration/migv1/sources/procedures/COPYSCMATH_TO_OLDMATH_procedure.sql b/docker/database/migration/migv1/sources/procedures/COPYSCMATH_TO_OLDMATH_procedure.sql new file mode 100644 index 0000000000..791558ebae --- /dev/null +++ b/docker/database/migration/migv1/sources/procedures/COPYSCMATH_TO_OLDMATH_procedure.sql @@ -0,0 +1,34 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +procedure copySCMath_To_OldMath(simContextKey NUMBER) as + scMathCLOB CLOB; + oldMathCLOB CLOB; + amount INTEGER := 1000; + srcOffset INTEGER := 1; + dstOffset INTEGER := 1; +BEGIN + SELECT vc_math.language INTO scMathCLOB + FROM vc_math, vc_simcontext + WHERE vc_math.id = vc_simcontext.mathref + AND vc_simcontext.id = simcontextkey; + UPDATE vc_simcontextstat set oldMath = EMPTY_CLOB() WHERE oldMath IS NULL AND simcontextref = simcontextKey; + SELECT vc_simcontextstat.oldMath INTO oldMathCLOB + FROM vc_simcontextstat + WHERE vc_simcontextstat.simcontextref = simcontextkey FOR UPDATE of vc_simcontextstat.oldMath; + amount := DBMS_LOB.GETLENGTH(scMathCLOB); + DBMS_LOB.COPY(oldMathCLOB, scMathCLOB, amount, dstOffset, srcOffset); + commit; +EXCEPTION + WHEN NO_DATA_FOUND THEN + DBMS_OUTPUT.PUT_LINE('no data found for simContext '||simcontextkey); +END; + + + diff --git a/docker/database/migration/migv1/sources/procedures/procedure.sql b/docker/database/migration/migv1/sources/procedures/procedure.sql new file mode 100644 index 0000000000..34419f1d55 --- /dev/null +++ b/docker/database/migration/migv1/sources/procedures/procedure.sql @@ -0,0 +1,12 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +\i /base/sources/procedures/COPYNEWMATH_TO_SCMATH_procedure.sql +\i /base/sources/procedures/COPYOLDMATH_TO_SCMATH_procedure.sql +\i /base/sources/procedures/COPYSCMATH_TO_OLDMATH_procedure.sql diff --git a/docker/database/migration/migv1/sources/triggers/TCRIT_LOCK_TRIG_trigger.sql b/docker/database/migration/migv1/sources/triggers/TCRIT_LOCK_TRIG_trigger.sql new file mode 100644 index 0000000000..c2c2f5ec2a --- /dev/null +++ b/docker/database/migration/migv1/sources/triggers/TCRIT_LOCK_TRIG_trigger.sql @@ -0,0 +1,48 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +DROP TRIGGER IF EXISTS tcrit_lock_trig ON vc_tftestcriteria CASCADE; +CREATE OR REPLACE FUNCTION trigger_fct_tcrit_lock_trig() RETURNS trigger AS $BODY$ +DECLARE +PRAGMA AUTONOMOUS_TRANSACTION; +testcaseid NUMBER; +lockState NUMBER; +BEGIN + +IF INSERTING THEN +testcaseid :=:NEW.testcaseref; +ELSIF UPDATING THEN +testcaseid :=:OLD.testcaseref; +ELSIF DELETING THEN +testcaseid :=:OLD.testcaseref; +END IF; + + select vc_tftestsuite.islocked + into lockstate + from vc_tftestsuite,vc_tftestcase + where vc_tftestsuite.id = vc_tftestcase.testsuiteref + and + vc_tftestcase.id = testcaseid; + + if + lockstate != 0 + then + raise_application_error(-20100,'Test Suite locked',true); + end if; + +END +$BODY$ + LANGUAGE 'plpgsql' SECURITY DEFINER; +-- REVOKE ALL ON FUNCTION trigger_fct_tcrit_lock_trig() FROM PUBLIC; + +CREATE TRIGGER tcrit_lock_trig + BEFORE INSERT OR UPDATE OR DELETE ON vc_tftestcriteria + FOR EACH ROW + EXECUTE PROCEDURE trigger_fct_tcrit_lock_trig(); + diff --git a/docker/database/migration/migv1/sources/triggers/TC_LOCK_TRIG_trigger.sql b/docker/database/migration/migv1/sources/triggers/TC_LOCK_TRIG_trigger.sql new file mode 100644 index 0000000000..a621944a42 --- /dev/null +++ b/docker/database/migration/migv1/sources/triggers/TC_LOCK_TRIG_trigger.sql @@ -0,0 +1,46 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +DROP TRIGGER IF EXISTS tc_lock_trig ON vc_tftestcase CASCADE; +CREATE OR REPLACE FUNCTION trigger_fct_tc_lock_trig() RETURNS trigger AS $BODY$ +DECLARE +PRAGMA AUTONOMOUS_TRANSACTION; +testsuiteid NUMBER; +lockState NUMBER; +BEGIN + +IF INSERTING THEN +testsuiteid :=:NEW.testsuiteref; +ELSIF UPDATING THEN +testsuiteid :=:OLD.testsuiteref; +ELSIF DELETING THEN +testsuiteid :=:OLD.testsuiteref; +END IF; + + select vc_tftestsuite.islocked + into lockstate + from vc_tftestsuite + where vc_tftestsuite.id = testsuiteid; + + if + lockstate != 0 + then + raise_application_error(-20100,'Test Suite locked',true); + end if; + +END +$BODY$ + LANGUAGE 'plpgsql' SECURITY DEFINER; +-- REVOKE ALL ON FUNCTION trigger_fct_tc_lock_trig() FROM PUBLIC; + +CREATE TRIGGER tc_lock_trig + BEFORE INSERT OR UPDATE OR DELETE ON vc_tftestcase + FOR EACH ROW + EXECUTE PROCEDURE trigger_fct_tc_lock_trig(); + diff --git a/docker/database/migration/migv1/sources/triggers/TRSLT_LOCK_TRIG_trigger.sql b/docker/database/migration/migv1/sources/triggers/TRSLT_LOCK_TRIG_trigger.sql new file mode 100644 index 0000000000..356ad393e9 --- /dev/null +++ b/docker/database/migration/migv1/sources/triggers/TRSLT_LOCK_TRIG_trigger.sql @@ -0,0 +1,50 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +DROP TRIGGER IF EXISTS trslt_lock_trig ON vc_tftestresult CASCADE; +CREATE OR REPLACE FUNCTION trigger_fct_trslt_lock_trig() RETURNS trigger AS $BODY$ +DECLARE +PRAGMA AUTONOMOUS_TRANSACTION; +testsuiteid NUMBER; +lockState NUMBER; +BEGIN + +IF INSERTING THEN +testsuiteid :=:NEW.testcriteriaref; +ELSIF UPDATING THEN +testsuiteid :=:OLD.testcriteriaref; +ELSIF DELETING THEN +testsuiteid :=:OLD.testcriteriaref; +END IF; + + select vc_tftestsuite.islocked + into lockstate + from vc_tftestsuite,vc_tftestcase,vc_tftestcriteria + where vc_tftestsuite.id = vc_tftestcase.testsuiteref + and + vc_tftestcase.id = vc_tftestcriteria.testcaseref + and + vc_tftestcriteria.id = testsuiteid; + + if + lockstate != 0 + then + raise_application_error(-20100,'Test Suite locked',true); + end if; + +END +$BODY$ + LANGUAGE 'plpgsql' SECURITY DEFINER; +-- REVOKE ALL ON FUNCTION trigger_fct_trslt_lock_trig() FROM PUBLIC; + +CREATE TRIGGER trslt_lock_trig + BEFORE INSERT OR UPDATE OR DELETE ON vc_tftestresult + FOR EACH ROW + EXECUTE PROCEDURE trigger_fct_trslt_lock_trig(); + diff --git a/docker/database/migration/migv1/sources/triggers/TS_LOCK_TRIG_trigger.sql b/docker/database/migration/migv1/sources/triggers/TS_LOCK_TRIG_trigger.sql new file mode 100644 index 0000000000..9fba60623d --- /dev/null +++ b/docker/database/migration/migv1/sources/triggers/TS_LOCK_TRIG_trigger.sql @@ -0,0 +1,30 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +DROP TRIGGER IF EXISTS ts_lock_trig ON vc_tftestsuite CASCADE; +CREATE OR REPLACE FUNCTION trigger_fct_ts_lock_trig() RETURNS trigger AS $BODY$ +DECLARE +lockState NUMBER; +BEGIN + + if :OLD.islocked != 0 + then + raise_application_error(-20100,'Test Suite ' || :OLD.tsversion || ' locked',true); + end if; + +END +$BODY$ + LANGUAGE 'plpgsql' SECURITY DEFINER; +-- REVOKE ALL ON FUNCTION trigger_fct_ts_lock_trig() FROM PUBLIC; + +CREATE TRIGGER ts_lock_trig + BEFORE UPDATE OR DELETE ON vc_tftestsuite + FOR EACH ROW + EXECUTE PROCEDURE trigger_fct_ts_lock_trig(); + diff --git a/docker/database/migration/migv1/sources/triggers/UPDATE_LOGIN_trigger.sql b/docker/database/migration/migv1/sources/triggers/UPDATE_LOGIN_trigger.sql new file mode 100644 index 0000000000..97125e973a --- /dev/null +++ b/docker/database/migration/migv1/sources/triggers/UPDATE_LOGIN_trigger.sql @@ -0,0 +1,27 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +DROP TRIGGER IF EXISTS update_login ON vc_userlogininfo CASCADE; +CREATE OR REPLACE FUNCTION trigger_fct_update_login() RETURNS trigger AS $BODY$ +declare developer number; +begin + select count(1) into developer from vc_developer where id = :new.userref; + -- if id not in developer table, then add login entry + if developer = 0 then + insert into VC_LOGIN values(:new.userref,:new.lastlogin,:new.serververs); + end if; +end +$BODY$ + LANGUAGE 'plpgsql' SECURITY DEFINER; +-- REVOKE ALL ON FUNCTION trigger_fct_update_login() FROM PUBLIC; + +CREATE TRIGGER update_login + AFTER INSERT OR UPDATE ON vc_userlogininfo FOR EACH ROW + EXECUTE PROCEDURE trigger_fct_update_login(); + diff --git a/docker/database/migration/migv1/sources/triggers/WEB_DOWNLOAD_EVENT_TRG_trigger.sql b/docker/database/migration/migv1/sources/triggers/WEB_DOWNLOAD_EVENT_TRG_trigger.sql new file mode 100644 index 0000000000..09d866d8c2 --- /dev/null +++ b/docker/database/migration/migv1/sources/triggers/WEB_DOWNLOAD_EVENT_TRG_trigger.sql @@ -0,0 +1,25 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +DROP TRIGGER IF EXISTS web_download_event_trg ON web_download_event CASCADE; +CREATE OR REPLACE FUNCTION trigger_fct_web_download_event_trg() RETURNS trigger AS $BODY$ +BEGIN + <> + BEGIN + SELECT WEB_DOWNLOAD_EVENT_SEQ.NEXTVAL INTO :NEW.ID FROM DUAL; + END COLUMN_SEQUENCES; +END +$BODY$ + LANGUAGE 'plpgsql' SECURITY DEFINER; +-- REVOKE ALL ON FUNCTION trigger_fct_web_download_event_trg() FROM PUBLIC; + +CREATE TRIGGER web_download_event_trg + BEFORE INSERT ON web_download_event FOR EACH ROW + EXECUTE PROCEDURE trigger_fct_web_download_event_trg(); + diff --git a/docker/database/migration/migv1/sources/triggers/trigger.sql b/docker/database/migration/migv1/sources/triggers/trigger.sql new file mode 100644 index 0000000000..749f3fdb30 --- /dev/null +++ b/docker/database/migration/migv1/sources/triggers/trigger.sql @@ -0,0 +1,15 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +\i /base/sources/triggers/TCRIT_LOCK_TRIG_trigger.sql +\i /base/sources/triggers/TC_LOCK_TRIG_trigger.sql +\i /base/sources/triggers/TRSLT_LOCK_TRIG_trigger.sql +\i /base/sources/triggers/TS_LOCK_TRIG_trigger.sql +\i /base/sources/triggers/UPDATE_LOGIN_trigger.sql +\i /base/sources/triggers/WEB_DOWNLOAD_EVENT_TRG_trigger.sql diff --git a/docker/database/migration/migv1/sources/views/PUBLIC_SIMULATIONS_view.sql b/docker/database/migration/migv1/sources/views/PUBLIC_SIMULATIONS_view.sql new file mode 100644 index 0000000000..cff74e1d6f --- /dev/null +++ b/docker/database/migration/migv1/sources/views/PUBLIC_SIMULATIONS_view.sql @@ -0,0 +1,16 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +CREATE OR REPLACE VIEW public_simulations (biomodel_public_simulations, math_public_simulations, total_public_simulations) AS (select (SELECT COUNT (*) FROM VC_SIMULATION WHERE VC_SIMULATION.ID IN (SELECT DISTINCT VC_SIMULATION.ID FROM VC_BIOMODEL, VC_SIMULATION, VC_BIOMODELSIM WHERE VC_SIMULATION.ID = VC_BIOMODELSIM.simref AND VC_BIOMODEL.ID = VC_BIOMODELSIM.biomodelref AND vc_biomodel.privacy = 0)) biomodel_public_simulations, +(SELECT COUNT (*) FROM VC_SIMULATION WHERE VC_SIMULATION.ID IN (SELECT DISTINCT VC_SIMULATION.ID FROM VC_MATHMODEL, VC_SIMULATION, VC_MATHMODELSIM WHERE VC_SIMULATION.ID = VC_MATHMODELSIM.simref AND VC_MATHMODEL.ID = VC_MATHMODELSIM.mathmodelref AND VC_MATHMODEL.privacy = 0)) math_public_simulations, +(SELECT COUNT (*) FROM VC_SIMULATION WHERE VC_SIMULATION.ID IN (SELECT DISTINCT VC_SIMULATION.ID FROM VC_BIOMODEL, VC_SIMULATION, VC_BIOMODELSIM WHERE VC_SIMULATION.ID = VC_BIOMODELSIM.simref AND VC_BIOMODEL.ID = VC_BIOMODELSIM.biomodelref AND vc_biomodel.privacy = 0)) ++ (SELECT COUNT (*) FROM VC_SIMULATION WHERE VC_SIMULATION.ID IN (SELECT DISTINCT VC_SIMULATION.ID FROM VC_MATHMODEL, VC_SIMULATION, VC_MATHMODELSIM WHERE VC_SIMULATION.ID = VC_MATHMODELSIM.simref AND VC_MATHMODEL.ID = VC_MATHMODELSIM.mathmodelref AND VC_MATHMODEL.privacy = 0)) total_public_simulations +from dual) + ; + diff --git a/docker/database/migration/migv1/sources/views/STAT_TOTAL_MODELS_view.sql b/docker/database/migration/migv1/sources/views/STAT_TOTAL_MODELS_view.sql new file mode 100644 index 0000000000..f258c1c36d --- /dev/null +++ b/docker/database/migration/migv1/sources/views/STAT_TOTAL_MODELS_view.sql @@ -0,0 +1,18 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +CREATE OR REPLACE VIEW stat_total_models (bio_models, math_models, total_models, bio_models_public, math_models_public, total_public_models) AS (select (select count(*) FROM vcell.vc_biomodel) bio_models, +(select count(*) from vcell.vc_mathmodel) math_models, +(select count(*) from vcell.vc_biomodel) + (select count(*) from vcell.vc_mathmodel) total_models , +(select count(*) from vcell.vc_biomodel where privacy=0) bio_models_public, +(select count(*) from vcell.vc_mathmodel where privacy=0) math_models_public, +(select count(*) from vcell.vc_biomodel where privacy=0) + (select count(*) from vcell.vc_mathmodel where privacy=0) total_public_models +from dual) + ; + diff --git a/docker/database/migration/migv1/sources/views/STAT_USERS_WITH_SIMULATION_view.sql b/docker/database/migration/migv1/sources/views/STAT_USERS_WITH_SIMULATION_view.sql new file mode 100644 index 0000000000..4309d2a9e5 --- /dev/null +++ b/docker/database/migration/migv1/sources/views/STAT_USERS_WITH_SIMULATION_view.sql @@ -0,0 +1,17 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +CREATE OR REPLACE VIEW stat_users_with_simulation (nusers) AS (SELECT count(distinct VC_USERINFO.USERID) nusers +FROM VC_SIMULATIONJOB +INNER JOIN VC_SIMULATION +ON VC_SIMULATION.ID = VC_SIMULATIONJOB.SIMREF +INNER JOIN VC_USERINFO +ON VC_USERINFO.ID = VC_SIMULATION.OWNERREF) + ; + diff --git a/docker/database/migration/migv1/sources/views/view.sql b/docker/database/migration/migv1/sources/views/view.sql new file mode 100644 index 0000000000..7e84788167 --- /dev/null +++ b/docker/database/migration/migv1/sources/views/view.sql @@ -0,0 +1,13 @@ +-- Generated by Ora2Pg, the Oracle database Schema converter, version 24.3 +-- Copyright 2000-2024 Gilles DAROLD. All rights reserved. +-- DATASOURCE: dbi:Oracle:host=vcell-oracle.cam.uchc.edu;service_name=ORCLPDB1;port=1521 + +SET client_encoding TO 'UTF8'; + +SET search_path = vcell,public; +\set ON_ERROR_STOP ON + +\i '/base/sources/views/PUBLIC_SIMULATIONS_view.sql' +\i '/base/sources/views/STAT_TOTAL_MODELS_view.sql' +\i '/base/sources/views/STAT_USERS_WITH_SIMULATION_view.sql' + From 3ef5d4c642f66bc76a1e8d74bbe84472d727210b Mon Sep 17 00:00:00 2001 From: jcschaff Date: Sat, 22 Jun 2024 09:27:14 -0400 Subject: [PATCH 7/7] configuration for export from local Oracle --- docker/database/migration/README.md | 83 +- .../migv1/config/disable_triggers.sh | 88 ++ .../migv1/config/ora2pg_filtered.conf | 1400 +++++++++++++++++ .../migv1/config/tables_to_export.txt | 156 +- 4 files changed, 1647 insertions(+), 80 deletions(-) create mode 100644 docker/database/migration/migv1/config/disable_triggers.sh create mode 100644 docker/database/migration/migv1/config/ora2pg_filtered.conf diff --git a/docker/database/migration/README.md b/docker/database/migration/README.md index 5efa1fa0d8..498e128d09 100644 --- a/docker/database/migration/README.md +++ b/docker/database/migration/README.md @@ -1,3 +1,70 @@ +# Migration from Oracle to PostgreSQL + +## Create local snapshot of Oracle database +download ARM64 19c from https://www.oracle.com/database/technologies/oracle19c-linux-arm64-downloads.html +clone Oracle's https://github.com/oracle/docker-images.git +```bash +cd docker-images/OracleDatabase/SingleInstance/dockerfiles +mv LINUX.ARM64_1919000_db_home.zip 19.3.0/ +./buildContainerImage.sh -v 19.3.0 -e +docker tag oracle/database:19.3.0-ee ghcr.io/virtualcell/oracle-database:19.3.0-ee-arm64 +docker push ghcr.io/virtualcell/oracle-database:19.3.0-ee-arm64 +docker run -d --name oracle -e ORACLE_PWD=YourPass321 oracle/database:19.3.0-ee +``` + +```bash +### configure local Oracle using container + +#### specify disk space for Oracle data +```bash +export ORACLE_DATA=/Users/jimschaff/oracle-local/oradata +export ORACLE_BACKUP=/Users/jimschaff/oracle-local/backup +``` + +#### download vcell database backup archive +```bash +export BACKUP_DUMP_FILE=orclpdb1_2024_06_21_05_00_02.dmp.gz +export BACKUP_LOG_FILE=orclpdb1_2024_06_21_05_00_02.log +#scp vcell@vcellapi.cam.uchc.edu:/home/FCAM/vcell/database_backups/$BACKUP_DUMP_FILE ${ORACLE_BACKUP}/$BACKUP_DUMP_FILE +#scp vcell@vcellapi.cam.uchc.edu:/home/FCAM/vcell/database_backups/$BACKUP_LOG_FILE ${ORACLE_BACKUP}/$BACKUP_LOG_FILE +scp host:/path/to/backups/$BACKUP_DUMP_FILE ${ORACLE_BACKUP}/$BACKUP_DUMP_FILE +scp host:/path/to/backups/$BACKUP_LOG_FILE ${ORACLE_BACKUP}/$BACKUP_LOG_FILE +gunzip ${ORACLE_BACKUP}/$BACKUP_FILE + + +``` + +```bash +export LOCAL_ORA_PSWD=tiger +docker run --detach --restart=always \ +--name oracle-database \ +-p 1521:1521 -p 5500:5500 \ +--ulimit nofile=1024:65536 --ulimit nproc=2047:16384 --ulimit stack=10485760:33554432 --ulimit memlock=3221225472 \ +-e ORACLE_SID=ORCLCDB \ +-e ORACLE_PDB=ORCLPDB1 \ +-e ORACLE_PWD=${LOCAL_ORA_PSWD} \ +-e INIT_CPU_COUNT=4 \ +-e ORACLE_EDITION=enterprise \ +-e ENABLE_TCPS=false \ +-e ORACLE_CHARACTERSET=WE8MSWIN1252 \ +-e ENABLE_ARCHIVELOG=true \ +-v ${ORACLE_DATA}:/opt/oracle/oradata \ +-v ${ORACLE_BACKUP}:/opt/oracle/backup \ +ghcr.io/virtualcell/oracle-database:19.3.0-ee-arm64 +``` +check logs +```bash +docker logs -f oracle-database +docker exec -it oracle-database /bin/bash +sqlplus system/tiger@ORCLPDB1 +> create or replace directory EXT_DATA_PUMP_DIR as '/opt/oracle/backup'; +> exit +impdp system/tiger@ORCLPDB1 schemas=vcell \ + table_exists_action=REPLACE directory=EXT_DATA_PUMP_DIR \ + dumpfile=orclpdb1_2024_06_21_05_00_02.dmp \ + logfile=orclpdb1_2024_06_21_05_00_02.log +``` + ### Initialize see https://www.siriusopensource.com/en-us/blog/oracle-postgresql-migration-using-ora2pg @@ -26,13 +93,24 @@ docker run --platform linux/amd64 -it \ docker run --platform linux/amd64 -it \ -w /base \ -v /Users/jimschaff/Documents/workspace/vcell/docker/database/migration/migv1:/base \ - georgmoser/ora2pg:24.3 /bin/sh -c "cd /base && ./export_schema.sh" > export_schema.log + georgmoser/ora2pg:24.3 \ + /bin/sh -c "cd /base && ./export_schema.sh" > export_schema.log ``` ### exporting data +#### Export all data +To extract data use the following command: + +ora2pg -t COPY -o data.sql -b /base/data -c /base/config/ora2pg.conf + #### snapshot --scn SCN : Allow to set the Oracle System Change Number (SCN) to use to export data. It will be used in the WHERE clause to get the data. It is used with action COPY or INSERT. +#### disable triggers + +```bash +disable_triggers.sh +``` ```bash @@ -40,6 +118,7 @@ docker run --platform linux/amd64 -it \ -w /base \ -v /Users/jimschaff/Documents/workspace/vcell/docker/database/migration/migv1:/base \ georgmoser/ora2pg:24.3 \ - ora2pg --type table --where "ROWNUM < 100" --conf config/ora2pg_all.conf --basedir data --dump_as_html > ora2pg.html + /bin/sh -c "cd /base && ora2pg --debug --type COPY -o data.sql --conf config/ora2pg_filtered.conf --basedir data" > copy_local.log + ``` diff --git a/docker/database/migration/migv1/config/disable_triggers.sh b/docker/database/migration/migv1/config/disable_triggers.sh new file mode 100644 index 0000000000..1cc5615634 --- /dev/null +++ b/docker/database/migration/migv1/config/disable_triggers.sh @@ -0,0 +1,88 @@ +#!/bin/bash + +tables=( +VC_USERINFO +VC_GROUP +VC_MODEL +VC_CELLTYPE +VC_STRUCT +VC_REACTSTEP +VC_PROTEIN +VC_PROTEINALIAS +VC_COMPOUND +VC_COMPOUNDALIAS +VC_ENZYME +VC_ENZYMEALIAS +VC_ENZYMEREACTION +VC_DBSPECIES +VC_SPECIALUSERS +VC_SPECIES +VC_MODELSC +VC_MODELSTRUCT +VC_REACTPART +VC_DIAGRAM +VC_GEOMEXTENT +VC_IMAGE +VC_IMAGEDATA +VC_BROWSEDATA +VC_IMAGEREGION +VC_GEOMETRY +VC_SUBVOLUME +VC_SURFACECLASS +VC_MATH +VC_SIMCONTEXT +VC_SPECIESCONTEXTSPEC +VC_STRUCTMAPPING +VC_REACTIONSPEC +VC_STIMULUS +VC_ANALYSISTASK +VC_FILAMENT +VC_CURVE +VC_SIMULATION +VC_SIMSTAT +VC_BIOMODEL +VC_BIOMODELSIMCONTEXT +VC_BIOMODELSIM +VC_MATHMODEL +VC_MATHMODELSIM +VC_AVAILABLE +VC_USERSTAT +VC_USERLOG +VC_SIMCONTEXTSTAT +VC_SIMCONTEXTSTAT2 +STOCHTEST +STOCHTESTRUN +STOCHTESTCOMPARE +VC_SIMULATIONJOB +VC_BIOMODELXML +VC_MATHMODELXML +VC_GEOMETRICREGION +VC_SURFACEDESC +VC_USERPREF +VC_TFTESTSUITE +VC_TFTESTCASE +VC_TFTESTCRITERIA +VC_TFTESTRESULT +VC_SOFTWAREVERSION +VC_EXTERNALDATA +VC_MATHDESCEXTDATA +VC_MIRIAM +VC_APICLIENT +VC_APIACCESSTOKEN +VC_PUBLICATION +VC_PUBLICATIONMODELLINK +VC_APPLICATIONMATH +VC_DATASYMBOL +VC_GLOBALMODELPARAM +LOADMODELSTAT +VC_USERLOGININFO +VC_METADATA +VC_SIMDELFROMDISK +VC_USERIDENTITY +) + +# disable triggers for all tables in the database +for table in "${tables[@]}" +do + echo "ALTER TABLE $table DISABLE TRIGGER ALL;" +done \ No newline at end of file diff --git a/docker/database/migration/migv1/config/ora2pg_filtered.conf b/docker/database/migration/migv1/config/ora2pg_filtered.conf new file mode 100644 index 0000000000..596d560d82 --- /dev/null +++ b/docker/database/migration/migv1/config/ora2pg_filtered.conf @@ -0,0 +1,1400 @@ + +#################### Ora2Pg Configuration file ##################### + +# Support for including a common config file that may contain any +# of the following configuration directives. +#IMPORT common.conf + +#------------------------------------------------------------------------------ +# INPUT SECTION (Oracle connection or input file) +#------------------------------------------------------------------------------ + +# Set this directive to a file containing PL/SQL Oracle Code like function, +# procedure or a full package body to prevent Ora2Pg from connecting to an +# Oracle database end just apply his conversion tool to the content of the +# file. This can only be used with the following export type: PROCEDURE, +# FUNCTION or PACKAGE. If you don't know what you do don't use this directive. +#INPUT_FILE ora_plsql_src.sql + +# Set the Oracle home directory +ORACLE_HOME /usr/lib/oracle/12.2/client64 + +# Set Oracle database connection (datasource, user, password) +ORACLE_DSN dbi:Oracle:host=192.168.1.159;service_name=ORCLPDB1;port=1521 +ORACLE_USER system +ORACLE_PWD tiger + +# Set this to 1 if you connect as simple user and can not extract things +# from the DBA_... tables. It will use tables ALL_... This will not works +# with GRANT export, you should use an Oracle DBA username at ORACLE_USER +USER_GRANTS 0 + +# Trace all to stderr +DEBUG 1 + +# This directive can be used to send an initial command to Oracle, just after +# the connection. For example to unlock a policy before reading objects or +# to set some session parameters. This directive can be used multiple time. +#ORA_INITIAL_COMMAND + + +#------------------------------------------------------------------------------ +# SCHEMA SECTION (Oracle schema to export and use of schema in PostgreSQL) +#------------------------------------------------------------------------------ + +# Export Oracle schema to PostgreSQL schema +EXPORT_SCHEMA 1 + +# Oracle schema/owner to use +SCHEMA VCELL + +# Enable/disable the CREATE SCHEMA SQL order at starting of the output file. +# It is enable by default and concern on TABLE export type. +CREATE_SCHEMA 1 + +# Enable this directive to force Oracle to compile schema before exporting code. +# When this directive is enabled and SCHEMA is set to a specific schema name, +# only invalid objects in this schema will be recompiled. If SCHEMA is not set +# then all schema will be recompiled. To force recompile invalid object in a +# specific schema, set COMPILE_SCHEMA to the schema name you want to recompile. +# This will ask to Oracle to validate the PL/SQL that could have been invalidate +# after a export/import for example. The 'VALID' or 'INVALID' status applies to +# functions, procedures, packages and user defined types. +COMPILE_SCHEMA 1 + +# By default if you set EXPORT_SCHEMA to 1 the PostgreSQL search_path will be +# set to the schema name exported set as value of the SCHEMA directive. You can +# defined/force the PostgreSQL schema to use by using this directive. +# +# The value can be a comma delimited list of schema but not when using TABLE +# export type because in this case it will generate the CREATE SCHEMA statement +# and it doesn't support multiple schema name. For example, if you set PG_SCHEMA +# to something like "user_schema, public", the search path will be set like this +# SET search_path = user_schema, public; +# forcing the use of an other schema (here user_schema) than the one from Oracle +# schema set in the SCHEMA directive. You can also set the default search_path +# for the PostgreSQL user you are using to connect to the destination database +# by using: +# ALTER ROLE username SET search_path TO user_schema, public; +#in this case you don't have to set PG_SCHEMA. +#PG_SCHEMA + +# Use this directive to add a specific schema to the search path to look +# for PostGis functions. +#POSTGIS_SCHEMA + +# Allow to add a comma separated list of system user to exclude from +# Oracle extraction. Oracle have many of them following the modules +# installed. By default it will suppress all object owned by the following +# system users: +# 'SYSTEM','CTXSYS','DBSNMP','EXFSYS','LBACSYS','MDSYS','MGMT_VIEW', +# 'OLAPSYS','ORDDATA','OWBSYS','ORDPLUGINS','ORDSYS','OUTLN', +# 'SI_INFORMTN_SCHEMA','SYS','SYSMAN','WK_TEST','WKSYS','WKPROXY', +# 'WMSYS','XDB','APEX_PUBLIC_USER','DIP','FLOWS_020100','FLOWS_030000', +# 'FLOWS_040100','FLOWS_010600','FLOWS_FILES','MDDATA','ORACLE_OCM', +# 'SPATIAL_CSW_ADMIN_USR','SPATIAL_WFS_ADMIN_USR','XS$NULL','PERFSTAT', +# 'SQLTXPLAIN','DMSYS','TSMSYS','WKSYS','APEX_040000','APEX_040200', +# 'DVSYS','OJVMSYS','GSMADMIN_INTERNAL','APPQOSSYS','DVSYS','DVF', +# 'AUDSYS','APEX_030200','MGMT_VIEW','ODM','ODM_MTR','TRACESRV','MTMSYS', +# 'OWBSYS_AUDIT','WEBSYS','WK_PROXY','OSE$HTTP$ADMIN', +# 'AURORA$JIS$UTILITY$','AURORA$ORB$UNAUTHENTICATED', +# 'DBMS_PRIVILEGE_CAPTURE','CSMIG','MGDSYS','SDE','DBSFWUSER' +# Other list of users set to this directive will be added to this list. +#SYSUSERS OE,HR + + +# List of schema to get functions/procedures meta information that are used +# in the current schema export. When replacing call to function with OUT +# parameters, if a function is declared in an other package then the function +# call rewriting can not be done because Ora2Pg only know about functions +# declared in the current schema. By setting a comma separated list of schema +# as value of this directive, Ora2Pg will look forward in these packages for +# all functions/procedures/packages declaration before proceeding to current +# schema export. +#LOOK_FORWARD_FUNCTION SCOTT,OE + +# Force Ora2Pg to not look for function declaration. Note that this will prevent +# Ora2Pg to rewrite function replacement call if needed. Do not enable it unless +# looking forward at function breaks other export. +NO_FUNCTION_METADATA 1 + +#------------------------------------------------------------------------------ +# ENCODING SECTION (Define client encoding at Oracle and PostgreSQL side) +#------------------------------------------------------------------------------ + +# Enforce default language setting following the Oracle database encoding. This +# may be used with multibyte characters like UTF8. Here are the default values +# used by Ora2Pg, you may not change them unless you have problem with this +# encoding. This will set $ENV{NLS_LANG} to the given value. +#NLS_LANG AMERICAN_AMERICA.AL32UTF8 +# This will set $ENV{NLS_NCHAR} to the given value. +#NLS_NCHAR AL32UTF8 + +# By default PostgreSQL client encoding is automatically set to UTF8 to avoid +# encoding issue. If you have changed the value of NLS_LANG you might have to +# change the encoding of the PostgreSQL client. +#CLIENT_ENCODING UTF8 + +# To force utf8 encoding of the PL/SQL code exported, enable this directive. +# Could be helpful in some rare condition. +FORCE_PLSQL_ENCODING 0 + +#------------------------------------------------------------------------------ +# EXPORT SECTION (Export type and filters) +#------------------------------------------------------------------------------ + +# Type of export. Values can be the following keyword: +# TABLE Export tables, constraints, indexes, ... +# PACKAGE Export packages +# INSERT Export data from table as INSERT statement +# COPY Export data from table as COPY statement +# VIEW Export views +# GRANT Export grants +# SEQUENCE Export sequences +# TRIGGER Export triggers +# FUNCTION Export functions +# PROCEDURE Export procedures +# TABLESPACE Export tablespace (PostgreSQL >= 8 only) +# TYPE Export user defined Oracle types +# PARTITION Export range or list partition (PostgreSQL >= v8.4) +# FDW Export table as foreign data wrapper tables +# MVIEW Export materialized view as snapshot refresh view +# QUERY Convert Oracle SQL queries from a file. +# KETTLE Generate XML ktr template files to be used by Kettle. +# DBLINK Generate oracle foreign data wrapper server to use as dblink. +# SYNONYM Export Oracle's synonyms as views on other schema's objects. +# DIRECTORY Export Oracle's directories as external_file extension objects. +# LOAD Dispatch a list of queries over multiple PostgreSQl connections. +# TEST perform a diff between Oracle and PostgreSQL database. +# TEST_COUNT perform only a row count between Oracle and PostgreSQL tables. +# TEST_VIEW perform a count on both side of number of rows returned by views +# TEST_DATA perform data validation check on rows at both sides. +# SEQUENCE_VALUES export DDL to set the last values of sequences + +TYPE TABLE + +# Set this to 1 if you don't want to export comments associated to tables and +# column definitions. Default is enabled. +DISABLE_COMMENT 0 + +# Set which object to export from. By default Ora2Pg export all objects. +# Value must be a list of object name or regex separated by space. Note +# that regex will not works with 8i database, use % placeholder instead +# Ora2Pg will use the LIKE operator. There is also some extended use of +# this directive, see chapter "Limiting object to export" in documentation. +#ALLOW vc_userinfo vc_group vc_model vc_celltype vc_struct vc_reactstep vc_protein vc_proteinalias vc_compound vc_compoundalias vc_enzyme vc_enzymealias vc_enzymereaction vc_dbspecies vc_specialusers vc_species vc_modelsc vc_modelstruct vc_reactpart vc_diagram vc_geomextent vc_image vc_imagedata vc_browsedata vc_imageregion vc_geometry vc_subvolume vc_surfaceclass vc_math vc_simcontext vc_speciescontextspec vc_structmapping vc_reactionspec vc_stimulus vc_analysistask vc_filament vc_curve vc_simulation vc_simstat vc_biomodel vc_biomodelsimcontext vc_biomodelsim vc_mathmodel vc_mathmodelsim vc_available vc_userstat vc_userlog vc_simcontextstat vc_simcontextstat2 stochtest stochtestrun stochtestcompare vc_simulationjob vc_biomodelxml vc_mathmodelxml vc_geometricregion vc_surfacedesc vc_userpref vc_tftestsuite vc_tftestcase vc_tftestcriteria vc_tftestresult vc_softwareversion vc_externaldata vc_mathdescextdata vc_miriam vc_apiclient vc_apiaccesstoken vc_publication vc_publicationmodellink vc_applicationmath vc_datasymbol vc_globalmodelparam loadmodelstat vc_userlogininfo vc_metadata vc_simdelfromdisk vc_useridentity +ALLOW VC_USERINFO VC_GROUP VC_MODEL VC_CELLTYPE VC_STRUCT VC_REACTSTEP VC_PROTEIN VC_PROTEINALIAS VC_COMPOUND VC_COMPOUNDALIAS VC_ENZYME VC_ENZYMEALIAS VC_ENZYMEREACTION VC_DBSPECIES VC_SPECIALUSERS VC_SPECIES VC_MODELSC VC_MODELSTRUCT VC_REACTPART VC_DIAGRAM VC_GEOMEXTENT VC_IMAGE VC_IMAGEDATA VC_BROWSEDATA VC_IMAGEREGION VC_GEOMETRY VC_SUBVOLUME VC_SURFACECLASS VC_MATH VC_SIMCONTEXT VC_SPECIESCONTEXTSPEC VC_STRUCTMAPPING VC_REACTIONSPEC VC_STIMULUS VC_ANALYSISTASK VC_FILAMENT VC_CURVE VC_SIMULATION VC_SIMSTAT VC_BIOMODEL VC_BIOMODELSIMCONTEXT VC_BIOMODELSIM VC_MATHMODEL VC_MATHMODELSIM VC_AVAILABLE VC_USERSTAT VC_USERLOG VC_SIMCONTEXTSTAT VC_SIMCONTEXTSTAT2 STOCHTEST STOCHTESTRUN STOCHTESTCOMPARE VC_SIMULATIONJOB VC_BIOMODELXML VC_MATHMODELXML VC_GEOMETRICREGION VC_SURFACEDESC VC_USERPREF VC_TFTESTSUITE VC_TFTESTCASE VC_TFTESTCRITERIA VC_TFTESTRESULT VC_SOFTWAREVERSION VC_EXTERNALDATA VC_MATHDESCEXTDATA VC_MIRIAM VC_APICLIENT VC_APIACCESSTOKEN VC_PUBLICATION VC_PUBLICATIONMODELLINK VC_APPLICATIONMATH VC_DATASYMBOL VC_GLOBALMODELPARAM LOADMODELSTAT VC_USERLOGININFO VC_METADATA VC_SIMDELFROMDISK VC_USERIDENTITY + +# Set which object to exclude from export process. By default none. Value +# must be a list of object name or regexp separated by space. Note that regex +# will not works with 8i database, use % placeholder instead Ora2Pg will use +# the NOT LIKE operator. There is also some extended use of this directive, +# see chapter "Limiting object to export" in documentation. +EXCLUDE SEQUENCE[.*] FUNCTION[.*] PROCEDURE[.*] + +# By default Ora2Pg exclude from export some Oracle "garbage" tables that should +# never be part of an export. This behavior generates a lot of REGEXP_LIKE +# expressions which are slowing down the export when looking at tables. To disable +# this behavior enable this directive, you will have to exclude or clean up later +# by yourself the unwanted tables. The regexp used to exclude the table are +# defined in the array in lib/Ora2Pg.pm. Note this is behavior +# is independant to the EXCLUDE configuration directive. +NO_EXCLUDED_TABLE 0 + +# Set which view to export as table. By default none. Value must be a list of +# view name or regexp separated by space. If the object name is a view and the +# export type is TABLE, the view will be exported as a create table statement. +# If export type is COPY or INSERT, the corresponding data will be exported. +#VIEW_AS_TABLE VIEW_NAME + +# Set which materialized view to export as table. By default none. Value must +# be a list of materialized view name or regexp separated by space. If the +# object name is a materialized view and the export type is TABLE, the view +# will be exported as a create table statement. If export type is COPY or +# INSERT, the corresponding data will be exported. +#MVIEW_AS_TABLE VIEW_NAME + +# By default Ora2Pg try to order views to avoid error at import time with +# nested views. With a huge number of view this can take a very long time, +# you can bypass this ordering by enabling this directive. +NO_VIEW_ORDERING 0 + +# When exporting GRANTs you can specify a comma separated list of objects +# for which privilege will be exported. Default is export for all objects. +# Here are the possibles values TABLE, VIEW, MATERIALIZED VIEW, SEQUENCE, +# PROCEDURE, FUNCTION, PACKAGE BODY, TYPE, SYNONYM, DIRECTORY. Only one object +# type is allowed at a time. For example set it to TABLE if you just want to +# export privilege on tables. You can use the -g option to overwrite it. +# When used this directive prevent the export of users unless it is set to +# USER. In this case only users definitions are exported. +#GRANT_OBJECT TABLE + +# By default Ora2Pg will export your external table as file_fdw tables. If +# you don't want to export those tables at all, set the directive to 0. +EXTERNAL_TO_FDW 1 + +# Add a TRUNCATE TABLE instruction before loading data on COPY and INSERT +# export. When activated, the instruction will be added only if there's no +# global DELETE clause or one specific to the current table (see bellow). +TRUNCATE_TABLE 0 + +# Support for include a DELETE FROM ... WHERE clause filter before importing +# data and perform a delete of some lines instead of truncatinf tables. +# Value is construct as follow: TABLE_NAME[DELETE_WHERE_CLAUSE], or +# if you have only one where clause for all tables just put the delete +# clause as single value. Both are possible too. Here are some examples: +#DELETE 1=1 # Apply to all tables and delete all tuples +#DELETE TABLE_TEST[ID1='001'] # Apply only on table TABLE_TEST +#DELETE TABLE_TEST[ID1='001' OR ID1='002] DATE_CREATE > '2001-01-01' TABLE_INFO[NAME='test'] +# The last applies two different delete where clause on tables TABLE_TEST and +# TABLE_INFO and a generic delete where clause on DATE_CREATE to all other tables. +# If TRUNCATE_TABLE is enabled it will be applied to all tables not covered by +# the DELETE definition. + +# When enabled this directive forces ora2pg to export all tables, index +# constraints, and indexes using the tablespace name defined in Oracle database. +# This works only with tablespaces that are not TEMP, USERS and SYSTEM. +USE_TABLESPACE 0 + +# Enable this directive to reorder columns and minimized the footprint +# on disk, so that more rows fit on a data page, which is the most important +# factor for speed. Default is same order than in Oracle table definition, +# that should be enough for most usage. +REORDERING_COLUMNS 0 + +# Support for include a WHERE clause filter when dumping the contents +# of tables. Value is construct as follow: TABLE_NAME[WHERE_CLAUSE], or +# if you have only one where clause for each table just put the where +# clause as value. Both are possible too. Here are some examples: +#WHERE 1=1 # Apply to all tables +#WHERE TABLE_TEST[ID1='001'] # Apply only on table TABLE_TEST +#WHERE TABLE_TEST[ID1='001' OR ID1='002] DATE_CREATE > '2001-01-01' TABLE_INFO[NAME='test'] +# The last applies two different where clause on tables TABLE_TEST and +# TABLE_INFO and a generic where clause on DATE_CREATE to all other tables + +# Sometime you may want to extract data from an Oracle table but you need a +# a custom query for that. Not just a "SELECT * FROM table" like Ora2Pg does +# but a more complex query. This directive allows you to override the query +# used by Ora2Pg to extract data. The format is TABLENAME[SQL_QUERY]. +# If you have multiple tables to extract by replacing the Ora2Pg query, you can +# define multiple REPLACE_QUERY lines. +#REPLACE_QUERY EMPLOYEES[SELECT e.id,e.fisrtname,lastname FROM EMPLOYEES e JOIN EMP_UPDT u ON (e.id=u.id AND u.cdate>'2014-08-01 00:00:00')] + +# To add a DROP IF EXISTS before creating the object, enable +# this directive. Can be useful in an iterative work. Default is disabled. +DROP_IF_EXISTS 0 + +# PostgreSQL do not supports Global Temporary Table natively but you can use +# the pgtt extension to emulate this behavior. Enable this directive to export +# global temporary table. +EXPORT_GTT 0 + +# By default the pgtt extension is load using the superuser privilege, set it +# to 1 if you run the SQL scripts generated using a non superuser user. It will +# use LOAD '$libdir/plugins/pgtt' instead of LOAD 'pgtt'. +PGTT_NOSUPERUSER 0 + +#------------------------------------------------------------------------------ +# FULL TEXT SEARCH SECTION (Control full text search export behaviors) +#------------------------------------------------------------------------------ + +# Force Ora2Pg to translate Oracle Text indexes into PostgreSQL indexes using +# pg_trgm extension. Default is to translate CONTEXT indexes into FTS indexes +# and CTXCAT indexes using pg_trgm. Most of the time using pg_trgm is enough, +# this is why this directive stand for. +# +CONTEXT_AS_TRGM 0 + +# By default Ora2Pg creates a function-based index to translate Oracle Text +# indexes. +# CREATE INDEX ON t_document +# USING gin(to_tsvector('french', title)); +# You will have to rewrite the CONTAIN() clause using to_tsvector(), example: +# SELECT id,title FROM t_document +# WHERE to_tsvector(title)) @@ to_tsquery('search_word'); +# +# To force Ora2Pg to create an extra tsvector column with a dedicated triggers +# for FTS indexes, disable this directive. 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('french', coalesce(title,'')); +# To automatically update the column when a modification in the title column +# appears, Ora2Pg adds the following trigger: +# +# CREATE FUNCTION tsv_t_document_title() RETURNS trigger AS $$ +# BEGIN +# IF TG_OP = 'INSERT' OR new.title != old.title THEN +# new.tsv_title := +# to_tsvector('french', coalesce(new.title,'')); +# END IF; +# return new; +# END +# $$ LANGUAGE plpgsql; +# CREATE TRIGGER trig_tsv_t_document_title BEFORE INSERT OR UPDATE +# ON t_document +# FOR EACH ROW EXECUTE PROCEDURE tsv_t_document_title(); +# +# 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. +# +FTS_INDEX_ONLY 1 + +# Use this directive to force text search configuration to use. When it is not +# set, Ora2Pg will autodetect the stemmer used by Oracle for each index and +# pg_catalog.english if nothing is found. +# +#FTS_CONFIG pg_catalog.french + +# If you want to perform your text search in an accent insensitive way, enable +# this directive. Ora2Pg will create an helper function over unaccent() and +# creates the pg_trgm indexes using this function. With FTS Ora2Pg will +# redefine your text search configuration, for example: +# +# CREATE TEXT SEARCH CONFIGURATION fr (COPY = pg_catalog.french); +# ALTER TEXT SEARCH CONFIGURATION fr +# ALTER MAPPING FOR hword, hword_part, word WITH unaccent, french_stem; +# +# When enabled, Ora2pg will create the wrapper function: +# +# CREATE OR REPLACE FUNCTION unaccent_immutable(text) +# RETURNS text AS +# $$ +# SELECT public.unaccent('public.unaccent', ) +# $$ LANGUAGE sql IMMUTABLE +# COST 1; +# +# indexes are exported as follow: +# +# CREATE INDEX t_document_title_unaccent_trgm_idx ON t_document +# USING gin (unaccent_immutable(title) gin_trgm_ops); +# +# In your queries you will need to use the same function in the search to +# be able to use the function-based index. Example: +# +# SELECT * FROM t_document +# WHERE unaccent_immutable(title) LIKE '%donnees%'; +# +USE_UNACCENT 0 + +# Same as above but call lower() in the unaccent_immutable() function: +# +# CREATE OR REPLACE FUNCTION unaccent_immutable(text) +# RETURNS text AS +# $$ +# SELECT lower(public.unaccent('public.unaccent', )); +# $$ LANGUAGE sql IMMUTABLE; +# +USE_LOWER_UNACCENT 0 + + +#------------------------------------------------------------------------------ +# DATA DIFF SECTION (only delete and insert actually changed rows) +#------------------------------------------------------------------------------ + +# EXPERIMENTAL! Not yet working correctly with partitioned tables, parallelism, +# and direct Postgres connection! Test before using in production! +# This feature affects SQL output for data (INSERT or COPY). +# The deletion and (re-)importing of data is redirected to temporary tables +# (with configurable suffix) and matching entries (i.e. quasi-unchanged rows) +# eliminated before actual application of the DELETE, UPDATE and INSERT. +# Optional functions can be specified that are called before or after the +# actual DELETE, UPDATE and INSERT per table, or after all tables have been +# processed. +# +# Enable DATADIFF functionality +DATADIFF 0 +# Use UPDATE where changed columns can be matched by the primary key +# (otherwise rows are DELETEd and re-INSERTed, which may interfere with +# inverse foreign keys relationships!) +DATADIFF_UPDATE_BY_PKEY 0 +# Suffix for temporary tables holding rows to be deleted and to be inserted. +# Pay attention to your tables names: +# 1) There better be no two tables with names such that name1 + suffix = name2 +# 2) length(suffix) + length(tablename) < NAMEDATALEN (usually 64) +DATADIFF_DEL_SUFFIX _del +DATADIFF_UPD_SUFFIX _upd +DATADIFF_INS_SUFFIX _ins +# Allow setting the work_mem and temp_buffers parameters +# to keep temp tables in memory and have efficient sorting, etc. +DATADIFF_WORK_MEM 256 MB +DATADIFF_TEMP_BUFFERS 512 MB + +# The following are names of functions that will be called (via SELECT) +# after the temporary tables have been reduced (by removing matching rows) +# and right before or right after the actual DELETE and INSERT are performed. +# They must take four arguments, which should ideally be of type "regclass", +# representing the real table, the "deletions", the "updates", and the +# "insertions" temp table names, respectively. They are called before +# re-activation of triggers, indexes, etc. (if configured). +#DATADIFF_BEFORE my_datadiff_handler_function +#DATADIFF_AFTER my_datadiff_handler_function + +# Another function can be called (via SELECT) right before the entire COMMIT +# (i.e., after re-activation of indexes, triggers, etc.), which will be +# passed in Postgres ARRAYs of the table names of the real tables, the +# "deletions", the "updates" and the "insertions" temp tables, respectively, +# with same array index positions belonging together. So this function should +# take four arguments of type regclass[] +#DATADIFF_AFTER_ALL my_datadiff_bunch_handler_function +# If in doubt, use schema-qualified function names here. +# The search_path will have been set to PG_SCHEMA if EXPORT_SCHEMA == 1 +# (as defined by you in those config parameters, see above), +# i.e., the "public" schema is not contained if EXPORT_SCHEMA == 1 + + +#------------------------------------------------------------------------------ +# CONSTRAINT SECTION (Control constraints export and import behaviors) +#------------------------------------------------------------------------------ + +# Support for turning off certain schema features in the postgres side +# during schema export. Values can be : fkeys, pkeys, ukeys, indexes, checks +# separated by a space character. +# fkeys : turn off foreign key constraints +# pkeys : turn off primary keys +# ukeys : turn off unique column constraints +# indexes : turn off all other index types +# checks : turn off check constraints +#SKIP fkeys pkeys ukeys indexes checks + +# By default names of the primary and unique key in the source Oracle database +# are ignored and key names are autogenerated in the target PostgreSQL database +# with the PostgreSQL internal default naming rules. If you want to preserve +# Oracle primary and unique key names set this option to 1. +# Please note if value of USE_TABLESPACE is set to 1 the value of this option is +# enforced to 1 to preserve correct primary and unique key allocation to tablespace. +KEEP_PKEY_NAMES 0 + +# Enable this directive if you want to add primary key definitions inside the +# create table statements. If disabled (the default) primary key definition +# will be added with an alter table statement. Enable it if you are exporting +# to GreenPlum PostgreSQL database. +PKEY_IN_CREATE 0 + +# This directive allow you to add an ON UPDATE CASCADE option to a foreign +# key when a ON DELETE CASCADE is defined or always. Oracle do not support +# this feature, you have to use trigger to operate the ON UPDATE CASCADE. +# As PostgreSQL has this feature, you can choose how to add the foreign +# key option. There is three value to this directive: never, the default +# that mean that foreign keys will be declared exactly like in Oracle. +# The second value is delete, that mean that the ON UPDATE CASCADE option +# will be added only if the ON DELETE CASCADE is already defined on the +# foreign Keys. The last value, always, will force all foreign keys to be +# defined using the update option. +FKEY_ADD_UPDATE never + +# When exporting tables, Ora2Pg normally exports constraints as they are; +# if they are non-deferrable they are exported as non-deferrable. +# However, non-deferrable constraints will probably cause problems when +# attempting to import data to PostgreSQL. The following option set to 1 +# will cause all foreign key constraints to be exported as deferrable +FKEY_DEFERRABLE 0 + +# In addition when exporting data the DEFER_FKEY option set to 1 will add +# a command to defer all foreign key constraints during data export and +# the import will be done in a single transaction. 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). Constraints will then be +# checked at the end of the transaction. This directive can also be enabled +# if you want to force all foreign keys to be created as deferrable and +# initially deferred during schema export (TABLE export type). +DEFER_FKEY 0 + +# If deferring foreign keys is not possible due to the amount of data in a +# single transaction, you've not exported foreign keys as deferrable or you +# are using direct import to PostgreSQL, you can use the DROP_FKEY directive. +# It will drop all foreign keys before all data import and recreate them at +# the end of the import. +DROP_FKEY 0 + + +#------------------------------------------------------------------------------ +# TRIGGERS AND SEQUENCES SECTION (Control triggers and sequences behaviors) +#------------------------------------------------------------------------------ + +# Disables alter of sequences on all tables in COPY or INSERT mode. +# Set to 1 if you want to disable update of sequence during data migration. +DISABLE_SEQUENCE 1 + +# Disables triggers on all tables in COPY or INSERT mode. Available modes +# are USER (user defined triggers) and ALL (includes RI system +# triggers). Default is 0 do not add SQL statement to disable trigger. +# 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. A value of 1 is equal to USER. +DISABLE_TRIGGERS 1 + + +#------------------------------------------------------------------------------ +# OBJECT MODIFICATION SECTION (Control objects structure or name modifications) +#------------------------------------------------------------------------------ + +# You may wish to just extract data from some fields, the following directives +# will help you to do that. Works only with export type INSERT or COPY +# Modify output from the following tables(fields separate by space or comma) +#MODIFY_STRUCT TABLE_TEST(dico,dossier) + +# When there is a lot of columns dropped in the target database compared to the +# Oracle database, being able to exclude columns from data export will simplify +# the configuration compared to MODIFY_STRUCT. The following directive can be +# used to define the columns per table that must be excluded from data export. +#EXCLUDE_COLUMNS TABLE_TEST(dropcol1,dropcol2) + +# You may wish to change table names during data extraction, especally for +# replication use. Give a list of tables separate by space as follow. +#REPLACE_TABLES ORIG_TB_NAME1:NEW_TB_NAME1 ORIG_TB_NAME2:NEW_TB_NAME2 + +# You may wish to change column names during export. Give a list of tables +# and columns separate by comma as follow. +#REPLACE_COLS TB_NAME(ORIG_COLNAME1:NEW_COLNAME1,ORIG_COLNAME2:NEW_COLNAME2) + +# By default all object names are converted to lower case, if you +# want to preserve Oracle object name as-is set this to 1. Not recommended +# unless you always quote all tables and columns on all your scripts. +PRESERVE_CASE 0 + +# Add the given value as suffix to index names. Useful if you have indexes +# with same name as tables. Not so common but it can help. +#INDEXES_SUFFIX _idx + +# Enable this directive to rename all indexes using tablename_columns_names. +# Could be very useful for database that have multiple time the same index name +# or that use the same name than a table, which is not allowed by PostgreSQL +# Disabled by default. +INDEXES_RENAMING 0 + +# Operator classes text_pattern_ops, varchar_pattern_ops, and bpchar_pattern_ops +# support B-tree indexes on the corresponding types. The difference from the +# default operator classes is that the values are compared strictly character by +# character rather than according to the locale-specific collation rules. This +# makes these operator classes suitable for use by queries involving pattern +# matching expressions (LIKE or POSIX regular expressions) when the database +# does not use the standard "C" locale. If you enable, with value 1, this will +# force Ora2Pg to export all indexes defined on varchar2() and char() columns +# using those operators. If you set it to a value greater than 1 it will only +# change indexes on columns where the charactere limit is greater or equal than +# this value. For example, set it to 128 to create these kind of indexes on +# columns of type varchar2(N) where N >= 128. +USE_INDEX_OPCLASS 0 + +# Enable this directive if you want that your partition tables will be +# renamed. Disabled by default. If you have multiple partitioned table, +# when exported to PostgreSQL some partitions could have the same name +# but different parent tables. This is not allowed, table name must be +# unique, in this case enable this directive. +RENAME_PARTITION 0 + +# If you don't want to reproduce the partitioning like in Oracle and want to +# export all partitionned Oracle data into the main single table in PostgreSQL +# enable this directive. Ora2Pg will export all data into the main table name. +# Default is to use partitionning, Ora2Pg will export data from each partition +# and import them into the PostgreSQL dedicated partition table. +DISABLE_PARTITION 0 + +# How to export partition by reference. Possible values are none, duplicate or +# the number of hash partition to create. Default is 'none' to not export the +# partitions by reference. +PARTITION_BY_REFERENCE none + +# Activating this directive will force Ora2Pg to add WITH (OIDS) when creating +# tables or views as tables. Default is same as PostgreSQL, disabled. +WITH_OID 0 + +# Allow escaping of column name using Oracle reserved words. +ORA_RESERVED_WORDS audit,comment,references + +# Enable this directive if you have tables or column names that are a reserved +# word for PostgreSQL. Ora2Pg will double quote the name of the object. +USE_RESERVED_WORDS 0 + +# By default Ora2Pg export Oracle tables with the NOLOGGING attribute as +# UNLOGGED tables. You may want to fully disable this feature because +# you will lost all data from unlogged table in case of PostgreSQL crash. +# Set it to 1 to export all tables as normal table. +DISABLE_UNLOGGED 1 + +# Increase varchar max character constraints to support PostgreSQL two bytes +# character encoding when the source database applies the length constraint +# on characters not bytes. Default disabled. +DOUBLE_MAX_VARCHAR 0 + +#------------------------------------------------------------------------------ +# OUTPUT SECTION (Control output to file or PostgreSQL database) +#------------------------------------------------------------------------------ + +# Define the following directive to send export directly to a PostgreSQL +# database, this will disable file output. Note that these directives are only +# used for data export, other export need to be imported manually through the +# use of psql or any other PostgreSQL client. +#PG_DSN dbi:Pg:dbname=postgres;host=192.168.1.159;port=5432 +#PG_USER quarkus +#PG_PWD quarkus + +# By default all output is dump to STDOUT if not send directly to postgresql +# database (see above). Give a filename to save export to it. If you want +# a Gzip'd compressed file just add the extension .gz to the filename (you +# need perl module Compress::Zlib from CPAN). Add extension .bz2 to use Bzip2 +# compression. +OUTPUT output.sql + +# Base directory where all dumped files must be written +#OUTPUT_DIR /var/tmp + +# Path to the bzip2 program. See OUTPUT directive above. +BZIP2 + +# Allow object constraints to be saved in a separate file during schema export. +# The file will be named CONSTRAINTS_OUTPUT. Where OUTPUT is the value of the +# corresponding configuration directive. You can use .gz xor .bz2 extension to +# enable compression. Default is to save all data in the OUTPUT file. This +# directive is usable only with TABLE export type. +FILE_PER_CONSTRAINT 1 + +# Allow indexes to be saved in a separate file during schema export. The file +# will be named INDEXES_OUTPUT. Where OUTPUT is the value of the corresponding +# configuration directive. You can use the .gz, .xor, or .bz2 file extension to +# enable compression. Default is to save all data in the OUTPUT file. This +# directive is usable only with TABLE or TABLESPACE export type. 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. +FILE_PER_INDEX 1 + +# Allow foreign key declaration to be saved in a separate file during +# schema export. By default foreign keys are exported into the main +# output file or in the CONSTRAINT_output.sql file. When enabled foreign +# keys will be exported into a file named FKEYS_output.sql +FILE_PER_FKEYS 1 + +# Allow data export to be saved in one file per table/view. The files +# will be named as tablename_OUTPUT. Where OUTPUT is the value of the +# corresponding configuration directive. You can use .gz xor .bz2 +# extension to enable compression. Default is to save all data in one +# file. This is usable only during INSERT or COPY export type. +FILE_PER_TABLE 1 + +# Allow function export to be saved in one file per function/procedure. +# The files will be named as funcname_OUTPUT. Where OUTPUT is the value +# of the corresponding configuration directive. You can use .gz xor .bz2 +# extension to enable compression. Default is to save all data in one +# file. It is usable during FUNCTION, PROCEDURE, TRIGGER and PACKAGE +# export type. +FILE_PER_FUNCTION 1 + +# By default Ora2Pg will force Perl to use utf8 I/O encoding. This is done through +# a call to the Perl pragma: +# +# use open ':utf8'; +# +# You can override this encoding by using the BINMODE directive, for example you +# can set it to :locale to use your locale or iso-8859-7, it will respectively use +# +# use open ':locale'; +# use open ':encoding(iso-8859-7)'; +# +# If you have change the NLS_LANG in non UTF8 encoding, you might want to set this +# directive. See http://perldoc.perl.org/5.14.2/open.html for more information. +# Most of the time, you might leave this directive commented. +#BINMODE utf8 + +# Set it to 0 to not include the call to \set ON_ERROR_STOP ON in all SQL +# scripts. By default this order is always present. +STOP_ON_ERROR 1 + +# Enable this directive to use COPY FREEZE instead of a simple COPY to +# export data with rows already frozen. This is intended as a performance +# option for initial data loading. Rows will be frozen only if the table +# being loaded has been created or truncated in the current subtransaction. +# This will only works with export to file and when -J or ORACLE_COPIES is +# not set or default to 1. 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. +COPY_FREEZE 0 + +# By default Ora2Pg use CREATE OR REPLACE in functions and views DDL, if you +# need not to override existing functions or views disable this configuration +# directive, DDL will not include OR REPLACE. +CREATE_OR_REPLACE 1 + +# This directive can be used to send an initial command to PostgreSQL, just +# after the connection. For example to set some session parameters. This +# directive can be used multiple time. +#PG_INITIAL_COMMAND + +# Add an ON CONFLICT DO NOTHING to all INSERT statements generated for this +# type of data export. +INSERT_ON_CONFLICT 0 + + +#------------------------------------------------------------------------------ +# TYPE SECTION (Control type behaviors and redefinitions) +#------------------------------------------------------------------------------ + +# If you're experiencing problems in data type export, the following directive +# will help you to redefine data type translation used in Ora2pg. The syntax is +# a comma separated list of "Oracle datatype:Postgresql data type". Here are the +# data type that can be redefined and their default value. If you want to +# replace a type with a precision and scale you need to escape the coma with +# a backslash. For example, if you want to replace all NUMBER(*,0) into bigint +# instead of numeric(38)add the following: +# DATA_TYPE NUMBER(*\,0):bigint +# Here is the default replacement for all Oracle's types. You don't have to +# recopy all type conversion but just the one you want to rewrite. +#DATA_TYPE VARCHAR2:varchar,NVARCHAR2:varchar,NVARCHAR:varchar,NCHAR:char,DATE:timestamp(0),LONG:text,LONG RAW:bytea,CLOB:text,NCLOB:text,BLOB:bytea,BFILE:bytea,RAW(16):uuid,RAW(32):uuid,RAW:bytea,UROWID:oid,ROWID:oid,FLOAT:double precision,DEC:decimal,DECIMAL:decimal,DOUBLE PRECISION:double precision,INT:integer,INTEGER:integer,REAL:real,SMALLINT:smallint,BINARY_FLOAT:double precision,BINARY_DOUBLE:double precision,TIMESTAMP:timestamp,XMLTYPE:xml,BINARY_INTEGER:integer,PLS_INTEGER:integer,TIMESTAMP WITH TIME ZONE:timestamp with time zone,TIMESTAMP WITH LOCAL TIME ZONE:timestamp with time zone + +# If set to 1 replace portable numeric type into PostgreSQL internal type. +# Oracle data type NUMBER(p,s) is approximatively converted to real and +# float PostgreSQL data type. If you have monetary fields or don't want +# rounding issues with the extra decimals you should preserve the same +# numeric(p,s) PostgreSQL data type. Do that only if you need exactness +# because using numeric(p,s) is slower than using real or double. +PG_NUMERIC_TYPE 1 + +# If set to 1 replace portable numeric type into PostgreSQL internal type. +# Oracle data type NUMBER(p) or NUMBER are converted to smallint, integer +# or bigint PostgreSQL data type following the length of the precision. If +# NUMBER without precision are set to DEFAULT_NUMERIC (see bellow). +PG_INTEGER_TYPE 1 + +# NUMBER() without precision are converted by default to bigint only if +# PG_INTEGER_TYPE is true. You can overwrite this value to any PG type, +# like integer or float. +DEFAULT_NUMERIC bigint + +# Set it to 0 if you don't want to export milliseconds from Oracle timestamp +# columns. Timestamp will be formated with to_char(..., 'YYYY-MM-DD HH24:MI:SS') +# Enabling this directive, the default, format is 'YYYY-MM-DD HH24:MI:SS.FF'. +ENABLE_MICROSECOND 1 + +# If you want to replace some columns as PostgreSQL boolean define here a list +# of tables and column separated by space as follows. You can also give a type +# and a precision to automatically convert all fields of that type as a boolean. +# For example: NUMBER:1 or CHAR:1 will replace any field of type number(1) or +# char(1) as a boolean in all exported tables. +#REPLACE_AS_BOOLEAN TB_NAME1:COL_NAME1 TB_NAME1:COL_NAME2 TB_NAME2:COL_NAME2 + +# Use this to add additional definitions of the possible boolean values in Oracle +# field. You must set a space separated list of TRUE:FALSE values. BY default: +#BOOLEAN_VALUES yes:no y:n 1:0 true:false enabled:disabled + +# When Ora2Pg find a "zero" date: 0000-00-00 00:00:00 it is replaced by a NULL. +# This could be a problem if your column is defined with NOT NULL constraint. +# If you can not remove the constraint, use this directive to set an arbitral +# date that will be used instead. You can also use -INFINITY if you don't want +# to use a fake date. +#REPLACE_ZERO_DATE 1970-01-01 00:00:00 + +# Some time you need to force the destination type, for example a column +# exported as timestamp by Ora2Pg can be forced into type date. Value is +# a comma-separated list of TABLE:COLUMN:TYPE structure. If you need to use +# comma or space inside type definition you will have to backslash them. +# +# MODIFY_TYPE TABLE1:COL3:varchar,TABLE1:COL4:decimal(9,6) +# +# Type of table1.col3 will be replaced by a varchar and table1.col4 by +# a decimal with precision and scale. +# +# If the column's type is a user defined type Ora2Pg will autodetect the +# composite type and will export its data using ROW(). Some Oracle user +# defined types are just array of a native type, in this case you may want +# to transform this column in simple array of a PostgreSQL native type. +# To do so, just redefine the destination type as wanted and Ora2Pg will +# also transform the data as an array. For example, with the following +# definition in Oracle: +# +# CREATE OR REPLACE TYPE mem_type IS VARRAY(10) of VARCHAR2(15); +# CREATE TABLE club (Name VARCHAR2(10), +# Address VARCHAR2(20), +# City VARCHAR2(20), +# Phone VARCHAR2(8), +# Members mem_type +# ); +# +# custom type "mem_type" is just a string array and can be translated into +# the following in PostgreSQL: +# +# CREATE TABLE club ( +# name varchar(10), +# address varchar(20), +# city varchar(20), +# phone varchar(8), +# members text[] +# ) ; +# +# To do so, just use the directive as follow: +# +# MODIFY_TYPE CLUB:MEMBERS:text[] +# +# Ora2Pg will take care to transform all data of this column in the correct +# format. Only arrays of characters and numerics types are supported. +#MODIFY_TYPE + +# By default Oracle call to function TO_NUMBER will be translated as a cast +# into numeric. For example, TO_NUMBER('10.1234') is converted into PostgreSQL +# call to_number('10.1234')::numeric. If you want you can cast the call to integer +# or bigint by changing the value of the configuration directive. If you need +# better control of the format, just set it as value, for example: +# TO_NUMBER_CONVERSION 99999999999999999999.9999999999 +# will convert the code above as: +# TO_NUMBER('10.1234', '99999999999999999999.9999999999') +# Any value of the directive that it is not numeric, integer or bigint will +# be taken as a mask format. If set to none, no conversion will be done. +TO_NUMBER_CONVERSION numeric + +# By default varchar2 without size constraint are tranlated into text. If you +# want to keep the varchar name, disable this directive. +VARCHAR_TO_TEXT 1 + +# Usually identity column must be bigint to correspond to an auto increment +# sequence. If, for any reason you want Ora2Pg respect the DATA_TYPE you have +# set, disable this directive. +FORCE_IDENTITY_BIGINT 1 + +# Remove timezone part into the format of the TO_CHAR() function +TO_CHAR_NOTIMEZONE 1 + +#------------------------------------------------------------------------------ +# GRANT SECTION (Control priviledge and owner export) +#------------------------------------------------------------------------------ + +# Set this to 1 to replace default password for all extracted user +# during GRANT export +GEN_USER_PWD 0 + +# By default the owner of database objects is the one you're using to connect +# to PostgreSQL. If you use an other user (e.g. postgres) you can force +# Ora2Pg to set the object owner to be the one used in the Oracle database by +# setting the directive to 1, or to a completely different username by setting +# the directive value # to that username. +FORCE_OWNER 0 + +# Ora2Pg use the function's security privileges set in Oracle and it is often +# defined as SECURITY DEFINER. If you want to override those security privileges +# for all functions and use SECURITY DEFINER instead, enable this directive. +FORCE_SECURITY_INVOKER 0 + +#------------------------------------------------------------------------------ +# DATA SECTION (Control data export behaviors) +#------------------------------------------------------------------------------ + +# Extract data by bulk of DATA_LIMIT tuples at once. Default 10000. If you set +# a high value be sure to have enough memory if you have million of rows. +DATA_LIMIT 10000 + +# When Ora2Pg detect a table with some BLOB it will automatically reduce the +# value of this directive by dividing it by 10 until his value is below 1000. +# You can control this value by setting BLOB_LIMIT. Exporting BLOB use lot of +# ressources, setting it to a too high value can produce OOM. +#BLOB_LIMIT 500 + +# Apply same behavior on CLOB than BLOB with BLOB_LIMIT settings. This is +# especially useful if you have large CLOB data. +CLOB_AS_BLOB 1 + +# By default all data that are not of type date or time are escaped. If you +# experience any problem with that you can set it to 1 to disable it. This +# directive is only used during a COPY export type. +# See STANDARD_CONFORMING_STRINGS for enabling/disabling escape with INSERT +# statements. +NOESCAPE 0 + +# This directive may be used if you want to change the default isolation +# level of the data export transaction. Default is now to set the level +# to a serializable transaction to ensure data consistency. Here are the +# allowed value of this directive: readonly, readwrite, serializable and +# committed (read committed). +TRANSACTION serializable + +# This controls whether ordinary string literals ('...') treat backslashes +# literally, as specified in SQL standard. This was the default before Ora2Pg +# v8.5 so that all strings was escaped first, now this is currently on, causing +# Ora2Pg to use the escape string syntax (E'...') if this parameter is not +# set to 0. This is the exact behavior of the same option in PostgreSQL. +# This directive is only used during INSERT export to build INSERT statements. +# See NOESCAPE for enabling/disabling escape in COPY statements. +STANDARD_CONFORMING_STRINGS 1 + +# Use this directive to set the database handle's 'LongReadLen' attribute to +# a value that will be the larger than the expected size of the LOB. The default +# is 1MB witch may not be enough to extract BLOB objects. If the size of the LOB +# exceeds the 'LongReadLen' DBD::Oracle will return a 'ORA-24345: A Truncation' +# error. Default: 1023*1024 bytes. Take a look at this page to learn more: +# http://search.cpan.org/~pythian/DBD-Oracle-1.22/Oracle.pm#Data_Interface_for_Persistent_LOBs +# +# Important note: If you increase the value of this directive take care that +# DATA_LIMIT will probably needs to be reduced. Even if you only have a 1MB blob +# trying to read 10000 of them (the default DATA_LIMIT) all at once will require +# 10GB of memory. You may extract data from those table separately and set a +# DATA_LIMIT to 500 or lower, otherwise you may experience some out of memory. +LONGREADLEN 1047552 + +# 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. +#LONGTRUNCOK 0 + +# Disable this if you want to load full content of BLOB and CLOB and not use +# LOB locators. In this case you will have to set LONGREADLEN to the right +# value. 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. For more information on how it works, see +# http://search.cpan.org/~pythian/DBD-Oracle-1.74/lib/DBD/Oracle.pm#Data_Interface_for_LOB_Locators +# Default is enabled, it use LOB locators. +USE_LOB_LOCATOR 1 + +# Oracle recommends reading from and writing to a LOB in batches using a +# multiple of the LOB chunk size. This chunk size defaults to 8k (8192). +# Recent tests shown that the best performances can be reach with higher +# value like 512K or 4Mb. +# +# A quick benchmark with 30120 rows with different size of BLOB (200x5Mb, +# 19800x212k, 10000x942K, 100x17Mb, 20x156Mb), with DATA_LIMIT=100, +# LONGREADLEN=170Mb and a total table size of 20GB gives: +# +# no lob locator : 22m46,218s (1365 sec., avg: 22 recs/sec) +# chunk size 8k : 15m50,886s (951 sec., avg: 31 recs/sec) +# chunk size 512k : 1m28,161s (88 sec., avg: 342 recs/sec) +# chunk size 4Mb : 1m23,717s (83 sec., avg: 362 recs/sec) +# +# In conclusion it can be more than 10 time faster with LOB_CHUNK_SIZE set +# to 4Mb. Dependind of the size of most BLOB you may want to adjust the value +# here. For example if you have a majority of small lobs bellow 8K, using 8192 +# is better to not waste space. +LOB_CHUNK_SIZE 512000 + +# Force the use of getStringVal() instead of getClobVal() for XML data export. +# Default is 1, enabled for backward compatibility. Set here to 0 to use extract +# method a la CLOB and export the XML code as it was stored. Note that XML value +# extracted with getStringVal() must not exceed VARCHAR2 size limit otherwize +# it will return an error. +XML_PRETTY 0 + +# Enable this directive if you want to continue direct data import on error. +# When Ora2Pg receives an error in the COPY or INSERT statement from PostgreSQL +# it will log the statement to a file called TABLENAME_error.log in the output +# directory and continue to next bulk of data. Like this you can try to fix the +# statement and manually reload the error log file. Default is disabled: abort +# import on error. +LOG_ON_ERROR 0 + +# If you want to convert CHAR(n) from Oracle into varchar(n) or text under +# PostgreSQL, you might want to do some triming on the data. By default +# Ora2Pg will auto-detect this conversion and remove any withspace at both +# leading and trailing position. If you just want to remove the leadings +# character, set the value to LEADING. If you just want to remove the trailing +# character, set the value to TRAILING. Default value is BOTH. +TRIM_TYPE BOTH + +# The default triming character is space, use the directive bellow if you need +# to change the character that will be removed. For example, set it to - if you +# have leading - in the char(n) field. To use space as triming charger, comment +# this directive, this is the default value. +#TRIM_CHAR - + +# Internal timestamp retrieves from custom type are extracted in the following +# format: 01-JAN-77 12.00.00.000000 AM. It is impossible to know the exact century +# that must be used, so by default any year below 49 will be added to 2000 +# and others to 1900. You can use this directive to change this default value. +# this is only relevant if you have user defined type with a column timestamp. +INTERNAL_DATE_MAX 49 + +# Disable this directive if you want to disable check_function_bodies. +# +# SET check_function_bodies = false; +# +# It disables validation of the function body string during CREATE FUNCTION. +# Default is to use de postgresql.conf setting that enable it by default. +FUNCTION_CHECK 1 + +# Exporting BLOB takes time, in some circumstances you may want to export +# all data except the BLOB columns. In this case disable this directive and +# the BLOB columns will not be included into data export. Take care that the +# target bytea column do not have a NOT NULL constraint. +ENABLE_BLOB_EXPORT 1 + +# Same but for CLOB data export +ENABLE_CLOB_EXPORT 1 + +# By default data export order will be done by sorting on table name. If you +# have huge tables at end of alphabetic order and you are using multiprocess +# it can be better to set the sort order on size so that multiple small tables +# can be processed before the largest tables finish. In this case set this +# directive to size. Possible values are name and size. Note that export type +# SHOW_TABLE and SHOW_COLUMN will use this sort order too, not only COPY or +# INSERT export type. If you want to give you custom export order, just give +# a filename as value that contains the ordered list of table to export. Must +# be a list of one table per line, in uppercase for Oracle. +DATA_EXPORT_ORDER name + +# By default Ora2Pg use \i psql command to execute generated SQL files +# if you want to use a relative path following the script execution file +# enabling this option will use \ir. See psql help for more information. +PSQL_RELATIVE_PATH 0 + +# Number of rows that must be retrieved on both side for data validation. +DATA_VALIDATION_ROWS 10000 + +# Order of rows between both sides are different once the data have been +# modified. In this case data must be ordered using a primary key or a +# unique index, that mean that a table without such object can not be +# compared. If the validation is done just after the data migration without +# any data modification the validation can be done on all tables without any +# ordering. +DATA_VALIDATION_ORDERING 1 + +# Stop validating data from a table after a certain amount of row mistmatch. +# Default is to stop after 10 rows validation errors. +DATA_VALIDATION_ERROR 10 + +# Use this directive to precise which transformation should be applied to a +# column when exporting data. Value must be a semicolon separated list of +# TABLE[COLUMN_NAME, ] +# For example to replace string 'Oracle' by 'PostgreSQL' in a varchar2 column +# use the following. +#TRANSFORM_VALUE ERROR_LOG_SAMPLE[DBMS_TYPE,regexp_replace("DBMS_TYPE",'Oracle','PostgreSQL')] +#or to replace all Oracle char(0) in a string by a space character: +#TRANSFORM_VALUE CLOB_TABLE[CHARDATA:translate("CHARDATA", chr(0), ' ')] +#The expression will be applied in the SQL statemeent used to extract data +#from the source database. + +#------------------------------------------------------------------------------ +# PERFORMANCES SECTION (Control export/import performances) +#------------------------------------------------------------------------------ + +# This configuration directive adds multiprocess support to COPY, FUNCTION +# and PROCEDURE export type, the value is the number of process to use. +# Default is to not use multiprocess. This directive is used to set the number +# of cores to used to parallelize data import into PostgreSQL. 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. There's no more limitation in parallel processing +# than the number of cores and the PostgreSQL I/O performance capabilities. +# Doesn't works under Windows Operating System, it is simply disabled. +JOBS 1 + +# Multiprocess support. This directive should defined the number of parallel +# connection to Oracle when extracting data. The limit is the number of cores +# on your machine. This is useful if Oracle is the bottleneck. Take care that +# this directive can only be used if there is a primary / unique key defined +# on a numeric column or that a column is defined in DEFINED_PK. +ORACLE_COPIES 1 + +# Multiprocess support. This directive should defined the number of tables +# in parallel data extraction. The limit is the number of cores on your machine. +# Ora2Pg will open one database connection for each parallel table extraction. +# This directive, when upper than 1, will invalidate ORACLE_COPIES but not JOBS. +# Note that this directive when set upper that 1 will also automatically enable +# the FILE_PER_TABLE directive if your are exporting to files. +PARALLEL_TABLES 1 + +# 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. A value of 0 or 1 disable the use of parallel hint. +# Default is disabled. +DEFAULT_PARALLELISM_DEGREE 0 + +# Parallel mode will not be activated if the table have less rows than +# this directive. This prevent fork of Oracle process when it is not +# necessary. Default is 100K rows. +PARALLEL_MIN_ROWS 100000 + +# Multiprocess support. This directive is used to split the select queries +# between the different connections to Oracle if ORA_COPIES is used. Ora2Pg +# will extract data with the following prepare statement: +# SELECT * FROM TABLE WHERE MOD(COLUMN, $ORA_COPIES) = ? +# Where $ORA_COPIES is the total number of cores used to extract data and set +# with ORA_COPIES directive, and ? is the current core used at execution time. +# This means that Ora2Pg needs to know the numeric column to use in this query. +# If this column is a real, float, numeric or decimal, you must add the ROUND() +# function with the column to round the value to the nearest integer. +#DEFINED_PK TABLE:COLUMN TABLE:ROUND(COLUMN) + +# Enabling this directive force Ora2Pg to drop all indexes on data import +# tables, except automatic index on primary key, and recreate them at end +# of data import. This may improve speed a lot during a fresh import. +DROP_INDEXES 0 + +# Specifies whether transaction commit will wait for WAL records to be written +# to disk before the command returns a "success" indication to the client. This +# is the equivalent to set synchronous_commit directive of postgresql.conf file. +# This is only used when you load data directly to PostgreSQL, the default is +# off to disable synchronous commit to gain speed at writing data. Some modified +# versions of PostgreSQL, like Greenplum, do not have this setting, so in this +# case set this directive to 1, ora2pg will not try to change the setting. +SYNCHRONOUS_COMMIT 0 + +#------------------------------------------------------------------------------ +# PLSQL SECTION (Control SQL and PL/SQL to PLPGSQL rewriting behaviors) +#------------------------------------------------------------------------------ + +# If the above configuration directive is not enough to validate your PL/SQL code +# enable this configuration directive to allow export of all PL/SQL code even if +# it is marked as invalid. The 'VALID' or 'INVALID' status applies to functions, +# procedures, packages, triggers and user defined types. +EXPORT_INVALID 0 + +# Enable PLSQL to PLPSQL conversion. This is a work in progress, feel +# free modify/add you own code and send me patches. The code is under +# function plsql_toplpgsql in Ora2PG/PLSQL.pm. Default enabled. +PLSQL_PGSQL 0 + +# Ora2Pg can replace all conditions with a test on NULL by a call to the +# coalesce() function to mimic the Oracle behavior where empty field are +# considered equal to NULL. Ex: (field1 IS NULL) and (field2 IS NOT NULL) will +# be replaced by (coalesce(field1::text, '') = '') and (field2 IS NOT NULL AND +# field2::text <> ''). You might want this replacement to be sure that your +# application will have the same behavior but if you have control on you app +# a better way is to change it to transform empty string into NULL because +# PostgreSQL makes the difference. +NULL_EQUAL_EMPTY 0 + +# Force empty_clob() and empty_blob() to be exported as NULL instead as empty +# string for the first one and \\x for the second. If NULL is allowed in your +# column this might improve data export speed if you have lot of empty lob. +EMPTY_LOB_NULL 1 + +# If you don't want to export package as schema but as simple functions you +# might also want to replace all call to package_name.function_name. If you +# disable the PACKAGE_AS_SCHEMA directive then Ora2Pg will replace all call +# to package_name.function_name() by package_name_function_name(). Default +# is to use a schema to emulate package. +PACKAGE_AS_SCHEMA 1 + +# Enable this directive if the rewrite of Oracle native syntax (+) of +# OUTER JOIN is broken. This will force Ora2Pg to not rewrite such code, +# default is to try to rewrite simple form of rigth outer join for the +# moment. +REWRITE_OUTER_JOIN 1 + +# By default Oracle functions are marked as STABLE as they can not modify data +# unless when used in PL/SQL with variable assignment or as conditional +# expression. You can force Ora2Pg to create these function as VOLATILE by +# disabling the following configuration directive. +FUNCTION_STABLE 1 + +# By default call to COMMIT/ROLLBACK are kept untouched by Ora2Pg to force +# the user to review the logic of the function. Once it is fixed in Oracle +# source code or you want to comment this calls enable the following directive +COMMENT_COMMIT_ROLLBACK 0 + +# It is common to see SAVEPOINT call inside PL/SQL procedure together with +# a ROLLBACK TO savepoint_name. When COMMENT_COMMIT_ROLLBACK is enabled you +# may want to also comment SAVEPOINT calls, in this case enable it. +COMMENT_SAVEPOINT 0 + +# Ora2Pg replace all string constant during the pl/sql to plpgsql translation, +# string constant are all text include between single quote. If you have some +# string placeholder used in dynamic call to queries you can set a list of +# regexp to be temporary replaced to not break the parser.The list of regexp +# must use the semi colon as separator. For exemple: +#STRING_CONSTANT_REGEXP + +# To support the Alternative Quoting Mechanism (''Q'') for String Literals +# set the regexp with the text capture to use to extract the text part. +# For example with a variable declared as +# c_sample VARCHAR2(100 CHAR) := q'{This doesn't work.}'; +# the regexp must be: q'{(.*)}' ora2pg use the $$ delimiter. +#ALTERNATIVE_QUOTING_REGEXP q'{(.*)}' + +# If you want to use functions defined in the Orafce library and prevent +# Ora2Pg to translate call to these function, enable this directive. +# The Orafce library can be found here: https://github.com/orafce/orafce +# By default Ora2pg rewrite add_month(), add_year(), date_trunc() and +# to_char() functions, but you may prefer to use the orafce version of +# these function that do not need any code transformation. +USE_ORAFCE 0 + +# Enable translation of autonomous transactions into a wrapper function +# using dblink or pg_background extension. If you don't want to use this +# translation and just want the function to be exported as a normal one +# without the pragma call, disable this directive. +AUTONOMOUS_TRANSACTION 1 + +#------------------------------------------------------------------------------ +# ASSESSMENT SECTION (Control migration assessment behaviors) +#------------------------------------------------------------------------------ + +# Activate the migration cost evaluation. Must only be used with SHOW_REPORT, +# FUNCTION, PROCEDURE, PACKAGE and QUERY export type. Default is disabled. +# Note that enabling this directive will force PLSQL_PGSQL activation. +ESTIMATE_COST 0 + +# Set the value in minutes of the migration cost evaluation unit. Default +# is five minutes per unit. +COST_UNIT_VALUE 5 + +# By default when using SHOW_REPORT the migration report is generated as +# simple text, enabling this directive will force ora2pg to create a report +# in HTML format. +DUMP_AS_HTML 0 + +# Set the total number of tables to display in the Top N per row and size +# list in the SHOW_TABLE and SHOW_REPORT output. Default 10. +TOP_MAX 10 + +# Use this directive to redefined the number of human-days limit where the +# migration assessment level must switch from B to C. Default is set to 10 +# human-days. +HUMAN_DAYS_LIMIT 5 + +# Set the comma separated list of username that must be used to filter +# queries from the DBA_AUDIT_TRAIL table. Default is to not scan this +# table and to never look for queries. This parameter is used only with +# SHOW_REPORT and QUERY export type with no input file for queries. +# Note that queries will be normalized before output unlike when a file +# is given at input using the -i option or INPUT directive. +#AUDIT_USER USERNAME1,USERNAME2 + +# By default Ora2Pg will convert call to SYS_GUID() Oracle function +# with a call to uuid_generate_v4() from uuid-ossp extension. You can +# redefined it to use the gen_random_uuid() function from pgcrypto +# extension by changing the function name below. +#UUID_FUNCTION uuid_generate_v4 + +#------------------------------------------------------------------------------ +# POSTGRESQL FEATURE SECTION (Control which PostgreSQL features are available) +#------------------------------------------------------------------------------ + +# Set the PostgreSQL major version number of the target database. Ex: 9.6 or 10 +# Default is current major version at time of a new release. This replace the +# old PG_SUPPORTS_* configuration directives. +PG_VERSION 15 + +# Use btree_gin extenstion to create bitmap like index with pg >= 9.4 +# You will need to create the extension by yourself: +# create extension btree_gin; +# Default is to create GIN index, when disabled, a btree index will be created +BITMAP_AS_GIN 1 + +# Use pg_background extension to create an autonomous transaction instead +# of using a dblink wrapper. With pg >= 9.5 only, default is to use dblink. +PG_BACKGROUND 0 + +# By default if you have an autonomous transaction translated using dblink +# extension instead of pg_background the connection is defined using the +# values set with PG_DSN, PG_USER and PG_PWD. If you want to fully override +# the connection string use this directive as follow to set the connection +# in the autonomous transaction wrapper function. +#DBLINK_CONN port=5432 dbname=pgdb host=localhost user=pguser password=pgpass + +# Some versions of PostgreSQL like Redshift doesn't support substr() +# and it need to be replaced by a call to substring(). In this case, +# disable it. +PG_SUPPORTS_SUBSTR 1 + +#------------------------------------------------------------------------------ +# SPATIAL SECTION (Control spatial geometry export) +#------------------------------------------------------------------------------ + +# Enable this directive if you want Ora2Pg to detect the real spatial type and +# dimensions used in a spatial column. By default Ora2Pg will look at spatial +# indexes to see if the layer_gtype and sdo_indx_dims constraint parameters have +# been set, otherwise column will be created with the non-constrained "geometry" +# type. Enabling this feature will force Ora2Pg to scan a sample of 50000 lines +# to look at the GTYPE used. You can increase or reduce the sample by setting +# the value of AUTODETECT_SPATIAL_TYPE to the desired number of line. +AUTODETECT_SPATIAL_TYPE 1 + +# Disable this directive if you don't want to automatically convert SRID to +# EPSG using the sdo_cs.map_oracle_srid_to_epsg() function. Default: enabled +# If the SDO_SRID returned by Oracle is NULL, it will be replaced by the +# default value 8307 converted to its EPSG value: 4326 (see DEFAULT_SRID) +# If the value is upper than 1, all SRID will be forced to this value, in +# this case DEFAULT_SRID will not be used when Oracle returns a null value +# and the value will be forced to CONVERT_SRID. +# Note that it is also possible to set the EPSG value on Oracle side when +# sdo_cs.map_oracle_srid_to_epsg() return NULL if your want to force the value: +# Ex: system> UPDATE sdo_coord_ref_sys SET legacy_code=41014 WHERE srid = 27572; +CONVERT_SRID 1 + +# Use this directive to override the default EPSG SRID to used: 4326. +# Can be overwritten by CONVERT_SRID, see above. +DEFAULT_SRID 4326 + +# This directive can take three values: WKT (default), WKB and INTERNAL. +# When it is set to WKT, Ora2Pg will use SDO_UTIL.TO_WKTGEOMETRY() to +# extract the geometry data. When it is set to WKB, Ora2Pg will use the +# binary output using SDO_UTIL.TO_WKBGEOMETRY(). If those two extract type +# are called at Oracle side, they are slow and you can easily reach Out Of +# Memory when you have lot of rows. Also WKB is not able to export 3D geometry +# and some geometries like CURVEPOLYGON. In this case you may use the INTERNAL +# extraction type. 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 is a work in progress, please validate your exported data geometries +# before use. +GEOMETRY_EXTRACT_TYPE INTERNAL + +# Oracle function to use to extract the srid from ST_Geometry meta information +ST_SRID_FUNCTION ST_SRID + +# Oracle function to use to extract the dimension from ST_Geometry meta information +ST_DIMENSION_FUNCTION ST_DIMENSION + +# Oracle function to used to convert an ST_Geometry value into WKB format +ST_ASBINARY_FUNCTION ST_ASBINARY + +# Oracle function to used to convert an ST_Geometry value into WKT format +ST_ASTEXT_FUNCTION ST_ASTEXT + +# Oracle function to use to extract the geometry type from a ST_Geometry column +ST_GEOMETRYTYPE_FUNCTION ST_GEOMETRYTYPE + +#------------------------------------------------------------------------------ +# FDW SECTION (Control Foreign Data Wrapper export) +#------------------------------------------------------------------------------ + +# This directive is used to set the name of the foreign data server that is used +# in the "CREATE SERVER name FOREIGN DATA WRAPPER oracle_fdw ..." command. This +# import data using oracle_fdw. Default is no foreign server defined. +# This only concerns export type FDW, COPY and INSERT. For export type FDW the +# default value is orcl +#FDW_SERVER orcl + +# Schema where foreign tables for data migration will be created. If you use +# several instances of ora2pg for data migration through the foreign data +# wrapper, you might need to change the name of the schema for each instance. +FDW_IMPORT_SCHEMA ora2pg_fdw_import + +# The default behaviour of Ora2Pg is to NOT set the "prefetch" option for +# oracle_fdw when used for COPY and INSERT. This directive allows the prefetch +# to be set. See oracle_fdw documentation for the current default. +#ORACLE_FDW_PREFETCH 1000 + +# By default Ora2Pg drops the temporary schema ora2pg_fdw_import used to import +# the Oracle foreign schema before each new import. If you want to preserve +# the existing schema because of modifications or the use of a third party +# server, disable this directive. +DROP_FOREIGN_SCHEMA 1 + + +#------------------------------------------------------------------------------ +# MYSQL SECTION (Control MySQL export behavior) +#------------------------------------------------------------------------------ + +# Enable this if double pipe and double ampersand (|| and &&) should not be +# taken as equivalent to OR and AND. It depend of the variable @sql_mode, +# Use it only if Ora2Pg fail on auto detecting this behavior. +MYSQL_PIPES_AS_CONCAT 0 + +# Enable this directive if you want EXTRACT() replacement to use the internal +# format returned as an integer, for example DD HH24:MM:SS will be replaced +# with format; DDHH24MMSS::bigint, this depend of your apps usage. +MYSQL_INTERNAL_EXTRACT_FORMAT 0 + +#------------------------------------------------------------------------------ +# SQL Server SECTION (Control MSSQL export behavior) +#------------------------------------------------------------------------------ + +# PostgreSQL has no equivalent to rowversion datatype and feature, if you want +# to remove these useless columns, enable this directive. Columns of datatype +# 'rowversion' or 'timestamp' will not be exported. +DROP_ROWVERSION 0 + +# Emulate the same behavior of MSSQL with case insensitive search. If the value +# is citext it will use the citext data type instead of char/varchar/text in +# tables DDL (Ora2Pg will add a CHECK constraint for columns with a precision). +# Instead of citext you can also set a collation name that will be used in the +# columns definitions. To disable case insensitive search set it to: none. +CASE_INSENSITIVE_SEARCH citext + +# Append a TOP N clause to the SELECT command used to extract the data from +# SQL Server. This is the equivalent to a WHERE ROWNUM < 1000 clause for Oracle. +SELECT_TOP 1000 diff --git a/docker/database/migration/migv1/config/tables_to_export.txt b/docker/database/migration/migv1/config/tables_to_export.txt index 0cdc928919..fb05dd4e4d 100644 --- a/docker/database/migration/migv1/config/tables_to_export.txt +++ b/docker/database/migration/migv1/config/tables_to_export.txt @@ -1,78 +1,78 @@ -vc_userinfo -vc_group -vc_model -vc_celltype -vc_struct -vc_reactstep -vc_protein -vc_proteinalias -vc_compound -vc_compoundalias -vc_enzyme -vc_enzymealias -vc_enzymereaction -vc_dbspecies -vc_specialusers -vc_species -vc_modelsc -vc_modelstruct -vc_reactpart -vc_diagram -vc_geomextent -vc_image -vc_imagedata -vc_browsedata -vc_imageregion -vc_geometry -vc_subvolume -vc_surfaceclass -vc_math -vc_simcontext -vc_speciescontextspec -vc_structmapping -vc_reactionspec -vc_stimulus -vc_analysistask -vc_filament -vc_curve -vc_simulation -vc_simstat -vc_biomodel -vc_biomodelsimcontext -vc_biomodelsim -vc_mathmodel -vc_mathmodelsim -vc_available -vc_userstat -vc_userlog -vc_simcontextstat -vc_simcontextstat2 -stochtest -stochtestrun -stochtestcompare -vc_simulationjob -vc_biomodelxml -vc_mathmodelxml -vc_geometricregion -vc_surfacedesc -vc_userpref -vc_tftestsuite -vc_tftestcase -vc_tftestcriteria -vc_tftestresult -vc_softwareversion -vc_externaldata -vc_mathdescextdata -vc_miriam -vc_apiclient -vc_apiaccesstoken -vc_publication -vc_publicationmodellink -vc_applicationmath -vc_datasymbol -vc_globalmodelparam -loadmodelstat -vc_userlogininfo -vc_metadata -vc_simdelfromdisk -vc_useridentity +VC_USERINFO +VC_GROUP +VC_MODEL +VC_CELLTYPE +VC_STRUCT +VC_REACTSTEP +VC_PROTEIN +VC_PROTEINALIAS +VC_COMPOUND +VC_COMPOUNDALIAS +VC_ENZYME +VC_ENZYMEALIAS +VC_ENZYMEREACTION +VC_DBSPECIES +VC_SPECIALUSERS +VC_SPECIES +VC_MODELSC +VC_MODELSTRUCT +VC_REACTPART +VC_DIAGRAM +VC_GEOMEXTENT +VC_IMAGE +VC_IMAGEDATA +VC_BROWSEDATA +VC_IMAGEREGION +VC_GEOMETRY +VC_SUBVOLUME +VC_SURFACECLASS +VC_MATH +VC_SIMCONTEXT +VC_SPECIESCONTEXTSPEC +VC_STRUCTMAPPING +VC_REACTIONSPEC +VC_STIMULUS +VC_ANALYSISTASK +VC_FILAMENT +VC_CURVE +VC_SIMULATION +VC_SIMSTAT +VC_BIOMODEL +VC_BIOMODELSIMCONTEXT +VC_BIOMODELSIM +VC_MATHMODEL +VC_MATHMODELSIM +VC_AVAILABLE +VC_USERSTAT +VC_USERLOG +VC_SIMCONTEXTSTAT +VC_SIMCONTEXTSTAT2 +STOCHTEST +STOCHTESTRUN +STOCHTESTCOMPARE +VC_SIMULATIONJOB +VC_BIOMODELXML +VC_MATHMODELXML +VC_GEOMETRICREGION +VC_SURFACEDESC +VC_USERPREF +VC_TFTESTSUITE +VC_TFTESTCASE +VC_TFTESTCRITERIA +VC_TFTESTRESULT +VC_SOFTWAREVERSION +VC_EXTERNALDATA +VC_MATHDESCEXTDATA +VC_MIRIAM +VC_APICLIENT +VC_APIACCESSTOKEN +VC_PUBLICATION +VC_PUBLICATIONMODELLINK +VC_APPLICATIONMATH +VC_DATASYMBOL +VC_GLOBALMODELPARAM +LOADMODELSTAT +VC_USERLOGININFO +VC_METADATA +VC_SIMDELFROMDISK +VC_USERIDENTITY