Tibero クイックガイド

Prev Next

Classic/VPC環境で利用できます。

Tiberoクイックガイドの紹介

TIberoクイックガイドは Tibero利用顧客の FAQをベースに作成しました。
マイグレーション、リスナー、Database、DBユーザー作成、変更および削除方法について説明します。

マイグレーション

Tiberoバージョンアップグレードなどのためのマイグレーションガイドは Tibero 6 Online Manual{target=_blank}をご参照ください。

本文内の 2.4.6. tbExport, 2.4.7. tbImportを通じてマイグレーションを行い、お問い合わせはテックネット{target=_blank}に登録します。

リスナー

TIBEROの DEFAULT LISTENER PORTは 8629です。

リスナーポートの変更方法

変更

Tiberoのリスナーポート設定は tipファイルのパラメータ変更によって変更します。
tipファイルの場合は永久に静的反映されます。

(1) su - tibero
(2) tbcfgv or vi $TB_HOME/config/$TB_SID.tip
    LISTENER_PORT=[変更する Port番号]を入力して保存
(3) tbcliv or vi $TB_HOME/client/config/tbdsn.tbr
    PORT番号を変更
       tibero=(
        (INSTANCE=(HOST=localhost)
            (PORT=[変更する Port番号])
            (DB_NAME=tibero)
            )
        )
(4) Tibero再起動 - 再起動しないと反映されない

確認

tbbootを利用して起動する際に port番号を確認します。
tibero-tibero-1-2_01

動的リスナーポートの追加割り当て

起動中に LISTERNER PORTを追加する方法です。
システム権限のある Userでログインします。

システム権限は Tiberoオンラインマニュアル > Tibero管理者案内書 > 2.管理の基本 > 2.1. ユーザー定義 > 2.1.2. SYS から確認できます。

ALTER SYSTEM LISTENER ADD | DELETE PORTメッセージを使って動的に PORTを追加できます。

(1) su - tibero
(2) tbsql sys/tibero
(3) SQL> ALTERT SYSTEM LISTENER ADD PORT 9629;
(4) SQL> q
(5) netstat -nap | grep tblistenerを通じて LISTENER PORTを確認 
  • 動的に追加された LISTENER PORTはリスナーポートの変更方法を参照して tbdsn.tbrファイルにリスナー情報を追加すると tbsqlを通じてアクセスできます。( tbsqlは Shellで Tiberoにアクセスするための Utilityです。 )
  • Applicationを通じて外部からアクセスするには tbdsn.tbr設定ではなく、NCPの ACG Rule設定を通じてアクセス設定を行います。

tbsqlで新しい Portを通じたアクセス設定

追加した Port番号に Bash Shellを通じてアクセスするために Listenerを追加します。

(6) tbcliv or vi $TB_HOME/client/config/tbdsn.tbr
    tibero_2=(
        (INSTANCE=(HOST=localhost)
            (PORT=9629)
            (DB_NAME=tibero)
        )
    )
    // tibero_2は aliasであるため、希望する名前に変更可能
(7) tbsql sys/tibero@tibero_2

動的リスナーポートの割り当てを解除

起動中に LISTERNER PORTを解除する方法です。
システム権限のある Userでログインします。
ALTER SYSTEM LISTENER ADD | DELETE PORTメッセージを使って動的に PORTを追加できます。

(1) su - tibero
(2) tbsql sys/tibero
(3) SQL> ALTERT SYSTEM LISTENER DELETE PORT 9629;
(4) SQL> q
(5) netstat -nap | grep tblistenerを通じて LISTENER PORTを確認 

アクセスコントロール実行方法

NCPの ACG RULE設定を通じて1次的に制限できますが、TIBEROにも特定 IPアドレスに対するアクセス設定機能があります。

tipファイルに次のパラメータ設定を通じて IPアドレスのアクセス制限を設定します。

LSNR INVITED IP
LSNR DENIED IP
LSNR INVITED IP_FILE
LSNR DENIED IP_FILE

(1) su - tibero
(2) tbdown
(3) tbcfgv or vi $TB_HOME/config/$TB_SID.tip
    LSNR_DENIED_IP="[アクセスを制限する IPアドレス]"
(4) tbboot

  • CIDRを範囲に制限するか、特定 IPアドレスのみ制限する場合
    LSNR_DENIED_IP="192.168.20.0/24" あるいは LSNR_DENIED_IP="192.168.20.190"
  • 複数適用する場合
    LSNR_DENIED_IP="192.168.20.100; 192.168.20.101; 192.168.0.0/24"

