`
guoyanxi
  • 浏览: 275699 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

db2建立schema

    博客分类:
  • db2
阅读更多
目录:
1.显式建立schema
2.隐式建立schema
3.查询现有的schema
4.删除schema

1.显式建立schema

执行create schema需要有DBADM权限
建立某个schema需要有SYSADM 和DBAMIN权限

总的来说就是需要SYSADM 和DBAMIN权限
--语法
CREATE SCHEMA <name> AUTHORIZATION <name>
--如果不输入AUTHORIZATION,就是执行命令的本人
db2 => create schema db2user12  
DB20000I  The SQL command completed successfully.
db2 => select SCHEMANAME,OWNER from syscat.schemata where schemaname='DB2USER12'

SCHEMANAME                     OWNER      
------------------------------ -----------
DB2USER12                      DB2INST1   

  1 record(s) selected.




2.隐式建立schema
如果你没有SYSADM,DBADMIN权限,但是你有IMPLICIT_SCHEMA,那么你也可以建立schema
--查询用户没有DBADMIN,但是有IMPLICIT_SCHEMA
db2 => GET AUTHORIZATIONS

 Administrative Authorizations for Current User

 Direct SYSADM authority                    = NO
 Direct SYSCTRL authority                   = NO
 Direct SYSMAINT authority                  = NO
 Direct DBADM authority                     = NO
 Direct CREATETAB authority                 = NO
 Direct BINDADD authority                   = NO
 Direct CONNECT authority                   = NO
 Direct CREATE_NOT_FENC authority           = NO
 Direct IMPLICIT_SCHEMA authority           = NO
 Direct LOAD authority                      = NO
 Direct QUIESCE_CONNECT authority           = NO
 Direct CREATE_EXTERNAL_ROUTINE authority   = NO
 Direct SYSMON authority                    = NO

 Indirect SYSADM authority                  = YES
 Indirect SYSCTRL authority                 = NO
 Indirect SYSMAINT authority                = NO
 Indirect DBADM authority                   = NO
 Indirect CREATETAB authority               = YES
 Indirect BINDADD authority                 = YES
 Indirect CONNECT authority                 = YES
 Indirect CREATE_NOT_FENC authority         = NO
 Indirect IMPLICIT_SCHEMA authority         = YES
 Indirect LOAD authority                    = NO
 Indirect QUIESCE_CONNECT authority         = NO
 Indirect CREATE_EXTERNAL_ROUTINE authority = NO
 Indirect SYSMON authority                  = NO

--显式创立失败
db2 => create schema db2user11
DB21034E  The command was processed as an SQL statement because it was not a 
valid Command Line Processor command.  During SQL processing it returned:
SQL0552N  "DB2USER1" does not have the privilege to perform operation "CREATE 
SCHEMA".  SQLSTATE=42502

--隐式建立成功
db2 => create table db2user11.t1 (aaa integer)
DB20000I  The SQL command completed successfully.

--再查询现在的schema和OWNER,可以发现owner是SYSIBM
db2 =>   select SCHEMANAME,OWNER from syscat.schemata where schemaname='DB2USER11'
SCHEMANAME      OWNER                  
--------------- -----------------------
DB2USER11       SYSIBM                 

  1 record(s) selected.



3.查询现有的schema
db2 => select schemaname from syscat.schemata

SCHEMANAME                                                                                                                      
--------------------------------------------------------------------------------------------------------------------------------
DB2INST1                                                                                                                        
DB2USER1                                                                                                                        
DB2USER11                                                                                                                       
DB2USER12                                                                                                                       
NULLID                                                                                                                          
SQLJ                                                                                                                            
SYSCAT                                                                                                                          
SYSFUN                                                                                                                          
SYSIBM                                                                                                                          
SYSIBMADM                                                                                                                       
SYSIBMINTERNAL                                                                                                                  
SYSIBMTS                                                                                                                        
SYSPROC                                                                                                                         
SYSPUBLIC                                                                                                                       
SYSSTAT                                                                                                                         
SYSTOOLS                                                                                                                        

  16 record(s) selected.

--查询有表的schema
db2 => SELECT distinct TABSCHEMA FROM SYSCAT.TABLES

TABSCHEMA                                                                                                                       
--------------------------------------------------------------------------------------------------------------------------------
DB2INST1                                                                                                                        
DB2USER1                                                                                                                        
DB2USER11                                                                                                                       
SYSCAT                                                                                                                          
SYSIBM                                                                                                                          
SYSIBMADM                                                                                                                       
SYSPUBLIC                                                                                                                       
SYSSTAT                                                                                                                         
SYSTOOLS                                                                                                                        

  9 record(s) selected.




4.删除schema
--语法
   DROP SCHEMA <name> RESTRICT
分享到:
评论
2 楼 gthao 2012-04-10  
1 楼正解。。如果schema里面有内容的话,就删除不了,会报:Error Code: -478, SQL State: 42893(不能DROP或REVOKE特定的对象,因为其他对象依赖于该对象)
1 楼 alvin198761 2012-02-28  
这个删除方式有点不行,如果你schema里面有内容的话,就删除不了

相关推荐

    DB2 Schema操作总结

    ### 显式建立Schema 在DB2中,显式创建一个Schema需要特定的权限。通常情况下,这需要`DBADM`或更高级别的`SYSADM`权限。这是因为Schema的创建直接影响到数据库结构的安全性和完整性,因此系统限制了只有具有足够...

    Linux系统重启db2数据库命令实例详解.docx

    4. **查看表**:`db2 list tables`列出所有用户表,`db2 list tables for system`列出系统表,`db2 list tables for all`列出所有表,`db2 list tables for schema user`列出特定用户的表。 5. **复制表**:`db2 ...

    db2导出数据库

    - **db2 "export to d:\data\tab1.ixf ofixflobs to d:\data\lobfilelobs modified bylobs insepfiles messages d:\data\tab1.msg select * from schema_name.table_name"** - `to d:\data\tab1.ixf` 指定输出文件...

    DB2数据库常用命令大全整合

    - `db2move &lt;dbname&gt; export [-sn &lt;schema&gt;] [-tn ]`:此命令用于将数据库导出为文件,可选参数`-sn &lt;schema&gt;`指定导出特定模式,`-tn &lt;targetname&gt;`指定目标文件名。 #### 十、导入数据库 - **导入数据库**: -...

    DB2经典讲解,快速入门db2

    GRANT CREATE IN ON SCHEMA schema-name TO USER; ``` 以上内容涵盖了DB2数据库的基础操作,包括连接数据库、创建表、创建索引、权限管理等方面。这对于初学者来说是非常宝贵的资源,能够帮助他们快速上手并熟悉DB2...

    DB2数据库导入导出

    如果发现表处于检查挂起状态,需执行`db2 set integrity for schema.tablename immediate checked`,并重复此步骤直至所有表状态正常。 #### 五、附加说明 ##### 5.1 db2look用法 - `-d DBname`:指定数据库名称...

    DB2 Express-C 快速入门书籍

    - **客户端和服务器端的概要文件**:建立客户端与服务器端概要文件是实现客户端连接的重要步骤。 ### 知识点七:数据库对象和操作 #### 数据库对象 - **模式(Schema)**:数据库的组织结构,用于组织和管理数据库...

    DB2数据库命令大全

    描述user1 schema下的department表结构。 12. **查看表的索引**: `db2 describe indexes for table user1.department` 查看department表的所有索引。 13. **查看视图**: `SELECT viewname FROM views WHERE ...

    Java开发人员常用DB2命令总结

    - **命令**:`db2list tables for schema [user]` - **说明**:显示特定模式下的表。 - **创建表** - **命令**:`db2 create table tb1 (id integer not null, name char(10))` - **说明**:创建一个包含id和...

    java连接DB2所需的jar包

    例如:`jdbc:db2://localhost:50000/DBNAME:currentSchema=SCHEMA_NAME;useSSL=false`。 5. **JDBC API**:在连接成功后,可以使用JDBC API执行SQL查询,创建Statement或PreparedStatement对象,处理结果集等。例如...

    DB2常用命令大全

    - **数据库模式切换**:`db2 set schema btp` - 更改当前会话的默认模式为`btp`。 - **表空间管理**: - `db2 list tablespaces show detail` - 显示所有表空间的详细信息,包括空间使用情况。 - `db2 list ...

    AIX和WINDOWS下DB2数据库互导

    【AIX和Windows下DB2数据库互导】的知识点涵盖了多个方面,主要涉及数据库的备份、迁移、数据抽取、DDL创建、数据加载以及外键和索引的建立。以下是详细说明: 1. **数据备份与恢复**:在AIX环境下,DB2数据库可以...

    DB2使用经验积累及心得

    - **临时表不能建索引**:临时表默认情况下不允许建立索引。 - **CURSOR不能定义为WITH UR**:尽管可以定义,但在某些情况下会导致问题。 - **CURSOR ORDER BY以后不能FOR UPDATE**:对于已排序的游标,不能使用FOR ...

    DB2常用命令-备份数据库-数据导入导出

    1. **连接数据库**:使用`db2connecttodb_name`命令可以建立到指定数据库`db_name`的连接。 2. **列出表信息**:`db2listtables`命令用于展示数据库中的所有表名。 3. **描述表结构**:通过`describetabletable_name...

    DB2培训资料详细介绍DB2的命令、DB2数据库使用案例

    4. 模式(Schema):模式用于区分不同用户的权限,以实现数据库安全性。 5. 事务(Transaction):事务是保证数据完整性和一致性的基础机制。 6. 日志(Logging):日志文件记录DBMS对数据库的所有操作,用于在需要时...

    DB2常用命令

    db2listtablesforschema my_schema ``` #### 5. 查看表的详细信息:`db2describetable table_name show detail` 这条命令用于获取指定表的详细信息,包括列名、数据类型、是否为主键或外键等。通过添加`show ...

    DB2手册pdf

    可以使用`DB2_CONNECT`函数来建立连接,并返回连接句柄。例如: ```sql SET @connection_handle = DB2_CONNECT('database_name', 'username', 'password'); ``` #### 类似于ORACLE的NAMEPIPE 在DB2中,没有直接等同...

Global site tag (gtag.js) - Google Analytics