客户需求,由于ftp服务器权限管理需要,测试能否通过修改oracle umask值,达到expdp导出文件权限,导出即是想要的权限。
Session
[oracle@adg1 ~]$ umask[oracle@adg1 ~]$ umask -S
u=rwx,g=rx,o=rx 修改umask值
[oracle@adg1 ~]$ umask
[oracle@adg1 ~]$ umask -p
umask
[oracle@adg1 ~]$ touch a.txt
-rw-r--r-- oracle oinstall - : test.txt
-rw-r----- oracle oinstall - : a.txt --文件权限已换
-rw-r--r-- oracle oinstall - : b.txtSession 使用umask修改,只在当前session生效
[oracle@adg1 ~]$ umasktouch c.txt
[oracle@adg1 ~]$ ls -lrt c.txt
-rw-r--r-- oracle oinstall Aug : c.txt使用数据泵进行导出expdp一个表
$ expdp \'/ as sysdba\' directory=dd dumpfile=emp1.dump logfile=emp%U.log tables=scott.emp
[oracle@adg1 dump]$ ls -lrt
total
-rw-r----- oracle oinstall Aug : emp1.dump
-rw-r--r-- oracle oinstall Aug : emp%U.log修改umask值
https://blog.csdn.net/yangzhengquan19/article/details/83055686
umask
[oracle@adg1 dump]$ touch test.txt
[oracle@adg1 dump]$ ls -lrt test.txt
-rw------- oracle oinstall Aug : test.txt$ expdp \'/ as sysdba\' directory=dd dumpfile=emp2.dump logfile=emp%U.log tables=scott.emp
-rw-r----- oracle oinstall Aug : emp2.dump
-rw-r--r-- oracle oinstall Aug : emp%U.log 并未生效!SQL> create pfile='/11.2.0.4/app/oracle/dump/pfile.ora' from spfile;
-rw------- oracle oinstall Aug : pfile.ora !!! sqlplus 登陆创建的文件生效了,但是使用数据泵导出的文件未受到影响。[oracle@adg1 ~]$ vi .bash_profile
PATH=$PATH:$HOME/bin
umask
export PATH
[oracle@adg1 ~]$ umask[oracle@adg1 ~]$ touch a.txt
[oracle@adg1 ~]$ ls -lrt
-rw------- oracle oinstall Aug : a.txt
$ expdp \'/ as sysdba\' directory=dd dumpfile=emp3.dump logfile=emp%U.log tables=scott.emp
-rw-r----- oracle oinstall Aug : emp3.dump
无效果 修改用户!!$ expdp \'/ as sysdba\' directory=dd dumpfile=emp4.dump logfile=emp%U.log tables=scott.emp
-rw------- oracle oinstall Aug : emp4.dump汇总: 1.修改umask值,只再当前session 生效,使用sqlplus创建pfile权限可以进行调整,但是expdp并不生效;
2.修改用户umask值,重启db生效,但是所有文件收到影响,影响太大;
3.建议使用shell脚本,对expdp导出的文件,进行脚本化封装chmod,chown修改,以达到目的