FILEオプションとして使用するには FILEを以下のように作成して tipファイルにパラメータ設定を行います。

前の2ステップを行った後
(3) vi "/db/tibero/denied_ip.list"
    #WAS
    192.168.22.20
    192.168.44.10
    ### END OF FILE ###
(4) tbcfgv or vi $TB_HOME/config/$TB_SID.tip
    LSNR_DENIED_IP_FILE=" /db/tibero/denied_ip.list"
(5) tbboot 

  • INVITEDと DENIEDをすべて設定すると、INVITEDのみ適用されて DENIEDは無視します。

特定 USERに対するデータベース管理および統計なおどの META DATAにアクセスしてデータベース情報を獲得できます。アクセスを防ぐために Revoke コマンドでシステム特権またはオブジェクトの権限を回収できます。

運用環境に応じて Tiberoオンラインマニュアル > SQL参照案内書 > 7. データ定義語 > 7.75. REVOKE
ご参照ください。

動的 IPアドレスのブロック設定

(1) su - tibero
(2) tbcfgv or vi $TB_HOME/config/$TB_SID.tip
    LSNR_DENIED_IP="[アクセスを制限する IPアドレス]"
(3) tbsql sys/tibero
(4) SQL> ALTER SYSTEM LISTENER PARAMETER RELOAD;
(1) su - tibero
(2) tbsql sys/tibero
(3) SQL> ALTER SYSTEM SET LSNR_DENIED_IP="[アクセスを制限する IPアドレス]";

ブロックした IPアドレスを確認

SQL> show param LSNR_DENIED_IP


NAME                         TYPE     VALUE
---------------------------- -------- ----------------------------------------
LSNR_DENIED_IP                STRING        192.111.111.111
LSNR_DENIED_IP_FILE           STRING 

Database

インスタンスの追加方法

マルチインスタンス機能は DBに対する理解度が高くない方にはお勧めしません。
様々な設定のためには以下の TIBEROオンラインマニュアルをご参照ください。
Tiberoオンラインマニュアル > Tiberoインストール案内書 > 6. マルチインスタンスインストール > 6.3. Unix環境

マルチインスタンスを使用するには DataBaseを追加で作成します。
マルチインスタンスを削除するには TB SIDが必要です。既存の DBの TB SIDと、新しく追加する TB_SIDの内容を熟知する必要があります。

現在、適用された TB SIDは ~ /.bash profileに適用されています。当該ファイルを参照して行います。

(1) su - tibero
(2) export TB_SID=[新しい TB_SID]
    > export TB_SID=tibero2
(3) $TB_HOME/config/gentip.sh
(4) tbcfgv or vi $TB_HOME/config/$TB_SID.tip
    > DB_NAME=tibero2
    > LISTENER_PORT=9629
(5) tbcliv or vi $TB_HOME/client/config/tbdsn.tbr
リスナー追加
    > tibero2=(
    >     (INSTANCE=(HOST=localhost)
    >         (PORT=9000)
    >         (DB_NAME=tibero)
    >     )
    > )
(6) tbboot nomount
(7) tbsql sys/tibero
(8) SQL> Database Createクエリ
    [ Tiberoオンラインマニュアル ] - [ Tiberoインストール案内書 ] - [ 3.3. 手動インストール ] - [ 3.3.2. Unix環境 ] - [ 7 ]
(9) tbboot
    > Listener port = 9629
    > Tibero 6
    > TmaxData Corporation Copyright (c) 2008-. All rights reserved.
    > Tibero instance started up (NORMAL mode).
(10) $TB_HOME/scripts/system.sh -p1 tibero -p1 syscat -a1 y -a2 y -a3 y -a4 y
    > …
    > Done. 

マルチインスタンスインストールの確認

ps -ef | grep tbsvr

tibero-tibero-1-2_02

お互い異なる SIDの INSTANCEが PROCESSで起動していることが確認できます。

バックアップ実行方法

コントロールファイルのバックアップ

コントロールファイルの物理的なバックアップ
controlfileそのものをバックアップします。

SQL> alter database backup controlfile to '/tbdata/backup/ctrlfile1.ctl';
Altered. 

コントロールファイルの論理的なバックアップ
controlfileの再作成クエリをバックアップします。

SQL> alter database backup controlfile to trace as '/tbdata/backup/ctrlfile1.sql' reuse
NORESETLOGS;
Altered. 

