您的位置:首页 > 数据库 > Oracle

oracle 删除数据文件

2017-06-27 14:50 155 查看
[oracle@node01 ~]$
[oracle@node01 ~]$ ps -ef | grep dbw |grep -v grep
oracle   16851     1  0 05:52 ?        00:00:00 ora_dbw0_serv
[oracle@node01 ~]$
[oracle@node01 ~]$
[oracle@node01 ~]$ ps -ef | grep dbw |grep -v grep
oracle   16851     1  0 05:52 ?        00:00:00 ora_dbw0_serv
[oracle@node01 ~]$
[oracle@node01 ~]$ ls -ltr /proc/16851/fd
total 0
lrwx------ 1 oracle dba 64 Aug 12 05:54 9 -> /oracle/product/11.2.0/db_1/dbs/hc_serv.dat
lr-x------ 1 oracle dba 64 Aug 12 05:54 8 -> /dev/zero
lr-x------ 1 oracle dba 64 Aug 12 05:54 7 -> /proc/16851/fd
lr-x------ 1 oracle dba 64 Aug 12 05:54 6 -> /oracle/product/11.2.0/db_1/rdbms/mesg/oraus.msb
lr-x------ 1 oracle dba 64 Aug 12 05:54 5 -> /dev/null
lr-x------ 1 oracle dba 64 Aug 12 05:54 4 -> /dev/null
lr-x------ 1 oracle dba 64 Aug 12 05:54 3 -> /dev/null
lrwx------ 1 oracle dba 64 Aug 12 05:54 262 -> /oradata/serv/temp01.dbf
lrwx------ 1 oracle dba 64 Aug 12 05:54 261 -> /oradata/serv/users01.dbf
lrwx------ 1 oracle dba 64 Aug 12 05:54 260 -> /oradata/serv/undotbs01.dbf
lrwx------ 1 oracle dba 64 Aug 12 05:54 259 -> /oradata/serv/sysaux01.dbf
lrwx------ 1 oracle dba 64 Aug 12 05:54 258 -> /oradata/serv/system01.dbf
lrwx------ 1 oracle dba 64 Aug 12 05:54 257 -> /oradata/serv/control02.ctl
lrwx------ 1 oracle dba 64 Aug 12 05:54 256 -> /oradata/serv/control01.ctl
l-wx------ 1 oracle dba 64 Aug 12 05:54 2 -> /dev/null
lr-x------ 1 oracle dba 64 Aug 12 05:54 11 -> /oracle/product/11.2.0/db_1/rdbms/mesg/oraus.msb
lrwx------ 1 oracle dba 64 Aug 12 05:54 10 -> /oracle/product/11.2.0/db_1/dbs/lkSERV
l-wx------ 1 oracle dba 64 Aug 12 05:54 1 -> /dev/null
lr-x------ 1 oracle dba 64 Aug 12 05:54 0 -> /dev/null
[oracle@node01 ~]$

SQL> create user test identified by test default tablespace users;

用户已创建。

SQL> grant dba to test;

授权成功

[oracle@node01 ~]$ rm -rf /oradata/serv/users01.dbf
[oracle@node01 ~]$ ls -ltr /proc/16851/fd
total 0
lrwx------ 1 oracle dba 64 Aug 12 05:54 9 -> /oracle/product/11.2.0/db_1/dbs/hc_serv.dat
lr-x------ 1 oracle dba 64 Aug 12 05:54 8 -> /dev/zero
lr-x------ 1 oracle dba 64 Aug 12 05:54 7 -> /proc/16851/fd
lr-x------ 1 oracle dba 64 Aug 12 05:54 6 -> /oracle/product/11.2.0/db_1/rdbms/mesg/oraus.msb
lr-x------ 1 oracle dba 64 Aug 12 05:54 5 -> /dev/null
lr-x------ 1 oracle dba 64 Aug 12 05:54 4 -> /dev/null
lr-x------ 1 oracle dba 64 Aug 12 05:54 3 -> /dev/null
lrwx------ 1 oracle dba 64 Aug 12 05:54 262 -> /oradata/serv/temp01.dbf
lrwx------ 1 oracle dba 64 Aug 12 05:54 261 -> /oradata/serv/users01.dbf (deleted)
lrwx------ 1 oracle dba 64 Aug 12 05:54 260 -> /oradata/serv/undotbs01.dbf
lrwx------ 1 oracle dba 64 Aug 12 05:54 259 -> /oradata/serv/sysaux01.dbf
lrwx------ 1 oracle dba 64 Aug 12 05:54 258 -> /oradata/serv/system01.dbf
lrwx------ 1 oracle dba 64 Aug 12 05:54 257 -> /oradata/serv/control02.ctl
lrwx------ 1 oracle dba 64 Aug 12 05:54 256 -> /oradata/serv/control01.ctl
l-wx------ 1 oracle dba 64 Aug 12 05:54 2 -> /dev/null
lr-x------ 1 oracle dba 64 Aug 12 05:54 11 -> /oracle/product/11.2.0/db_1/rdbms/mesg/oraus.msb
lrwx------ 1 oracle dba 64 Aug 12 05:54 10 -> /oracle/product/11.2.0/db_1/dbs/lkSERV
l-wx------ 1 oracle dba 64 Aug 12 05:54 1 -> /dev/null
lr-x------ 1 oracle dba 64 Aug 12 05:54 0 -> /dev/null
[oracle@node01 ~]$

