当前位置:  数据库>oracle

Oracle用户目录误删除的恢复

    来源: 互联网  发布时间:2017-06-17

    本文导语: 当我们在安装Oracle软件前,必须先创建oracle用户组,如oinstall,dba,oper等,并且必须创建oracle用户在创建完用户账户后,会自动在/home文件夹下,增加一个以用户名命名的文件夹,里面就是存放该用户的一些环境变量等信息当我们...

当我们在安装Oracle软件前,必须先创建oracle用户组,如oinstall,dba,oper等,并且必须创建oracle用户
在创建完用户账户后,会自动在/home文件夹下,增加一个以用户名命名的文件夹,里面就是存放该用户的一些环境变量等信息
当我们在做文件清理的时候,如果不小心执行了rm -rf /home/oracle,那么该如何恢复这些文件呢?

其实在创建用户的过程中,还会对几个目录进行修改,大致有以下几个:
/etc/passwd --用户密码
/etc/shadow --密钥文件

/etc/group --用户组
/etc/skel/.* --骨架文件

看一下这些文件中和oracle用户相关的内容:
[oracle@ora11g ~]$ cat /etc/passwd |grep oracle
oracle:x:54321:54321::/home/oracle:/bin/bash
[oracle@ora11g ~]$ cat /etc/shadow |grep oracle
cat: /etc/shadow: Permission denied
[oracle@ora11g ~]$ su - root
Password:
[root@ora11g ~]# cat /etc/shadow |grep oracle
oracle:$1$J8eXSYtR$xHRcqxnw3ReD9o7VyNAWf/:16511:0:99999:7:::
[root@ora11g ~]# cat /etc/group
root:x:0:root
bin:x:1:root,bin,daemon
daemon:x:2:root,bin,daemon
sys:x:3:root,bin,adm
adm:x:4:root,adm,daemon
tty:x:5:
disk:x:6:root
lp:x:7:daemon,lp
mem:x:8:
kmem:x:9:
wheel:x:10:root
mail:x:12:mail
news:x:13:news
uucp:x:14:uucp
man:x:15:
games:x:20:
gopher:x:30:
dip:x:40:
ftp:x:50:
lock:x:54:
nobody:x:99:
users:x:100:
utmp:x:22:
utempter:x:35:
nscd:x:28:
floppy:x:19:
vcsa:x:69:
pcap:x:77:
slocate:x:21:
ntp:x:38:
dbus:x:81:
audio:x:63:gdm
avahi:x:70:
rpc:x:32:
mailnull:x:47:
smmsp:x:51:
sshd:x:74:
oprofile:x:16:
rpcuser:x:29:
nfsnobody:x:65534:
xfs:x:43:
stapdev:x:101:
stapusr:x:102:
stap-server:x:155:
haldaemon:x:68:
avahi-autoipd:x:156:
gdm:x:42:
sabayon:x:86:
oinstall:x:54321:
dba:x:54322:oracle
[root@ora11g ~]# cd /etc/skel
[root@ora11g skel]# ls -la
total 64
drwxr-xr-x  3 root root  4096 Mar 17 16:11 .
drwxr-xr-x 96 root root 12288 May  4 10:00 ..
-rw-r--r--  1 root root    33 Jun  2  2011 .bash_logout
-rw-r--r--  1 root root  176 Jun  2  2011 .bash_profile
-rw-r--r--  1 root root  124 Jun  2  2011 .bashrc
-rw-r--r--  1 root root  515 Jun 21  2011 .emacs
drwxr-xr-x  4 root root  4096 Feb  1  2012 .mozilla
[root@ora11g skel]# cd /home/oracle
[root@ora11g oracle]# ls -la
total 44
drwx------ 4 oracle oinstall 4096 May  4 10:22 .
drwxr-xr-x 3 root  root    4096 Mar 17 16:49 ..
-rw------- 1 oracle oinstall 2381 May  4 10:20 .bash_history
-rw-r--r-- 1 oracle oinstall  33 Mar 17 16:49 .bash_logout
-rw-r--r-- 1 oracle oinstall  328 Mar 18 13:01 .bash_profile
-rw-r--r-- 1 oracle oinstall  124 Mar 17 16:49 .bashrc
-rw-r--r-- 1 oracle oinstall  515 Mar 17 16:49 .emacs
drwxr-xr-x 4 oracle oinstall 4096 Mar 17 16:49 .mozilla
drwxr-xr-x 3 oracle oinstall 4096 Mar 17 17:06 .oracle
-rw------- 1 oracle oinstall 1408 Mar 18 13:01 .viminfo

可以看到/etc/skel目录下的几个文件同/home/oracle目录下的文件时相同的

