SQL>>
Tablespace>
SQL>>
Tablespace>
SQL>>
Tablespace>
SQL>>
Tablespace> 查看一下表空间是否已经变大。
SQL> selecttablespace_name,sum(bytes/1024/1024) as FreeSize
2 from dba_free_space
3 group by tablespace_name;
TABLESPACE_NAME FREESIZE
------------------------------ ----------
SYSAUX 157.75
UNDOTBS1 205.75
USERS 127.5625
SYSTEM 133.5625
EXAMPLE 21.25
由上结果可知:已经添加数据文件成功,表空间已经变大。
2.接下来我们继续在表空间中创建新的表,并添加数据。 2.1首先是创建一个账户,并赋权。
SQL> create user test> tablespace temp;
用户已创建。
SQL> grant connect,resource to test;
授权成功。 2.2 创建一个testtable表,并添加数据。
鉴于方便,我们直接复制scott用户的dept表中的数据。
首先是赋权test可以select scott用户的dept表。
SQL> grant select on scott.dept to test;
授权成功。
然后创建testtable表,内容为dept的表内容。
SQL> create table testtable as select *from scott.dept;
表已创建。
SQL> select * from testtable;
DEPTNO DNAME LOC
---------- -------------- -------------
90 tec guangzhou
70 tec beijing
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
60 tec shanghai
已选择7行。
接下来我们先备份数据文件和控制文件,下面的是一位大牛的原话,我直接粘贴了:
“切记:每次对数据库结构(调整表空间,增减数据文件)后,最好能立即备份一次数据库,并备份一次控制文件!一个好的DBA不是会多少奇怪的花样,弄一些稀奇古怪的参数来显示自己的博学,而是踏踏实实的做好每个简单的细节!细节决定成败!” 第二步:备份数据文件和控制文件。 1.先查看数据文件的位置,为备份做准备。
Select tablespace_name, file_name fromdba_data_files order by tablespace_name; 2.表空间设置为热备份模式。
SQL>> 表空间已更改。
SQL>> 表空间已更改。
SQL>> 表空间已更改。
SQL>> 表空间已更改。 3.将数据文件复制一份到备份目录中。 4.关闭表空间的热备份模式。
SQL>> 表空间已更改。
SQL>> 表空间已更改。
SQL>> 表空间已更改。
SQL>> 表空间已更改。 5.日志切换
SQL>> 系统已更改。 6.备份控制文件
SQL>> 数据库已更改。 7.再日志切换
SQL>> 系统已更改。 第三步:删除users表空间的数据文件
Shutdown immediate;然后删除USERS01.DBF和USERS02.DBF,然后startup。 第四步:恢复数据文件并测试数据完整性
重启后会提示:
SQL> startup
ORA-32004: obsolete or deprecatedparameter(s) specified for RDBMS insta
ORACLE 例程已经启动。
Total System Global Area 778387456 bytes