SELECT(執行 IBM Spectrum Protect 資料庫的 SQL 查詢)
使用 SELECT 指令可以建立及格式化 IBM Spectrum® Protect 資料庫的自訂查詢。
IBM Spectrum Protect 為 Db2® 程式提供 SQL 介面。 如需適用於 SQL 查詢之限制及準則的相關資訊,請參閱 DB2 產品說明文件。
- SYSCAT.TABLES
- 內含可用 SELECT 指令來查詢之所有表格的相關資訊。
- SYSCAT.COLUMNS
- 說明各表格中的直欄。
使用注意事項
您不能從伺服器主控台發出 SELECT 指令。
因為 SELECT 指令無法鎖定和解除鎖定記錄,所以記錄的競用可能會造成伺服器錯誤發出訊息 ANR2034E: SELECT: 使用此準則找不到相符項。請檢查您的選項準則,如果您認為是正確的,請重試指令。
如果要停止處理已開始執行的 SELECT 指令,請取消發出指令的管理級階段作業。 請從伺服器主控台或管理級階段作業來取消階段作業。
暫存表格空間是用來處理 DB2 內的 SQL 查詢。 暫存空間不足會導致 SQL 查詢失敗。
如果要將輸出匯出至以逗點區隔的檔案,然後匯入試算表中,請在 dsmadmc 指令上使用 -comma 和 > 指令行選項。
專用權類別
任何管理者均可以發出此指令。
語法
如需 SELECT 陳述式語法與準則,請搜尋 Db2 產品資訊。
SELECT * FROM SUMMARY WHERE ACTIVTY='EXPIRATION' AND START_TIME >'2009-05-10 00:00:00' AND START_TIME <'2009-05-11 23:23:23'
範例清單
SELECT 指令可用來自訂多種查詢。 為使您擁有這個指令之函數的概念,本節中包括許多範例。 不過,仍有更多的可能性。 只會顯示較複雜指令的查詢輸出以說明格式化。
下列清單彙總 SELECT 指令:- 列出由外部 LDAP 目錄伺服器來鑑別的管理者使用者 ID
- 列出可用的表格
- 列出伺服器目前無法存取的用戶端節點和管理用戶端
- 列出使用傳統階段作業安全的用戶端節點、管理用戶端及伺服器
- 列出最近未指定正確密碼的用戶端節點和管理用戶端
- 列出標準原則網域中與日常備份排程 DAILYBACKUP 無關聯的節點
- 列出指定為核准管理者的管理者使用者 ID
- 列出具有原則權限的管理者
- 列出在維護活動日誌記錄的時段內已發出的類型 E (ERROR) 或 W (WARNING) 訊息
- 列出管理者 JAKE 已定義或變更的管理排程
- 列出相對的管理排程優先順序
- 列出保存副本群組的保留期超過 365 天的管理類別
- 列出每一個原則網域中的用戶端節點
- 計算已自每一個節點保存多少檔案
- 列出正在使用空間管理的用戶端
- 判斷若將儲存區 TAPE 的收回臨界值變更為 50% 時能收回多少磁區
- 若變更或刪除 STANDARD 原則網域中的 DAILY 管理類別,判斷每一個節點有多少備份檔會受到影響
- 判斷所有作用中的用戶端階段作業已連接多久及其每秒有效傳輸量(位元組)
- 判斷現行背景處理程序已執行多久,並判斷其每秒有效傳輸量(時間和檔案數)
- 計算每一種平台類型的用戶端節點數
- 計算每一個用戶端節點所具有的檔案空間數,並以遞增順序列出用戶端節點
- 取得統計資訊,以計算在儲存區收回期間,空間會被收回的遠地磁區數
- 取得 PVU 預估詳細記錄
- 取得節點角色的相關資訊
- 取得狀態的相關資訊
- 識別任何物件代理程式
範例:列出向 IBM Spectrum Protect 伺服器進行鑑別的管理者使用者 ID
列出其密碼是由 IBM Spectrum Protect 伺服器來鑑別的所有管理者使用者 ID:select admin_name from admins where
authentication=local
範例:列出可用的表格
列出可用來查詢 IBM Spectrum Protect 資料庫的表格。select * from syscat.tables
ABSCHEMA: SERVER1
TABNAME: ACTLOG
CREATE_TIME: 1999-05-01 07:39:06
COLCOUNT: 10
INDEX_COLCOUNT: 1
UNIQUE_INDEX: FALSE
REMARKS: Server activity log
TABSCHEMA: SERVER1
TABNAME: ADMIN_SCHEDULES
CREATE_TIME: 1995-05-01 07:39:06
COLCOUNT: 14
INDEX_COLCOUNT: 1
UNIQUE_INDEX: TRUE
REMARKS: Administrative command schedules
TABSCHEMA: SERVER1
TABNAME: ADMINS
CREATE_TIME: 1995-05-01 07:39:06
COLCOUNT: 15
INDEX_COLCOUNT: 1
UNIQUE_INDEX: TRUE
REMARKS: Server administrators
TABSCHEMA: SERVER1
TABNAME: ARCHIVES
CREATE_TIME: 1995-05-01 07:39:06
COLCOUNT: 10
INDEX_COLCOUNT: 5
UNIQUE_INDEX: FALSE
REMARKS: Client archive files
範例:列出伺服器目前無法存取的用戶端節點和管理用戶端
select node_name from nodes where locked='YES'
select admin_name from admins where locked='YES'
範例:列出使用傳統階段作業安全用戶端節點、管理用戶端及伺服器
select node_name from nodes where session_security='Transitional'
select admin_name from admins where session_security='Transitional'
select server_name from servers where session_security='Transitional'
範例:列出最近未指定正確密碼的用戶端節點和管理用戶端
select node_name from nodes where invalid_pw_count <>0
select admin_name from admins where invalid_pw_count <>0
範例:列出標準原則網域中與日常備份排程 DAILYBACKUP 無關聯的節點
select node_name from nodes where domain_name='STANDARD' and
node_name not in (select node_name from associations
where domain_name='STANDARD' and schedule_name='DAILYBACKUP')
範例:列出具有原則權限的管理者
select admin_name from admins where
upper(system_priv) <>'NO'
or upper(policy_priv) <>'NO'
範例:列出指定為核准管理者的管理者
select * from admins where cmd_approver='YES'
範例:列出在維護活動日誌記錄的時段內已發出的類型 E (ERROR) 或 W (WARNING) 訊息
select date_time,msgno,message from actlog
where severity='E' or severity='W'
範例:列出管理者 JAKE 已定義或變更的管理排程
select schedule_name from admin_schedules where chg_admin='JAKE'
範例:列出相對的管理排程優先順序
select schedule_name,priority from admin_schedules order
by priority
範例:列出保存副本群組的保留期超過 365 天的管理類別
select domain_name,set_name,class_name from ar_copygroups
where retver='NOLIMIT' or cast(retver as integer) >365
範例:列出指定超過五個備份版本的管理類別
select domain_name,set_name,class_name from bu_copygroups
where verexists ='NOLIMIT' or
cast(verexists as integer)>5
範例:列出正在使用用戶端選項集 SECURE 的用戶端節點
select node_name from nodes where option_set='SECURE'
範例:列出每一個原則網域中的用戶端節點
select domain_name,num_nodes from domains
範例:計算已自每一個節點保存多少檔案
select node_name,count(*) from archives
group by node_name
範例:列出正在使用空間管理的用戶端
select node_name from auditocc where spacemg_mb <>0
範例:判斷若將儲存區 TAPE 的收回臨界值變更為 50% 時能收回多少磁區
select count(*) from volumes where stgpool_name='TAPE'
and upper(status)='FULL' and pct_utilized < 50
範例:若變更或刪除 STANDARD 原則網域中的 DAILY 管理類別,判斷每一個節點有多少備份檔會受到影響
select node_name, count(*) as "Files" from backups
where class_name='DAILY' and node_name in
(select node_name from nodes where domain_name='STANDARD')
group by node_name
範例:判斷所有作用中的用戶端階段作業已連接多久及其每秒有效傳輸量(位元組)
select session_id as "Session",
client_name as "Client",
state as "State",
current_timestamp-start_time as "Elapsed Time",
(cast(bytes_sent as decimal(18,0)) /
cast(second(current_timestamp-start_time) as decimal(18,0)))
as "Bytes sent/second",
(cast(bytes_received as decimal(18,0)) /
cast(second(current_timestamp-start_time) as decimal(18,0)))
as "Bytes received/second"
from sessions
Session: 24
Client: ALBERT
State: Run
Elapsed Time: 0 01:14:05.000000
Bytes sent/second: 564321.9302768451
Bytes received/second: 0.0026748857944
Session: 26
Client: MILTON
State: Run
Elapsed Time: 0 00:06:13.000000
Bytes sent/second: 1638.5284210992221
Bytes received/second: 675821.6888561849
範例:判斷現行背景處理程序已執行多久,並判斷其每秒有效傳輸量(時間和檔案數)
select process_num as "Number",
process,
current_timestamp-start_time as "Elapsed Time",
(cast(files_processed as decimal(18,0)) /
cast(second(current_timestamp-start_time) as decimal(18,0)))
as "Files/second",
(cast(bytes_processed as decimal(18,0)) /
cast(second(current_timestamp-start_time) as decimal(18,0)))
as "Bytes/second"
from processes
Number: 1
PROCESS: Expiration
Elapsed Time: 0 00:24:36.000000
Files/second: 6.3216755870092
Bytes/second: 0.0000000000000
範例:計算每一種平台類型的用戶端節點數
select platform_name,count(*) as "Number of Nodes"
from nodes group by platform_name
PLATFORM_NAME Number of Nodes
------------- ---------------
AIX 6
SunOS 27
Win32 14
Linux 20
範例:計算每一個用戶端節點所具有的檔案空間數,並以遞增次序列出用戶端節點
select node_name, count(*) as "number of filespaces"
from filespaces group by node_name order by 2
NODE_NAME number of filespaces
------------------ --------------------
ALBERT 2
MILTON 2
BARNEY 3
SEBASTIAN 3
MAILHOST 4
FALCON 4
WILBER 4
NEWTON 4
JEREMY 4
WATSON 5
RUSSELL 5
範例:取得統計資訊,以計算在儲存區收回期間會收回空間的離站磁區數
select * from summary where activity='OFFSITE RECLAMATION'
START_TIME: 2004-06-16 13:47:31.000000
END_TIME: 2004-06-16 13:47:34.000000
ACTIVITY: OFFSITE RECLAMATION
NUMBER: 4
ENTITY: COPYPOOL
COMMMETH:
ADDRESS:
SCHEDULE_NAME:
EXAMINED: 170
AFFECTED: 170
FAILED: 0
BYTES: 17821251
IDLE: 0
MEDIAW: 0
PROCESSES: 2
SUCCESSFUL: YES
VOLUME_NAME:
DRIVE_NAME:
LIBRARY_NAME:
LAST_USE:
COMM_WAIT:
NUM_OFFSITE_VOLS: 2
範例:識別哪些儲存區包含已由用戶端刪除重複資料的資料
select stgpool_name,has_client_dedup_data from stgpools
STGPOOL_NAME HAS_CLIENT_DEDUP_DATA
-------------------- --------------------
ADPOOL NO
ARCHIVEPOOL NO
BACKUPPOOL NO
COPYDEDUP NO
COPYNODEDUP NO
FILEPOOL YES
FILEPOOL2 NO
LANFREEFILEPOOL YES
SPACEMGPOOL NO
範例:判定物件儲存體的物件代理程式是否在伺服器上
tsm: SERVER1>select * from servers
SERVER_NAME: SERVER1
COMMMETH: TCPIP
HL_ADDRESS: localhost
LL_ADDRESS: 1500
DESCRIPTION:
ALLOWREPLACE: NO
NODE_NAME:
LASTACC_TIME: 2018-04-16 17:32:39.000000
LOCKED: NO
COMPRESSION: NO
ARCHDELETE: YES
URL:
ORIG_DATE: 2018-04-16 17:32:39.000000
REG_ADMIN: SERVER_CONSOLE
LASTSESS_RECVD: 0
LASTSESS_SENT: 0
LASTSESS_DURATION: 0.00000000000000E+000
LASTSESS_IDLEWAIT: 0.00000000000000E+000
LASTSESS_COMMWAIT: 0.00000000000000E+000
LASTSESS_MEDIAWAIT: 0.00000000000000E+000
GRACE_DEL_PERIOD: 5
PROFILE:
SERVER_PWD_SET: No
SERVER_PSWET_TIME:
SERVER_INVALID_PWC:
VVNODE_PWD_SET: No
VV_PSWET_TIME:
VV_INVALID_PWC:
VALIDATEPROTOCOL: No
SSL: No
SESSION_SECURITY: Transitional
TRANSPORT_METHOD: Unknown
TRANSFERMETHOD: TCPIP
OBJECT_AGENT: Yes
範例:取得資料庫的相關資訊
select * from db
DATABASE_NAME: TSMDB1
TOT_FILE_SYSTEM_MB: 2048000
USED_DB_SPACE_MB: 12576
FREE_SPACE_MB: 1576871
TOTAL_PAGES: 983044
USABLE_PAGES: 982908
USED_PAGES: 977736
FREE_PAGES: 5172
BUFF_HIT_RATIO: 96.2
TOTAL_BUFF_REQ: 53967
SORT_OVERFLOW: 0
LOCK_ESCALATION: 0
PKG_HIT_RATIO: 70.0
LAST_REORG: 2010-07-15 17:32:55.000000
FULL_DEV_CLASS: OUTFILE
NUM_BACKUP_INCR: 0
LAST_BACKUP_DATE: 2010-01-21 10:37:59.000000
PHYSICAL_VOLUMES: 0
PAGE_SIZE:
NUM_BACKUP_STREAMS: 4
範例:取得 PVU 預估詳細記錄。
為一個名稱為 ACCTSRECSRV 的節點產生 PVU 預估,供 IBM Spectrum Protect 增訂版產品使用。
select * from pvuestimate_details where node_name='ACCTSRECSRV'
PRODUCT: PRODEE
LICENSE_NAME: MGSYSLAN
NODE_NAME: ACCTSRECSRV
LAST_USED: 2008-01-20 16:12:24.000000
TRYBUY: FALSE
PROC_VENDOR: IBM
PROC_BRAND: POWER5+ QCM
PROC_TYPE: 4
PROC_MODEL:
PROC_COUNT: 2
ROLE: SERVER
ROLE_OVERRIDE: USEREPORTED
ROLE_EFFECTIVE: SERVER
VALUE_UNITS: 50
VALUE_FROM_TABLE: YES
PVU: 100
SCAN_ERROR : NO
API_CLIENT: NO
PVU_AGNOSTIC: NO
HYPERVISOR: VMWARE
GUID: 01.2e.1c.80.e5.04-
.11.da.aa.ab.00.-
15.58.0b.d9.47
VERSION: 6
RELEASE: 3
LEVEL: 1
VENDOR_D: IBM(R)
BRAND_D: POWER5(TM) QCM
TYPE_D: Quad-core Module
MODEL_D: All Existing
PRODUCT_D: IBM Spectrum Protect Extended Edition
範例:取得角色及 PVU 相關資訊
下列範例顯示所選節點的部分結果,其中包括 PVU 相關資訊和角色資訊。 可能的角色為 CLIENT、SERVER 或 OTHER。 PVU 的計算僅用於定義為伺服器的節點。
select * from nodes
ROLE: CLIENT
ROLE_O: USEREPORTED
PVENDOR: INTEL
PBRAND: INTEL
PTYPE: 4
PMODEL:
PCOUNT: 1
HYPERVISOR:
PAPI: NO
SCANERROR: NO
欄位說明
- PRODUCT
- 將授權類型累積更新至 QUERY PVUESTIMATE 指令所呈現層次的產品。 可能值為 PRODEE、PROTBASIC、PRODDATARET、PRODMAIL、 PRODDB、PRODSYSB、PRODSPACE、PRODSAN、PRODERP 或空白。
- LICENSE_NAME
- 指派給這個節點的授權。
- NODE_NAME
- 節點名稱。
- LAST_USED
- 所識別的節點根據此授權,前次連接到系統的日期和時間。
- TRYBUY
- 指出是否在「試用版」模式之下執行。 可能的值為 true 或 false。
- PROC_VENDOR
- 用戶端報告的處理器供應商名稱。
- PROC_BRAND
- 用戶端報告的處理器品牌名稱。
- PROC_TYPE
- 用戶端報告的處理器類型。 這個值也反映核心的數目。 範例值為:1=SINGLE CORE、2=DUO CORE 及 4=QUAD CORE。
- PROC_MODEL
- 用戶端報告的處理器型號。
- PROC_COUNT
- 處理器數量。
- ROLE
- 節點角色。 可能的值為 CLIENT、SERVER 或 OTHER。
- ROLE_OVERRIDE
- 置換 UPDATE NODE 指令所指定的值。
- ROLE_EFFECTIVE
- 根據 ROLE 和 ROLE_OVERRIDE 欄位值的實際角色。
- VALUE_UNITS
- 處理器已指派的處理器價值單位 (PVU)。
- PVU
- 計算的 PVU 值。
其中PVU per node = number of processors per node * processor type * pvu value
processor type
代表核心數目,而pvu value
是在 IBM® PVU 表格中定義給處理器類型的值。 - VALUE_FROM_TABLE
- 指出 PVU 是否根據 IBM PVU 表格而計算的旗標。 可能的值為 YES 或 NO。 如果為 NO,會對每一個定義為伺服器的節點套用 100 這個值。 如果未定義節點的角色,會採用伺服器的角色來進行 PVU 計算。
- SCAN_ERROR
- 指出用戶端是否報告授權資訊的旗標。 可能的值為 YES 或 NO。
- API_CLIENT
- 指出 API 應用程式的旗標。 可能的值為 YES 或 NO。
- PVU_AGNOSTIC
- 指出用戶端版本/版次比 IBM Spectrum Protect 6.3 版更舊的旗標。 如果版本比 6.3 更舊,則不會產生有效的 PVU 度量。 可能的值為 YES 或 NO。
- HYPERVISOR
- 用戶端所報告的虛擬機器軟體名稱。
- GUID
- 節點所在電腦的「廣域唯一 ID (GUID)」。 GUID 是從節點表格取得。
- VERSION
- 用戶端版本。
- RELEASE
- 用戶端版次。
- LEVEL
- 用戶端層次。
- OBJECT_AGENT
- 指定伺服器是否為物件代理程式。
- VENDOR_D
- PVU 表格中的處理器供應商顯示值。
- BRAND_D
- PVU 表格中的處理器品牌顯示值。
- TYPE_D
- PVU 表格中的處理器類型顯示值。
- MODEL_D
- PVU 表格中的處理器型號顯示值。
- PRODUCT_D
- PVU 表格中的產品顯示值。 可能的值如下:
- IBM Spectrum Protect
- IBM Spectrum Protect Extended Edition
- IBM Spectrum Protect for Data Retention
- IBM Spectrum Protect for SAN
- IBM Spectrum Protect for Space Management
- IBM Spectrum Protect for Mail
- IBM Spectrum Protect for Databases
- IBM Spectrum Protect for Enterprise Resource Planning
- IBM Spectrum Protect for System Backup and Recovery
- 空白