Document Type | Technical Information
Category | Admnistration
Applicable Product Version | 7PS02, 6FS07_2005
Document Number | TADTI234
Overview
This document describes the pre-checks, procedure, and post-check items when patching within the same Major Version.
The following information is valid only for the same Major Version as shown below.
[Table] Patch Availability by Version
| From Version | To Version | Validity | Description |
|---|---|---|---|
| Tibero6 | Tibero6 | O | Patch Available |
| Tibero7 | Tibero7 | O | Patch Available |
| Tibero6 | Tibero7 | O | Upgrade Available |
Method
Recommendations Before Patch
When patching Tibero, it is recommended to bring down all applications using the DB and perform the work without any active sessions.
Session check can be done by connecting with the tbsql admin account (sys) and running select * from v$session. No sessions related to applications should be present to proceed with the patch correctly.
select * from v$session;
# SID SERIAL# AUDSID USER# USERNAME IPADDR COMMAND STATUS SCHEMA# SCHEMANAME TYPE SQL_ID SQL_CHILD_NUMBER SUB_SQL_ID SUB_CHILD_NUMBER PREV_SQL_ID PREV_CHILD_NUMBER SQL_ET LOGON_TIME STATE WLOCK_WAIT SEQ# WAIT_EVENT WAIT_TIME LAST_WAIT_EVENT# LAST_WAIT_EVENT LAST_WAIT_TIME LAST_WAIT_TIME_MICRO TIME_SINCE_LAST_WAIT TIME_SINCE_LAST_WAIT_MICRO LATEST_STAT# PGA_USED_MEM SQL_TRACE PROG_NAME CLIENT_PID PID WTHR_ID OS_THR_ID OSUSER MACHINE TERMINAL MODULE ACTION CLIENT_INFO CLIENT_IDENTIFIER PDML_ENABLED PDML_STATUS PDDL_STATUS PQ_STATUS ROW_WAIT_OBJ_ID ROW_WAIT_FILE_NO ROW_WAIT_BLOCK_NO ROW_WAIT_ROW_NO CONSUMER_GROUP CONSUMED_CPU_TIME
1 114 37,864 4,294,967,295 0 SYS 192.168.141.9 1 RUNNING 0 SYS WTHR c7t6usrtg4qya 212 c7t6usrtg4qya 212 9g6pyx7qz035v 199 0 2026/04/15 RUNNING <NULL> 368 -1 0 55 WE_WTHR_RECV 29,151 29,151,264 0 101 12,845 207,208 DISABLED Studio -1 507,197 1 507,299 krocd mj <NULL> <NULL> <NULL> <NULL> <NULL> NO DISABLED ENABLED ENABLED -1 <NULL> <NULL> <NULL> <NULL> 19
2 115 38,199 4,294,967,295 0 SYS 127.0.0.1 0 READY 0 SYS WTHR <NULL> <NULL> <NULL> <NULL> <NULL> <NULL> 0 2026/04/15 RECV_WAITING <NULL> 0 55 50 55 WE_WTHR_RECV 5,072 5,072,371 0 0 11,810 110,640 DISABLED tbsql 758,487 507,197 2 507,307 jsb localhost.localdomain pts/31 <NULL> <NULL> <NULL> <NULL> NO DISABLED ENABLED ENABLED -1 <NULL> <NULL> <NULL> <NULL> 0
Before proceeding with the patch, it is recommended to provide the patched JDBC Driver or ODBC Driver to the application owners and conduct application testing.
Pre-Patch Checklist
This checklist must be verified before patching.
Super User Account Password Verification
Since system.sh needs to be executed, account information for SYS and SYSCAT users is essential.
Object Validation Check
Check the status and count of all objects.
(This is to identify objects that may change from Valid to Invalid after the patch.)
[Object Validation Check Count] COL OWNER FORMAT A20 SET PAGES 500 SELECT OWNER, OBJECT_TYPE, STATUS, COUNT(*) FROM DBA_OBJECTS GROUP BY OWNER, OBJECT_TYPE, STATUS ORDER BY OWNER, OBJECT_TYPE, STATUS; [Check Invalid Object List] SET LINESIZE 120 COL OBJECT_NMAE FORMAT A30 COL OWNER FORMAT A20 SELECT OWNER , OBJECT_NAME, OBJECT_TYPE, STATUS FROM DBA_OBJECTS WHERE STATUS = 'INVALIED'; [Trigger Enable Status Check] SELECT * FROM DBA_TRIGGERS;
Datafile Path Check for TableSpace
You can check the path by querying the DBA_DATA_FILES table.
The procedure changes depending on whether the datafile is located inside the $TB_HOME directory, so check before proceeding.
If datafiles are located inside the $TB_HOME directory, copy or move them together when replacing binaries.
SET LINESIZE 120 COL FILE_NAME FORMAT A100 SELECT FILE_NAME FROM DBA_DATA_FILES;
Check Usage of DB Link
Check $TB_HOME/client/config/tbdsn.tbr.
Verify if the Gateway Process is running.
If applicable, backup the configuration files.
Check Usage of External Procedure
Check if Class or So files exist inside $TB_HOME and copy or move them as needed.
Check if JEPA is used by verifying if _PSM_BOOT_JEPA=Y in the tip file.
Check the Java Class location in the tip file under JAVA_CLASS_PATH.
/* C External Procedure */ SET LINESIZE 120 COL OWNER FOR A10 COL LIBRARY_NAME FOR A30 COL FILE_SPEC FOR A50 COL STATUS FOR A10 SELECT OWNER, LIBRARY_NAME, FILE_SPEC, STATUS FROM DBA_LIBRARIES; /* JAVA External Procedure*/ SET LINESIZE 120 COL OWNER FOR A10 COL NAME FOR A30 COL SOURCE FOR A50 SELECT OWNER, NAME, SOURCE FROM DBA_JAVA_CLASSES;
Check Usage of ESQL, CESQL, COBOL
Verify usage with the person responsible for external AP.
Patch Procedure
Configuration method
Manage the patch list, apply first to test equipment, monitor for a period, analyze impact, and then apply to the production system.
For operating DBMS, access is restricted during scheduled times via notice.
Since Tibero database does not have patch-related utilities, patching is done manually.
Operating Procedure
- Check the situation before Tibero patch (refer to pre-patch checklist)
- Prepare binary files
- Stop Tibero service
- Replace Tibero binaries
- Replace license, tip, and tbdsn.tbr files
Review Special Items
- Start Tibero service
- Run system.sh shell script
- Run ALTER SYSTEM RECOMPILE ALL;
- Post-patch tasks (refer to post-patch checklist)
- Prepare patch (upload new Tibero binary to server)
Tibero DBMS Shutdown
Shut down Tibero DBMS using the Tibero down script.
$tbdown immediate
Patch and Bug Fix Binary Replacement
Rename the existing Tibero binary folder (e.g., mv tibero7 tibero7_20231129).
Extract the new Tibero binary files.
Replace license, tip, and tbdsn.tbr files
Copy the License, TIP, and tbdsn.tbr files from the existing binary files to the new binary files.
Review Special Items
Data files located inside Tibero binary
If data files exist inside Tibero binary, move or copy them within the same path inside $TB_HOME. If located externally, backing up is optional.
DB Link
If using DB Link, binary patching of the Gateway may be necessary.
Tibero To Oracle: Replace $(TB_HOME)/client/bin/gw4orcl (check with ldd gw4orcl to ensure no "not found" errors)
Tibero to MSSQL: Replace $(TB_HOME)/client/bin/tbgateway.zip (backup existing binary before patching Gateway)
External Procedure
C External Procedure: Copy So files if they exist inside $TB_HOME.
JAVA External Procedure: Copy Class files if they exist inside $TB_HOME.
Review $TB_HOME/client/tbepa/java/config/tbepa.cfg and copy necessary contents.
When Using ESQL/C, ESQL/COBOL
ESQL/C: Review $TB_HOME/client/config/tbpc.cfg and copy necessary contents.
ESQL/COBOL: Review $TB_HOME/client/config/tbpc.cfg and copy necessary contents.
Start Tibero
$ tbboot
Post Port Change Tasks (Optional)
If all applications using the DB are down, no problem; however, if applications cannot be brought down, temporarily change the service port, perform patching, and then revert to the original service port after patch completion.
Perform Patch
Modify the LISTENER_PORT section of the TIP file: $TB_HOME/config/$TB_SID.tip
Modify the Client DSN: Change the PORT part of the alias corresponding to $TB_SID (service ID) in $TB_HOME/client/config/tbdsn.tbr
Run system.sh shell script (For Windows OS version, run system.vbs)
Run system.sh to regenerate internal Tibero objects.
[Example] Running system.sh
$ cd $TB_HOME/scripts
$ system.sh
* Enter sys password (default: tibero)
* Enter syscat password (default: syscat) Caution
Check the progress log file: $TB_HOME/instance/$TB_SID/log/system_init.log
If not completed successfully, logs such as โTBR-17001โ, โTBS-70004โ may appear.
Recompile All PSM
Run ALTER SYSTEM RECOMPILE ALL; to recompile all PSMs.
Depending on the patch, this may take a long time.
PSM compilation generates BCODE stored in the Data Dictionary (DD). Since the generated code may change with the patch, this step is necessary.
[Example] PSM Recompile
$ tbsql sys/tibero
SQL ALTER SYSTEM RECOMPILE ALL;
Post-Patch Checklist
Check for Invalid Objects
Verify the object validation results from the pre-patch check.
Handle Invalid Synonyms
Public synonyms that are invalid will automatically become valid upon future use, so skipping invalid ones is acceptable.
If you want to proceed, perform the following.
$ cd $TB_HOME
$ tbsql sys/tibero
SQL @scripts/pkg/pkg_synoym.sql
SQL @scripts/pkg/pkg_synoym2.sql
SQL @scripts/pkg/pkg_dbms_redefinition.sql
SQL @scripts/create_gis.sql
Handle Invalid Views
Invalid views that are valid views will automatically become valid upon future use, so skipping invalid views is acceptable.
If you want to proceed, perform the following.
SQL SELECT * FROM <VIEW_NAME> WHERE ROWNUM < 1;
Handle Invalid PSM
If Procedures or Functions are invalid, perform the following (execute as the relevant user):
SQL ALTER FUNCTION <FUNCTION_NAME> COMPLIE;
SQL ALTER PROCEDURE <PROCEDURE_NAME> COMPLIE;
For FBI (Function Based Index) that may become invalid during patching, perform the following (execute as the relevant user):
SQL ALTER INDEX <FBI_INDEX_NAME> REBUILD;
Handle Invalid Packages
Use compile body to change package status to valid.
SQL ALTER PACKAGE <PACKAGE_NAME> COMPLIE BODY;
Enable Disabled Triggers
Check previous trigger status and if enabled, run the following:
SQL ALTER TRIGGER <TRIGGER_NAME> ENABLE;
If Port Was Changed, Revert to Original Service Port
If the port was changed during patching, switch back to the originally used port.
Application Driver Patch
Considerations for JDBC, ODBC, OLEDB
Tibero drivers support backward compatibility but may not support forward compatibility.
If drivers can be changed, it is recommended to match the patch version.
For ODBC and OLEDB, uninstall and reinstall is recommended (for Windows).
Patch External Clients Provided
If Tibero client is installed on external AP servers, patching the client is recommended.
Obtain client binary files matching the OS and bit version from the patched database server revision and patch accordingly.
Tibero Patch Restoration
Describes how to restore if restoration is needed.
The restoration procedure is the same as patching, except no need to copy License, TIP, tbdsn, etc. files separately.
- Stop Tibero service
- Replace binary files with previous Tibero version
- Consider datafile paths
- Start Tibero service
- Run system.sh shell script
- Run ALTER SYSTEM RECOMPILE ALL;
- Perform post-patch tasks (checklist)
If all datafiles (System, Undo, Temp, User Datafiles, etc.) and Control files were backed up before patching,
restore using those files and perform steps up to 4 only. Otherwise,
perform all steps up to 7 (post-patch tasks).