SlideShare una empresa de Scribd logo
1 de 16
Descargar para leer sin conexión
Migration
to Firebird 3.x
Fabio Codebue
Firebird Foundation
Committe Member
REALLY WE NEED ANOTHER FIREBIRD VERSION?
WHY MIGRATION
• WHY MIGRATION
• Because we have a new logo?
• Because we have written marvellous code?
• Because we have lowest price of the market?
• Because you have nothing else todo?
MIGRATION CHECKS
• USEFUL TIPS
• New features in Firebird often require changes to the
storage format of the database. Maintaining the ability to
access many different old versions of the database
structure complicates the code of the Firebird server.
• In order to use existing databases under Firebird 3, you
must convert them to the new storage format.
• FIRST check you can backup and restore DB
• Firebird 3 can access only ODS 12 databases
CHANGE ODS TO 12.0
• CHECKS
• Test the database integrity with gbak
gbak -user <user> -pas <password> -b -v -g -se <service_mgr> <database>
<backupfile>
• If the gbak backup fails indicating a possible corruption
gfix -v -full -user <user> -pas <password> <database>
• If gfix reports transactions in limbo
gfix -v -full –mend <user> -pas <password> <database>
• Once you have a good backup, restore it
gbak -user <user> -pas <password> -c -v -se <service_mgr> <backupfile>
<database>
CHARACTER ENCODING
• PROBLEM WITH CHARACTER ENCODING
• If you currently run Firebird 2.1 or later
• You should perform this check before starting to migrate
to Firebird 3
• Firebird uses the character set UNICODE_FSS to store the
data in the system tables (RDB$...)
• To solve the problem use gbak during restore
• -fix_fss_metadata or -fix_fss_data
METADATA CHECKS
• VALIDATING METADATA
• Firebird 3 has added reserved words
• The gbak restore recognizes table and column names that
are reserved words
• and changes them to quoted identifiers.
• However, triggers, stored procedures, validity constraints,
and even view definitions
• And gbak doesn’t recognize them
• EXPORT DATABASE TO SQL and run… so check errors!
BACKUP/RESTORE PROCESS
• SPEED UP BACKUP/RESTORE PROCESS
• Use the -g switch during the backup – no garbage
collection
• Use the -se service_mgr switch, for both the backup and
the restore - eliminating communication time
• Use SSD … naturally.. .or not?
• Increase the parameter SortMemSize in firebird.conf
temporarily
USERS ARE CHANGED!
• USERS ARE NOT MORE THE SAME!
• Firebird 3 have centralized users database
• The default name for the security database in Firebird 3 is
security3.fdb
• PRO: user management can be simpler
• CONS: all user can access to all DB on server…
• If he know path and name!
• You cannot migrate the security database of older
Firebird versions to Firebird 3.
LOCAL USERS
• LOCAL USERS
• Introduced the concept of local, per database, users
• You can change name of user database
• SecurityDatabase can also be set per database in the
databases.conf
base1 = c:databasesbase1.fdb
{
SecurityDatabase = c:dbUsersusers_base1.fdb
}
base2 = c:dbsbase2.fdb
{
SecurityDatabase = base2
}
base3 = c:dbsbase3.fdb
PASSWORDS
• USER PASSWORDS
• Firebird does not store users' passwords
….in the security database
• Firebird stores a hash of the password
• Remember that up to Firebird 2.5
only the first eight bytes of a password are considered in
the hash calculation
• Firebird 3 uses up to 255 bytes of a password for hash
calculation!
INITIALIZING SECURITY DB
• Initializing the security database
• There are two ways
• Make sure that the Firebird process is not running
• Open a command prompt and, in the Firebird 3 root
directory, type:
gsec -user SYSDBA
gsec>add SYSDBA -pw masterkey
gsec>quit
• But… gsec is deprecated in firebird 3.0
INITIALIZING SECURITY DB
• Initializing the security database
• 2 mode
• Make sure that the Firebird process is not running
• Open a command prompt, and call isql like this:
isql -user SYSDBA employee
SQL>create user SYSDBA password 'masterkey'; SQL>commit;
SQL>quit;
• 3. Start Firebird
MANAGING USERS WITH SQL
• Managing users using SQL
CREATE USER name {PASSWORD ‘apassword’} [ options ]
[ TAGS ( tag [, tag [, tag ...]] ) ] [USING PLUGIN name]
ALTER USER name SET [PASSWORD ‘apassword’] [ options ]
[ TAGS ( tag [, tag [, tag ...]] ) ] [USING PLUGIN name]
ALTER CURRENT USER SET [PASSWORD ‘apassword’] [ options ]
[ TAGS ( tag [, tag [, tag ...]] ) ] [USING PLUGIN name]
CREATE OR ALTER USER name SET [PASSWORD ‘apassword’] [options]
[ TAGS ( tag [, tag [, tag ...]] ) ] [USING PLUGIN name]
DROP USER nome [USING PLUGIN name];
LEGACY APPLICATION
• Firebird 3 introduces a new C++ object oriented API
• While maintaining full compatibility with the legacy API.
• .NET applications
• NET Provider did not yet support the new communication protocol encryption or SRP
authentication
• set the following parameters in firebird.conf:
WireCrypt = enabled (accept unenctpted connection)
• Jaybird applications
• Java Provider did not yet support the new communication protocol encryption or SRP
authentication
WireCrypt = Enabled
AuthServer = Srp, Win_Sspi, Legacy_Auth
UserManager = Srp, Legacy_UserManager
Thanks…
Fabio Codebue
Firebird Foundation
Committe Member
f.codebue@p-soft.biz
www.p-soft.biz
Firebird Optimization www.ibsurgeon.it

