Oracle收集和恢复目录中文件权限脚本的使用

一、单机

1.获取脚本

🤖下载 permission.pl🤖

2.Oracle执行脚本,收集权限信息

[oracle@cs scripts]$ chmod 755 permission.pl
[oracle@cs scripts]$ ./permission.pl /u01
Following log files are generated
logfile      : permission-Thu-Jul-20-09-32-41-2023
Command file : restore-perm-Thu-Jul-20-09-32-41-2023.cmd
Linecount : 41025

3.模拟权限误操作

[root@cs ~]# chown root:root /u01 -R

4.错误现象

[oracle@cs ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Thu Jul 20 09:46:11 2023

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

ERROR:
ORA-12547: TNS:lost contact

5.root执行权限恢复脚本

[root@cs scripts]# chmod 755 restore-perm-Thu-Jul-20-09-32-41-2023.cmd
[root@cs scripts]# ./restore-perm-Thu-Jul-20-09-32-41-2023.cmd

6.恢复后,数据库连接等正常

[oracle@cs ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Thu Jul 20 10:10:03 2023

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> select open_mode from v$database;

OPEN_MODE
-----------
READ WRITE

二、RAC

RAC环境收集权限信息,需要root执行脚本。

1.正常节点执行脚本,收集权限信息

[root@rac1 scripts]# chmod 755 permission.pl
[root@rac1 scripts]# ./permission.pl /u01

2.将权限恢复脚本上传到异常节点,进行恢复

注意:执行脚本前需要对节点名称等进行修改,避免找不到相应路径,脚本执行失败。

[root@rac2 scripts]# chmod 755 restore-perm-Thu-Jul-20-09-32-41-2023.cmd
[root@rac2 scripts]# ./restore-perm-Thu-Jul-20-09-32-41-2023.cmd

三、脚本部分内容示例

1.permission-Thu-Jul-20-11-18-25-2023

775 oracle oinstall "/u01/app/oracle/product/11.2.0/db_home"
750 oracle oinstall "/u01/app/oracle/product/11.2.0/db_home/root.sh"
750 oracle oinstall "/u01/app/oracle/product/11.2.0/db_home/root.sh.old"
640 oracle oinstall "/u01/app/oracle/product/11.2.0/db_home/oraInst.loc"
770 oracle oinstall "/u01/app/oracle/product/11.2.0/db_home/inventory"
770 oracle oinstall "/u01/app/oracle/product/11.2.0/db_home/inventory/invDetails.properties"
770 oracle oinstall "/u01/app/oracle/product/11.2.0/db_home/inventory/Queries21"
770 oracle oinstall "/u01/app/oracle/product/11.2.0/db_home/inventory/Queries21/globalVarQueries"
770 oracle oinstall "/u01/app/oracle/product/11.2.0/db_home/inventory/Queries21/globalVarQueries/11.2.0.4.0"
770 oracle oinstall "/u01/app/oracle/product/11.2.0/db_home/inventory/Queries21/globalVarQueries/11.2.0.4.0/globalVarQueries.jar"
770 oracle oinstall "/u01/app/oracle/product/11.2.0/db_home/inventory/Queries21/fileQueries"
770 oracle oinstall "/u01/app/oracle/product/11.2.0/db_home/inventory/Queries21/fileQueries/10.1.0.3.0"
770 oracle oinstall "/u01/app/oracle/product/11.2.0/db_home/inventory/Queries21/fileQueries/10.1.0.3.0/fileQueries.jar"
770 oracle oinstall "/u01/app/oracle/product/11.2.0/db_home/inventory/Queries21/generalQueries"
770 oracle oinstall "/u01/app/oracle/product/11.2.0/db_home/inventory/Queries21/generalQueries/10.2.0.2.0"
770 oracle oinstall "/u01/app/oracle/product/11.2.0/db_home/inventory/Queries21/generalQueries/10.2.0.2.0/generalQueries.jar"
770 oracle oinstall "/u01/app/oracle/product/11.2.0/db_home/inventory/Queries21/rgsQueries"
770 oracle oinstall "/u01/app/oracle/product/11.2.0/db_home/inventory/Queries21/rgsQueries/10.1.0.3.0"
770 oracle oinstall "/u01/app/oracle/product/11.2.0/db_home/inventory/Queries21/rgsQueries/10.1.0.3.0/rgsQueries.jar"
770 oracle oinstall "/u01/app/oracle/product/11.2.0/db_home/inventory/Queries21/netQueries"
770 oracle oinstall "/u01/app/oracle/product/11.2.0/db_home/inventory/Queries21/netQueries/10.2.0.2.0"

2.restore-perm-Thu-Jul-20-11-18-25-2023.cmd

chown  oracle:oinstall "/u01/app/oracle/product/11.2.0/db_home"
chmod  775 "/u01/app/oracle/product/11.2.0/db_home"
chown  oracle:oinstall "/u01/app/oracle/product/11.2.0/db_home/root.sh"
chmod  750 "/u01/app/oracle/product/11.2.0/db_home/root.sh"
chown  oracle:oinstall "/u01/app/oracle/product/11.2.0/db_home/root.sh.old"
chmod  750 "/u01/app/oracle/product/11.2.0/db_home/root.sh.old"
chown  oracle:oinstall "/u01/app/oracle/product/11.2.0/db_home/oraInst.loc"
chmod  640 "/u01/app/oracle/product/11.2.0/db_home/oraInst.loc"
chown  oracle:oinstall "/u01/app/oracle/product/11.2.0/db_home/inventory"
chmod  770 "/u01/app/oracle/product/11.2.0/db_home/inventory"
chown  oracle:oinstall "/u01/app/oracle/product/11.2.0/db_home/inventory/invDetails.properties"
chmod  770 "/u01/app/oracle/product/11.2.0/db_home/inventory/invDetails.properties"
chown  oracle:oinstall "/u01/app/oracle/product/11.2.0/db_home/inventory/Queries21"
chmod  770 "/u01/app/oracle/product/11.2.0/db_home/inventory/Queries21"
chown  oracle:oinstall "/u01/app/oracle/product/11.2.0/db_home/inventory/Queries21/globalVarQueries"
chmod  770 "/u01/app/oracle/product/11.2.0/db_home/inventory/Queries21/globalVarQueries"
chown  oracle:oinstall "/u01/app/oracle/product/11.2.0/db_home/inventory/Queries21/globalVarQueries/11.2.0.4.0"
chmod  770 "/u01/app/oracle/product/11.2.0/db_home/inventory/Queries21/globalVarQueries/11.2.0.4.0"
chown  oracle:oinstall "/u01/app/oracle/product/11.2.0/db_home/inventory/Queries21/globalVarQueries/11.2.0.4.0/globalVarQueries.jar"
chmod  770 "/u01/app/oracle/product/11.2.0/db_home/inventory/Queries21/globalVarQueries/11.2.0.4.0/globalVarQueries.jar"
chown  oracle:oinstall "/u01/app/oracle/product/11.2.0/db_home/inventory/Queries21/fileQueries"
chmod  770 "/u01/app/oracle/product/11.2.0/db_home/inventory/Queries21/fileQueries"
chown  oracle:oinstall "/u01/app/oracle/product/11.2.0/db_home/inventory/Queries21/fileQueries/10.1.0.3.0"
chmod  770 "/u01/app/oracle/product/11.2.0/db_home/inventory/Queries21/fileQueries/10.1.0.3.0"
chown  oracle:oinstall "/u01/app/oracle/product/11.2.0/db_home/inventory/Queries21/fileQueries/10.1.0.3.0/fileQueries.jar"
chmod  770 "/u01/app/oracle/product/11.2.0/db_home/inventory/Queries21/fileQueries/10.1.0.3.0/fileQueries.jar"
chown  oracle:oinstall "/u01/app/oracle/product/11.2.0/db_home/inventory/Queries21/generalQueries"

参考MOS:Script to capture and restore file permission in a directory (for eg. ORACLE_HOME) (Doc ID 1515018.1)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值