datastage與db2小結
CREATE DATABASE std104 AUTOMATIC STORAGE YES USING CODESET GBK TERRITORY CN COLLATE USING SYSTEM PAGESIZE 16384;
--無日誌清空間
alter table [ORI_AAC01] activate not logged initially with empty table;
--設定codepage
db2set db2codepage=1386 -I db2inst1
--備份
db2move db100 export -sn u2,drm_u2,db2admin -u baseinfo -p baseinfo
db2move db104 import -u baseinfo -p baseinfo
--匯出baseinfo.sql後,注意修改CONNECT TO STD104 USER baseinfo中的資料庫名稱
--注意修改結束符,否則匯出函式與儲存過程不能正確匯入
db2look -d db100 -e -z baseinfo -td @ -i baseinfo -w baseinfo -o baseinfo.sql
--注意修改結束符
db2 -td@ -vf baseinfo.sql >db2import.log
--建立統計表資訊指令碼
db2 connect to db
db2 "select 'RUNSTATS ON TABLE BASEINFO.'||TABNAME||';' as aaa FROM SYSCAT.TABLES WHERE TABSCHEMA='BASEINFO'" >d:runstats2.sql
db2 "select 'RUNSTATS ON TABLE BASEINFO.'||TABLE_NAME||';' as a FROM sysibm.tables WHERE TABLE_SCHEMA='BASEINFO' AND table_type='BASE TABLE'" >D:runstats3.sql
--db2 load from db2
db2 => declare c1 cursor database stdnew user baseinfo using baseinfo for select * from paz36
DB20000I SQL 命令成功完成。
db2 => load from c1 of cursor messages d:load_paz36.msg insert into baseinfo.paz36
--監控死鎖及解除死鎖
db2 UPDATE MONITOR SWITCHES USING LOCK ON
db2 get snapshot for locks on db
db2 "force applications(handle) "
--force applications all
db2 UPDATE MONITOR SWITCHES USING LOCK OFF
--db2備份資料庫
db2move stdnew export -u DRM_U2 -p drm_u2 -sn DRM_U2,DB2ADMIN,U2
--db2授權
CONNECT TO STANDARD;
GRANT DBADM,CREATETAB,
BINDADD,CONNECT,
CREATE_NOT_FENCED_ROUTINE,IMPLICIT_SCHEMA,
LOAD,CREATE_EXTERNAL_ROUTINE,
QUIESCE_CONNECT,SECADM
ON DATABASE TO USER DRM_U2;
CONNECT RESET;
用SQL語句實現DB2主要指標的監控
--Database manager:To capture a snapshot of database manager information:
SELECT * FROM TABLE( SNAPSHOT_DBM(-1)) as SNAPSHOT_DBM
--To capture a snapshot of database manager information specifically regarding the fast communication manager (FCM):
SELECT * FROM TABLE( SNAPSHOT_FCM(-1)) as SNAPSHOT_FCM
--To capture a snapshot of database manager information for a partition specifically regarding the fast communication manager(FCM):
SELECT * FROM TABLE( SNAPSHOT_FCMPARTITION(-1)) as SNAPSHOT_FCMPARTITION
--To capture the database manager's monitor switch settings:
SELECT * FROM TABLE( SNAPSHOT_SWITCHES(-1)) as SNAPSHOT_SWITCHES
--Database: To capture a snapshot of database information:
SELECT * FROM TABLE( SNAPSHOT_DATABASE( 'SAMPLE', -1 )) as SNAPSHOT_DATABASE
--Application:To capture a snapshot of application information:
SELECT * FROM TABLE( SNAPSHOT_APPL( 'SAMPLE', -1 )) as SNAPSHOT_APPL
--To capture a snapshot of application identification information:Chapter 3. Using the Snapshot Monitor 23
SELECT * FROM TABLE( SNAPSHOT_APPL_INFO( 'SAMPLE', -1 )) as SNAPSHOT_APPL_INFO
--To capture a snapshot of lock wait information:
SELECT * FROM TABLE( SNAPSHOT_LOCKWAIT('SAMPLE', -1 )) as SNAPSHOT_LOCKWAIT
--To capture a snapshot of statement information:
SELECT * FROM TABLE( SNAPSHOT_STATEMENT( 'SAMPLE', -1 )) as SNAPSHOT_STATEMENT
--To capture a snapshot of agent information:
SELECT * FROM TABLE( SNAPSHOT_AGENT( 'SAMPLE', -1 )) as SNAPSHOT_AGENT
--To capture a snapshot of subsection information:
SELECT * FROM TABLE( SNAPSHOT_SUBSECT( 'SAMPLE', -1 )) as SNAPSHOT_SUBSECT
--Buffer pool: To capture a snapshot of buffer pool information:
SELECT * FROM TABLE( SNAPSHOT_BP( 'SAMPLE', -1 )) as SNAPSHOT_BP
--Table space:To capture a snapshot of table space information:
SELECT * FROM TABLE( SNAPSHOT_TBS( 'SAMPLE', -1 )) as SNAPSHOT_TBS
--To capture a snapshot of table space configuration information:
SELECT * FROM TABLE( SNAPSHOT_TBS_CFG( 'SAMPLE', -1 )) as SNAPSHOT_TBS_CFG
--To capture a snapshot of table space quiescer information:
SELECT * FROM TABLE( SNAPSHOT_QUIESCER( 'SAMPLE', -1 )) as SNAPSHOT_QUIESCER
--To capture a snapshot of table space container configuration information:
SELECT * FROM TABLE( SNAPSHOT_CONTAINER( 'SAMPLE', -1 )) as SNAPSHOT_CONTAINER
--To capture a snapshot of the ranges for a table space map:
SELECT * FROM TABLE( SNAPSHOT_RANGES( 'SAMPLE', -1 )) as SNAPSHOT_RANGES
--Table: To capture a snapshot of table information:
SELECT * FROM TABLE( SNAPSHOT_TABLE( 'SAMPLE', -1 )) as SNAPSHOT_TABLE
--Lock: To capture a snapshot of lock information:
SELECT * FROM TABLE( SNAPSHOT_LOCK( 'standard', -1 )) as SNAPSHOT_LOCK
--Dynamic SQL cache: To capture a snapshot of dynamic SQL statement cache information:Snapshot monitor 24 System Monitor Guide and Reference
SELECT * FROM TABLE( SNAPSHOT_DYN_SQL( 'SAMPLE', -1 )) as SNAPSHOT_DYN_SQL
--db2中的minus(集合差集)
except
--db2中執行檔案
db2 -vf filename
--db2訪問oracle配置
一、安裝配置Oracle客戶端,用sqlplus測試能成功訪問Oracle資料:
二、停止db2例項,下面以db2test例項為例:
db2stop
三、以root使用者身份登入,建立包裝器庫與資料來源客戶機軟體之間的連結:
su – root
###設定Oracle環境變數
export ORACLE_HOME=/oracle/app/oracle/product/9.2.0.1
### For 64位例項
/opt/IBM/db2/V8.1/bin64/djxlinkOracle
### For 32位例項
/opt/IBM/db2/V8.1/bin/djxlinkOracle
### 更新例項,保留以前的位數
/opt/IBM/db2/V8.1/instance/db2iupdt -k db2inst1
exit
### 在分割槽資料庫環境中,若有多臺物理主機上,請分別在每臺機器上執行上面的djxlinkOracle及例項更新操作。
四、配置例項主目錄下的sqllib/cfg/db2dj.ini,增加如下Oracle環境變數內容:
ORACLE_HOME=/oracle/app/oracle/product/9.2.0.1
ORACLE_BASE=/oracle/app/oracle
ORA_NLS33=/oracle/app/oracle/product/9.2.0.1/ocommon/nls/admin/data
TNS_ADMIN=/oracle/app/oracle/product/9.2.0.1/network/admin
NLS_LANG=american_america.zhs16cgb231280
五、修改 DBM引數FEDERATED為YES:
db2 "update dbm cfg using FEDERATED YES"
六、重啟例項,並建立測試資料庫:
db2start
db2 "create db testdb using codeset ISO88591 territory us"
db2 "connect to testdb"
七、註冊Oracle包裝器:
db2 "create wrapper net8"
八、為Oracle資料來源註冊伺服器定義:
db2 "create server odb type oracle version 8.1.7 wrapper net8 options (node 'odb') "
九、為Oracle資料來源建立使用者對映:
db2 "create user mapping for db2inst1 Server odb options (remote_authid 'user', remote_password 'pwd')"
十、建立使用者暱稱,測試連線:
db2 "create nickname u_info for odb.sys.all_users"
db2 "select count(*) from u_info"
db2 "set passthru odb"
db2 "select count(*) from sys.all_tables"
db2 "set passthru reset"
--db2 訪問sql server
0 connect to test;
1 CREATE WRAPPER MSSQLSERVER LIBRARY 'db2mssql3.dll';
2 CREATE SERVER ser_hd TYPE mssql VERSION 2000 WRAPPER MSSQLSERVER OPTIONS (NODE 'node1',DBNAME 'test');
3 CREATE USER MAPPING FOR administrator SERVER OPTIONS (REMOTE_AUTHID 'admin', REMOTE_PASSWORD '123');
administrator是db2使用者,admin是mssql使用者.
4 CREATE NICKNAME table01 FOR ser_hd."dbo"."table01";
5 select * from table01;
即可在db2中操作mssql中的dbo.table01表.
1、更新odbc.ini。建議:將odbc.ini檔案或者它的一個複製放在DB2例項使用者的主目錄下。在我們的例子中,我們加入Microsoft SQL Server的相關條目並放在/home/db2inst1目錄下,檔案內容如下所示:
[ODBC Data Sources]
testsql=DataDirect 4.10 SQL SERVER
[testsql]
Driver=/opt/odbc/lib/ivmsss18.so
Description=DataDirect 4.10 SQL Server Wire Protocol
Database=Northwind
LogonID=sa
Password=sa
Address=192.168.3.3,1433
QuotedId=Yes
AnsiNPW=No
[ODBC]
Trace=1
TraceFile=odbctrace.out
TraceDll=/opt/odbc/lib/odbctrac.so
InstallDir=/opt/odbc
ConversionTableLocation=/opt/odbc/tables
UseCursorLib=0
2、設定ODBCINI環境變數,指向odbc.ini檔案的絕對路徑,如下所示:
export ODBCINI=/home/odbc/.odbc.ini
3、建立符號連結(請用root使用者執行命令):
ln –s /opt/odbc/locale /usr/local/locale
ln –s /opt/odbc/lib/libodbcinst.so /usr/lib/libodbcinst.so
注意:如果您使用DataDirect Technoligies Connect for ODBC 4.2 驅動程式,您還必須建立下列符號連結:
ln –s /opt/odbc/lib/libivicu19.so /usr/lib/libivicu19.so
在不同的作業系統下,需要建立的符號連結不盡相同,關於其他Unix作業系統建立符號連結的資訊,請參考DB2資訊中心:
4、使用DataDirect 公司提供的demoodbc工具測試到SQL Server的連線是否成功:
執行 /opt/odbc/odbc.sh 指令碼,這個指令碼設定一些ODBC驅動程式需要的環境變數。
. /opt/odbc/odbc.sh
使用demoodbc工具測試到SQL Server的連線,demoodbc位於/opt/odbc/demo目錄下,請使用指令碼empsqlsrv.sql在你的SQL Server端執行,在我們指定連線的資料庫上(在我們的例子中是Northwind資料庫,參見odbc.ini)建立EMP表, 然後執行demoodbc 來測試連線是否成功。
你需要設定一些環境變數以便DB2能夠訪問SQL Server資料來源,如果你在安裝DB2 II之前安裝了Microsoft SQL Server ODBC driver,安裝程式會幫助你更新db2dj.ini檔案,否則你需要手工配置db2dj.ini檔案。我們建議你在進行下一步之前始終檢查一下你的環境變數設定。下面為在Linux環境下配置Microsoft SQL Server所需要的環境變數:
DJX_ODBC_LIBRARY_PATH
ODBCINI
DB2LIBPATH
DB2ENVLIST
關於其他作業系統的環境變數,請檢視DB2資訊中心:
下面是手工設定這些變數的方法:
1、編輯db2dj.ini 檔案,該檔案位於
設定如下環境變數:
DJX_ODBC_LIBRARY_PATH
該環境變數指向ODBC驅動程式的安裝目錄下的庫檔案目錄(lib):
DJX_ODBC_LIBRARY_PATH=/opt/odbc/lib
ODBCINI
該變數指向ODBC配置檔案,如在我們的例子中,設定如下:
ODBCINI=/home/db2inst1/odbc.ini
注意:不要將ODBCINI設定為系統環境變數。
完成編輯後我們db2dj.ini檔案的內容如下:
DJX_ODBC_LIBRARY_PATH=/opt/odbc/lib
ODBCINI=/home/db2inst1/odbc.ini
2、為了訪問Microsoft SQL Server資料來源,你需要設定DB2LIBPATH登錄檔變數到ODBC驅動程式庫檔案所在的目錄,在我們的例子中設定如下:
db2set DB2LIBPATH=/opt/odbc/lib
使用DataDirect Connect ODBC 驅動程式訪問Microsoft SQL Server 資料來源,設定DB2ENVLIST為LIBPATH,如:
db2set DB2ENVLIST=LIBPATH
3、為確保我們設定的環境變數生效,請重新啟動DB2例項:
db2stop
db2start
八、建立聯合體資料庫物件訪問Microsoft SQL Server資料來源。接下來的任務就是建立聯合體資料庫物件了,你可以使用控制中心或者使用命令列建立。下面我們將簡單演示一下如何使用命令列建立聯合體物件訪問SQL Server資料來源。在建立之前需要連線到資料庫(我們使用例子資料庫sample):
db2 connect to sample
使用如下命令建立包裝器:
db2 “create wrapper MSSQLODBC3”
使用如下命令建立聯合體伺服器:
db2 "create server testsql type mssqlserver version 2000 wrapper mssqlodbc3 options (dbname 'Northwind', Node 'testsql’)”
使用如下命令建立使用者對映:
db2 “create user mapping for db2inst1 server "testsql" options (remote_authid 'sa', remote_password 'sa' )”
使用下列語句建立暱稱(我們選擇前面我們測試ODBC資料來源時建立的EMP表):
db2 “create nickname testsql for testsql.dbo.emp”
測試我們的配置:
db2 connect to sample
db2 "select * from testsql"
你應該可以看到EMP表內容的輸出,至此我們在Linux環境下已經成功配置了DB2 II訪問Microsoft SQL Server資料庫。 DB2 II除了能夠採用聯合體資料庫訪問Microsoft SQL Server 資料庫以外,還支援將Microsoft SQL Server上資料來源的資料複製到其他資料庫平臺上。您可以使用DB2複製中心來設定資料複製。關於複製的詳細內容,請參見DB2資訊中心。
--db2檢視使用者許可權
GET AUTHORIZATIONS
select * from sysibm.tables where table_name like '%PRIV%';
select * from SYSIBMADM.PRIVILEGES
SELECT * FROM SYSIBM.SQLCOLPRIVILEGES
SELECT * FROM SYSIBM.SQLTABLEPRIVILEGES
select * from sysibm.tables where table_name like '%AUTHOR%';
--datastage安裝
--Redhat 4 須安裝以下包:
glibc-2.3.4-2.9
xorg-x11-libs-6.8.2-1.EL.13.6
xorg-x11-deprecated-libs-6.8.2-1.EL.13.6
xorg-x11-libs-6.8.2-1.EL.13.6
compat-libstdc++-33-3.2.3-47.3
compat-libstdc++-296-2.96-132.7.2
libstdc++-3.4.3-22.1
libstdc++-devel-3.4.3-22.1
--sql server2000中文與db2中文問題
sql server中一箇中文的長度為1
db2 中utf-8為3,gbk為2
做轉換時有中文的要注意
[@more@]
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/11419868/viewspace-1020131/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- db2 錯誤小結-1DB2
- db2 安裝過程小結DB2
- DB2 時間函式小結 .DB2函式
- DB2常用系統檢視小結DB2
- DB2匯出表結構、表資料小結DB2
- datastage--dsjobAST
- datastage指令碼排程AST指令碼
- linux下datastage問題LinuxAST
- datastage7.5 can't view data?ASTView
- 小結java與資料庫Java資料庫
- datastage8 linux中文安裝ASTLinux
- ArchLinux安裝與配置小結Linux
- 小程式與Vue對比·class與style繫結Vue
- DB2 prune 與 list historyDB2
- DB2 backup與resotre,rollforwardDB2Forward
- 檢視DB2表結構DB2
- DB2實用命令總結DB2
- db2 記憶體結構DB2記憶體
- electron打包更新與整合sqlite小總結SQLite
- Flutter UI 1.0.2落地與優化小結FlutterUI優化
- 微信小程式開發總結與心得微信小程式
- datastage7.5無法匯入DSX檔案AST
- datastage抽取工程中文亂碼解決辦法AST
- DB2備份與恢復DB2
- DB2目錄結構簡介DB2
- Direct Path Insert與APPEND, PARALLEL的梳理與小結APPParallel
- 小程式與Vue對比·資料繫結Vue
- 使用setInterval與clearInterval踩的小坑總結
- Parcel 與React 結合使用的小練手React
- load 與initialize的呼叫順序小結
- (一):小程式與伺服器的連結伺服器
- 讓DB2跑得更快——DB2內部解析與效能最佳化DB2
- 互斥鎖與條件變數學習與應用小結變數
- DB2 Event Monitor使用與查詢DB2
- DB2 export 與 import 相關操作DB2ExportImport
- DB2許可權與授權DB2
- DB2線上備份與恢復DB2
- [轉]DB2目錄檔案結構DB2