[root@ora11g oracle]# cd .oracle
[root@ora11g .oracle]# ls -la
total 12
drwxr-xr-x 3 oracle oinstall 4096 Mar 17 17:06 .
drwx------ 4 oracle oinstall 4096 May  4 10:22 ..
drwxr-xr-x 2 oracle oinstall 4096 Mar 17 17:18 logs
[root@ora11g .oracle]#
[root@ora11g .oracle]# cd logs
[root@ora11g logs]# ll
total 260
-rw-r--r-- 1 oracle oinstall 41693 Mar 17 17:06 installActions2015-03-17_05-03-57PM.log
-rw-r--r-- 1 oracle oinstall 33118 Mar 17 17:09 installActions2015-03-17_05-08-08PM.log
-rw-r--r-- 1 oracle oinstall 33118 Mar 17 17:13 installActions2015-03-17_05-12-54PM.log
-rw-r--r-- 1 oracle oinstall 33118 Mar 17 17:17 installActions2015-03-17_05-15-29PM.log
-rw-r--r-- 1 oracle oinstall 33118 Mar 17 17:17 installActions2015-03-17_05-17-07PM.log
-rw-r--r-- 1 oracle oinstall 33118 Mar 17 17:18 installActions2015-03-17_05-17-49PM.log
-rw-r--r-- 1 oracle oinstall 33147 Mar 17 17:18 installActions2015-03-17_05-18-26PM.log
-rw-r--r-- 1 oracle oinstall    0 Mar 17 17:06 oraInstall2015-03-17_05-03-57PM.err
-rw-r--r-- 1 oracle oinstall    0 Mar 17 17:06 oraInstall2015-03-17_05-03-57PM.out
-rw-r--r-- 1 oracle oinstall    0 Mar 17 17:09 oraInstall2015-03-17_05-08-08PM.err
-rw-r--r-- 1 oracle oinstall    0 Mar 17 17:09 oraInstall2015-03-17_05-08-08PM.out
-rw-r--r-- 1 oracle oinstall    0 Mar 17 17:13 oraInstall2015-03-17_05-12-54PM.err
-rw-r--r-- 1 oracle oinstall    0 Mar 17 17:13 oraInstall2015-03-17_05-12-54PM.out
-rw-r--r-- 1 oracle oinstall    0 Mar 17 17:17 oraInstall2015-03-17_05-15-29PM.err
-rw-r--r-- 1 oracle oinstall    0 Mar 17 17:17 oraInstall2015-03-17_05-15-29PM.out
-rw-r--r-- 1 oracle oinstall    0 Mar 17 17:17 oraInstall2015-03-17_05-17-07PM.err
-rw-r--r-- 1 oracle oinstall    0 Mar 17 17:17 oraInstall2015-03-17_05-17-07PM.out
-rw-r--r-- 1 oracle oinstall    0 Mar 17 17:18 oraInstall2015-03-17_05-17-49PM.err
-rw-r--r-- 1 oracle oinstall    0 Mar 17 17:18 oraInstall2015-03-17_05-17-49PM.out
-rw-r--r-- 1 oracle oinstall    0 Mar 17 17:18 oraInstall2015-03-17_05-18-26PM.err
-rw-r--r-- 1 oracle oinstall    0 Mar 17 17:18 oraInstall2015-03-17_05-18-26PM.out

/home/oracle/.oracle/logs目录中存放的是在用OUI安装oracle软件时生成的一些日志信息

好,现在了解了大致的目录结构,那么当我们由于误操作删除了/home/oracle目录后,恢复其实就很容易了
即只需要把/etc/skel目录下的文件全都拷贝到原目录下,应该就可以解决这个问题了,下面我们来看一下测试过程

在数据库正常运行的情况下,把/home/oracle目录删除,为了提高可恢复性,把具有危险操作的rm -rf操作替换成mv更名操作