Más contenido relacionado

La actualidad más candente

Postgres in Amazon RDS
Postgres in Amazon RDSPostgres in Amazon RDS
Postgres in Amazon RDSDenish Patel
 
MySQL Enterprise Backup (MEB)
MySQL Enterprise Backup (MEB)MySQL Enterprise Backup (MEB)
MySQL Enterprise Backup (MEB)Mydbops
 
MySQL Server Backup, Restoration, and Disaster Recovery Planning
MySQL Server Backup, Restoration, and Disaster Recovery PlanningMySQL Server Backup, Restoration, and Disaster Recovery Planning
MySQL Server Backup, Restoration, and Disaster Recovery PlanningLenz Grimmer
 
PostgreSQL Replication High Availability Methods
PostgreSQL Replication High Availability MethodsPostgreSQL Replication High Availability Methods
PostgreSQL Replication High Availability MethodsMydbops
 
PostreSQL HA and DR Setup & Use Cases
PostreSQL HA and DR Setup & Use CasesPostreSQL HA and DR Setup & Use Cases
PostreSQL HA and DR Setup & Use CasesAshnikbiz
 
Percona xtrabackup - MySQL Meetup @ Mumbai
Percona xtrabackup - MySQL Meetup @ MumbaiPercona xtrabackup - MySQL Meetup @ Mumbai
Percona xtrabackup - MySQL Meetup @ MumbaiNilnandan Joshi
 
MySQL Server Settings Tuning
MySQL Server Settings TuningMySQL Server Settings Tuning
MySQL Server Settings Tuningguest5ca94b
 
MySQL database replication
MySQL database replicationMySQL database replication
MySQL database replicationPoguttuezhiniVP
 
Deploying postgre sql on amazon ec2
Deploying postgre sql on amazon ec2 Deploying postgre sql on amazon ec2
Deploying postgre sql on amazon ec2 Denish Patel
 
Overview of Postgres Utility Processes
Overview of Postgres Utility ProcessesOverview of Postgres Utility Processes
Overview of Postgres Utility ProcessesEDB
 
Analyze corefile and backtraces with GDB for Mysql/MariaDB on Linux - Nilanda...
Analyze corefile and backtraces with GDB for Mysql/MariaDB on Linux - Nilanda...Analyze corefile and backtraces with GDB for Mysql/MariaDB on Linux - Nilanda...
Analyze corefile and backtraces with GDB for Mysql/MariaDB on Linux - Nilanda...Mydbops
 
