Skip to content

Utilities and Tools

  • TD14+: Linux processes run as teradata user instead of root
  • Use tdtrusted group to control Teradata services on Linux
    • Protected mode UDF are run by ID that is member of tdatudf group

Administrative Tools

  • Teradata Manager: Alert viewer, PMON, Administrator, Remote Console, Locking Logger, Session Information, Resource History,
  • Teradata Workload Analyzer: generates workload definitions based on DBQL or existing Priority Scheduler settings
  • Teradata Analyst Pack: VisExpl, TSET, Index Wizard, Stats Wizard
  • Index Wiz:
  • suggest SIs, STJI and partitioning.
  • Import workload from DBQL, QCD, sql files, DUMP EXPL stmt
  • Validation allows to check explain without creating suggested indexes
  • Creation phase allows auto creating recommendations except partitioning
  • Teradata Visual Explain:
  • Normal: View/delete only own plan/workload. Power: view all/delete self. Admin: All
  • INSERT EXPLAIN puts plan info into QCD database. Can optionally collect STATISTICS and DEMOGRAPHICS (QCD form not the optimizer form)
  • DUMP EXPLAIN generates INSERT statements that INSERT EXPLAIN would produce
  • Stats Wiz:Recommendations based on workload or table based
  • TSET: based on Database, query or workload

Archive/Restore/Copy

  • Archive types: data, dictionary, no fallback, journal. Can archive one type at a time
  • JI, HI, Macros, Triggers, UDT, VIews, GLOP: only dictionary info is processed
  • Archive levels: ALL AMP (default), AMP (used for no fallback tables after AMP recovery)
  • cluster archive: Groups AMPs by cluster. Better than single archive, worse than multi-stream. No journal tables, DBC database or dictionary
  • Multi-stream: ARC handles dividing data for parallelism. DBS sees it as only one All AMP backup
  • BAR solution provide Multi-stream archives: AMP-local archives, no ByNET traffic
  • Archival of selected partitions only supported for all-AMP archives
  • partition-level arc, specify cond as: PARTITIONS WHERE (!cond!)
  • Multi-stream: Master stream communicates with other streams via TARA server
  • Master server gets database Job ID that will be shared by child streams
  • Master archives DD and data. Child streams archive data only
  • Arc user ID must have MONITOR privilege to use local AMP backup
  • Non-hashed and partially loaded tables: only table header is backed up. are empty on restore
  • Partition level backups
  • restores do not restore dictionary tables, so collect stats after restores
  • Partitions with LOBs can be archived, but must restore full table
  • Cluster archive: Backs up AMP clusters
  • Must backup/restore dictionary first for specific objects before data
  • Need multiple user-ids for restore
  • Online archive: captures before images, restore point is archive start, uses only transaction locks.
  • No DBC, PJ, Temp tables, partition level backups, indexes
  • Yes: Compatible with FLOAD and MLOAD
  • Uses table-level read lock at the beginning as consistency point.
  • TD13.10+: No access lock on DB, but currently archive table can’t be altered.
  • Any table created after consistency point is archived using offline mode
  • consistency point is established using either ONLINE keyword or LOGGING ON stmt
  • NOSYNC option causes each table to have it’s own consistency point.
  • NOSYNC option is single threaded. If many more tables, split and run parallel jobs
  • If any error, puts a warning and continues (unlike no NOSYNC which fails)
  • DB having mix, tables without NOSYNC should come before ones using NOSYNC
  • TARA Script specified value for SESSIONS is per stream
  • Journal table restore area is physically different from current portion, so can it can be restored while changes are being written to current area.
  • # of SESSIONS should be divisible by # of COP entries on that BAR server (OB Local AMP Bkp)
  • DBC Restore: SYSINIT is required, then DIPMIG, then
DBC DELETE DATABASE (DBC) ALL, EXCLUDE DBC;
RESTORE DBC;
RESTORE (DBC) ALL, EXCLUDE DBC, TD_SYSFNLIB;
post_data_restore`, `DIPALL
  • To copy only DDLs from one system to another.
