# useradd look ----创建一个普通用户look
# passwd look
# su - look
$ vi .profile ----编辑“.profile”文件,加入以下语句:
_____________________________________________________
# The following three lines have been added by IBM DB2 instance utilities.
if [ -f /home/db2inst2/sqllib/db2profile ]; then
. /home/db2inst2/sqllib/db2profile
------加入上面的语句,表示这个look用户拥有了DB2INST2实例的环境,可以在DB2INST2实例中使用DB2的数据库命令了。
------可以查看DB2INST2实例同名系统用户创建的数据库,可以添加表,插入数据,并查询这些look用户编辑的信息。
------但不能操作数据库中原有的数据,需要原数据库用户的授权。
_____________________________________________________________$ su - db2inst2
$ db2 connect to payment ----连接数据库
$ db2 create role look_role ----创建角色
db2 => grant connect on database to user look ----授予LOOK用户connect权限
DB20000I The SQL command completed successfully.
授予look_role角色select全库的权限:
$ vi look.sql ----创建脚本
db2 connect to payment #### 连接数据库
db2 -x "select tabname from syscat.tables where TABSCHEMA='DB2INST2'" > a
#### 查询SCHEMA='DB2INST2'的所有表的tabname,并写入文件“a”中。
#### “-x”是把表头去掉 只要数据 这样不会有坏数据
for i in `cat a` #### `cat a` 的引号是在英文输入法下,键盘第二行第一个按钮
do
db2 grant select on DB2INST2.$i to role look_role
done
完成!
-------------------------------------------
测试是否成功:
su - look
db2 => list tables for schema DB2INST2 ----列出表
db2 => select * from DB2INST2.SD_TASK_DISP ----查看数据
----------------------
感谢来自中国DB2技术交流群的flying对我的帮助。