DB2學習必須有的

DB2學習:
訪問數據庫方式:
嵌入式sql語句:
調用級接口(CLI):
開放式數據庫鏈接(ODBC):
JAVA:
JDBC:
嵌入式SQLJ
API:
DB2安裝:

DB2
    db2icrt Instname    創建實例
    db2icrt Instname        刪除實例
    set DB2INSTANCE=    設置當前的缺省實例
    db2start                    啓動實例
    db2stop                     停止實例
    db2ilist                    列出所有實例 
    attach to [實例名] user [用戶名]using [用戶口令]連接到某個實例

創建實例:
    db2icrt db2_name
    刪除實例:
    db2idrop db2_name
    設置實例:
    set db2instance=db2    
    得到實例:
    get instance
    查看實例:
    db2ilist
    鏈接實例:
    connect to db2_name_instance
    connect to db2_name instance user fanzaijun using password;
    鏈接實例重置:
    connect reset
DB2卸載再重裝:
    卸載之後原來的創建的數據庫並沒有被刪除。所以重裝就要注意:
    tips:
        如果樣本數據庫沒有創建成功,系統提示sample數據庫已經存在,
    此時需要敲入如下的命令重新編目:
        db2 catalog db db2_name on drive_name;
        db2_name:數據庫名稱。
        drive_name:是db2目錄所在的驅動器。
    在編目的過程中如果出現數據庫需要遷移(Migrate)的錯誤應該用migrate命令遷移數據庫(從低版本到高版本)
        migrate database db_name
DB2基本命令:
    db2start;
    db2stop;
    connect to 數據庫名 user 用戶名 using 密碼
    list application for db sample show detail 
    force application all
    list tables
    list tables for system
    describe select * from 表名
    取前n行  select *  from staff fetch first 2   rows only
    執行一個批處理 db2 –tvf 批處理文件名
    quit
事務:數據庫事務(Database Transaction) ,是指作爲單個邏輯工作單元執行的一系列操作,要麼完全地執行,要麼完全地不執行。
        一組原子性操作;
        提交:commit;
        回退:rollback;
        db2 +c自動提交
        db2 -c不自動提交
        List command options  顯示CLP的參數
        在db2命令行處理器中能夠對DDL語句自動提交
DB2 DAS:
    DAS(DB2 Administrative Server,DB2管理服務器)是一個特殊的DB2管理控制點,
    它用於輔助實例完成本地和遠程的管理任務。若使用客戶機配置輔助程序或控制中心,則必須要有一個正在運行的DAS.
    DB2的數據庫管理服務器實際上也是一個實例,只不過這個實例不是用於數據服務的,而是用於管理目的。數據庫管理服務器提供以下功能:
    1.接受遠程客戶端的管理請求,將遠程的管理請求在數據庫服務器端實現
    2.允許用戶進行任務調度
    3.允許用戶對系統進行遠程監控
    4.響應DB2 Discovery,爲其提供系統信息
    數據庫管理服務器可以在系統安裝時自動生成,也可以在安裝後手工創建,
    在一臺DB2數據庫服務器中只能有一個數據庫管理服務器
    db2admin create            創建DAS
    db2admin drop              刪除DAS
    db2admin start             啓動DAS
    db2admin stop              停止DAS
    db2admin                   查看已有的DAS名稱
    db2 get admin cfg          查看DAS參數
    db2 update admin cfg using ...  修改DAS參數
db2信息中心:--db2ic
     對於 DB2 V10.1 主題,DB2 信息中心 URL 是 http://publib.boulder.ibm.com/infocenter/db2luw/v10r1。
     對於 DB2 V9.8 主題,DB2 信息中心 URL 是 http://publib.boulder.ibm.com/infocenter/db2luw/v9r8/。
     對於 DB2 V9.7 主題,DB2 信息中心 URL 是 http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/。
     對於 DB2 V9.5 主題,DB2 信息中心 URL 是 http://publib.boulder.ibm.com/infocenter/db2luw/v9r5。
     對於 DB2 V9.1 主題,DB2 信息中心 URL 是 http://publib.boulder.ibm.com/infocenter/db2luw/v9/。
     對於 DB2 V8 主題,請轉至 DB2 信息中心 URL:http://publib.boulder.ibm.com/infocenter/db2luw/v8/。
