Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Oracle support deprecated in 7.3. Will be removed in 7.6 release #8214

Closed
tdonohue opened this issue Mar 16, 2022 · 4 comments · Fixed by #8822
Closed

Oracle support deprecated in 7.3. Will be removed in 7.6 release #8214

tdonohue opened this issue Mar 16, 2022 · 4 comments · Fixed by #8822
Assignees
Labels
backend: Oracle Related to Oracle database backend code task Code cleanup task high priority
Milestone

Comments

@tdonohue
Copy link
Member

tdonohue commented Mar 16, 2022

Deprecation of Oracle Support

Per a unanimous vote in today's DSpace Steering Meeting, DSpace will deprecate support for Oracle Databases in the upcoming 7.3 release.

All Oracle-specific classes/code will be removed one year after the 7.3 release. Assuming that we remain on the three-releases per year schedule for 2022-2023, this likely means complete removal of Oracle support in version 7.6.

See announcement on mailing lists: https://groups.google.com/g/dspace-community/c/nXNMVBY_CJo/m/4pu7WKdUAgAJ

This decision was not made lightly.

  • Over several releases we have found that our ability to support Oracle has been very inconsistent. None of the core DSpace developers use Oracle at their institutions, which means most major releases are not well tested on Oracle, resulting in a lot of Oracle specific bugs. While some of those bugs get fixes slowly over time, a number are still open issues with no volunteers.
  • We surveyed the community via emails to dspace-community, dspace-tech and dspace-devel asking for help in better supporting Oracle. Unfortunately, no offers of help have been formally made. We only had a few responses out of a community of thousands, implying that Oracle is not frequently used with DSpace.
  • We also feel that DSpace should strive to provide an entirely open source platform. Oracle is obviously not an open source product, and the cost of running it can be significant. This speaks to the challenge of finding anyone to help support it.

What this means

For 7.3: ( ✅ Completed in #8300 )

  • Add deprecation warning to Release Notes & README
  • Add deprecation warning to mentions of Oracle in DSpace Documentation.
  • Log deprecation as a WARN in dspace.log on every restart of DSpace backend for sites which currently use Oracle.

For Summer 2023 release (version 7.6):

  • Remove all Oracle-specific migrations under dspace-api/src/main/resources/org/dspace/storage/rdbms/sqlmigration/oracle/.
  • Remove all Oracle-specific code from org.dspace.storage.rdbms.* classes.
  • Remove all Oracle-specific profiles/dependencies from POMs
  • Remove all mentions of Oracle in READMEs and configurations (*.cfg)

Oracle to PostgreSQL Migration options

Choose ONE:

  • Use Ora2Pg (Recommended) : Consider using Ora2Pg to migrate from Oracle to PostgreSQL. An early guide for how one institution did this migration is available at https://wiki.lyrasis.org/display/DSPACE/DSpace+Oracle+to+PostgreSQL+migration
  • Use AIPs: If that's not possible, you could also use AIP Backup & Restore as a migration tool.
    • Simply export AIPs from DSpace + Oracle, install DSpace + Postgres and import AIPs there.
    • WARNING: AIPs currently do have some known limitations, especially that they do not store "in progress Items" (ones that are not yet submitted or in workflow) or Item versions. Therefore, using AIPs for migration will result in some data loss.
@tdonohue tdonohue added code task Code cleanup task high priority backend: Oracle Related to Oracle database backend labels Mar 16, 2022
@tdonohue tdonohue added this to the 7.3 milestone Mar 16, 2022
@tdonohue tdonohue self-assigned this Mar 16, 2022
@tdonohue tdonohue added this to To Do in DSpace 7.3 release via automation Mar 16, 2022
@tdonohue tdonohue changed the title Deprecate Oracle Support in 7.3. Will be removed in mid-2023 release (which will likely be v7.6) Deprecate Oracle Support in 7.3. Will be removed in mid-2023 release Mar 16, 2022
@tdonohue tdonohue moved this from To Do to In Progress in DSpace 7.3 release Mar 16, 2022
@tdonohue tdonohue changed the title Deprecate Oracle Support in 7.3. Will be removed in mid-2023 release Oracle support deprecated in 7.3. Will be removed in mid-2023 release May 20, 2022
@tdonohue tdonohue removed this from the 7.3 milestone Jun 6, 2022
@tdonohue tdonohue removed this from In Progress in DSpace 7.3 release Jun 6, 2022
@tdonohue tdonohue added this to To Do in DSpace 7.4 release via automation Jun 6, 2022
@mwoodiupui
Copy link
Member

We should provide some guidance on how to migrate one's DSpace instances from Oracle DB to PostgreSQL. Offhand I don't know whether Packager export/import will get everything in the database. One alternative I recall is Ora2Pg but I've never yet used it. Anyway we need to do some planning and testing.

@mwoodiupui
Copy link
Member

I am by no means well-versed in Oracle DB. But I have done some testing of DSpace patches on it, and I do still have a couple of VMs with various versions of it.

@tdonohue
Copy link
Member Author

tdonohue commented Jun 16, 2022

@mwoodiupui : If it's of interest to you to look into this, I'd welcome anyone documenting their experiences to share with others. Unfortunately though, because the number of Oracle users seems so very low (at least based on responses to surveys), providing a migration guide from Oracle to PostgreSQL is not very high priority. I'm not aware of anyone who has created such a guide for DSpace & it's not funded work at this time, so it'd need to be volunteer driven.

That said, the two options you mention (using AIP Backup & Restore as a migration tool or using Ora2Pg) are likely the best paths.

AIP Backup & Restore is likely the easiest path as it requires no knowledge of Oracle vs Postgres. Simply export AIPs from Oracle, install Postgres and import AIPs there. But, AIPs currently do have some known limitations, especially that they do not store "in progress Items" (ones that are not yet submitted or in workflow) or Item versions.

@tdonohue
Copy link
Member Author

tdonohue commented Jun 29, 2022

Oracle to PostgreSQL migration guide (draft)

@pilasou has kindly documented their experience of migrating from Oracle to PostgreSQL using Ora2pg in this wiki page: https://wiki.lyrasis.org/display/DSPACE/DSpace+Oracle+to+PostgreSQL+migration

Any other institutions planning a similar migration should reference that guide for tips... and also feel free to add/enhance the guide based on your experiences.

(UPDATE: I've added this information in the ticket description above so that it's easier to locate & reference)

@tdonohue tdonohue moved this from To Do to Reviewer Approved in DSpace 7.4 release Jul 1, 2022
@tdonohue tdonohue moved this from Reviewer Approved to Stalled/On Hold in DSpace 7.4 release Jul 1, 2022
@tdonohue tdonohue removed this from Stalled/On Hold in DSpace 7.4 release Oct 4, 2022
@tdonohue tdonohue changed the title Oracle support deprecated in 7.3. Will be removed in mid-2023 release Oracle support deprecated in 7.3. Will be removed in 7.6 release Mar 2, 2023
@tdonohue tdonohue added this to the 7.6 milestone Mar 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend: Oracle Related to Oracle database backend code task Code cleanup task high priority
Projects
No open projects
Development

Successfully merging a pull request may close this issue.

2 participants