TABLESPACE为READ ONLY,可进行的DML和DDL操作(部分举例)

创建测试表空间

create tablespace tablespacereadonly datafile '/u02/oradata/orcl/tablespacereadonly01.dbf' size 1m autoextend on next 1m maxsize unlimited;

创建测试用户

create user ureadonly identified by "123456" default tablespace tablespacereadonly;

给测试用户授权

grant connect,resource to uoffline;

创建测试表

create table t01(id integer,name varchar2(10));

插入测试数据

insert into t01(id,name) values (1,'a');

insert into t01(id,name) values (2,'b');

commit;

select * from t01;

将表空间置为只读

alter tablespace tablespacereadonly read only;

select * from t01;

--insert into...

--不可修改

insert into t01(id,name) values (3,'c');

--delete from...

--不可修改
delete from t01 where id=1;

--create table...

--创建表空间时需要分配空间,表空间为只读,故不允许操作

--不可修改
create table t02(id integer,name varchar2(10));

--alter table...rename to...

--alter table...rename to...只删除数据字典的相关信息(表并没有实际删除),而数据字典存在在system表空间中,system表空间未置为只读

--可修改

alter table t02 rename to t01;

--alter table...add...

--alter table...add...只修改数据字典的相关信息,而数据字典存在在system表空间中,system表空间未置为只读

--可修改

alter table t01 add age integer;

--alter table...drop column...不仅修改数据字典的相关信息,同时也将该字段占用的空间进行释放,由于表空间为只读,故不可操作

--不可修改

alter table t01 drop column age;

--alter table...rename column...to...

--alter table...rename column...to...只修改数据字典的相关信息,而数据字典存在在system表空间中,system表空间未置为只读

--可修改

alter table t01 rename column age to ages;

--alter table...modify...只修改数据字典的相关信息,而数据字典存在在system表空间中,system表空间未置为只读

--可修改

alter table t01 modify name varchar2(20);

--drop table...

--drop table只删除数据字典的相关信息(表并没有实际删除),而数据字典存在在system表空间中,system表空间未置为只读
--可修改
drop table t01;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值