バックアップしたコントロールファイル作成分の例

CREATE CONTROLFILE REUSE DATABASE "tibero"
LOGFILE
 GROUP 1 (
       '/tbdata/tibero/system01/redo_01a.redo',
       '/tbdata/tibero/system02/redo_01b.redo'
       ) SIZE 100M,
 GROUP 2 (
       '/tbdata/tibero/system01/redo_02a.redo',
       '/tbdata/tibero/system02/redo_02b.redo'
       ) SIZE 100M,
 GROUP 3 (
       '/tbdata/tibero/system01/redo_03a.redo',
       '/tbdata/tibero/system02/redo_03b.redo'
       ) SIZE 100M,
 GROUP 4 (
       '/tbdata/tibero/system01/redo_04a.redo',
       '/tbdata/tibero/system02/redo_04b.redo'
       ) SIZE 100M,
 GROUP 5 (
       '/tbdata/tibero/system01/redo_05a.redo',
       '/tbdata/tibero/system02/redo_05b.redo'
       ) SIZE 100M
NORESETLOGS
DATAFILE
         '/tbdata/tibero/system01/system001.dbf',
         '/tbdata/tibero/system01/undo001.dbf', 
         '/tbdata/tibero/system01/usr001.dbf',
         '/tbdata/tibero/system01/tpr.dbf'
ARCHIVELOG
MAXLOGFILES 255
MAXLOGMEMBERS 8
MAXDATAFILES 500
MAXARCHIVELOG 500
MAXBACKUPSET 500
MAXLOGHISTORY 500
CHARACTER SET UTF8
NATIONAL CHARACTER SET UTF16
; 

---- Recovery is required in MOUNT mode.
--ALTER DATABASE RECOVER AUTOMATIC;

--ALTER DATABASE OPEN ;


---- Adding Tempfiles is required in OPEN mode.
-- ALTER TABLESPACE TEMP ADD TEMPFILE '/tbdata/tibero/system01/temp001.dbf'
-- SIZE 20000M REUSE AUTOEXTEND OFF ;
--ALTER DATABASE ADD BACKUPSET 1
--FLAGS 33
--STARTED '202105292120'/112810
--FINISHED '202105292123'/112893
--SIZE 4885789 BCT_REQ_TSN 0
--BASE_SET 0 FIRST_PIECE 0
--TSID_BM ' 11011'
--BACKUP_PATH '/backup/'
--RESETLOGS 0


Cold Backup(Offline Backup)

DB停止後に実行します。
Datafileをバックアップした時点にのみ復旧できます。

データファイル照会後に Copy

(1) SQL> SELECT NAME FROM V$DATAFILE;
(2) tbdown
(3) tbcfgv or vi $TB_HOME/config/$TB_SID.tipに
    照会された Datafileを OSコマンドを Copyする。
    DB_CREATE_FILE_DEST="[パス]"にある隠しファイル.passwdファイルも Copyする。

HOT Backup(Online Backup)

Archive Logモードでのみ行えます。
起動中に実行できます。
Datafileバックアップ時点の前、または後にもできます。

TABLESPACEに接続された DATAFILEを照会

SQL> select name,type from v$tablespace;
SQL> select f.name
    from v$tablespace t join v$datafile f on t.ts# = f.ts#
    where t.name = 'USER';

HOT BACKUPの開始する前と後に BEGINと END BACKUPを実行します。

SQL> ALTER TABLESPACE [TABLESPACE NAME] BEGIN BACKUP
SQL> !cp [DATAFILEパス] [バックアップパス]
SQL> ALTER TABLESPACE [TABLESPACE NAME] END BACKUP

詳細は Tiberoオンラインマニュアル > Tibero管理者案内書 > 6. バックアップと復旧 をご参照ください。

tbrmgrを利用したバックアップ

tbrmgrは Tiberoで提供するバックアップ/復旧管理者です。Online Full Backup、Incremental Backup、Automatic Recovery、Tablespace単位のバックアップと復旧、Delete Backup Set機能を提供します。

tbrmgr関連オプションは Tiberoオンラインマニュアル > Tibero管理者案内書 > 6. バックアップと復旧 > 6.5 復旧管理者 > 6.5.3 復旧管理者オプション をご参照ください。

tbrmgr backupの例 - Online Full Backup
基本的に root Disk容量は Default 50GBで十分でないため、バックアップが正常に行われません。
使用中の Datafileの容量に応じて Backupのための十分な空間の Storageをマウントします。

