首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 綜合知識

DB2 查看與切換當前 Schema (模式) 及使用者連線指令速查

     編輯:DB2 綜合知識

前言

DB2 中「Schema」對應 Oracle 的「User/Schema」,物件 (表、視圖、索引…) 皆歸屬於某個 Schema。本文整理查看當前 Schema、切換 Schema、切換連線使用者、授權與查詢權限的常用指令,供日常操作快速參考。

一、連線資料庫

db2 connect to study

二、查看當前 Schema

-- 方式 1 (標準)
SELECT CURRENT SCHEMA FROM SYSIBM.SYSDUMMY1;

-- 方式 2 (相容 Oracle DUAL)
SELECT CURRENT SCHEMA FROM SYSIBM.DUAL;

回傳值即為當前 Session 的隱性 Schema (未指定 Schema 時物件解析的預設值)。

三、切換當前 Session Schema

SET CURRENT SCHEMA = toms;
-- 或
SET SCHEMA toms;

僅影響目前連線,不改變資料庫層面的物件歸屬。

四、切換連線使用者 (重新連線)

db2 connect to cpsdb user administrator using 111111

以新使用者身分建立新連線,舊連線自動中斷。

五、授予使用者 DBADM 權限 (含所有物件權限)

db2 grant dbadm on database to user odsuser

六、查看當前使用者權限

db2 get authorizations

輸出包含:直接授予權限、透過群組/角色繼承權限、PUBLIC 權限等。

七、補充:常用 Schema 管理指令

操作指令
建立 Schemadb2 "CREATE SCHEMA auth AUTHORIZATION dba"
刪除 Schema 及其物件db2 "DROP SCHEMA auth RESTRICT" (需無物件) 或 CASCADE
列出所有 Schemadb2 "SELECT SCHEMANAME FROM SYSCAT.SCHEMATA"
將物件移轉至其他 Schemadb2 "RENAME TABLE old_schema.tab TO new_schema.tab"
設定隱性 Schema (Session 級)SET CURRENT SCHEMA = new_schema

結語

熟記上述指令可大幅提升 DB2 日常開發/運維效率。特別注意:SET CURRENT SCHEMA 僅為「解析捷徑」,不改變物件擁有者;真正的權限控管仍需透過 GRANT/REVOKE 於資料庫層面設定。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved