大型数据库应用
实验指导
准备工作:
在Oracle程序组中启动Net Manager,如下:
选择左边树形目录中的数据库实例名,将右边窗口中的主机名改为本地机器名,保存后重新启动监听服务。
实验一 数据文件和表空间的管理
【开发语言及实现平台或实验环境】
Oracle10g
【实验目的】
(1)熟悉ORACLE的环境,学习使用SQL*Plus与ORACLE进行交互; (2)掌握连接数据库以及断开连接的方法; (3)掌握数据文件和控制文件的管理基本命令 (4)掌握表空间管理的基本命令
【实验原理】
1.SQL*Plus命令
SQL*Plus有许多命令,下表只是列举了一部分常用的供读者参考。 SQL*Plus命令 APPEND text CHANGE /old/new/ CHANGE /text/ CLEAR BUFFER DEL INPUT INPUT text LIST LIST n LIST m n RUN SAVE filename GET filename START filename ED filename EXIT RUNFORM filename SPOOL filename SPO[OL] OFF|OUT DESCRIBE tablename 缩写 A text C/old/new/ C/text/ CL BUFF I I text L L n L m n R @ filename DESC tablename 意义 把字符串增加到当前行的末尾 把当前行的旧字符串替换成新字符串 把当前行中字符串删除 从SQL缓冲区中删除所有行 删除当前行 插入许多行 插入一个包含text字符串的行 显示SQL缓冲区的所有行 显示SQL缓冲区中的一行到n行 SQL缓冲区中的从第m行显示到第n行 显示并运行在缓冲区中的当前SQL命令 把SQL缓冲区中的内容保存到以filename为名字的文件中,默认路径为orawin\\bin 把以filename为名字的文件内容调入SQL缓冲区中 运行以前保存的命令文件 用默认的编辑器编辑保存的文件内容 退出SQL*Plus 从SQL*Plus中运行一个Oracle Forms应用程序 写所有的后面的命令或者输出到一个已经命名的文件中。假脱机输入输出文件的后缀为.LIS OFF 关闭假脱机输入输出文件;OUT改变假脱机输入输出,送文件到打印机上 显示任何数据库表的数据结构 HELP HOST command 击活Oracle内部的帮助部件 在SQL*Plus中击活一个操作系统命令 CONNECT userid/password CONN 在当前的登录下,击活其它的Oracle用户 userid/password PROMPT text 当运行一个命令文件时,显示文本 2.数据文件的管理 (1)创建数据文件
数据文件依附于表空间而存在,创建数据文件就是向表空间添加文件
在创建数据文件时应该根据文件数据量的大小确定文件的大小以及文件的增长方式。 语法:
ALTER TABLESPACE…ADD DATAFILE ALTER TABLESPACE…ADD TEMPFILE
例:向ORCL数据库的USERS表空间中添加一个大小为10 MB的数据文件。 ALTER TABLESPACE USERS ADD DATAFILE
'C:\\ORACLE\\PRODUCT\\10.2.0\\ORADATA\\ORCL\\USERS02.DBF' SIZE 10M;
(2)修改数据文件大小
创建后修改数据文件为自动增长:
AUTOEXTEND ON NEXT ?MAXSIZE?|UNLIMITED 手工改变数据文件的大小
ALTER DATABASE DATAFILE?RESIZE?
例:为ORCL数据库的USERS表空间添加一个自动增长的数据文件。 ALTER TABLESPACE USERS ADD DATAFILE
'C:\\ORACLE\\PRODUCT\\10.2.0\\ORADATA\\ORCL\\USERS03.DBF' SIZE 10M AUTOEXTEND ON NEXT 512K MAXSIZE 50M;
例:修改ORCL数据库USERS表空间的数据文件USERS02.DBF为自动增长方式 。 ALTER DATABASE DATAFILE
'C:\\ORACLE\\PRODUCT\\10.2.0\\ORADATA\\ORCL\\USERS02.DBF ' AUTOEXTEND ON NEXT 512K MAXSIZE UNLIMITED;
例:取消ORCL数据库USERS表空间的数据文件USERS02.DBF的自动增长方式。 ALTER DATABASE DATAFILE
'C:\\ORACLE\\PRODUCT\\10.2.0\\ORADATA\\ORCL\\USERS02.DBF ' AUTOEXTEND OFF; 例:将ORCL数据库USERS表空间的数据文件USERS02.DBF大小设置为8 MB 。 ALTER DATABASE DATAFILE
'C:\\ORACLE\\PRODUCT\\10.2.0\\ORADATA\\ORCL\\USERS02.DBF' RESIZE 8M;
(3)删除数据文件
删除某个表空间中的某个空数据文件
ALTER TABLESPACE?DROP DATAFILE
例:删除USERS表空间中的数据文件USERS003.DBF。 ALTER TABLESPACE USERS DROP DATAFILE
'C:\\ORACLE\\PRODUCT\\10.2.0\\ORADATA\\ORCL\\USERS03.DBF';
3. 表空间的管理 (1)创建表空间
创建表空间时,应该确定表空间的名称、类型、对应的数据文件的名称和位置以及区的分配方式、段的管理方式:
表空间名称以字母开头,可以包含字母、数字以及一些特殊字符等; 表空间的类型包括普通表空间、临时表空间和撤销表空间;
表空间中区的分配方式包括两种方式:自动扩展(AUTOALLOCATE)和定制(UNIFORM); 段的管理包括两种方式:自动管理(AUTO)和手动管理(MANUAL)。 创建永久表空间:
创建永久表空间使用CREATE TABLESPACE语句来实现,该语句包含以下几个子句: DATAFILE:设定表空间对应的数据文件。
EXTENT MANAGEMENT:指定表空间的管理方式,取值为LOCAL(默认)或DICTIONARY。 AUTOALLOCATE(默认)或UNIFORM:设定区的分配方式。
SEGMENT SPACE MANAGEMENT:设定段的管理方式,其取值为MANUAL或AUTO(默认)。 例:为ORCL数据库创建一个永久性的表空间,区自动扩展,段采用自动管理方式。 CREATE TABLESPACE ORCLTBS1 DATAFILE 'D:\\ORACLE\\PRODUCT\\10.2.0\\ORADATA\\ORCL\\ORCLTBS1_1.DBF' SIZE 50M;
例:为ORCL数据库创建一个永久性的表空间,区定制分配,段采用自动管理方式。 CREATE TABLESPACE ORCLTBS2 DATAFILE
'D:\\ORACLE\\PRODUCT\\10.2.0\\ORADATA\\ORCL\\ORCLTBS2_1.DBF' SIZE 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K;
例:为ORCL数据库创建一个永久性的表空间,区自动扩展,段采用手动管理方式。 CREATE TABLESPACE ORCLTBS3 DATAFILE
'D:\\ORACLE\\PRODUCT\\10.2.0\\ORADATA\\ORCL\\ORCLTBS3_1.DBF' SIZE 50M SEGMENT SPACE MANAGEMENT MANUAL;
例:为ORCL数据库创建一个永久性的表空间,区定制分配,段采用手动管理方式。 CREATE TABLESPACE ORCLTBS4 DATAFILE
'D:\\ORACLE\\PRODUCT\\10.2.0\\ORADATA\\ORCL\\ORCLTBS4_1.DBF' SIZE 50M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K SEGMENT SPACE MANAGEMENT MANUAL;
(2)修改表空间 I)扩展表空间:
为表空间添加数据文件:
通过ALTER TABLESPACE?ADD DATAFILE语句为永久表空间添加数据文件。 例:为ORCL数据库的ORCLTBS1表空间添加一个大小为10 MB的新数据文件。 ALTER TABLESPACE ORCLTBS1 ADD DATAFILE 'D:\\ORACLE\\PRODUCT\\10.2.0\\ORADATA\\ORCL\\ORCLTBS1_2.DBF' SIZE 10M;
还可以通过改变表空间已有数据文件的大小,达到扩展表空间的目的。
例:将ORCL数据库的ORCLTBS1表空间的数据文件ORCLTBS1_2.DBF大小增加到20 MB。 ALTER DATABASE DATAFILE 'D:\\ORACLE\\PRODUCT\\10.2.0\\ORADATA\\ORCL\\ORCLTBS1_2.DBF' RESIZE 20M;
II)设置默认表空间