码迷,mamicode.com
首页 > 数据库 > 详细

Oracle 创建表空间,用户,赋值(简装)

时间:2016-07-31 22:26:42      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:oracle 创建表空间   用户   赋值(简装)   

一,

1.Oracle 创建表空间,用户,赋值(简装)

C:\Documents and Settings\Administrator>sqlplus /nolog
SQL> conn /as sysdba

2.删除用户
drop user username cascade;

3.创建自增表表空间
SQL> create tablespace 表空间 datafile ‘E:\oracle\product\10.2.0\oradata\表空间.dbf‘ size 50m autoextend on;
4.创建用户

create user username identified by password default tablespace 表空间;
5.赋值

grant dba to username;

exit

6.导入数据库

在本地导入数据库

C:\>imp 用户名/用户密码@实例名 file=G:\oracle\oracle.bak full=y

7.导入数据库

导出非本地数据库

C:\>exp rows=y owner=用户名 file="E:\289\库名_201107.dmp" log="e:\289\库名_201107.log"
额外操作

增加表空间
SQL> alter tablespace sjpt resize 500m;
ORA-32773: 不支持对小文件表空间 SJPT 的操作

如果报以上错误则换为:
SQL> alter tablespace sjpt add datafile ‘d:\oradata\sjpt1.dbf‘ size 500m reuse autoextend on next 100m;

 

二,

http://jun0325.javaeye.com/blog/603783
2.1.查看所有表空间大小:
select tablespace_name,sum(bytes)/1024/1024 from dba_data_files group by tablespace_name;

2.2.已经使用的表空间大小:
select tablespace_name,sum(bytes)/1024/1024 from dba_free_space group by tablespace_name;

2.3. 所以使用空间可以这样计算:
select a.tablespace_name,total,free,total-free used from    
( select tablespace_name,sum(bytes)/1024/1024 total from dba_data_files   
   group by tablespace_name) a,    
( select tablespace_name,sum(bytes)/1024/1024 free from dba_free_space   
   group by tablespace_name) b   
where a.tablespace_name=b.tablespace_name;

 

最近一直在导入Oracle的很多备份到新的服务器上的新的Oracle上,但是导入新服务器的Oracle上后,发现使用的仍然是之前默认使用的USERS表空间,并非使用我自行创建的表空间,于是从网上索罗了很多修改表空间的方法终于搞定了。
主要用到了下面几个sql: 
(1) 查询占用该表空间的表: select segment_name,bytes/1024/1024 from dba_segments where tablespace_name=‘ts_name‘ and segment_type=‘TABLE‘; 
(2) 修改表所使用的表空间: alter table buffalo_wf_processinstance move tablespace "ts_name"; 
(3) 修改带有大字段表的表空间: alter table tb_name(表名) move tablespace tbs_name(表空间名) lob(col_lob1(字段名),col_lob2) store as(tablesapce tbs_name); 
(4) 对于有索引的表重建索引: alter index PK_T_CMS_CATALOG(索引名) rebuild; 不知道各位高手在遇到这种情况的时候是如何修改它的表空间?

 

 三,

3.1

查看表空间是否为自增??

---如果有多个数据文件,则单个显示分开显示、

 select TABLESPACE_NAME, AUTOEXTENSIBLE from dba_data_files;

----表空间没有自增属性,而表空间中的数据文件是可以自增的,所以间接达到表空间自增

select distinct TABLESPACE_NAME, AUTOEXTENSIBLE from dba_data_files;

3.2

查看数据文件,有时会有多个,而且不在同一目录,所以需要用到

select * from dba_data_files;


 2011-01-06


本文出自 “五片棱角” 博客,请务必保留此出处http://hi289.blog.51cto.com/4513812/1832572

Oracle 创建表空间,用户,赋值(简装)

标签:oracle 创建表空间   用户   赋值(简装)   

原文地址:http://hi289.blog.51cto.com/4513812/1832572

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!