db2控制中心 10淘汰掉了
db2日子-db2journal
db2任務中心-db2tc
db2概要文件註冊表:全局級概要文件,實例級概要文件,實例節點級概要文件,用戶級別概要文件。
    db2set -all//顯示所有環境變量。
    set var=value       設置變量
    set var=                   刪除變量
    echo %var%          查看變量
命令窗口--db2cw
命令行處理器:CLP(command line processor)
    命令行處理器中輸入模式爲交互模式,也就是說在輸入的命令前無需加上“db2”。命令行處理器在執行操作系統命令的時候,需要在所執行的操作系統命令前加上“!”符號
命令行選項:
    db2 list command options

db2 數據庫與表空間
db2中,數據庫是實例下的最大數據對象的集合。是一組通常以某種方式相關聯的表。
從數據庫管理員的角度看:
實際數據庫包含許多下面列出的物理和邏輯對象。
表,視圖,索引和模式。
鎖,觸發器,存儲過程的包。
緩衝池,日誌文件和表空間。
數據庫中表的類型:
用戶表:即存放用戶數據的表
系統表:存放系統數據的表,用來記錄該數據庫中所有的對象(表,視圖,索引)
臨時表:系統的臨時表用於對錶排序、重組、連結、創建索引等
DB2 利用一個邏輯存儲模型和一個物理存,儲模型來處理數據。
數據庫由稱爲表空間的部件組成,
表空間是用來存儲表的位置,
表空間可以分佈在一個或多個物理存儲設備上
容器:物理存儲設備(真正的存儲設備),可以是操作系統目錄(文件夾)、設備或操作系統文件,表實際存儲於容器中。
表空間:一個表空間可以包括多個容器,是容器的邏輯集合,一個容器只能屬於一個表空間,一個表空間也只能屬於一個數據庫。 一對多的關係。
表:在邏輯上,表存儲於一個表空間中,實際上是分佈在對應表空間的物理容器中,表空間在數據庫內創建,表則在表空間內創建。
表空間分類:
以存儲的數據種類來區分,分爲:
1)常規表空間:用戶表和系統目錄表放在這個表空間中。
2)臨時表空間: 分爲系統臨時表空間和用戶臨時表空間。
3)大型表空間:包含長型字段數據或大對象數據(例如,多媒體對象)的表可以存在 此表空間中。
以管理方式來區分,DB2的表空間可以分爲:
1) SMS 系統管理空間 (SMS)
數據存放在文件系統的文件中
使用操作系統的標準I/O函數來訪問數據
除非需要,否則空間不會被額外分配
適用於小型,個人數據庫以及存儲空間變化頻繁的數據庫
對維護和監控要求較低
2) DMS 數據庫管理空間
數據存儲在文件或者Raw設備中
能夠繞過操作系統的I/O函數從而增加性能
適用於對數據庫性能要求比較高的應用程序
需要較頻繁的維護和監控
3) DMS 的自動存儲(Automatic Storage With DMS) : 不能在創建表空間時提供容器;它們將由 DB2 自動地分配。
數據庫允許使用自動存儲時
數據庫管理器能夠自動分配容器 (物理存儲地址)
自動調整表空間的大小
對普通/大型表空間來使用數據庫管理
對用戶或系統臨時表空間使用系統管理

容器:
    容器是一塊實體磁盤空間。一個表空間可以有一個或多個容器。
    一個表空間可以有一個或多個容器。
    創建數據庫後,磁盤空間:
        D:/
            DB2
            NODE0000
                TEST
                    T0000000
                    T0000001
                    T0000002
                    T0000003
表空間建立;
    建立表空間嚮導或命令
    命令格式:
    Create tablespace 表空間名 pagesize 4k(或8k等值) managed by database(system)           using(file/device  ….) extentsize  16
                            指定數據頁的大小                    指定表格空間的類型dms或sms     指定數據容器的類型    指定一個數據容器使用多少個頁後開始使用下一個數據容器
