我们都知道外部表在使用之前,需要将外部表关联的txt文件建立DIRECTORY目录,本文将对txt文件相关的权限进行研究,探索决定外部表创建与否的决定性因素:
一、先用root用户在/opt下创建外部表的txt资源文件waibubiao.txt
创建完之后waibubiao.txt的权限是这样子的
二、disql工具创建目录并赋权读、写权限给dmtest用户,操作成功
三、创建外部表waibubiao成功
四、验证外部表waibubiao创建成功与否,失败了!
五、验证文件夹、文件权限对外部表创建成功与否的影响。
1、给/opt下的waibubiao.txt文件赋予777权限
外部表依然查不出来数据:
2、将外部表资源文件waibubiao.txt修改为dmdba:dinstall用户和用户组
外部表依然查不出来数据
3、到这里,只有怀疑是不是我们的dmdir目录一定要给dmdba用户权限才可以正常查出,故做第三次尝试:
到这一步,外部表waibubiao已经可以正常查出数据
4、再做多一次验证:将waibubiao.txt文件改回root所有,dmdba用户没编辑权限:
查询外部表报错:
再改回dmdba:dinstall用户和用户组
可以正常查出来数据
结论:
1、外部表创建主要受目录DIRECTORY的权限dmdba:dinstall影响,决定了外部表能否创建成功与否。
2、外部表资源文件的权限需要有dmdba:dinstall用户和用户组权限,不然会报错:未选定行。
文章
阅读量
获赞