ARCHIVE DICTIONARY TABLES (DBC) ALL;
COPY DICTIONARY TABLE (DB.TB) (FROM(DB.TB))...;
BUILD DATA TABLES (DB.TB)...;
  • Single AMP restore: only allowed for non-fallback tables.
  • If table header exist then it must match backup
  • If no header exists, use table rebuild utility to build header before restore
  • Will invalidate USIs
  • After restoring PPI, arc auto revalidates which is considered structure change => can’t roll-forward/rollback after restore
  • BAR will use BYNET to access AMPs on remote nodes if there are no COP entries defined.
  • RTO: Recovery Time Objective => how long recovery should run
  • RPO: Recovery Point Objective => How much data can one afford lose (backup freq)
  • ROT: set up one stream per output device.
  • ROT: Define as many sessions as many AMPs can be accessed as local.
  • ROT: Use same # of sessions / stream as # of AMPs / node
  • ROT: If multiple BAR servers, do not add COP entries for all TD nodes to all BAR servers. Maybe have two BAR servers access to 1 TD node for flexibility, otherwise network congestion increases at switch
  • BAR Config: node:server:storage
  • Eg 4:1:4 => 4 nodes/bar server and 4 streams/bar server)
  • if there are only 2 streams (tape drives) per node, use half as many sessions as AMPs / node
  • Use # of sessions that divides # of AMPs per stream evenly (eg for 36 AMPs choose 12 not 8)
  • All jobs have two phases:
  • Dictionary: check access, place lock, get event # (DBC.Next)
  • Data: INS into RCEVENT+RCCONFIGURATION, perform op, update RCEVENT
  • SYSUDTLIB is linked to DBC and is backed up/restored with DBC.

  • If archive includes DBC, SYSUDTLIB, they are backed up in order then alphabetically

  • ROT: backup 1 session/AMP, restore 2 sessions/AMP for small systems (<40 AMPS)

  • Default: 4 sessions + 2 control sessions = 6 sessions

  • DB level restore will restore data dictionary and thus delete data from the table that was excluded when archived. To prevent that, restore at table level
  • ARC doesn’t rebuild USI, use BUILD DATA TABLES
  • You cannot archive/restore individual tables in DBC.
  • Restore v/s Copy: triggers cannot be copied, only restored. SP copy only if at DB level
  • NO BUILD during restore prevents build of SI and fallback table rows
  • Tables with unresolved RI cannot be archived
  • Parameters evaluation: ARCENVX > command line > ARCENV > ARCDFLT
  • Use ANALYZE to view the contents of an existing archive file.
  • Use LONG option to view partitions’ bounding conditions for partition level backups
  • ANALYZE doesn’t require LOGON/LOGOFF
  • After PJ: Backup AMP (h/w failure protection), Before PJ: Primary AMP (s/w failures)
  • If there are >1 named checkpoints, RollForward uses oldest, RollBack uses latest
  • Rollforward can optionally act only on primary data and then use BUILD later
  • AMP specific RollForward must be to end of the journal (no TO CHECKPOINT)
  • ARC reblocks data when sending to backup server (thus losing BLC). DSA, however, sends the same FileSystem block to backup server.
  • If a larger system is restored to a small system, it might lead to DBC having negative PERM space. => System is unusable. Reduce MAXPERM of child databases to rectify.
  • Restore roughly takes about 2.5 times the backup time

