版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DB2创建用户、模式、赋权举例来了一个需求,比较简单,需要在db2数据库上创建一个用户给开发人员,只授予database相关操作权限,instance权限不给,其他数据库操作权限不给。常用操作主要为创建各种数据库对象,比如表,视图等。发现DB2数据库里根本就没有用户这个概念,只有模式。那db2怎么进行权限分离和最小化管理?再深入地查资料时,发现db2自己在数据库体系结构内不使用用户的概念,但是它还是变相引用,它使用的是操作系统层面创建的用户,在数据库场面对创建模式,然后对操作系统用户、模式、database进行绑定即可。与oracle不一样的是,db2这里模式名字和用户名字可以不一样。小结一下: 一个instance下可以有多个database,一个database下可以有多个schema,1个schema可以被多个user使用。操作步骤如下:1、 操作系统下创建用户2、 db2数据库下创建模式(也可以不创建。不创建的情况下,DB2会使用你连接的用户名作为默认的模式名字)3、 赋权给用户--授权用户访问数据库权限GRANTBINDADDONDATABASETOUSERdstuser;GRANTCONNECTONDATABASETOUSERdstuser;GRANTLOADONDATABASETOUSERdstuser;--授予用户访问表空间的权限GRANTUSEOFTABLESPACEGD_MAIN_TBSTOUSERdstuser;GRANTUSEOFTABLESPACEGD_IDX_TBSTOUSERdstuser;--授予用户操作模式的权限GRANTALTERINONSCHEMAdstuserTOUSERdstuser;GRANTCREATEINONSCHEMAdstuserTOUSERdstuser;GRANTDROPINONSCHEMAdstuserTOUSERdstuser;--授予用户读取表权限GRANTSELECTONTABLEECGD.CL_COMMODITYTOUSERdstuser;创建各种对象:groupadd-g5000appgroupuseradd-gappgroup-u5001dstuserpasswddstuserdb2connecttoDSTDBcreateschemadstuserGRANTDBADMONDATABASETOUSERdstuser;GRANTALTERINONSCHEMAdstuserTOUSERdstuser;GRANTCREATEINONSCHEMAdstuserTOUSERdstuser;GRANTDROPINONSCHEMAdstuserTOUSERdstuser;测试:connecttoDSTDBuserdstusercreatetabletest(idchar(10))insertintotestvalues('1')insertintotestvalues('2')deletefromtestwhereid=1select*fromtestdroptabletest查看当前schema命令:db2"values(currentschema)"设置当前schema命令:setcurrentschema[shemaname]DB2中schema管理/2012/04/db2%E4%B8%ADschema%E7%AE%A1%E7%90%86.htmlDB2版本信息[db2inst1@xifenfei~]$db2levelDB21085IInstance"db2inst1"uses"32"bitsandDB2coderelease"SQL09050"withlevelidentifier"03010107".Informationaltokensare"DB2v","s071001","LINUXIA3295",andFixPackProductisinstalledat"/opt/db2/V9.5".显示syscat.schemata视图结构SCHEMANAMESYSIBMVARCHAR1280NoOWNERSYSIBMVARCHAR1280NoOWNERTYPESYSIBMCHARACTER10NoDEFINERSYSIBMVARCHAR1280NoDEFINERTYPESYSIBMCHARACTER10NoCREATE_TIMESYSIBMTIMESTAMP100NoREMARKSSYSIBMVARCHAR2540YesDatatypeColumnColumnnameschemaDatatypenameLengthScaleNullsDatatypeColumnColumnnameschemaDatatypenameLengthScaleNulls查询当前存在schema[db2inst1@xifenfei~]$db2"selectSCHEMANAME,owner,CREATE_TIMEfromsyscat.schemata"SCHEMANAMEOWNERCREATE_TIMESYSIBMSYSIBM2012-03-25-15.07.07.196612SYSCATSYSIBM2012-03-25-15.07.07.196612SYSFUNSYSIBM2012-03-25-15.07.07.196612SYSSTATSYSIBM2012-03-25-15.07.07.196612SYSPROCSYSIBM2012-03-25-15.07.07.196612
SYSIBMINTERNALSYSIBMTSNULLIDSQLJSYSTOOLSSYSIBMSYSIBMSYSIBMINTERNALSYSIBMTSNULLIDSQLJSYSTOOLSSYSIBMSYSIBMSYSIBMSYSIBMDB2INST12012-03-25-15.07.07.1966122012-03-25-15.07.07.1966122012-03-25-15.07.23.0116712012-03-25-15.07.54.5756372012-03-25-15.09.01.964744record(s)selected.显示创建schema[db2inst1@xifenfei~]$db2"createschemaxifenfei"DB20000ITheSQLcommandcompletedsuccessfully.[db2inst1@xifenfei~]$db2"selectSCHEMANAME,owner,CREATE_TIMEfromsyscat.schemata"SCHEMANAMEOWNERCREATE_TIMESYSIBMSYSIBM2012-03-25-15.07.07.196612SYSCATSYSIBM2012-03-25-15.07.07.196612SYSFUNSYSIBM2012-03-25-15.07.07.196612SYSSTATSYSIBM2012-03-25-15.07.07.196612SYSPROCSYSIBM2012-03-25-15.07.07.196612SYSIBMADMSYSIBM2012-03-25-15.07.07.196612SYSIBMINTERNALSYSIBM2012-03-25-15.07.07.196612SYSIBMTSSYSIBM2012-03-25-15.07.07.196612NULLIDSYSIBM2012-03-25-15.07.23.011671SQLJSYSIBM2012-03-25-15.07.54.575637SYSTOOLSDB2INST12012-03-25-15.09.01.964744XIFENFEIDB2INST12012-04-03-12.01.12.724932record(s)selected.牛隐式创建schema[db2inst1@xifenfei~]$db2"createtablexff.t_xifenfei(idint,namevarchar(100))"DB20000ITheSQLcommandcompletedsuccessfully.[db2inst1@xifenfei~]$db2"selectSCHEMANAME,owner,CREATE_TIMEfromsyscat.schemata"SCHEMANAMEOWNERCREATE_TIMESYSIBMSYSIBM2012-03-25-15.07.07.196612SYSCATSYSIBM2012-03-25-15.07.07.196612SYSFUNSYSIBM2012-03-25-15.07.07.196612SYSSTATSYSIBM2012-03-25-15.07.07.196612SYSPROCSYSIBM2012-03-25-15.07.07.196612SYSIBMADMSYSIBM2012-03-25-15.07.07.196612SYSIBMINTERNALSYSIBM2012-03-25-15.07.07.196612NULLIDSQLJSYSTOOLSXIFENFEIXFFSYSIBMSYSIBMNULLIDSQLJSYSTOOLSXIFENFEIXFFSYSIBMSYSIBMDB2INST1DB2INST1SYSIBM2012-03-25-15.07.23.0116712012-03-25-15.07.54.5756372012-03-25-15.09.01.9647442012-04-03-12.01.12.7249322012-04-03-12.03.12.581260record(s)selected.隐式创建schema的所属用户会是SYSIBM(存放系统数据字典表SCHEMA)5删除schema[db2inst1@xifenfei~]$db2"dropschemaxff"DB21034EThecommandwasprocessedasanSQLstatementbecauseitwasnotavalidCommandLineProcessorcommand.DuringSQLprocessingitreturned:SQL0104NAnunexpectedtoken"END-OF-STATEMENT"wasfoundfollowing"dropschemaxff".Expectedtokensmayinclude:"RESTRICT".SQLSTATE=42601[db2inst1@xifenfei~]$db2dropschemaxffrestrictDB21034EThecommandwasprocessedasanSQLstatementbecauseitwasnotavalidCommandLineProcessorcommand.DuringSQLprocessingitreturned:SQL0478NDROP,ALTER,TRANSFEROWNERSHIPorREVOKEonobjecttype"SCHEMA"cannotbeprocessedbecausethereisanobject"XFF.T_XIFENFEI",oftypeTABLE",whichdependsonit.SQLSTATE=42893DB20000ITheSQLcommandcompletedsuccessfully.[db2inst1@xifenfei~]$db2dropschemaxffrestrictDB20000ITheSQLcommandcompletedsuccessfully.[db2inst1@xifenfei~]$db2"selectSCHEMANAME,owner,CREATE_TIMEfromsyscat.schemata"SCHEMANAMEOWNERCREATE_TIMESYSIBMSYSIBM2012-03-25-15.07.07.196612SYSCATSYSIBM2012-03-25-15.07.07.196612SYSFUNSYSIBM2012-03-25-15.07.07.196612SYSSTATSYSIBM2012-03-25-15.07.07.196612SYSPROCSYSIBM2012-03-25-15.07.07.196612SYSIBMADMSYSIBM2012-03-25-15.07.07.196612SYSIBMINTERNALSYSIBM2012-03-25-15.07.07.196612SYSIBMTSSYSIBM2012-03-25-15.07.07.196612NULLIDSYSIBM2012-03-25-15.07.23.011671SQLJSYSIBM2012-03-25-15.07.54.575637SYSTOOLSDB2INST12012-03-25-15.09.01.96474412record(s)selected.删除schema需要使用restrict关键字,而且该schema中无对象存在.在DB2中的schema的概念和ORACLE中的概念有着本质的区别:在ORACLE中schema和用户是同一个在DB2中schema不一定是用户,因为db2内部没有用户的概念,连接用户必须是操作系统用户.目录:显式建立schema隐式建立schema查询现有的schema删除schema显式建立schema执行createschema需要有DBADM权限建立某个schema需要有SYSADM和DBAMIN权限总的来说就是需要SYSADM和DBAMIN权限Sql代码--语法CREATESCHEMA<<spanclass="keyword">name>AUTHORIZATION<<spanclass="keyword">name>—如果不输入AUTHORIZATION,就是执行命令的本人db2=>createschemadb2user12DB20000ITheSQLcommandcompletedsuccessfully.db2=>selectSCHEMANAME,OWNERfromsyscat.schematawhereschemaname='DB2USER12'7.SCHEMANAMEOWNER DB2USER12DB2INST11record(s)selected.隐式建立schema..6.37.如果你没有SYSADM,DBADMIN权限,但是你有IMPLICIT_SCHEMA,那么你也可以建立schemaSql代码应緝—查询用户没有DBADMIN,但是有IMPLICIT_SCHEMAdb2=>GETAUTHORIZATIONSAdministrativeAuthorizationsforCurrentUserDirectSYSADMauthority=NODirectSYSCTRLauthority=NODirectSYSMAINTauthority=NODirectDBADMauthority=NODirectCREATETABauthority=NODirectBINDADDauthority=NODirectCONNECTauthority=NODirectCREATE_NOT_FENCauthority=NODirectIMPLICIT_SCHEMAauthority=NODirectLOADauthority=NODirectQUIESCE_CONNECTauthority=NODirectCREATE_EXTERNAL_ROUTINEauthority=NODirectSYSMONauthority=NOIndirectSYSADMauthority=YESIndirectSYSCTRLauthority=NOIndirectSYSMAINTauthority=NOIndirectDBADMauthority=NOIndirectCREATETABauthority=YESIndirectBINDADDauthority=YESIndirectCONNECTauthority=YESIndirectCREATE_NOT_FENCauthority=NOIndirectIMPLICIT_SCHEMAauthority=YESIndirectLOADauthority=NOIndirectQUIESCE_CONNECTauthority=NOIndirectCREATE_EXTERNAL_ROUTINEauthority=NOIndirectSYSMONauthority=NO--显式创立失败db2=>createschemadb2user11DB21034EThecommandwasprocessedasanSQLstatementbecauseitwasnotavalidCommandLineProcessorcommand.DuringSQLprocessingitreturned:SQL0552N"DB2USER1"doesnothavetheprivilegetoperformopera
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年代理合同签署注意事项
- 2025年商业合作形象授权代理服务协议
- 二零二五版商业地产买卖合同附带抵押权登记0023篇
- 2025年高校与企业联合培养协议教授合作协议9篇
- 二零二五年度出口合同模板(含出口货物仓储与物流服务)4篇
- 2025年度装配式建筑构件生产与施工合同范本4篇
- 2025版水电安装工程新能源并网服务合同集锦3篇
- 二零二五版零担运输合同物流数据安全保护合同4篇
- 二零二五版路演车辆租赁与后勤保障合同4篇
- 二零二五年度家族财产管理及子女成长支持协议
- (一模)临汾市2025年高考考前适应性训练考试(一)语文试卷(含答案)
- 2024-2025学年沪科版数学七年级上册期末综合测试卷(一)(含答案)
- 2023年广东省公务员录用考试《行测》真题及答案解析
- 2024年公证遗产继承分配协议书模板
- 燃气经营安全重大隐患判定标准课件
- 深圳小学英语单词表(中英文)
- 护理质量反馈内容
- 抖音搜索用户分析报告
- 钻孔灌注桩技术规范
- 2023-2024学年北师大版必修二unit 5 humans and nature lesson 3 Race to the pole 教学设计
- 供货进度计划
评论
0/150
提交评论