[oracle@ora11g ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Mon May 4 11:17:21 2015

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

Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area  835104768 bytes
Fixed Size    2257840 bytes
Variable Size  507513936 bytes
Database Buffers  322961408 bytes
Redo Buffers    2371584 bytes
Database mounted.
Database opened.
SQL> host
[oracle@ora11g ~]$ ps -ef | grep oracle
root      3402  3289  0 10:22 pts/2    00:00:00 su - oracle
oracle    3403  3402  0 10:22 pts/2    00:00:00 -bash
root      3587  3433  0 10:56 pts/2    00:00:00 su - oracle
oracle    3588  3587  0 10:56 pts/2    00:00:00 -bash
root    24415  3618  0 11:14 pts/2    00:00:00 su - oracle
oracle  24416 24415  0 11:14 pts/2    00:00:00 -bash
oracle  24453 24416  0 11:17 pts/2    00:00:00 sqlplus  as sysdba
oracle  24463    1  0 11:17 ?        00:00:00 ora_pmon_ora11g
oracle  24467    1  0 11:17 ?        00:00:00 ora_psp0_ora11g
oracle  24471    1  2 11:17 ?        00:00:02 ora_vktm_ora11g
oracle  24477    1  0 11:17 ?        00:00:00 ora_gen0_ora11g
oracle  24481    1  0 11:17 ?        00:00:00 ora_diag_ora11g
oracle  24485    1  0 11:17 ?        00:00:00 ora_dbrm_ora11g
oracle  24489    1  0 11:17 ?        00:00:00 ora_dia0_ora11g
oracle  24493    1  0 11:17 ?        00:00:00 ora_mman_ora11g
oracle  24497    1  0 11:17 ?        00:00:00 ora_dbw0_ora11g
oracle  24501    1  0 11:17 ?        00:00:00 ora_lgwr_ora11g
oracle  24505    1  0 11:17 ?        00:00:00 ora_ckpt_ora11g
oracle  24509    1  0 11:17 ?        00:00:00 ora_smon_ora11g
oracle  24513    1  0 11:17 ?        00:00:00 ora_reco_ora11g
oracle  24517    1  0 11:17 ?        00:00:00 ora_mmon_ora11g
oracle  24521    1  0 11:17 ?        00:00:00 ora_mmnl_ora11g
oracle  24525    1  0 11:17 ?        00:00:00 ora_d000_ora11g
oracle  24529    1  0 11:17 ?        00:00:00 ora_s000_ora11g
oracle  24543 24453  0 11:17 ?        00:00:01 oracleora11g (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle  24547    1  0 11:17 ?        00:00:00 ora_arc0_ora11g
oracle  24551    1  0 11:17 ?        00:00:00 ora_arc1_ora11g
oracle  24555    1  0 11:17 ?        00:00:00 ora_arc2_ora11g
oracle  24559    1  0 11:17 ?        00:00:00 ora_arc3_ora11g
oracle  24563    1  0 11:17 ?        00:00:00 ora_qmnc_ora11g
oracle  24591    1  0 11:18 ?        00:00:00 ora_q000_ora11g
oracle  24595    1  0 11:18 ?        00:00:00 ora_q001_ora11g
oracle  24599    1  0 11:18 ?        00:00:00 ora_cjq0_ora11g
oracle  24665 24453  0 11:19 pts/2    00:00:00 /bin/bash
oracle  24684 24665  0 11:19 pts/2    00:00:00 ps -ef
oracle  24685 24665  0 11:19 pts/2    00:00:00 grep oracle
[oracle@ora11g ~]$ exit
[root@ora11g ~]# cd /home

[root@ora11g home]# mv /home/oracle /home/oracle_bak

[root@ora11g home]# ls -la
total 20
drwxr-xr-x  3 root  root    4096 May  4 11:33 .
drwxr-xr-x 26 root  root    4096 May  4 10:00 ..
drwx------  4 oracle oinstall 4096 May  4 11:30 oracle_bak
[root@ora11g home]# mkdir oracle

[root@ora11g home]# chown oracle:oinstall oracle
[root@ora11g home]# ls -la
total 24
drwxr-xr-x  4 root  root    4096 May  4 11:33 .
drwxr-xr-x 26 root  root    4096 May  4 10:00 ..
drwxr-xr-x  2 oracle oinstall 4096 May  4 11:33 oracle
drwx------  4 oracle oinstall 4096 May  4 11:30 oracle_bak
[root@ora11g home]# cd /etc/skel
[root@ora11g skel]# ls -la
total 64
drwxr-xr-x  3 root root  4096 Mar 17 16:11 .
drwxr-xr-x 96 root root 12288 May  4 11:07 ..
-rw-r--r--  1 root root    33 Jun  2  2011 .bash_logout
-rw-r--r--  1 root root  176 Jun  2  2011 .bash_profile
-rw-r--r--  1 root root  124 Jun  2  2011 .bashrc
-rw-r--r--  1 root root  515 Jun 21  2011 .emacs
drwxr-xr-x  4 root root  4096 Feb  1  2012 .mozilla
[root@ora11g skel]# cp .* /home/oracle/
cp: omitting directory `.'
cp: omitting directory `..'
cp: omitting directory `.mozilla'
[root@ora11g skel]# cd /home/oracle
[root@ora11g oracle]# ls -la
total 28
drwxr-xr-x 2 oracle oinstall 4096 May  4 11:33 .
drwxr-xr-x 4 root  root    4096 May  4 11:33 ..
-rw-r--r-- 1 root  root      33 May  4 11:33 .bash_logout
-rw-r--r-- 1 root  root      176 May  4 11:33 .bash_profile
-rw-r--r-- 1 root  root      124 May  4 11:33 .bashrc
-rw-r--r-- 1 root  root      515 May  4 11:33 .emacs

注意权限,必须是oracle用户,oinstall组的

[root@ora11g oracle]# chown oracle:oinstall /home/oracle -R
[root@ora11g oracle]# ls -la
total 28
drwxr-xr-x 2 oracle oinstall 4096 May  4 11:33 .
drwxr-xr-x 4 root  root    4096 May  4 11:33 ..
-rw-r--r-- 1 oracle oinstall  33 May  4 11:33 .bash_logout
-rw-r--r-- 1 oracle oinstall  176 May  4 11:33 .bash_profile
-rw-r--r-- 1 oracle oinstall  124 May  4 11:33 .bashrc
-rw-r--r-- 1 oracle oinstall  515 May  4 11:33 .emacs
[root@ora11g oracle]# su - oracle
[oracle@ora11g ~]$ sqlplus / as sysdba
-bash: sqlplus: command not found
[oracle@ora11g ~]$ vi .bash_profile

添加以下环境变量的内容:
export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=ora11g
export PATH=$PATH:$ORACLE_HOME/bin

[oracle@ora11g ~]$ . .bash_profile
[oracle@ora11g ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Mon May 4 11:36:31 2015

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>

oracle用户又可以继续登录了


    
 
 

您可能感兴趣的文章:

  • 请教:为什么删除不掉?我用超级用户删除某一文件夹rm -R oracle失败。
  • 在linux 中如何删除oracle db 与卸载oracle.
  • Oracle删除表前判断表名是否存在若存在则删除
  • oracle创建删除用户示例分享(oracle删除用户命令及授权)
  • oracle 彻底删除方法
  • Oracle删除后不能重新安装的解决方法
  • ubuntu如何彻底删除oracle
  • 彻底删除Oracle数据库的方法
  • Oracle删除当前用户下所有表的方法适用于有或没有删除权限
  • shell脚本操作oracle删除表空间、创建表空间、删除用户
  • 技巧分享 删除Oracle10G中的垃圾表
  • Oracle删除带有空格的表
  • 请问怎么用jsp语句删除oracle中的一条记录?
  • Linux环境下完全删除Oracle
  • oracle怎么删除用户提供解决方案
  • linux下如何卸载oracle?直接删除就可以么??
  • oracle单库彻底删除干净的执行步骤
  • 删除Oracle中奇怪的表名称BIN$…的方法
  • linux oracle数据库删除操作指南
  • oracle数据库添加或删除一列的sql语句
  • Oracle数据库恢复后心得
  • 关于系统重装后Oracle数据库完全恢复的解决办法
  • oracle drop table(表)数据恢复方法
  • Oracle数据库备份和恢复工具 RMan
  • oracle备份恢复的具体方法
  • oracle冷备份恢复和oracle异机恢复使用方法
  • 在Oracle 10gR2中设定指定的恢复点实现轻松闪回
  • Oracle重做日志文件损坏或丢失后的恢复
  • Oracle11g备份和恢复功能的提高
  • 实战Oracle数据库备份与恢复
  • Oracle数据库冷备份的异地恢复
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 怎样知道一个用户的主目录,也就是.bash_profile所在的目录?如/home/oracle
  • redhat 9 下安装 oracle9i 过程中,要求指定java目录,到底是哪一个目录?
  • 问一个简单的问题,我装了oracle 8.05,我并没有发有发现JDBC这个目录,是不是我要下载jdbc for oracle。
  • 修改oracle用户主目录
  • com.Oracle.*;是指相对于当前目录下的COM下的ORACLE吗?java是怎么寻找PACKAGE的?
  • Oracle、应用服务器(weblogic)一般安装在那个目录下好!
  • oracle9i 在 redhat7.3 上安装临时目录空间不够.
  • 50分的题:如何给oracle减肥?在linux多目录的环境下查找体积最大的单个文件??
  • linux6.0下安装oracle11g, 新建用户后,在用户目录下为什么没有.bash_profile文件生成? 求教高手。谢谢!
  • oracle 9i Linux 下安装时出现 无法建立inventory目录,你可能没有相应权限,请高手帮忙,100分,在线等!
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • ORACLE日期相关操作
  • Linux系统下Oracle的启动与Oracle监听的启动
  • ORACLE数据库常用字段数据类型介绍
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • Oracle 12c的九大最新技术特性介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3