Linux tuning to improve PostgreSQL performance
Linux tuning to improve PostgreSQL performanceLinux tuning to improve PostgreSQL performance
Linux tuning to improve PostgreSQL performancePostgreSQL-Consulting
 
Meet hbase 2.0
Meet hbase 2.0Meet hbase 2.0
Meet hbase 2.0enissoz
 
Resolving Firebird performance problems
Resolving Firebird performance problemsResolving Firebird performance problems
Resolving Firebird performance problemsAlexey Kovyazin
 
Deep Dive into RDS PostgreSQL Universe
Deep Dive into RDS PostgreSQL UniverseDeep Dive into RDS PostgreSQL Universe
Deep Dive into RDS PostgreSQL UniverseJignesh Shah
 
PostGreSQL Performance Tuning
PostGreSQL Performance TuningPostGreSQL Performance Tuning
PostGreSQL Performance TuningMaven Logix
 
PostgreSQL9.3 Switchover/Switchback
PostgreSQL9.3 Switchover/SwitchbackPostgreSQL9.3 Switchover/Switchback
PostgreSQL9.3 Switchover/SwitchbackVibhor Kumar
 
Firebird migration: from Firebird 1.5 to Firebird 2.5
Firebird migration: from Firebird 1.5 to Firebird 2.5Firebird migration: from Firebird 1.5 to Firebird 2.5
Firebird migration: from Firebird 1.5 to Firebird 2.5Alexey Kovyazin
 

La actualidad más candente (20)

Postgres in Amazon RDS
Postgres in Amazon RDSPostgres in Amazon RDS
Postgres in Amazon RDS
 
MySQL Enterprise Backup (MEB)
MySQL Enterprise Backup (MEB)MySQL Enterprise Backup (MEB)
MySQL Enterprise Backup (MEB)
 
MySQL Server Backup, Restoration, and Disaster Recovery Planning
MySQL Server Backup, Restoration, and Disaster Recovery PlanningMySQL Server Backup, Restoration, and Disaster Recovery Planning
MySQL Server Backup, Restoration, and Disaster Recovery Planning
 
PostgreSQL Replication High Availability Methods
PostgreSQL Replication High Availability MethodsPostgreSQL Replication High Availability Methods
PostgreSQL Replication High Availability Methods
 
PostreSQL HA and DR Setup & Use Cases
PostreSQL HA and DR Setup & Use CasesPostreSQL HA and DR Setup & Use Cases
PostreSQL HA and DR Setup & Use Cases
 
Percona xtrabackup - MySQL Meetup @ Mumbai
Percona xtrabackup - MySQL Meetup @ MumbaiPercona xtrabackup - MySQL Meetup @ Mumbai
Percona xtrabackup - MySQL Meetup @ Mumbai
 
MySQL Server Settings Tuning
MySQL Server Settings TuningMySQL Server Settings Tuning
MySQL Server Settings Tuning
 
MySQL database replication
MySQL database replicationMySQL database replication
MySQL database replication
 
ProxySQL para mysql
ProxySQL para mysqlProxySQL para mysql
ProxySQL para mysql
 
Deploying postgre sql on amazon ec2
Deploying postgre sql on amazon ec2 Deploying postgre sql on amazon ec2
Deploying postgre sql on amazon ec2
 
SQL Server vs Postgres
SQL Server vs PostgresSQL Server vs Postgres
SQL Server vs Postgres
 
Overview of Postgres Utility Processes
Overview of Postgres Utility ProcessesOverview of Postgres Utility Processes
Overview of Postgres Utility Processes
 
Analyze corefile and backtraces with GDB for Mysql/MariaDB on Linux - Nilanda...
Analyze corefile and backtraces with GDB for Mysql/MariaDB on Linux - Nilanda...Analyze corefile and backtraces with GDB for Mysql/MariaDB on Linux - Nilanda...
Analyze corefile and backtraces with GDB for Mysql/MariaDB on Linux - Nilanda...
 