System Utilities

  • Use dip utility to create system views. 3 ways to run, START DIP, /tpasw/bin/dip, bteq
  • dbw (operator console):
  • {enable,disable} [all] logons
  • abort session, get config, query state, restart tpa
  • get/set logtable <rss table> on/off
  • get/set activelogtable <rss table> (only log rows for active periods)
  • get/set resource (rss collection/logging rates)
  • grant/revoke
  • checktable: check tables for inconsistencies.
  • Levels: PendingOp(fload,mload,restore etc),1(counts),2(rowids),3(rows)
  • vprocmanager: display/modify vproc states. Initiate database restarts.
  • vprocs have two states. VPROCSTATE/configstate (teradata db state)
  • BOOT: init and start AMP with states FATAL/Down
  • INITVDISK: init TD FS for AMP in FATAL or NEWPROC states
  • RESTART, SET RESTART COLD/COLDWAIT (defer/wait tran recovery)
  • SET <vproclist> = <vprocstate>, manually set state
  • Only utility that allows TD startup to wait until recovery is finished
  • dumplocklog: logs, in a table, lock contentions and global deadlocks (including HUT)
  • Must set LockLogger in DBS to true
  • ferret: Use scope subcmd to set scope of other commands
  • ShowSpace - Sys level space; perm, spool and temp
  • ShowBlocks: space at sub-table level
    • * next to Cyl => large. # next to Blocks => blocks are compressed
  • packdisk: packs cylinders (db size doesn’t change),
    • force overrides FSP specified at table level
    • Use showfsp to estimate savings
  • defrag: defagments cylinders in scope
  • scandisk: validate MI, CI, WAL structure, ROWIDs (not userdata)
  • priority: 0(low), 1(med), 2(hi), 3(rush)
  • showwhere: shows the temperatures of blocks of <table|vproc|WAL Log>
  • showcylalloc: shows how much storage used/available and at what temp <vproc>
  • force: force data to a specific temperature
  • compress/uncompress do not update space usage. Must run UPDATESPACE
  • gtwglobal: old tool to manage sessions on a gateway (display/kill/disconnect)
  • lokdisp: displays tran locks for AMP, group of AMP or all AMPs. No HUT locks
  • BLOCKERS: blocked and blocking transactions
  • DB/TABLE/ROWHASH: database/table/row level locks
  • TRAN: vprocid(PE) uniq1 uniq2 (proc+uniq1+uniq2 is tran ID)
  • qrysessn: Displays all sessions including tran, arc, fload, mload, fexp
  • states: active,idle,delayed,sesdelayed (TASM util limit),response,parsing...
  • parent/child sessions, when running fload,mload,arc. 1. child sessions are active only loading (fload) or acquisition(mload) phase
  • rcvmanager: contains journals for transaction recovery and down amp recovery
  • Can only run when in Logon, Logoff, Startup or Lonon/quiet or logoff/quiet mode
  • AMP catchup journal counts: OJ (ordered sys chg journal: DDL), CJ (chg journal: DML)
  • LIST STATUS, LIST LOCKS, CANCEL ROLLBACK ON TABLE
  • Only single base table LOCK READ OVERRIDE SELECT are allowed
  • Only DELETE ALL can be used on rollback canceled tables.
  • RECOVERY/REBUILD PRIORITY HIGH|MEDIUM|LOW
  • Alter table or NUSI rollback doesn’t show up in "TJ Rows left/done counts"
  • rebuild: rebuild specific tables, only fallback tables or all tables on an AMP. Restartable.
  • Only needed when data corruption is suspected.
  • fallback tables from fallback or builds just the table header for non-fallback tables
  • must use ALTER TABLE … RESET DOWN to turn them online after rebuild
  • rebuild priority is set with rcvmanager
  • schmon (scheduler monitor) parms:
  • -b n: create RP, -a n: create AG, -p n <PG>: create PG
  • -d: display, -m: monitor current node, -M: mon all, -s: disp specific session
  • showlocks: displays HUT locks held by ARC utility v/s rcvmanager v/s lokdisp
  • tdlocaldef: maintains SDF (Spec for Data Fmt) file
  • tpareset: -x exit (no restart). -stop (restart except this node), -dump. Needs reason
  • updatespace: updates current perm,spool and temp space
  • use it when there is orphan or phantom spool assigned to a user, or ferret (un)compress
  • sel * from dbc.diskspace where databasename not in (sel username from dbc.sessioninfo)
  • updatedbc: updates max space, unlike updatespace which updates current space
  • /etc/init.d/dcs restart, twice to clear up Viewpoint unknown system error.
  • pdeconf: Update Linux user/groups used by PDE software and protected UDF

Restarts

  • tpareset or restart command. Options: -f force, -x shutdown, -d dump, -l delay secs,
  • cold/coldwait: Allow logins before/after AMP recovery.
  • exec allrestarts(date - 60) shows restarts in last 60 days, tpatrace, dbc.Software_Event_LogV
  • PDE states: : DOWN/START/RUN/RESET and STOP
  • disk failures and recovery
  • Single drive failure: system continues to run, replace damaged drive.
  • both drive fail: AMP fails. tpa reset, AMP offline. fallback is fine. replace drive. table rebuild for fallback, restore other tables
  • two amp in cluster fail: machine halts. restore dbc and user tables
  • Bynet failure: No tpa reset if one of two fails. If both fail, machine halts
  • AMP/PE failure: tpa reset, two AMPs fail in the single cluster, halt
  • Node failure: vprocs migrate except PE serving channel connections
  • SWS failure: no monitoring capability but no restart. Reboot AWS to recover
  • Unscheduled restarts generate crashdumps.