(1) su - tibero
(2) tbrmgr backup -o /home/tbrdb/work/6/backup/
(3) $ tbsql sys/tibero
(4) SQL> select * from V$BACKUP_SET a;
(5) SQL> select * from V$BACKUP_ARCHIVED_LOG;
or
(1) su - tibero
(2) tbrmgr backup --with-archivelog -o /home/tbrdb/work/6/backup/
(3) $ tbsql sys/tibero
(4) SQL> select * from V$BACKUP_SET a;
(5) SQL> select * from V$BACKUP_ARCHIVED_LOG; 

tibero-tibero-1-2_03

当該メッセージが表示されると、バックアップが完了したのです。

復旧

Tiberoは起動モード別に実行する復旧タスクの観点から見ると次の通りです。

NOMOUNTモード
コントロールファイルに障害が発生した場合は、NOMOUNTモードで動作してコントロールファイルを作成できます。

MOUNTモード
MOUNTモードではデータファイル、オンラインログファイル、コントロールファイルの間の状態を診断して、すべて最新バージョンである場合は NORMALモードで動作できます。
ファイルに物理的な障害が発生したか、復元したファイルの場合はメディアの復旧が必要であり、MOUNTモードで動作します。MOUNTモードでは制限されたビューの照会ができ、メディア復旧が行えます。

コントロールファイルの復旧

コントロールファイルを復旧するにはコントロールファイルを Backupします。
コントロールファイルの論理的なバックアップをご参照ください。

(1) tbboot nomount
(2) tbsql sys/tibero
(3) SQL> @/tibero6/backup/ctrlfile1.sql
(4) SQL> exit
(5) tbdown
(6) tbboot mount
(7) tbsql sys/tibero
(8) SQL> ALTER DATABASE RECOVER AUTOMATIC DATABASE;
(9) SQL> exit
(10) tbboot
-- バックアップしたコントロールファイルのスクリプト内の注釈スクリプト部分を活用して Tempファイルを作成
(11) SQL> ALTER TABLESPACE TEMP ADD TEMPFILE '/home/tibero/tbdata/temp001.dtf'
          2 SIZE 512M REUSE AUTOEXTEND ON NEXT 16M MAXSIZE 10G;
(12) SQL> exit 

破損の復旧(Crash Recovery)

データベースが非正常に終了した場合、ユーザーのコマンドなしで自動で復旧することを意味します。
復旧が終わると Tiberoが正常に動作します。

メディアの復旧(Media Recovery)

メディアの復旧は自動で行われません。DBAが状況を把握して必要な過程を支持する一連のタスクが必要です。DBAコマンドによって手動で実行され、完全復旧(Complete Recovery)と不完全復旧(Incomplete Recovery)に分けられます。

完全復旧(Complete Recovery)

オンラインログファイルの最も最近のログまですべて反映されるメディア復旧です。マウントモードで動作して復旧します。

SQL> ALTER DATABASE RECOVER AUTOMATIC DATABASE;

不完全復旧(Incomplete Recovery)

  • Time Base Recovery, Change Base Recovery, Cansel Base Recovery

オンラインログファイルの最近までではない、その前の特定時点まで復旧することを意味します。不完全復旧の後には必ず RESETLOGSモードで Tiberoを起動します。RESETLOGSはオンラインログファイルを初期化することであり、現在のオンラインログファイルでデータベースを開始しない場合に使用します。

  • 不完全復旧したか、RESETLOGSでコントロールファイルを作成した場合は RESETLOGSで起動します。

RESETLOGSを開始すると新しいデータベースが作成されたことと同じです。RESETLOGS以前のデータファイル、ログファイルと RESETLOGS以降のファイルはお互い互換しません。RESETLOGS以前のバックアップファイルやログファイルを利用して RESETLOGS以降に復旧できません。また RESETLOGS以降のファイルを RESETLOGS以前の状態に不完全復旧することもできません。そのため、RESETLOGSモードで起動した場合は必ず新しくバックアップすることをお勧めします。

tbboot -t resetlogs

詳細は Technetの Tibero管理者案内書をご参照ください。
ダウンロード > Tibero > Tibero 6 Fixset07 > マニュアルダウンロード > Tibero管理者案内書

tbrmgr - Online Full Backupを利用した復旧

(1) su - tibero
(2) tbsql sys/tibero
(3) SQL> select * from V$BACKUP_SET a;
(4) SQL> exit
(5) tbrmgr recover -o /backup/
or
(1) su - tibero
(2) tbsql sys/tibero
(3) SQL> select * from V$BACKUP_SET a;
(4) SQL> exit
(5) tbrmgr recover --with-archivelog -o /backup/

Tablespaceベースの復旧シナリオなどは Tiberoオンラインマニュアル > Tibero管理者案内書 > 6. バックアップと復旧 > 6.4 復旧管理者 をご参照ください。

アーカイブログ保存位置の変更方法

保存位置変更

TIBEROのリスナーポート設定は tipファイルのパラメータ変更によって変更します。
TIBERO起動を停止してパラメータ設定を変更した後に再起動します。

(1) su - tibero
(2) tbdown
(3) tbcfgv or vi $TB_HOME/config/$TB_SID.tip
LOG_ARCHIVE_DEST="[変更するパス]"  //パスは絶対パスを入力します。
(4) tbboot 

動的保存位置の変更

SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST="[変更するパス]"; 

動的に変更したパスは TIBEROの再起動時に $TB_HOME/config/$TB_SID.tipのパスに再度変更されます。

変更した Archiveパス確認

データベースのパラメータを通じて確認

SQL> SHOW PARAM
…
LOG_ARCHIVE_DEST DIRNAME [変更したパス]
…
LOG SWITCHを通じて実際の ARCHIVEファイルの移動を確認

SQL> AL.TER SYSTEM SWITCH LOGFILE;
SQL> !ls -alrt [変更したパス]

DBユーザー作成、変更と削除方法

ユーザーを新しく作成、変更と削除するには DBA特別権限を持つユーザーで Tiberoにアクセスします。
Tiberoの SYSアカウントはインストール時に基本的に DBA役割が付与される Defaultアカウントです。

ユーザー作成

(1) su - tibero
(2) tbsql sys/tibero
(3) SQL> CREATE USER Steve        ①
         IDENTIFIED BY dsjeo134   ②
         DEFAULT TABLESPACE USR;  ③

  1. USER名を Steveにして作成
  2. パスワード設定
  3. USERが使用するテーブルスペース指定: テーブルスペースは環境に合わせて構成して指定します。
    • テーブルスペースを指定しないと、基本的にシステムテーブルスペースを使用します。

作成後に特別権限(PRIVILEGE)を付与

SQL> GRANT CONNECT, RESOURCE TO Steve;
or
SQL> GRANT DBA TO Steve;

特別権限に関する詳細は Tiberoオンラインマニュアル > Tibero管理者案内書 > ユーザー管理とデータベースセキュリティ > 5.2 特別権限 を参照して環境に合わせて付与します。

ユーザー変更

SQL> ALTER USER Steve
     IDENTIFIED BY abcdef
     DEFAULT TABLESPACE SYSTEM; 

ALTER USERを通じてパスワード変更とテーブルスペースを変更できます。

ユーザー照会

SQL> SELECT * FROM V$ALL_USERS;
静的ビュー 説明
ALL_USERS データベースのすべてのユーザーの基本的な情報を照会するビュー
DBA_USERS データベースのすべてのユーザーの詳細情報を照会するビュー
USER_USERS 現在のユーザー情報を照会するビュー

ユーザー削除

SQL> DROP USER Steve CASCADE;

スキーマオブジェクトの特別権限

ユーザーがデータベースの特定スキーマオブジェクトにアクセスするには、特別権限(Privilege)が必要です。

スキーマオブジェクトの特別権限は、スキーマオブジェクトのテーブル、ビュー、シーケンス、同義語などへのアクセスを制御する権限です。
スキーマオブジェクトの特別権限は GRANTコマンドを使用して他のユーザーに付与でき、その内容はデータ辞典に記録されます。

スキーマオブジェクトの特別権限 説明
SELECT テーブルを照会する権限
INSERT テーブルにローを入力する権限
UPDATE テーブルにローを更新する権限
DELETE テーブルにローを削除する権限
ALTER スキーマオブジェクトの特性を変更する権限
INDEX テーブルにインデックスを作成する権限
REFERENCES テーブルを参照する制限事項を作成する権限
TRUNCATE テーブルに TRUNCATEを実行できる権限
この権限を使用するため USE_TRUNCATE_PRIVILEGEパラメータを「Y」に設定する

関連リソース

NAVERクラウドプラットフォームの Tiberoで使用するソフトウェアに関する詳細は、次のウェブページをご参照ください。