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

猜你在找的Oracle相关文章