第13讲 对象:数据库,表空间,数据文件的创建
目的:
1. 掌握Oracle对象根的对象-数据库的建立过程。修改,删除。 2. 掌握表空间的建立
3. 掌握oracle9i最基本对象表的建立。
4. 熟悉并掌握Oracle9i的数据类型,并理解不同类型在实际项目中所表达的数据 5. 掌握表的修改,删除。
授课内容:
[] 数据库的建立,修改,删除
使用Oracle Database Configuration Assistant工具: 数据库操作
使用 Database Configuration Assistant 能创建数据库、更改数据库配置或删除数据库。
还可从预定义的模板列表中创建数据库,或使用现有数据库作为模板创建新的数据库或模板。 新建数据库
创建数据库 选择“创建数据库”选项可以创建新的数据库或模板。选择模板时,既可以选择新的数据库模板,也可以选择带有数据文件的模板。如果选择新的数据库模板 (不带数据文件),也能将数据库创建信息另存为脚本。 配置数据库中的选项 注:此选项不可用于 Oracle Real Application Clusters。 修改数据库
如果选择“更改数据库配置”选项,则可将配置从专用服务器更改为共享服务器。可以添加以前未配置用于数据库的下列数据库选项 (如果可用): Oracle JVMOracle IntermediaOracle TextXML DatabaseOracle SpatialOracle Ultra SearchOracle Label SecurityOracle OLAPOracle Data Mining示例方案
删除数据库
选择“删除数据库”选项可以删除所有的数据库文件。
数据库连接选项 专用服务器模式
专用服务器 -- 每个用户进程都需要专用服务器进程的服务器。每个客户机拥有一个服务器进程。Oracle Net 把现有服务器进程地址发回客户机。然后,客户机将其连接请求重新发送到提供的服务器地址。与专用服务器比较。 在下列情况下应选择专用服务器模式: 在“数据仓库”环境中使用数据库只有少数客户机连接您的数据库客户机将对数据库发出持久的、长时间运行的请求 共享服务器模式
配置为允许许多用户进程共享很少的服务器进程的服务器,这样可增加支持的用户数目。如果不使用共享服务器,则每个用户进程需要它自己的专用服务器进程。有了共享服务器配置,许多用户进程可以连接到一个调度程序。调度程序将多个入网网络会话请求指引到一个公用队列。服务器进程共享池中某个闲置的共享服务器进程从队列中获得一个请求。这意味着一个很小的服务器进程共享池就可以为大量的客户机提供服务。单
击编辑共享连接参数设置共享服务器信息。 在下列情况下,请选择共享服务器 (共享服务器模式也称为多线程服务器模式): 在联机事务处理 (OLTP) 环境中使用数据库。通过使用共享服务器可使联机事务处理应用程序大大受益。大量用户需要连接到数据库并有效地使用可用的系统资源。您有内存限制。与专用服务器相比,当用户数量增加时共享服务器减少了内存的使用。在后一模式中,内存的使用几乎与用户的数量成比例增加。共享服务器可以使您调整和优化整体的系统性能,因此如果很有必要高度控制对数据库的优化,那么您可能要使用共享服务器。您希望使用 Oracle Net 的特性,如连接共享、连接集中和负载均衡最大限度地管理和使用系统资源是一个重要准则可预测的和较快的连接次数十分重要,例如对 Web 应用程序
数据库标识 全局数据库名
Oracle9i 数据库由“全局数据库名”唯一标识。
全局数据库名是将数据库与任何其他数据库唯一标识出来的数据库全称。
全局数据库名的形式为 \。例如: test.us.acme.com数据库名部分 test 是您要为数据库取的一个简称。数据库域部分 us.acme.com 指定数据库所处的数据库域,并使全局数据库名唯一。可能的话,Oracle 建议将您的数据库域镜像到网络域。 数据库名部分是一个长度不超过 8 个字符的字符串,它可以包含字母、数字以及其他字符。 域部分是一个长度不超过 128 个字符的字符串,它可以包含字母、数字、句点 (.) 以及其他字符。 SID
SID 标识正在运行的 Oracle9i 软件的特定例程。对于任何数据库,都至少有一个引用数据库的例程。SID 可以是未被此计算机上其他例程使用的任何名称。 对于 Windows NT 输入数据库的系统标识符 (SID) 或采用默认 SID。SID 是 Oracle 数据库例程的唯一标识符,最多只能有 8 个字母数字字符。每个数据库例程对应一个 SID 和一系列数据库文件。例如,当创建 SID 为 XXX 的数据库时,将同时创建数据库例程及其数据库文件 (初始化参数文件、控制文件、重做日志文件和数据文件)。 对于 UNIX 输入数据库的系统标识符 (SID)。SID 是 Oracle 数据库例程的唯一名称,最多由 8 个字符组成。每个数据库例程对应一个 SID 和一系列数据库文件。例如,当创建 SID 为 XYZ 的数据库时,将同时创建数据库例程及其数据库文件 (初始化参数文件,控制文件,重做日志文件和数据文件),这些文件名称都是基于 XYZ 的。 注:为了更改数据库配置或删除数据库,在 shell 中必须具有 SID (ORACLE_SID) 环境变量,将从此 shell 中启动 Database Configuration Assistant。如果未设置 SID,就不能选择更改数据库配置或删除数据库。如果设置了错误的 SID,虽然可以选择更改数据库配置或删除数据库,但它们不起作用。
口令管理
在创建数据库后,可以使用“口令管理”对话框来更改用户的默认口令。为了安全起见,将锁定除以下用户之外的所有用户: SYS
SYSTEM SCOTT DBSNMP OUTLN
AURORA$ORB$UN AUTHENTICATED
AURORA$JIS$UTILITY$ OSE$HTTP$ADMIN
可以使用该对话框解除锁定用户。也可以以后使用 Oracle Enterprise Manager Console 或命令行工具 SQL*Plus 解除锁定用户。
[] 表空间(TABLESPACE) <>Table的特点:
- TABLESPACE是数据库的存储逻辑单元。数据库中所有的数据都保存在表空
间中。
- 每个tablespace一般包含一个或多个数据文件。 - 表空间的数据文件对应操作系统的目录中的文件。
- 每个数据库都有一个SYSTEM表空间,把包含数据库的数据字典,以及所有
表空间,表,索引,簇的名称和位置。
- SYSTEM表空间的对象由SYS和SYSTEM用户拥有,其他用户不应该在
SYSTEM表空间中保存对象。
- 每个数据文件在创建后,自动分配指定的空间。每个数据文件只能属于一个表
空间,数据文件可以设置在用完空间时自动扩展,可以设置他们的扩展的增量和最大尺寸。
- 数据库模式的对象可以存储在多个表空间中。 - 一个表空间可以存储多个方案的对象。
- 可以使用create user, alter user and grant命令给用户分配默认的表空间,并且在
这些表空间中分配限额。
<>表空间的建立
- 表空间建立必须有DBA权限。
- 在建立表空间时就建立了保存表空间数据的数据文件(DataFiles) - 表空间建立语法:
CREATE TABLESPACE tablespace
DATAFILE ‘filename’ [SIZE int [K|M]] [REUSE]
[ONLINE | OFFLINE] 注:
11.1 SIZE和REUSE一起告诉Oracle,如果文件存在就使用该文件,如果文件不存在就建立
该文件。
11.2 ONLINE 标识表空间在线,可以使用。 OFFLINE标识表空间不在线。必须使用ALTER
TABLESPACE将表空间修改为在线才可以使用此表空间。 11.3
表空间创建例子1
CREATE TABLESPACE DASHANG
DATAFILE
'dashangdata02' SIZE 10 M REUSE AUTOEXTEND ON NEXT 1 M MAXSIZE UNLIMITED ,
'dashangdata01' SIZE 20 M REUSE LOGGING
DEFAULT NOCOMPRESS ONLINE PERMANENT
EXTENT MANAGEMENT DICTIONARY
表空间创建例子2:
CREATE TABLESPACE \ LOGGING
DATAFILE 'C:\\ORACLE\\ORADATA\\YQ01\\DASHAN01.ora' SIZE 5M EXTENT
MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO
表空间创建例子1:
CREATE TABLESPACE TB001
DATAFILE 'TB001DF02' SIZE 500 K,'TB001DF01' SIZE 10 M AUTOEXTEND ON NEXT 1 M MAXSIZE UNLIMITED LOGGING
DEFAULT NOCOMPRESS ONLINE PERMANENT
EXTENT MANAGEMENT DICTIONARY
表空间创建例子2:
CREATE TABLESPACE \ LOGGING
DATAFILE 'C:\\ORACLE\\ORADATA\\YQ01\\TB00101.ora' SIZE 5M,
'C:\\ORACLE\\ORADATA\\YQ01\\TB0002.ora' SIZE 5M EXTENT MANAGEMENT
LOCAL SEGMENT SPACE MANAGEMENT AUTO
注:由于创建表空间的选项太多,一般DBA使用Oracle Management Console工具或其他工具如TOAD创建。
<>表空间修改:
常用的修改有:
- 修改表空间主要是修改表空间中的数据文件。 - 修改表空间增加新的数据文件。
- 修改表空间修改一个现有的数据文件的尺寸。
- 修改表空间的在线和离线状态。离线时的表空间是不允许访问的。只有在线的
表空间才可以访问。可以通过Oracle Enterprise Manager来查看表空间的在线和
- -
离线状态。
修改表空间为只读或可读可写的状态。只读的表空间的数据只能进行select操作。不能执行DML,或DDL.
不能修改数据文件的存放位置,只有在创建时指定数据文件的存放位置,在以后不能修改数据文件的位置。
表空间修改例子1:
ALTER TABLESPACE \ ADD
DATAFILE 'C:\\ORACLE\\ORADATA\\YQ01\\TB00103.ora' SIZE 5M 表空间修改例子2:修改数据文件大小 ALTER DATABASE
DATAFILE 'C:\\ORACLE\\ORADATA\\YQ01\\TB00101.ORA' RESIZE 10M
修改表空间为离线:
ALTER TABLESPACE OFFLINE: ALTER TABLESPACE ONLINE; 修改表空间为只读或可读可写:
ALTER TABLESPACE \ READ WRITE ALTER TABLESPACE \
如下写法是错误的:
alter tablespace users offline read only alter tablespace users online read only 修改表空间:
ALTER TABLESPACE tablespace_name READ ONLY ALTER TABLESPACE tablespace_name READ WRITE
<>表空间的删除:
- SQL语法:
DROP TABLESPACE tablespace [INCLUDE CONTENTS [ AND DATAFIELS ] [CASCADE CONSTRAINTS]]
Tablespace 是要删除的表空间的名字。
INCLUDE CONTENTS 选项允许删除含有数据的表空间,如果没有INCLUDE CONTENTS, 则只允许删除空的表空间。
表空间在删除前应该脱机,使用ALTER TABLESPACE, 否则将由于用户的使用表空间中的数据,索引,回退段或临时段而拒绝删除此表空间。
用户必须具有DROP TABLESPACE的权限才可以使用此命令。
使用CASCADE CONSTRAINTS选项,则删除表空间数据的关联的所有的参照完整性约束。
3 回滚段的建立,修改,删除(Rollback Segment)