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

Oracle常用操作脚本

2010-07-13 10:41 246 查看
 

 

--1.创建表空间(必须以DBA用户登陆)

--1.1创建表空间

--1.1.1临时表空间

 create temporary tablespace test_temp --表空间名称为test_temp

 tempfile 'E:/oracle/product/10.2.0/oradata/testserver/test_temp01.dbf'  --文件路径和名称 必须为绝对地址,不能使用相对地址.

 size 32m         --初始化文件大小

 autoextend on    --是否自动扩展

 next 32m maxsize 2048m --扩展空间大小及最大空间

 extent management local;--存储区管理方法 有两种dictionary(字典管理),local(本地管理)

 

--1.1.2数据表空间

 create tablespace test_data

 logging  --nologging--创建表时一般不需要记录日志,因为无数据,记录日志反而会影响创建表的速度

 datafile 'E:/oracle/product/10.2.0/oradata/testserver/test_data01.dbf' 

 size 32m 

 autoextend on 

 next 32m maxsize 2048m

 extent management local;

 

--1.2释放表空间

drop tablespace tablespaceName;

commit;

 

2.创建与删除用户

  --创建用户test,密码为aaa,默认表空间为tableSpaceName

 

  create user test identified by aaa

  default tablespace tableSpaceName;

 

 

  --删除用户test(cascade删除和用户有关的对象)

  drop user test  cascade;

 

3.赋权

  --将某表tableName的DBA权限赋予用户userName

  grant dba on tableName to userName;

 

 

--4.查询所有的表空间

select f.tablespace_name,a.total,u.used,f.free,round((u.used/a.total)*100) "% used",

  round((f.free/a.total)*100) "% Free" 

  from

  (select tablespace_name, sum(bytes/(1024*1024)) total 

       from dba_data_files group by tablespace_name) a,

  (select tablespace_name, round(sum(bytes/(1024*1024))) used 

       from dba_extents group by tablespace_name) u,

  (select tablespace_name, round(sum(bytes/(1024*1024))) free 

       from dba_free_space group by tablespace_name) f

WHERE a.tablespace_name = f.tablespace_name

and a.tablespace_name = u.tablespace_name; 

 

 

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