db2資料庫的schema和user

2021-09-05 03:52:01 字數 2047 閱讀 1359

資料庫中schema有兩種含義,一種是概念上的schema,指的是一組ddl語句集,該語句集完整地描述了資料庫的結構。還有一種是物理上的 schema,指的是資料庫中的乙個名字空間,它包含一組表、檢視和儲存過程等命名物件。簡單的說,schema就是乙個(資料庫)使用者所擁有的資料庫的物件。

在乙個資料庫中可以有多個應用的資料表,這些不同應用的表可以放在不同的schema之中,同時,每乙個schema對應乙個使用者,不同的應用可以以不同的使用者連線資料庫,這樣,乙個大資料庫就可以根據應用把其表分開來管理。不同的schema之間它們沒有直接的關係,不同的shcema之間的表可以同名,也可以互相引用(但必須有許可權),在沒有操作別的schema的操作根權下,每個使用者只能操作它自己的schema下的所有的表。不同的schema下的同名的表,可以存入不同的資料(即schema使用者自己的資料).

資料庫中的user和schema到底什麼關係呢?其實user就是每個schema的主人,如果當前運算元據庫的使用者有預設的schema(在建立使用者的時候指定了),那麼新錶被建立在預設的schema上。 通過這樣的方法,主要是方便管理。

在db2中的schema的概念和oracle中的概念有著本質的區別:在oracle中schema和使用者是同乙個;在db2中schema不一定是使用者,因為db2內部沒有使用者的概念,連線使用者必須是作業系統使用者.

查詢當前存在的schema

db2"select schemaname,owner,create_time from syscat.schemata"

在有些情況下,當前登入使用者所要訪問的schema可能並不是預設分配給他的schema,這時查詢表前就需要乙個字首來約束所要訪問的schema。

如:db2 "select * from wanted_schema_name.table_name"

或通過下面的命令可以修改當前schema

set current schema = 'payroll'

set schema 'payroll'

在開發過程中,可以通過修改連線字串來修改預設連線的schema/sqlid,

以jdbc為例(最後的分號一定不能省略):

jdbc:db2://database_server_uri:port/database_name:currentschema=schema_name;

在windows 下測試過

1、開啟 cmd 命令

2、db2cmd

3、db2connect to test user meta using portaldb ----連線資料庫

4、db2select currentschemafrom sysibm.sysdummy1 ----檢視當前資料庫預設的schema

5、db2set currentschemabast ---設定schema

6、db2select currentschemafrom sysibm.sysdummy1 ---檢視是否設定成功

7、db2-tvf d:\\meta\meta_ddl.sql --在指定的schema執行建表語句

db2 將schema下所有表的許可權賦予乙個使用者

db2 "select 'db2 grant select on table db2inst2.'|| tabname ||' to db2inst1' from syscat.tables where tabschema='db2inst2'"

單獨對某個schema下的表進行授權

c:\users\administrator>db2 grant select on table zssqsong.kc_team_user to user zssqding

db20000i sql 命令成功完成。

建立 DB2 資料庫

可以使用 tivoli privacy manager 資料庫建立程式或使用資料庫產品介面可以建立 tivoli privacy manager 資料庫 表和配置資料庫。使用 db2 資料庫建立程式 使用 tivoli privacy manager 資料庫建立程式來建立 tivoli privac...

DB2 資料庫物件

資料庫物件 sql可分為三大類 1 ddl,資料定義語言,用於建立 修改 刪除資料庫物件 2 dml,資料操縱語言,用於選擇 插入 更新和刪除資料庫記錄 3 dcl,資料控制語言,用於提供資料物件訪問控制 資料型別 1 內建資料型別 2 用於自定義資料型別 a 自定義區分型別,udt允許在已有的內建...

db2解除安裝資料庫

db2的解除安裝跟其他資料庫不同,需要按照一定的步驟來解除安裝,如果想要徹底解除安裝,首先將資料庫中的各個資料庫刪除 db2 drop db dbname 然後刪除例項,刪除例項前,需要先執行 db2stop 然後執行刪除例項命令 db2idrop db2 此處是例項名 然後在從控制面板解除安裝。如...