Linux tuning to improve PostgreSQL performance
Linux tuning to improve PostgreSQL performanceLinux tuning to improve PostgreSQL performance
Linux tuning to improve PostgreSQL performance
 
Meet hbase 2.0
Meet hbase 2.0Meet hbase 2.0
Meet hbase 2.0
 
Resolving Firebird performance problems
Resolving Firebird performance problemsResolving Firebird performance problems
Resolving Firebird performance problems
 
Deep Dive into RDS PostgreSQL Universe
Deep Dive into RDS PostgreSQL UniverseDeep Dive into RDS PostgreSQL Universe
Deep Dive into RDS PostgreSQL Universe
 
PostGreSQL Performance Tuning
PostGreSQL Performance TuningPostGreSQL Performance Tuning
PostGreSQL Performance Tuning
 
PostgreSQL9.3 Switchover/Switchback
PostgreSQL9.3 Switchover/SwitchbackPostgreSQL9.3 Switchover/Switchback
PostgreSQL9.3 Switchover/Switchback
 
Firebird migration: from Firebird 1.5 to Firebird 2.5
Firebird migration: from Firebird 1.5 to Firebird 2.5Firebird migration: from Firebird 1.5 to Firebird 2.5
Firebird migration: from Firebird 1.5 to Firebird 2.5
 

Similar a Firebird 3.x guida alla migrazione

Aioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_featuresAioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_featuresAiougVizagChapter
 
MySQL Data Encryption at Rest
MySQL Data Encryption at RestMySQL Data Encryption at Rest
MySQL Data Encryption at RestMydbops
 
2008 Collaborate IOUG Presentation
2008 Collaborate IOUG Presentation2008 Collaborate IOUG Presentation
2008 Collaborate IOUG PresentationBiju Thomas
 
GLOC 2014 NEOOUG - Oracle Database 12c New Features
GLOC 2014 NEOOUG - Oracle Database 12c New FeaturesGLOC 2014 NEOOUG - Oracle Database 12c New Features
GLOC 2014 NEOOUG - Oracle Database 12c New FeaturesBiju Thomas
 
Kangaroot EDB Webinar Best Practices in Security with PostgreSQL
Kangaroot EDB Webinar Best Practices in Security with PostgreSQLKangaroot EDB Webinar Best Practices in Security with PostgreSQL
Kangaroot EDB Webinar Best Practices in Security with PostgreSQLKangaroot
 
Best Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQLBest Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQLEDB
 
Presentation database security enhancements with oracle
Presentation   database security enhancements with oraclePresentation   database security enhancements with oracle
Presentation database security enhancements with oraclexKinAnx
 
Product Update: EDB Postgres Platform 2017
Product Update: EDB Postgres Platform 2017Product Update: EDB Postgres Platform 2017
Product Update: EDB Postgres Platform 2017EDB
 
Reversing with gdb
Reversing with gdbReversing with gdb
Reversing with gdbMihir Shah
 
Best Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQLBest Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQLEDB
 
Privilege Analysis with the Oracle Database
Privilege Analysis with the Oracle DatabasePrivilege Analysis with the Oracle Database
Privilege Analysis with the Oracle DatabaseMarkus Flechtner
 
PGEncryption_Tutorial
PGEncryption_TutorialPGEncryption_Tutorial
PGEncryption_TutorialVibhor Kumar
 
IAmLUG presentation: Domino Admin Best Practices - Hunting the Gremlins
IAmLUG presentation: Domino Admin Best Practices - Hunting the GremlinsIAmLUG presentation: Domino Admin Best Practices - Hunting the Gremlins
IAmLUG presentation: Domino Admin Best Practices - Hunting the GremlinsDavid Hablewitz
 

Similar a Firebird 3.x guida alla migrazione (20)

Firebird
FirebirdFirebird
Firebird
 
Aioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_featuresAioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_features
 
MySQL Data Encryption at Rest
MySQL Data Encryption at RestMySQL Data Encryption at Rest
MySQL Data Encryption at Rest
 
2008 Collaborate IOUG Presentation
2008 Collaborate IOUG Presentation2008 Collaborate IOUG Presentation
2008 Collaborate IOUG Presentation
 
Database training for developers
Database training for developersDatabase training for developers
Database training for developers
 
MySQL database
MySQL databaseMySQL database
MySQL database
 
GLOC 2014 NEOOUG - Oracle Database 12c New Features
GLOC 2014 NEOOUG - Oracle Database 12c New FeaturesGLOC 2014 NEOOUG - Oracle Database 12c New Features
GLOC 2014 NEOOUG - Oracle Database 12c New Features
 
Kangaroot EDB Webinar Best Practices in Security with PostgreSQL
Kangaroot EDB Webinar Best Practices in Security with PostgreSQLKangaroot EDB Webinar Best Practices in Security with PostgreSQL
Kangaroot EDB Webinar Best Practices in Security with PostgreSQL
 
Best Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQLBest Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQL
 
Oracle DBA
Oracle DBAOracle DBA
Oracle DBA
 
60 Admin Tips
60 Admin Tips60 Admin Tips
60 Admin Tips
 
Presentation database security enhancements with oracle
Presentation   database security enhancements with oraclePresentation   database security enhancements with oracle
Presentation database security enhancements with oracle
 
Product Update: EDB Postgres Platform 2017
Product Update: EDB Postgres Platform 2017Product Update: EDB Postgres Platform 2017
Product Update: EDB Postgres Platform 2017
 
Reversing with gdb
Reversing with gdbReversing with gdb
Reversing with gdb
 
Best Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQLBest Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQL
 
Privilege Analysis with the Oracle Database
Privilege Analysis with the Oracle DatabasePrivilege Analysis with the Oracle Database
Privilege Analysis with the Oracle Database
 
Creating database
Creating databaseCreating database
Creating database
 
PGEncryption_Tutorial
PGEncryption_TutorialPGEncryption_Tutorial
PGEncryption_Tutorial
 
MySQL highav Availability
MySQL highav AvailabilityMySQL highav Availability
MySQL highav Availability
 
IAmLUG presentation: Domino Admin Best Practices - Hunting the Gremlins
IAmLUG presentation: Domino Admin Best Practices - Hunting the GremlinsIAmLUG presentation: Domino Admin Best Practices - Hunting the Gremlins
IAmLUG presentation: Domino Admin Best Practices - Hunting the Gremlins
 

Último

Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...software pro Development
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 

Último (20)

Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 

