第一篇:oracle表空间管理及操作实用案例
Oracle
表空间管理及操作详解(附带案例)
一:表空间概述
表空间是数据库的逻辑组成部分,从物理上讲,数据库数据存放在数据文件中;数据库逻辑上讲是由一个或者多个表空间组成,数据文件则是存放在表空间中,表空间有一个或者多个数据文件组成即表空间有数据文件构成的。
数据库,表空间,段,区,块,按大小排列依次是:数据库---》表空间-----》段-----》区----》块。
1.建立表空间的作用:
(1.)控制数据库占用的磁盘空间。(2).dba可以将不同的数据类型部署到不同的位置,这样有利于提高i/o性能,同时有利与备份和恢复等管理操作。
二:管理表空间和数据文件。
(1)建立表空间create tablespace;一般情况下建立表空间是特权用户或者dba来执行的,如果其他用户来创建表空间,则用户建必须要具有create tablespace的系统权限。(2)建立数据表空间
在建立数据库后,为便于管理表,最好建立自己的表空间。
create tablespace sp02 datafile 'd:testsp02.dbf' size 20m uniform size 128k 说明:执行完上述命令后,会建立名称为sp02的表空间,并为该表空间建立名称为sp02.dbf的数据文件,区的大小为128k。(3.)在表空间建表
create table tablesp02(ID number(5),name varchar2(20))tablespace sp02(4)显示当前用户拥有哪些表。
select * from tab;
(5).知道表空间名,显示该表空间包括的所有表。
select * from all_tables where tablespace_name='表空间名'。
注:拥有权限不同的用户在进行以上操作得到的结果可能不同。System可以查看得到某空间的所拥有表。(比如users表空间)(6)知道表名,查看该表属于那个表空间。
select TABLESPACE_NAME, TABLE_NAME from user_tables where TABLE_NAME='EMP';(7)知道表名,查看该表属于那个表空间,属于哪个用户。
select owner,TABLESPACE_NAME, TABLE_NAME from all_tables where TABLE_NAME='EMP';(8)改变表空间的状态 使表空间可读写
alter tablespace 表空间名 read write;
删除表空间,一般情况下由特权用户或者dba来操作。具有drop tablespace系统权限。
drop tablespace ‘表空间’includeing contens and datafiles;
说明:includeing contens表示删除表空间时,删除该空间的所有数据库对象而datafiles表示将数据库文件也删除。(9)改变表空间的状态(1)使用空间脱机
alter tablespace 表空间名 offline(2)使用空间联机
alter tablespace表空间名online(3)只读表空间
建立表空间时,表空间可以读写,如果不希望在表空间上执行update,delete,insert操作。那么可以将表空间修改为只读。alter talbespace sp01 read only;
三:移动数据文件:
(1)确定数据文件所在的表空间(知道表属于哪个表空间)Select tablespace_name from dba_data_files where file_name='D:TEST 5.DBF';(2)使用表空间脱机
确保数据文件的一致性,将表空间转换为offline的状态。alter tablespace sp01 offline;
(3)使用命令移动数据文件到指定的目标位置。host move d:testsp01.dpf c:testsp01.dbf;(4)执行alter tablespace命令
在物理上移动了数据后,还必须执行alter tablespace命令对数据库文件进行逻辑修改。
alter tablespace sp01 rename datefile ‘d:sp01.dbf’ to 'c:sp01.dbf'(5)使得表空间联机
在移动了数据文件后,为了使用户可以访问该表空间,必须将其变为online状态:
alter tablespace sp01 online;
四:显示表空间信息:
查询数据视图字典dba_tablespace,显示表空间的信息:
select tablespace_name from dba_tablespaces 显示某个表空间的详细信息: select * from dba_tablespaces where TABLESPACE_NAME='SP05';显示表空间所包含的数据文件。查询数据字典视图dba_data_files。可显示表空间所包含的数据文件如下:
select file_name,bytes from dba_data_files where tablespace_name='SP05';常用表空间,undo表空间和临时表空间,非标准块的表空间。了解表空间的各个状态:如何改变表空间的的状态的方法。(online,offline,read write,read only)system是系统表空间,不能作为只读,如果是普通表空间,那么我们可以设为只读。
五:附加案例:建一个表空间,在表空间里面建表,并且增加表空间的存储空间。
1.建立表空间 create tablespace sp05 datafile 'd:testsp05.dbf' size 20m uniform size 128k 2.建表
create table tablesp05(ID number(5),name varchar2(20))tablespace sp02 3.insert into tablesp05 select * from tablesp05;(重复多步提示空间不足)
4,拓展表空间,扩大存储空间。
alter tablespace sp05 add datafile 'D:test 5.dbf' size 20m;
拓展表空间的存储空间这里有三种方法:
(1)增加数据文件alter tablespace sp05 add datafile 'D:test 5.dbf' size 20m;
(2)修改数据文件大小
alter database datafile 'd:testsp05.dbf' resize 50m;数据文件不要超过500m。(3)设置文件的自动增长 alter database datafile 'D:testSP05.dbf' autoextend on next 10m maxsize 500m;
第二篇:oracle 管理表空间和数据文件
oracle 管理表空间和数据文件
介绍ν
表空间是数据库的逻辑组成部分。从物理上讲,数据库数据存放在数据文件中;
从逻辑上讲,数据库则是存放在表空间中,表空间由一个或多个数据文件组成。
数据库的逻辑结构
介绍ν
oracle 中逻辑结构包括表空间、段、区和块。
说明一下数据库由表空间构成,而表空间又是由段构成,而段又是由区构成,而
区又是由 oracle块构成的这样的一种结构,可以提高数据库的效率。
为了让大家明白,我们画图说明逻辑关系:看图:
表空间
介绍ν
表空间用于从逻辑上组织数据库的数据。数据库逻辑上是由一个或是多个表空间
组成的。通过表空间可以达到以下作用:
1.控制数据库占用的磁盘空间
2.dba 可以将不同数据类型部署到不同的位置,这样 利于提高 i/o性能,同
时利于备份和恢复等管理操作。(可以把索引,触发器单独放一个表空间中)。
建立表空间ν
建立表空间是使用 crate tablespace 命令完成的,需要注意的是,一般情况下,建立表空间是特权用户或是 dba 来执行的,如果用其它用户来创建表空间,则用
户必须要具 create tablespace 的系统权限。
建立数据表空间ν
在建立数据库后,为便于管理表,最好建立 自己的表空间 create tablespace data01 datafile 'd:testdada01.dbf' size 20m uniform size 128k;
说明:执行完上述命令后,会建立名称为 data01 的表空间,并为该表空间建立
名称为 data01.dbf 的数据文件,区的大小为 128k
ν 使用数据表空间(把表关联到表空间,如果没指定表空间,则默认在sys表空间里)create table mypart(deptno number(4), dname varchar2(14), loc varchar2(13))tablespace data01;
改变表空间的状态ν
当建立表空间时,表空间处于联机的(online)状态,此时该表空间是可以访问的,并且该表空间是可以读写的,即可以查询该表空间的数据,而且还可以在表
空间执行各种语句。但是在进行系统维护或是数据维护时,可能需要改变表空间的状态。一般情况下,由特权用户或是 dba 来操作。安全性考虑
1.使表空间脱机
alter tablespace 表空间名 offline;2.使表空间联机
alter tablespace 表空间名 online;3.只读表空间
当建立表空间时,表空间可以读写,如果不希望在该表空间上执行update,delete,insert 操作,那么可以将表空间修改为只读
alter tablespace 表空间名 read only;
(修改为可写是 alter tablespace 表空间名 read write;)
改变表空间的状态ν
我们给大家举一个实例,说明只读特性:
1.知道表空间名,显示该表空间包括的所有表
select * from all_tables where tablespace_name=’表空间名’;
2.知道表名,查看该表属于那个表空间 select tablespace_name, table_name from user_tables where table_name=’emp’;
通过 2.我们可以知道 scott.emp 是在 system 这个表空间上,现在我们可以将
system 改为只读的但是我们不会成功,因为 system 是系统表空间,如果是普通
表空间,那么我们就可以将其设为只读的,给大家做一个演示,可以加
理解。
3.4.使表空间可读写
alter tablespace 表空间名 read write;
ν 删除表空间
一般情况下,由特权用户或是 dba 来操作,如果是其它用户操作,那么要求用户
具 drop tablespace 系统权限。
drop tablespace ‘表空间’ including contents and datafiles;
说明:including contents 表示删除表空间时,删除该空间的所有数据库对象,而 datafiles 表示将数据库文件也删除。
扩展表空间ν
表空间是由数据文件组成的,表空间的大小实际上就是数据文件相加后的大小。
那么我们可以想象,假定表employee 存放到data01 表空间上,初始大小就是
2M,当数据满 2M 空间后,如果在向 employee 表插入数据,这样就会显示空间不
足的错误。
案例说明:
1.建立一个表空间 sp01
2.在该表空间上建立一个普通表 mydment 其结构和 dept 一样
3.向该表中加入数据 insert into mydment select * from dept;4.当一定时候就会出现无法扩展的问题,怎么办?
5.就扩展该表空间,为其增加更多的存储空间。三种方法:
1.增加数据文件
SQL> alter tablespace sp01 add datafile ‘d:testsp01.dbf’ size 20m;
-----------------------Page 51-----------------------2.增加数据文件的大小
SQL> alter tablespace 表空间名 ‘d:testsp01.dbf’ resize 20m;
这里需要注意的是数据文件的大小不要超过 500m。
3.设置文件的自动增长。
SQL> alter tablespace 表空间名 ‘d:testsp01.dbf’ autoextend on next
10m maxsize 500m;
移动数据文件ν
有时,如果你的数据文件所在的磁盘损坏时,该数据文件将不能再使用,为了能
够重新使用,需要将这些文件的副本移动到其它的磁盘,然后恢复。
下面以移动数据文件 sp01.dbf为例来说明:
1.确定数据文件所在的表空间
select tablespace_name from dba_data_files where file_name=’d:testsp01.dbf’;
2.使表空间脱机
确保数据文件的一致性,将表空间转变为 offline 的状态。
alter tablespace sp01(表空间名)offline;3.使用命令移动数据文件到指定的目标位置
host move d:testsp01.dbf c:testsp01.dbf 4.执行 alter tablespace 命令
在物理上移动了数据后,还必须执行alter tablespace 命令对数据库文件进行
逻辑修改: alter tablespace sp01 rename datafile ‘d:testsp01.dbf’ to
‘c:testsp01.dbf’;
5.使得表空间联机
在移动了数据文件后,为了使用户可以访问该表空间,必须将其转变为 online 状态。
alter tablespace sp01(表空间名)online;
显示表空间信息ν
查询数据字典视图 dba_tablespaces,显示表空间的信息:
select tablespace_name from dba_tablespaces;
显示表空间所包含的数据文件ν
查询数据字典视图 dba_data_files,可显示表空间所包含的数据文件,如下:
select file_name, bytes from dba_data_files where tablespce_name=’表
空间’;
表空间小结ν
1.了解表空间和数据文件的作用
2.掌握常用表空间,undo 表空间和临时表空间的建立方法
3.了解表空间的各个状态(online, offline, read write, read only)的作用,及如何改变表空间的状态的方法。
4.了解移动数据文件的原因,及使用alter tablespace 和 alter datatable 命令移动数据文件的方法。
-----------------------Page 52-----------------------
其它表空间ν
除了最常用的数据表空间外,还有其它类型表空间:
1.索引表空间 2.undo 表空间
3.临时表空间
4.非标准块的表空间
这几种表空间,大家伙可以自己参考书籍研究,这里我就不讲。
其它说明ν
关于表空间的组成部分 段/区/块,我们在后面给大家讲解。
第三篇:oracle表空间和数据文件的管理实验
表空间和数据文件的管理实验
试验目的:全面掌握表空间和数据文件的创建、管理过程 试验内容:
1、创建表空间、增加数据文件
2、管理表空间和数据文件的的各种操作 试验步骤:
1、掌握表空间和数据文件相关的概念
1)oracle默认的表空间
系统默认的表空间:SYSTEM、SYSAUX、UNDOTBS1、EMP、EXAMPLE、USERS 2)系统表空间
SYSTEM、SYSAUX是系统表空间,SYSTEM用于存放oracle数据字典的结构和内部元数据。
SYSAUX是SYSTEM的辅助表空间用于存放个模式(用户)的对象元数据。
3)非系统表空间
由DBA根据需要创建,存放用户自己的数据,也可以包含临时数据以及UNDO数据。
2、创建表空间
1)创建表空间的语法
CREATE [smallfile|bigfile] TABLESPACE tablespace_name DATAFILE ‘/path/filename’ SIZE [k|m] REUSE
[‘/path/filename’ SIZE [k|m] REUSE]
[AUTOEXTEND [ON|OFF] NEXT [k|m] MAXSIZE [UNLIMITED|[K|M]]] [ONLINE|OFFLINE] [LOGGING|NOLOGGING] [PERMANENT|TEMPORARY] [DICTIONARY|LOCAL]
2)定义表空间名字及属性
创建两个表空间ts_test1、ts_test2,本地化管理(Local,默认)、永久表空间(permantent,默认)
3)定义数据文件名字、路径、初始大小、自动扩展等属性
数据文件data_test1、data_test2 路径:c:disk1data_test1.dbf c:disk2data_test2
4)创建脚本:
a、创建本地永久表空间
//创建本地永久表空间ts_test1和ts_test2,默认为永久和本地
SQL>create tablespace ts_test1 datafile ‘c:disk1data_file1.dbf’ size=50m reuse autoextend on next 10m;
SQL>create tablespace ts_test2 datafile ‘c:disk2data_file2.dbf’ size=50m reuse autoextend on next 10m maxsize unlimited;查看一下创建完成的结果
//查看dba_tablespaces结构
SQL>desc dba_tablespaces;
//查看字典中的所有表空间情况,extent_management值为local时为本地表空间 SQL>select tablespace_name,status,extent_management,content from dba_tablespaces;//查看创建表空间时创建的数据文件,首先查看dba_data_files字典结构 SQL>desc dba_data_files;//查看数据文件情况 SQL>set linesize 120 SQL>col file_name for a20 SQL>col file_id for a20 SQL>col tablespace_name a30 SQL>col online_status for a20 SQL>select file_name,file_id,tablespace_name,online_status from dba_data_files;
b、创建还原表空间和临时表空间
//创建还原表空间
SQL>create undo tablespace test_undo datafile ‘c:disk3test_undo’ size 20m;
//查看创建结果,contents为表空间内容类型,如undo
SQL>select tablespace_name,contents from dba_tablespaces;
c、创建临时表空间
//创建临时表空间
SQL>create temporary tablespace test_temp
tempfile ‘c:disk4test_temp.dbf’ size 20m extent management local;
//查询创建结果
SQL>select tablespace_name,extent_management,contents from dba_tablespaces;d、增加数据文件
//增加数据文件
SQL>alter tablespace ts_test1 add datafile ‘c:disk1ts_test11.dbf’ size 10m;
//查看增加数据文件的结果
SQL>col file_name for a30
SQL>col tablespace_name for a30 SQL>select file_name,tablespace_name from dba_data_files;
3、管理表空间的各种操作
1)改变表空间的读写状态
//将表空间设为只读
//这时表空间应为online状态,表空间不能包含回滚段,不能是归档模式
//查看数据库日志模式
SQL>archive log list;//查看表空间contents
SQL>select tablespace_name,contents from dba_tablespaces where tablespace_name like‘TS_%’;
//修改为只读
SQL>alter tablespace ts_test1 read only;2)表空间脱机离线、在线连接
SQL>alter tablespace ts_test1 offline;
SQL>alter tablespace ts_test1 online;
//查看表空间状态
SQL>select tablespace_name,status from dba_tablespaces;3)修改表空间名称 //查询当前表空间名称和所包含的数据文件
SQL>select file_name,tablespace_name from dba_data_files;//确认表空间处在online状态
SQL>select tablespace_name,status from dba_tablespaces;//表空间改名
SQL>alter tablespace ts_test2 rename to ts_test22;//查询修改结果
SQL>Col file_name for a30;SQL>col tablespace_name for a30;SQL>select file_name,tablespace_name from dba_data_files;4)设置默认表空间
SQL>alter database default tablespace users //设置默认临时表空间
SQL>alter database default temporary tablespace temp;5)删除表空间
SQL>drop tablespace ts_test2;//仅删除表空间信息不删除表空间数据文件 SQL>drop tablespace ts_test2 includng contents;//包括数据文件全部删除 查看删除后的结果情况
SQL>select file_name,tablespace_name from dba_data_files;6)切换undo表空间
SQL>alter system set undo_tablespace =undotbs02;7)删除undo表空间
要删除正在使用的undo表空间,首先切换undo表空间后在进行删除 例如删除undost01 SQL>alter system set undo_tablespace=undost02;SQL>drop tablespace undost01;8)查询undo表空间信息
SQL>show parameter undo_tablespace;
4、管理数据文件的各种操作 1)在表空间中新增一个数据文件
SQL>alter tablespace ts_test1 add datafile ‘c:dsk1ta_test111.dbf’ size 50m;2)删除表空间中无数据的数据文件 第一种语法
SQL>alter database datafile ‘c:disk1ts_test1.dbf’ offline;//数据文件脱机 SQL>alter tablespace ts_test1 drop datafile ‘c:disk1ts_test111.dbf’;第二种语法:
SQL>alter database datafile ‘mytb.dbf’ offline drop;3)数据文件自动扩展设置
SQL>alter tablespace ts_test1 datafile ‘c:disk1ts_test1.dbf’ autoextend on next 10m maxsize 500m;4)重置数据文件大小,收回或扩数据文件空间
SQL>alter tablespace ts_test1 datafile ‘c:disk1ts_test1.dbf’ resize 45m;
查询重置数据文件大小后的结果
SQL>col file_name for a30;
SQL>col tablespace_name for a30;
SQL>select file_name,tablespace_name,bytes/(1024*1024)from dba_data_files;5)移动数据文件
有两条语句可以实现对数据文件的移动:
a、alter tablespace tablespace_name rename datafile ‘/path/file_name1’
to ‘/path/file_name_new’;
a这条语句主要适合用户表空间,在执行这条语句时表空间必须脱机才能执行。SQL>alter tablesapace ts_test2 offline;//使表空间ts_test2脱机
SQL>host copy c:disk2ts_test2.dbf c:disk1 //将数据文件拷贝到新的位置
SQL>alter tablespace rename datafile ‘c:disk2ts_test2.dbf’ to ‘c:disk1ts_test1.dbf’;b、alter database db_name rename file ‘/path/file_name1’ to ‘/path/file_name_new’;
这条语句使用于系统表空间及不能置为脱机的表空间中的数据文件。在使用该语句时,数据库必须在加载(mount)的状态且目标数据文件必须存在,因为该语句只是修改文件中指向数据文件的指针(地址)。SQL>shutdown immediate;SQL>host copy c:oracleproduct10.2.0oradatasystem01.dbf c:disk1 SQL>startup mount;SQL>alter database rename file ‘c:oracleproduct10.2.0oradataorclsystem01.dbf’ to ‘c:disk1system01.dbf’;SQL>alter database open;查询移动后的结果
SQL>select file_name,tablespace_name from dba_data_files;
第四篇:Oracle建表空间各种语句
在创建用户之前,先要创建表空间:
其格式为:格式: create tablespace 表间名 datafile '数据文件名' size 表空间大小;如:
SQL> create tablespace news_tablespace datafile 'F:oracleproduct10.1.0oradatanewsnews_data.dbf' size 500M;其中'news_tablespace'是你自定义的表空间名称,可以任意取名;'F:oracleproduct10.1.0oradatanewsnews_data.dbf'是数据文件的存放位置,'news_data.dbf'文件名也是任意取;'size 500M'是指定该数据文件的大小,也就是表空间的大小。
现在建好了名为'news_tablespace'的表空间,下面就可以创建用户了:
其格式为:格式: create user 用户名 identified by 密码 default tablespace 表空间表;如:
SQL> create user news identified by news default tablespace news_tablespace;默认表空间'default tablespace'使用上面创建的表空间。
接着授权给新建的用户:
SQL> grant connect,resource to news;--表示把 connect,resource权限授予news用户
SQL> grant dba to news;--表示把 dba权限授予给news用户
授权成功。
ok!数据库用户创建完成,现在你就可以使用该用户创建数据表了!1.建表空间
create tablespace hoteldata datafile 'D:javaOracleproduct10.1.0oradatazznorclhoteldata.dbf'size 200m autoextend on next 10m maxsize unlimited;2.建用户 create user hotel identified by hotel default tablespace hoteldata account unlock;//identified by 后面的是密码,前面的是用户名 3.用户授权
grant resource,connect,RECOVERY_CATALOG_OWNER to hotel;grant create table to hotel;alter user hotel quota unlimited ON OSDB;alter user hotel default tablespace hoteldata;4.删除表空间
DROP TABLESPACE hoteldata INCLUDING CONTENTS AND DATAFILES;5.删除用户
DROP USER hotel CASCADE 6.删除表的注意事项
在删除一个表中的全部数据时,须使用TRUNCATE TABLE 表名;因为用DROP TABLE,DELETE * FROM 表名时,TABLESPACE表空间该表的占用空间并未释放,反复几次DROP,DELETE操作后,该TABLESPACE上百兆的空间就被耗光了。oracle sqlplus脚本建库总结(原创)******************************************************************/--查询表空间参数
select tablespace_name,min_extents,max_extents,pct_increase,status from dba_tablespaces;--查询数据文件信息
--autoextensible数据库已满后是否自动扩展
select tablespace_name,bytes,autoextensible,file_name from dba_data_files;/******************************************************************/--创建表空间
--一般信息
--DATAFILE:数据文件目录--存储
--AUTOEXTEND:数据文件满后自动扩展--ON NEXT:增量
--MAXSIZE UNLIMITED:最大容量无限制--SIZE:文件大小--存储
--启用事件记录:LOGGING为生成从做日志并可恢复,NOLOGGING为快速更新不生成日志且不可恢复
--MANAGEMENT LOCAL:本地管理--缺省:自动分配
--UNIFORM SIZE:统一分配
--MANAGEMENT DICTIONARY:在字典中管理--DEFAULT STORAGE:覆盖默认区值--INITIAL:初始大小--NEXT :下一个大小--MINEXTENTS:最小数量
--MAXEXTENTS UNLIMITED :最大数量不限制--PCTINCREASE:增量,单位“%”--MINIMUM EXTENT:最小区大小 CREATE TABLESPACE “TEST” NOLOGGING DATAFILE 'G:ORACLEORADATAMYORACLETEST.ora' SIZE 5M REUSE AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL UNIFORM SIZE 12K;--最好写成相对路径,免得出错 CREATE TABLESPACE “TEST” NOLOGGING DATAFILE '../DATABASE/TEST.ora' SIZE 5M REUSE--建议用'../oradata/TEST.ora' AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL UNIFORM SIZE 12K;CREATE TABLESPACE “TEST” LOGGING DATAFILE 'G:ORACLEORADATAMYORACLETEST.ora' SIZE 5M EXTENT MANAGEMENT DICTIONARY DEFAULT STORAGE(INITIAL 1K NEXT 2K MINEXTENTS 5 MAXEXTENTS 67 PCTINCREASE 4)MINIMUM EXTENT 3K;/******************************************************************/--增加表空间, 注意这里test.ora1不能与原表空间文件名称相同--添加一个新的大小为5M数据库文件test.ora1 alter tablespace mytesttablespace add datafile 'c:testtest.ora1' size 5M;/******************************************************************/--修改表空间数据库文件属性,myoracle为sid--将test.ora1数据库文件改为3M,其中resize可以是ONLINE, OFFLINE, RESIZE, AUTOEXTEND 或 END/DROP alter database myoracle datafile 'c:testtest.ora1' resize 3M;alter database myoracle datafile '$ORACLE_HOME/oradata/undo102.dbf' autoextend on next 10m maxsize 500M;/******************************************************************/ /*删除表空间
语法:drop tablespace tablespace_name including contents and datafiles;删除表空间时要系统不会删除表空间数据库文件,要彻底删除要手动删除 */ drop tablespace mytesttablespace including contents and datafiles;/******************************************************************/--创建用户--命令:
--CREATE USER 名称 IDENTIFIED BY 口令 DEFAULT TABLESPACE “默认表空间名” TEMPORARY TABLESPACE “TEMP” ACCOUNT UNLOCK--一般属性
--DEFAULT TABLESPACE :默认表空间名
--TEMPORARY TABLESPACE :临时表空间名,默认TEMP--ACCOUNT :用户状态,默认UNLOCK 未锁定;LOCK 锁定 CREATE USER “TEST” PROFILE “DEFAULT” IDENTIFIED BY “test” DEFAULT TABLESPACE “TEST” TEMPORARY TABLESPACE “TEMP” ACCOUNT UNLOCK;--可以写成
CREATE USER “TEST” PROFILE “DEFAULT” IDENTIFIED BY “test” DEFAULT TABLESPACE “TEST”;/******************************************************************/--用户授权
--grant “connect,resource,dba” to “someuser” with admin option;--WITH ADMIN OPTION :管理选项--授予usertest DBA权限
grant dba to “usertest” with admin option;--取消授权
--REVOKE “RESOURCE” FROM “SCOTT”;/******************************************************************/--建表
--在usertest方案下建表,注意表名不能用关键字,否则报错ORA-00903: 表名无效
--语法:
--create table [schema.]
--data type:表示字段的数据类型
--default
CREATE TABLE “TEST”.“TEST”(“ID” NUMBER(10)DEFAULT 0 PRIMARY KEY, “NAME” VARCHAR2(20)NOT NULL, “INFO” VARCHAR2(1000))TABLESPACE “TEST”;/******************************************************************/--插入数据--语法:
--INSERT INTO tablename(column1,column2,…)VALUES(expression1,expression2,…);
INSERT INTO “TEST”.“TEST”(“ID” ,“NAME” ,“INFO”)VALUES(1 ,'testname' ,'');--也可以写成
INSERT INTO “TEST”.“TEST” VALUES(1 ,'testname' ,'');/******************************************************************/
第五篇:Oracle大型数据库 实验五 重做日志文件、表空间管理操作
集美大学计算机工程学院实验报告
课程名称:大型数据库技术 指导教师:杨艳华
班级:计算12 姓名:
实验成绩:
上机实践日期:2014.12 上机实践时间:2学时 实验项目名称:重做日志文件、表空间管理操作 学号:20 实验项目编号:实验五 组号:
一、实验目的
1、理解重做日志文件的基本概念;
2、掌握重做日志文件组及其成员的添加、移动、删除等操作;
3、掌握归档重做日志的设置;
4、理解表空间的基本概念和分类;
5、掌握永久表空间的创建和管理操作;
6、掌握还原表空间的管理。
二、实验要求
1、完成重做日志文件组及其成员文件的管理操作;
2、完成归档重做日志的设置;
3、完成永久表空间和临时表空间的管理操作;
4、完成还原表空间的管理。
三、实验内容
(1)查看数据库当前重做日志文件组及成员的设置情况,然后,为数据库添加一组重做日志,组内包含两个成员文件,分别为redo4a.log和redo4b.log,大小分别为5MB。
1(2)为上面新添加的那组重做添加一个日志成员,命名为“redo4c-姓名简拼.log”,实现重做日志的多路存储。
(3)把数据库从非归档模式修改为归档模式,之后创造条件让数据库立即归档,并检查归档是否成功
(4)创建永久表空间
创建一个表空间名为“TB+学号后三位+姓名简拼” 空间的大小为50M 表空间包括两个数据文件:表空间名_01.dbf(30M)和表空间名_02.dbf(20M),大小均不能自动扩展 数据文件均存放在Oracle的安装根目录
(5)改变上述永久表空间的可用性
先将表空间脱机 再进行联机
(6)创建一个4K的非标准块表空间,命名为“tbf+学号后三位+姓名简拼”,数据文件存储在”
(7)创建一个临时表空间
名为“TTB+学号后三位+姓名简拼”
包含一个数据文件:表空间名_01.dbf,大小为(学号后三位*2)M,存储在”
(8)查看数据库内各个表空间及其类型,以及区管理方式、分配类型和段空间管理方法、表空间的状态。
(9)删除前面创建的非标准块表空间,同时删除表空间的内容和对应的操作系统文件。
(10)创建一个还原表空间,命名为“UNDO+学号后三位+姓名简拼”,其中包含一个数据文件(存储在”
(11)为前面创建的永久表空间添加一个数据文件,命名为“表空间名_03.dbf”,该文件初始大小为50M,允许自动扩展,存储在”
(12)将永久表空间中初始的两个文件移动到”
(13)同时将前面创建的永久表空间和UNDO表空间内的文件进行重命名,把文件名中的“_”去掉。
三、实验小结
1、通过本次实验,我对重做日志文件组及其成员的添加、移动、删除等操作、归档重做日志的设置、表空间的基本概念和分类、永久表空间的创建和管理操作、还原表空间的管理都有了更为深入的了解和掌握;
2、切换数据库状态前,必须关闭数据库,由于没有关闭数据库,导致在数据库状态切换过程中遇到了很多问题;
3、通过本次实验,我能够完成重做日志文件组及其成员文件的管理操作、完成归档重做日志的设置、完成永久表空间和临时表空间的管理操作。