由于项目在运行过程中所需的空间越来越大,最终Linux的表分区使用比例达到了100%,导致项目无法正常登录以及无法正常访问数据库,原因主要是表空间过大。在备份了dbf文件后之后,由于操作有误,误删了oracle的一个redo日志,于是不得不重装oracle

因为表空间主要存储的都是用户上传的文件数据,所以必须恢复

ps: 因为服务器上相关的配置文件都配置过一遍,所以不用重新配置

1. 把dbf文件通过恢复工具导入到测试环境

在网上找了好多数据库恢复的软件,但都是收费的…QAQ

最后选择一个叫odu的工具,非图形化界面,需要注意的是配置文件的格式需要规范一点,具体的操作步骤可以看:

老熊的博客

再贴一个odu的下载

总之经过一番操作之后终于把数据跑到自己电脑上了,随后我们要进行的是linux在oracle的命令行安装。

2. oracle 静默安装

由于这个项目的运行环境是内网环境,所以一些yum什么的工具都暂时用不了,当时也没有什么时间去鼓捣图形化之类的东西了,就试着用xshell进行了命令行安装。

a. 下载oracle for linux 的zip安装包

上传到机器上并解压,要注意文件的权限不能是root,应该是oracle,也就是用作数据库的权限账号

b. 使用oracle用户登录并解压到一个目录下 unzip filename

c. 解压完之后会有一个database目录

我们要找到/oracle/database/response下的三个.rsp 文件,复制到/home/oracle里面,并在这里做一些修改。

首先db_install.rsp,这里的改动需要仔细,如果配置错误的话就会报错。

静默安装_db-install.rsp 配置

接下来是dbca.rspnetca.rsp

dbca.rsp

vi dbca.rsp 修改以下内容

GDBNAME = “ora11g”

SID = “ora11g”

SYSPASSWORD = “oracle11”

SYSTEMPASSWORD = “oracle11”

netca.rsp

vi netca.rsp修改以下内容

INSTALL_TYPE=””custom””

配置完之后进入database目录下,执行脚本

1
./runInstaller -silent -responseFile /home/oracle/db_install.rsp

如果一切顺利的话,会提示你the setup completed 之类的,而且会提示你运行两个文件,注意: 这两个文件需要用root用户运行。

运行完成后,可能要退回oracle 的主目录刷新一下.bash_profile

1
source .bash_profile

成功后就可以看到登录信息里有自己的sid了,这个时候就是常规操作:

1
2
3
4
5
创建数据库 dbca -silent -cloneTemplate -responseFile ./dbca.rsp

创建监听 netca /silent /responseFile /home/oracle/netca.rsp

开启oracle监听 lsnrctl start

3 创建oracle 实例

安装好oracle 之后是没有oracle实例的,需要自己去建

创建oracle实例(没错我在偷懒)

总之最后很幸运的没有丢数据,我们一定要做好的是备份!备份!备份!

本文采用CC-BY-SA-3.0协议,转载请注明出处
Author: dadonggua