Firebird 3.x guida alla migrazione

  • 1. Migration to Firebird 3.x Fabio Codebue Firebird Foundation Committe Member
  • 2. REALLY WE NEED ANOTHER FIREBIRD VERSION?
  • 3. WHY MIGRATION • WHY MIGRATION • Because we have a new logo? • Because we have written marvellous code? • Because we have lowest price of the market? • Because you have nothing else todo?
  • 4. MIGRATION CHECKS • USEFUL TIPS • New features in Firebird often require changes to the storage format of the database. Maintaining the ability to access many different old versions of the database structure complicates the code of the Firebird server. • In order to use existing databases under Firebird 3, you must convert them to the new storage format. • FIRST check you can backup and restore DB • Firebird 3 can access only ODS 12 databases
  • 5. CHANGE ODS TO 12.0 • CHECKS • Test the database integrity with gbak gbak -user <user> -pas <password> -b -v -g -se <service_mgr> <database> <backupfile> • If the gbak backup fails indicating a possible corruption gfix -v -full -user <user> -pas <password> <database> • If gfix reports transactions in limbo gfix -v -full –mend <user> -pas <password> <database> • Once you have a good backup, restore it gbak -user <user> -pas <password> -c -v -se <service_mgr> <backupfile> <database>
  • 6. CHARACTER ENCODING • PROBLEM WITH CHARACTER ENCODING • If you currently run Firebird 2.1 or later • You should perform this check before starting to migrate to Firebird 3 • Firebird uses the character set UNICODE_FSS to store the data in the system tables (RDB$...) • To solve the problem use gbak during restore • -fix_fss_metadata or -fix_fss_data
  • 7. METADATA CHECKS • VALIDATING METADATA • Firebird 3 has added reserved words • The gbak restore recognizes table and column names that are reserved words • and changes them to quoted identifiers. • However, triggers, stored procedures, validity constraints, and even view definitions • And gbak doesn’t recognize them • EXPORT DATABASE TO SQL and run… so check errors!
  • 8. BACKUP/RESTORE PROCESS • SPEED UP BACKUP/RESTORE PROCESS • Use the -g switch during the backup – no garbage collection • Use the -se service_mgr switch, for both the backup and the restore - eliminating communication time • Use SSD … naturally.. .or not? • Increase the parameter SortMemSize in firebird.conf temporarily
  • 9. USERS ARE CHANGED! • USERS ARE NOT MORE THE SAME! • Firebird 3 have centralized users database • The default name for the security database in Firebird 3 is security3.fdb • PRO: user management can be simpler • CONS: all user can access to all DB on server… • If he know path and name! • You cannot migrate the security database of older Firebird versions to Firebird 3.
  • 10. LOCAL USERS • LOCAL USERS • Introduced the concept of local, per database, users • You can change name of user database • SecurityDatabase can also be set per database in the databases.conf base1 = c:databasesbase1.fdb { SecurityDatabase = c:dbUsersusers_base1.fdb } base2 = c:dbsbase2.fdb { SecurityDatabase = base2 } base3 = c:dbsbase3.fdb
  • 11. PASSWORDS • USER PASSWORDS • Firebird does not store users' passwords ….in the security database • Firebird stores a hash of the password • Remember that up to Firebird 2.5 only the first eight bytes of a password are considered in the hash calculation • Firebird 3 uses up to 255 bytes of a password for hash calculation!
  • 12. INITIALIZING SECURITY DB • Initializing the security database • There are two ways • Make sure that the Firebird process is not running • Open a command prompt and, in the Firebird 3 root directory, type: gsec -user SYSDBA gsec>add SYSDBA -pw masterkey gsec>quit • But… gsec is deprecated in firebird 3.0
  • 13. INITIALIZING SECURITY DB • Initializing the security database • 2 mode • Make sure that the Firebird process is not running • Open a command prompt, and call isql like this: isql -user SYSDBA employee SQL>create user SYSDBA password 'masterkey'; SQL>commit; SQL>quit; • 3. Start Firebird
  • 14. MANAGING USERS WITH SQL • Managing users using SQL CREATE USER name {PASSWORD ‘apassword’} [ options ] [ TAGS ( tag [, tag [, tag ...]] ) ] [USING PLUGIN name] ALTER USER name SET [PASSWORD ‘apassword’] [ options ] [ TAGS ( tag [, tag [, tag ...]] ) ] [USING PLUGIN name] ALTER CURRENT USER SET [PASSWORD ‘apassword’] [ options ] [ TAGS ( tag [, tag [, tag ...]] ) ] [USING PLUGIN name] CREATE OR ALTER USER name SET [PASSWORD ‘apassword’] [options] [ TAGS ( tag [, tag [, tag ...]] ) ] [USING PLUGIN name] DROP USER nome [USING PLUGIN name];
  • 15. LEGACY APPLICATION • Firebird 3 introduces a new C++ object oriented API • While maintaining full compatibility with the legacy API. • .NET applications • NET Provider did not yet support the new communication protocol encryption or SRP authentication • set the following parameters in firebird.conf: WireCrypt = enabled (accept unenctpted connection) • Jaybird applications • Java Provider did not yet support the new communication protocol encryption or SRP authentication WireCrypt = Enabled AuthServer = Srp, Win_Sspi, Legacy_Auth UserManager = Srp, Legacy_UserManager
  • 16. Thanks… Fabio Codebue Firebird Foundation Committe Member f.codebue@p-soft.biz www.p-soft.biz Firebird Optimization www.ibsurgeon.it