天天看点

oracle 建表空间自增,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