微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