IBM-i Independent Auxiliary Storage Pool (iASP)
If you’ve ever wondered how IBM i handles advanced storage isolation, high availability, or multi-tenant environments without everything living in the basic system ASP, perhaps this video is for you.
In todays presentation, I will take you through 18 slides that break down Independent Auxiliary Storage Pools (iASPs) from the ground up with (hopefully) no fluff, just clear explanations, real architecture diagrams, and practical takeaways for IBM i administrators and developers.
We will be talking about:
Understanding ASP Types We start with the fundamentals – What ASPs actually are on IBM i. I compare the three main categories:
- System ASP (ASP 1) — the always-present base storage
- Basic User ASPs (2–32) — traditional user-defined pools tied to the system
- Independent ASPs (33–255) — the real game-changers
To make it relatable, I draw a visual analogy to Windows drive letters: think of SYSBAS as your C: drive (always there), basic user ASPs as additional fixed drives (D:, E:), and iASPs as external or network drives you can plug in, unplug, or switch between independently:
What is an Independent ASP?
Here we dive into the core definition: iASPs are detachable storage pools, each with its own separate database catalog. Lety’s talk about Private iASPs (single-system use) versus Switchable iASPs (designed for failover and clustering). We cover device descriptions (CRPxx, DEVxx), the VRYCFG/VRYON/VRYOFF lifecycle, and why the ability to vary iASPs on/off independently is so powerful for maintenance, backups, and HA.
Next we can get into System Architecture Overview One of the most visually impactful sections. The diagram illustrates SYSBASE alongside two example iASPs (IASP01 and IASP02). Each iASP appears as its own isolated “box” containing dedicated libraries, IFS directories, and a relational database directory. The diagram highlights different statuses (AVAILABLE when varied on, VARIED OFF when inaccessible), showing clearly how iASPs operate separately from the system base.
Then Namespace & Library Isolation This is where things get really interesting. I demonstrate one of the killer features of iASPs: the same library name (e.g., PRODLIB) can exist simultaneously in SYSBASE, IASP01, and IASP02 with no naming conflicts because only one ASP group is active per thread at any time.
I walk through practical SETASPGRP command examples to switch namespaces:
SETASPGRP IASP01 /* Switch to IASP01 group */
SETASPGRP *NONE /* Back to SYSBASE only / SETASPGRP IASPGRP1 / Multi-iASP group example */
The critical constraint is emphasized: you can’t have multiple ASP groups active in the same thread trying to do so fails with CPF0000.
Got that?
Right let’s talk about Working with iASPs Hands-on commands take center stage:
- VRYCFG, SETASPGRP, WRKCFGSTS, DSPASPSTS, WRKASPJOB
- Four practical ways to access iASP data: interactive sessions, INLASPGRP in job descriptions, SBMJOB overrides, and Java Toolbox connections
I also cover iASP types (UDFS, Primary, Secondary) and how ASP groups organize them for switchable environments.
It’s getting more complex so it’s time to keep it tidy with Best Practices
The video wraps up with actionable advice:
- User profile default ASP group settings
- Backup caveats (Option 21 skips iASPs use SAVLIB/SAV with *ASPDEV(ALL) or BRMS!)
- SMAPP (System Managed Access Path Protection) considerations for recovery
- Data distribution strategies across iASPs
- Application design tips to avoid hard-coded SYSBAS assumptions
Whether you’re planning your first iASP implementation, troubleshooting HA setups, or just want to understand why modern IBM i shops love them for isolation and flexibility, this video gives you the complete picture in under 30 minutes.
What’s your experience with iASPs? Game-changer or headache?
Drop a comment below, and let me know which part was most useful!
Automate JOBD Updates – adding iASP to submitted jobs
Find some CL code examples here Add Initial iASP to System Job Descriptions – Nick Litten [IBM i AS400 iSeries] Software Developer