SQL> create table t400(id int,name char(10)) tablespace users;
create table t400(id int,name char(10)) tablespace users
*
第 1 行出现错误:
ORA-01116: 打开数据库文件 4 时出错 ORA-01110:
数据文件 4: '/oradata/serv/users01.dbf'
ORA-27041: 无法打开文件
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3

[oracle@node01 ~]$ ls -ltr /proc/16851/fd
total 0
lrwx------ 1 oracle dba 64 Aug 12 05:54 9 -> /oracle/product/11.2.0/db_1/dbs/hc_serv.dat
lr-x------ 1 oracle dba 64 Aug 12 05:54 8 -> /dev/zero
lr-x------ 1 oracle dba 64 Aug 12 05:54 7 -> /proc/16851/fd
lr-x------ 1 oracle dba 64 Aug 12 05:54 6 -> /oracle/product/11.2.0/db_1/rdbms/mesg/oraus.msb
lr-x------ 1 oracle dba 64 Aug 12 05:54 5 -> /dev/null
lr-x------ 1 oracle dba 64 Aug 12 05:54 4 -> /dev/null
lr-x------ 1 oracle dba 64 Aug 12 05:54 3 -> /dev/null
lrwx------ 1 oracle dba 64 Aug 12 05:54 262 -> /oradata/serv/temp01.dbf
lrwx------ 1 oracle dba 64 Aug 12 05:54 261 -> /oradata/serv/users01.dbf (deleted)
lrwx------ 1 oracle dba 64 Aug 12 05:54 260 -> /oradata/serv/undotbs01.dbf
lrwx------ 1 oracle dba 64 Aug 12 05:54 259 -> /oradata/serv/sysaux01.dbf
lrwx------ 1 oracle dba 64 Aug 12 05:54 258 -> /oradata/serv/system01.dbf
lrwx------ 1 oracle dba 64 Aug 12 05:54 257 -> /oradata/serv/control02.ctl
lrwx------ 1 oracle dba 64 Aug 12 05:54 256 -> /oradata/serv/control01.ctl
l-wx------ 1 oracle dba 64 Aug 12 05:54 2 -> /dev/null
lr-x------ 1 oracle dba 64 Aug 12 05:54 11 -> /oracle/product/11.2.0/db_1/rdbms/mesg/oraus.msb
lrwx------ 1 oracle dba 64 Aug 12 05:54 10 -> /oracle/product/11.2.0/db_1/dbs/lkSERV
l-wx------ 1 oracle dba 64 Aug 12 05:54 1 -> /dev/null
lr-x------ 1 oracle dba 64 Aug 12 05:54 0 -> /dev/null
[oracle@node01 ~]$ cp /proc/16851/fd/261 /oradata/serv/users01.dbf

现在可以:
SQL> create table t400(id int,name char(10)) tablespace users;
create table t400(id int,name char(10)) tablespace users
*
第 1 行出现错误:
ORA-01116: 打开数据库文件 4 时出错 ORA-01110:
数据文件 4: '/oradata/serv/users01.dbf'
ORA-27041: 无法打开文件
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3

SQL>  create table t400(id int,name char(10)) tablespace users;

表已创建。








                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: