由于项目在运行过程中所需的空间越来越大,最终Linux的表分区使用比例达到了100%,导致项目无法正常登录以及无法正常访问数据库,原因主要是表空间过大。在备份了dbf文件后之后,由于操作有误,误删了oracle的一个redo日志,于是不得不重装oracle
因为表空间主要存储的都是用户上传的文件数据,所以必须恢复
ps: 因为服务器上相关的配置文件都配置过一遍,所以不用重新配置
1. 把dbf文件通过恢复工具导入到测试环境
在网上找了好多数据库恢复的软件,但都是收费的…QAQ
最后选择一个叫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
,这里的改动需要仔细,如果配置错误的话就会报错。
接下来是dbca.rsp
和netca.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 | 创建数据库 dbca -silent -cloneTemplate -responseFile ./dbca.rsp |
3 创建oracle 实例
安装好oracle 之后是没有oracle实例的,需要自己去建
总之最后很幸运的没有丢数据,我们一定要做好的是备份!备份!备份!
Author: dadonggua