使用shell命令操作数据库,Oracle误删数据文件后出

使用mysql的-e参数可以执行各种sql的(创建,删除,增,删,改、查)等各种操作

一、错误分析

  1、首先本人在出现这种情况的背景是执行如下SQL语句后生成的表空间

 1 --自定义表空间    数据表空间  临时表空间
 2 CREATE TEMPORARY TABLESPACE HOUSE_TEMP
 3          TEMPFILE 'D:OracleDataHOUSE_TEMP.DBF'
 4          SIZE 32M
 5          AUTOEXTEND ON
 6          NEXT 32M 
 7          MAXSIZE 2G
 8          EXTENT MANAGEMENT LOCAL;
 9          
10 CREATE TABLESPACE HOUSE_DATA
11          LOGGING
12          DATAFILE 'D:OracleDataHOUSE_DATA.DBF'
13          SIZE 32M
14          AUTOEXTEND ON
15          NEXT 32M 
16          MAXSIZE UNLIMITED
17          EXTENT MANAGEMENT LOCAL;

    但!!!有时候因为你的表空间名和文件名不那么友好。这时候你很愉快的使用shirt+delete永久删除(当然,这是我的习惯,如果删除回回收站直接还原就没有那么多麻烦事了)。

    那如果这样子你会发现你再次重新连接回Oracle的时候,恭喜你,遇到好东西,报错——ORA-01033: ORACLE initialization or shutdown in progress

    如果出现这个错误,如果你是大牛,你很淡定的解决掉了。可是!!!!你如果跟我一样是一个刚入门的菜鸟,你会紧张到怀疑人生,毕竟对于Oracle配置的错误,你只能说OMG。

    别慌,小志带你上车,亲测有效。

  2、解决办法

    a:首先尝试使用Oracle的例用线程操作数据库

1 #此为cmd命令,使用管理员运行
2 sqlplus /nolog

    b:使用sysdba角色连接

1 SQL> user/ui as sysdba

    c:使用如下命令删除你的表空间

1 SQL> alter database datafile 'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/TSTEST001.DBF' offline drop;
2 SQL> alter database open;
3 SQL> drop tablespace CTBASEDATA;

    d:使用以上指令重复使用直到提示你的那个数据文件不存在

    e:在使用这个例程后记得退出你的例程,不然你就gg

SQL > exit

   3、再次连接后发现你能够连接数据库了,是不是很嗨森,别急,你查看下你的原来的文件夹,虽然删除了你的数据文件,但是你的临时文件还存在。带有*temp.DBF的文件,这是你创建的临时表空间,记得同时删除掉,在命令行使用如下指令删除

SQL > alter database tempfile '你临时文件路径' drop including datafiles

  4、删除完最好重启下电脑,这样Oracle就可以安全使用了,最后嘱咐大家,数据有风险,建表需谨慎。

附:

创建用户指令

--创建用户
CREATE USER HOUSE IDENTIFIED BY  HOUSE_DATA
DEFAULT TABLESPACE HOUSE_DATA
TEMPORARY TABLESPACE HOUSE_TEMP;

修改用户密码指令

alter user 用户名 identified by 新密码

 

参考文献:

用法

mysql  -uxxx    –pxxx   -e  “mysql 命令”

当然还可以使用 如下写法

mysql  -e  -uxxx    –pxxx    “mysql 命令”

                 

实践出真知

[root@iZwz99qnmldt4n744noo9gZ ~]# mysql -e "show databases;" -uroot -ppenghui110 >test.txt
[root@iZwz99qnmldt4n744noo9gZ ~]# ls
databases_backup_20170411172702  lnmp1.3-full  lnmp-install.log  test.txt
[root@iZwz99qnmldt4n744noo9gZ ~]# cat test.txt 
Database
information_schema
blog
mysql
performance_schema
question
wordpress
yii2
[root@iZwz99qnmldt4n744noo9gZ ~]# mysql -uroot -ppenghui110  -e "show databases;"  >a.txt
[root@iZwz99qnmldt4n744noo9gZ ~]# cat a.txt 
Database
information_schema
blog
mysql
performance_schema
question
wordpress
yii2

参考文档:

                 

                 

 1、下载Apache2.4(因为php7.0以上版本需要Apache2.4以上的支持),下载地址为

我下载的版本为:下图中最新2.4.33 x64:

图片 1

3、下载php7.0(Microsoft Drivers for PHP for SQL Server驱动文件最新4.0支持到php7.0),下载地址:

图片 2

 3、配置Apache和php

1)解压安装

       将下载后的Apache解压缩。如解压到D:phpApache24。

       将下载的php-7.0.29-Win32-VC14-x64解压。如解压到D:phpphp-7.0.29-Win32-VC14-x64。

 2)配置Apache24conf下httpd.conf 文件,用记事本打开即可:

      (1)第38行SRVROOT值改为 "D:/php/Apache24"//Apache程序的位置。   

               这里定义了变量,以后用到的SRVROOT都是这个路径 

      (2)第213行ServerName前面的“#”号去掉;     

      (3)第246行DocumentRoot "c:/Apache24/htdocs"改为DocumentRoot "D:/www";//网站的根目录

               第247行<Directory"c:/Apache24/htdocs">改为<Directory "D:/www ">;

               注意:这个WWW文件夹要自己去新建的,不建的话会报错的。

      (4)第281行DirectoryIndex index.html改为DirectoryIndexindex.html index.php index.htm   //支持更多的默认页

      (5)文件添加下面几行,增加对php7的支持:

               PHPIniDir "D:/php/php-7.0.29-Win32-VC14-x64"

               LoadModule php7_module "D:/php/php-7.0.29-Win32-VC14-x64/php7apache2_4.dll"

               AddType application/x-httpd-php .php .html .htm

      (6)测试。把index.html(内容随便写的什么)放到D:www目录下,用浏览器,地址栏输入localhost,访问会出现index.html文件内的内容,Apache配置成功。

 

3)配置php

    (1)打开D:phpphp-7.0.29-Win32-VC14-x64php.ini-production;复制并重命名为php.ini

    (2)将 D:phpphp-7.0.29-Win32-VC14-x64和D:phpphp-7.0.29-Win32-VC14-x64ext加入环境变量PATH中,

             选中计算机,右键属性-->高级系 统设置 -->环境变量-->系统变量,找到Path,编辑,在其后加上; D:phpphp-7.0.29-Win32-VC14-x64;D:phpphp-7.0.29-Win32-VC14-x64ext,下图,

图片 3

      (3)打开几个常用php扩展:

本文由澳门新葡亰平台官网发布于操作系统,转载请注明出处:使用shell命令操作数据库,Oracle误删数据文件后出

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。