Oracle起步---创建临时表空间表空间创建⽤户授权1. 安装:
百度⼀下你就知道
2. sqlplus登录/sqlplus命令登录
在安装Oracle时,你需要记住设置的“全局数据库名”(默认为orcl) 和⼝令,在以两种⽅式登录时:
⽤户名: sys(超级⽤户==sysdba) / system(管理员⽤户和sys想⽐区别在于system不能创建表空间)...
⼝令:注意这⾥不仅仅要输⼊你设置的⼝令,在后⾯还要加上as sysdba 如:orcl as sysdba
3. 创建临时表空间/表空间/创建⽤户/授权
代码如下:
1:创建临时表空间
create temporary tablespace user_temp
tempfile 'Q:\oracle\product\10.2.0\oradata\Test\xyrj_temp.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
2:创建数据表空间
create tablespace user_data
logging
datafile 'Q:\oracle\product\10.2.0\oradata\Test\xyrj_data.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
第3步:创建⽤户并指定表空间
create user username identified by password
truncate删除数据default tablespace user_data
temporary tablespace user_temp;
第4步:给⽤户授予权限
grant connect,resource,dba to username;
4. 删除操作中的truncate,delete(不带where⼦句的delete语句),drop异同-------转⾄
相同点:
truncate和不带where⼦句的delete, 以及drop都会删除表内的数据
不同点:
drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index);
依赖于该表的存储过程/函数将保留,但是变为invalid状态.
2.delete语句是dml,这个操作会放到rollback segement中,事务提交之后才⽣效;
如果有相应的trigger,执⾏的时候将被触发. truncate,drop是ddl, 操作⽴即⽣效,
原数据不放到rollback segment中,不能回滚. 操作不触发trigger.
3.delete语句不影响表所占⽤的extent, ⾼⽔线(high watermark)保持原位置不动
显然drop语句将表所占⽤的空间全部释放 truncate 语句缺省情况下见空间释放到 minextents个 extent,
除⾮使⽤reuse storage; truncate会将⾼⽔线复位(回到最开始).
4.速度,⼀般来说: drop>; truncate >; delete
5.安全性:⼩⼼使⽤drop 和truncate,尤其没有备份的时候.否则哭都来不及使⽤上,
想删除部分数据⾏⽤delete,注意带上where⼦句. 回滚段要⾜够⼤. 想删除表,当然⽤drop 想保留表⽽将所有数据删除. 如果和事务⽆关,⽤truncate即可. 如果和事务有关,或者想触发trigger,还是⽤delete. 如果是整理表内部的碎⽚,可以⽤truncate跟上reuse stroage,再重新导⼊/插⼊数据
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论