創建數據庫:
    create database 數據庫名  disconnect 數據庫名 connect reset 顯示當前活動數據庫 list active databases /   list db directory; list db directory on d:
        當執行完connect reset命令後,斷開與當前數據庫的連接。然後執行list active databases命令,系統提示““數據庫系統監視器”沒有返回任何數據。”
        數據庫處於活動狀態並不一定建立了與數據庫的連接。但是建立了與數據庫連接後,數據庫一定處於活動狀態

    激活數據庫
    activate database 數據庫名 [user 用戶名 using 密碼]
    取消激活數據庫
    deactivate database 數據庫名[user 用戶名 using 密碼]
    在使用deactivate database 命令時,數據庫上不能有活動的連接存在
    List applications ;force application all

    創建有無自動存儲功能的數據庫
    Create database  mydb1 automatic storage yes/no on d:
    存儲路徑 數據庫路徑
    驅動器/目錄“的具體值可以在 CREATE DATABASE 命令中指定(對於Windows 平臺,用戶只能指定要創建數據庫的驅動器;
    eg:
        創建數據庫mydb4,指定存儲路徑爲E:\ml,數據庫路徑爲D:\ 
        Create  Database mydb4 On  E:\ml  dbpath  On  D:\  
        注意: 數據庫路徑必須指定爲驅動器。存儲路徑的文件夾要先創建成功。
    編目  
        在創建 DB2 數據庫的服務器上通常不需要對它進行編目,但是,要想從客戶機訪問數據庫,客戶機就必須先在本地對數據庫進行編目,這樣應用程序才能訪問它。
        在客戶機上對數據庫進行編目有三種方法: 
        使用發現的自動配置 
        使用訪問配置文件的自動配置 
        手工配置:
            要使用命令在命令行處理器進行配置,要執行如下兩步:
            第一步:catalog tcpip node <節點名> remote <服務器IP> server <服務器端口默認50000> 
            第二步:catalog database 數據庫名 as <別名> at node <節點名>

        如果沒有編目信息,應用程序就無法連接數據庫! 
SQL 簡介:
    DB2支持查詢關係型數據的SQL語言,同樣也支持查詢XML數據的XQUERY語言
    SQL四種語句類型:
        數據定義語言 (DDL)
            定義數據對象的屬性
            例如. CREATE, ALTER, DROP, TRANSFER OWNERSHIP
        數據管理語言 (DML)
            用來返回,添加,編輯和刪除數據
            例如. SELECT, INSERT, UPDATE, DELETE
        數據控制語言 (DCL)
            控制數據庫和數據對象的訪問
            例如. GRANT, REVOKE
        事務控制語言 (TCL)
            將一組DML語句組合到事務中來集中地應用到一個數據庫或者因爲錯誤而處於未完成的狀態
            例如. COMMIT, ROLLBACK, SAVEPOINT
DB2處理機制:
        db2引擎(db2sysc)
            在內存中,住引擎處理程序(db2sysc)以進程模式存在。
            引擎分派單元(Engine Dispatchable units -EDU) 負責執行各種任務
            進程模型的優勢:
                增加數據庫性能;
                節省內存資源;
        db2代理(db2agent)
            EDU作爲應用程序的代理,負責執行各種任務,包括處理數據庫應用程序請求。
            DB2 engine保持多個代理存在來保證當有服務請求時能夠及時響應
            兩種主要代理方式:
                協調代理,子代理。
DB2實例:
        獨立的db2環境
        每個數據庫服務器可以有多個實例
        所有的實例共享客執行的二進制文件
        每個實例有自己的配置參數文件
        每個實例可以有不同的軟件級別
        命令      描述                      例子
        db2start    啓動默認實例              db2start
        db2stop     停止當前實例              db2stop -f
        db2icrt     創建實例                    db2icrt –u db2fenc1 db2inst1
        db2idrop    刪除實例                    db2idrop –f db2inst1
        db2ilist    列出所有實例              db2ilist
        db2imigr    升級DB2後遷移一個實例        db2imigr –u db2fenc1 db2inst1
        db2iupdt    安裝補丁後升級實例           db2iupdt –u db2fenc1 db2inst1
        描述                  例子
        查看數據庫管理器配置  db2 get dbm cfg show detail
        更改數據庫管理器配置  db2 update dbm cfg using health_mon off
        描述              例子
        查看數據庫配置     db2 get db cfg for testdb
                            db2 connect to testdb
                            db2 get db cfg show detail
        更改一個數據庫配置   db2 update db cfg using logprimary 10
IBM Data Server Client客戶端
        允許客戶端計算機連接遠程服務器並且訪問該服務器上的數據庫. 通過三種方式:
    IBM Data Server Runtime Client
        支持在JDBC, ADOODBC, DB2 CLI, .NET, ADO.NET, OLE DB, PHP和Ruby中運行和配置應用程序.
        包含DB2 CLP命令行程序,但是沒有圖形化界面工具
        目錄保存連接信息(結點, 數據庫)
    IBM Data Server Client
        包括以上所有功能,另外對應用程序開發,數據庫管理和配置服務器/客戶觀提供支持
        包括圖形化工具
    IBM Data Server Drivers
        IBM ODBC和CLI數據服務器驅動程序
        IBM JDBC和SQLJ數據服務器驅動程序
        IBM數據服務器驅動程序包
        ODBC, CLI, .NET, OLE DB, PHP, Ruby, JDBC和SQLJ
        CLPPlus
DB2 存儲 : 緩衝池
        用來放置表和索引的緩存數據的內存區
        能夠有效的減少訪問數據的時間
        每個數據庫至少需要一個緩衝池
        通過內存自調優功能(STMM)來自動調價緩衝池達到優化目的
        每個表空間都有一個同樣頁面大小的緩衝池
        根據表的用途設置多個緩衝池,能夠通過緩衝不同數量的數據來達到增加數據庫性能的目的,比如說:
        給一個大型的隨機訪問表空間較小的緩衝池
        給OLTP應用程序設置的表空間一個較大的緩衝池
        如果創建表空間時,沒有特別指定緩衝池,那麼數據庫會使用默認的 IBMDEFAULTBP緩衝池
        CREATE BUFFERPOOL bp4k PAGESIZE 4K
        CREATE TABLESPACE tbsp1 PAGESIZE 4K BUFFERPOOL bp4k
DB2 安全性 
    DB2中有三種授權方式:
        權限
        特權
        LBAC基於標籤訪問
    顯式權限/特權:
        通過GRANT語句來顯式賦予權限或特權給用戶
    隱式權限/特權:
        賦予用戶所在的用戶組,或用戶所屬的角色或其所繼承的角色權限或特權來隱式的將該權限或特權賦予此用戶
    如何創建支持XML和關係型數據的SAMPLE數據庫:
        db2sampl –sql –xml 
    SAMPLE 數據庫能夠在任何時候被刪除或者重建:
        db2 drop database SAMPLE
DB2 訪問方案
Import/Export/Load 功能
    Oracle 工具
        輸出數據: Oracle exp; SQL*Plus
        輸入數據: Oracle imp; SQL*Loader
    DB2 EXPORT
        用來將表或者視圖中數據輸出到文件
    DB2 IMPORT
        使用SQL INSERT語句來向表中輸入數據
    DB2 LOAD
        高速,低級的數據裝載功能
        裝載處理的步驟
        裝載
        創建
        刪除
        拷貝索引
DB2 數據庫常用監控命令
        DB2 Snapshot
        DB2 Event Monitor
        db2expln, Visual Explain - DB2 Explain Tool
        db2top - IBM Single System View Monitor for DB2 
        db2pd
        db2advis - DB2 Design Advisor
IBM Data Studio
        總覽
        項目和工作區
        數據源瀏覽視圖
        創建數據庫連接
        添加、修改、刪除數據和數據庫對象
        創建、執行和分析查詢
        項目瀏覽視圖
        創建數據項目
        創建和部署內置程序

命令大全:下一篇見!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章