Oracle建表空间各种语句
在创建用户之前,先要创建表空间: ?????? 其格式为:格式: create tablespace 表间名 datafile 数据文件名 size 表空间大小; ??????? 如: ??????? SQL create tablespace news_tablespace datafile F:\oradata\news\news_data.dbf size 500M; ?????? 其中 news_tablespace 是你自定义的表空间 oradata\news\news_data.dbf 是数据文件的存放位置, news_data.dbf 文件名也 是任意取; size 500M 是指定该数据文件的大小,也就是表空间的大小。 ?????? 现在建好了名为 news_tablespace 的表空间,下面就可以创建用户了: ?????? 其格式为:格式: create user 用户名 identified by 密码 default tablespace 表空间表; ???????? 如: ?????? SQL create user news identified by news default tablespace news_tablespace; ??????? 默认表空间 default tablespace 使用上面创建的表空间。 ?????? 接着授权给新建的用户: ??? SQL grant connect,resource to news; --表示把 connect,resource 权限授 予 news 用户 ??? SQL grant dba to news; --表示把 dba 权限授予给 news 用户 ??? 授权成功。 ok! 数据库用户创建完成,现在你就可以使用该用户创建数据表了! 1.建表空间 create tablespace hoteldata datafileautoextend on next 10m maxsize unlimited; 2.建用户 create user hotel identified by hotel default tablespace hoteldata account unlock;//identified by 后面的是密码,前面的是用户名 3.用户授权 grant resource,connect,RECOVERY_CATALOG_OWNER to hotel ; grant create table to hotel; alter user hotel quota unlimited ON OSDB; alter user hotel default tablespace hoteldata; 4.删除表空间 DROP TABLESPACE hoteldata INCLUDING CONTENTS AND DATAFILES; 5.删除用户 DROP USER hotel CASCADE 6.删除表的注意事项 在删除一个表中的全部数据时,须使用 TRUNCATE TABLE 表名;因为用 DROP TABLE, DELETE * FROM 表名时, TABLESPACE 表空间该表的占用空间并未释放, 反复几次 DROP, DELETE 操作后,该 TABLESPACE 上百兆的空间就被耗光了。 oracle sqlplus 脚本建库总结(原创) ******************************************************************/ --查询表空间参数 select tablespace_name,min_extents,max_extents,pct_increase,status from dba_tablespaces; --查询数据文件信息 --autoextensible 数据库已满后是否自动扩展 select tablespace_name,bytes,autoextensible,file_name from dba_data_files; /******************************************************************/ --创建表空间 --??? 一般信息 --??????? DATAFILE:数据文件目录 --??????????? 存储 --??????????????? AUTOEXTEND:数据文件满后自动扩展 --??????????????????? ON NEXT:增量 --??????????????????? MAXSIZE UNLIMITED:最大容量无限制 --??????? SIZE:文件大小 --??? 存储 --??????? 启用事件记录:LOGGING 为生成从做日志并可恢复,NOLOGGING 为快速更 新不生成日志且不可恢复 --??????? MANAGEMENT LOCAL:本地管理 --??????????? 缺省:自动分配 --??????????? UNI SIZE:统一分配 --??????? MANAGEMENT DICTIONARY:在字典中管理 --??????????? DEFAULT STORAGE:覆盖默认区值 --??????????????? INITIAL:初始大小 --??????????????? NEXT :下一个大小 --??????????????? MINEXTENTS:最小数量 --??????????????? MAXEXTENTS UNLIMITED :最大数量不限制 --??????????????? PCTINCREASE:增量,单位“%“ --??????????????? MINIMUM EXTENT:最小区大小 CREATE TABLESPACE “TEST“ ??? NOLOGGING ??? DATAFILE G:\ORACLE\ORADATA\MYORACLE\TEST.ora SIZE 5M REUSE ??? AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED EXTENT ??? MANAGEMENT LOCAL UNI SIZE 12K; --最好写成相对路径,免得出错 CREATE TABLESPACE “TEST“ ??? NOLOGGING ??? DATAFILE /DATABASE/TEST.ora SIZE 5M REUSE--建议用 /oradata/TEST.ora ??? AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED EXTENT ??? MANAGEMENT LOCAL UNI SIZE 12K; CREATE TABLESPACE “TEST“ ??? LOGGING ??? DATAFILE G:\ORACLE\ORADATA\MYORACLE\TEST.ora SIZE 5M EXTENT ??? MANAGEMENT DICTIONARY DE