1、第第4 4章章 Oracle Oracle 数据库及其管理数据库及其管理4.1 4.1 空间管理空间管理4.2 4.2 用户管理用户管理4.3 4.3 日志管理日志管理 4.1 4.1 创建和管理表空间创建和管理表空间4.1.1 4.1.1 在在OEMOEM中创建表空间中创建表空间4.1.2 4.1.2 在在OEMOEM中管理表空间和数据文件中管理表空间和数据文件4.1.3 4.1.3 使用使用SQLSQL命令创建和管理表空间命令创建和管理表空间4.1.1 4.1.1 在在OEMOEM中创建表空间中创建表空间表空间就像一个文件夹,是存储数据库对象的容器。表空间就像一个文件夹,是存储数据库对象的
2、容器。表空间由数据文件组成,这些数据文件是数据库实际存表空间由数据文件组成,这些数据文件是数据库实际存放数据的地方,数据库的所有系统数据和用户数据都必放数据的地方,数据库的所有系统数据和用户数据都必须存放在数据文件中。每一个数据库创建的时候,系统须存放在数据文件中。每一个数据库创建的时候,系统都会默认地为它创建一个都会默认地为它创建一个“SYSTEM”“SYSTEM”表空间,以存储系表空间,以存储系统信息。一个数据库可以有多个表空间,也可以只有一统信息。一个数据库可以有多个表空间,也可以只有一个个“SYSTEM”“SYSTEM”表空间。一般地,用户数据应该存放在单表空间。一般地,用户数据应该存
3、放在单独的表空间中,所以必须创建和使用自己的表空间。独的表空间中,所以必须创建和使用自己的表空间。4.1.1 4.1.1 在在OEMOEM中创建表空间中创建表空间在数据库中创建用户表空间,可以使用工具箱在数据库中创建用户表空间,可以使用工具箱中的中的“创建创建”按钮或使用快捷菜单,这两种方法的按钮或使用快捷菜单,这两种方法的创建过程完全相同。创建过程完全相同。用鼠标右键单击用鼠标右键单击“表空间表空间”文件夹,从快捷菜文件夹,从快捷菜单中选择单中选择“创建创建”功能,激活创建表空间对话框。功能,激活创建表空间对话框。对话框包括两个标签页,一般信息标签页和存储标对话框包括两个标签页,一般信息标签
4、页和存储标签页。通过回答对话框的各种配置需求即可创建所签页。通过回答对话框的各种配置需求即可创建所需的表空间。需的表空间。4.1.2 4.1.2 在在OEMOEM中管理表空间和数据文件中管理表空间和数据文件 在在OEMOEM中,选择需要管理的表空间或数据文件,单击鼠标中,选择需要管理的表空间或数据文件,单击鼠标右键,从快捷菜单中选择右键,从快捷菜单中选择“查看查看/编辑详细资料编辑详细资料”选项,打开选项,打开相应的对话框。要想修改各个参数,只需双击相应的单元格,相应的对话框。要想修改各个参数,只需双击相应的单元格,然后输入新的参数,按然后输入新的参数,按“应用应用”按钮即可。按钮即可。修改表
5、空间和数据文件的参数或状态修改表空间和数据文件的参数或状态 添加数据文件和设置数据文件的存储增量及最大容量添加数据文件和设置数据文件的存储增量及最大容量 删除表空间或数据文件删除表空间或数据文件4.1.2 4.1.2 在在OEMOEM中管理表空间和数据文件中管理表空间和数据文件 在在OEMOEM中,单击中,单击“存储存储”容器前面的容器前面的“+”“+”号可以展开号可以展开显示存储管理所包括的内容;再单击显示存储管理所包括的内容;再单击“表空间表空间”容器前面容器前面的的“+”“+”号,可以展开显示该数据库中所有表空间;如果用号,可以展开显示该数据库中所有表空间;如果用鼠标左键单击鼠标左键单击
6、“表空间表空间”,将在右面的显示栏中列出所有,将在右面的显示栏中列出所有表空间的名称、类型、大小以及使用情况。表空间的名称、类型、大小以及使用情况。4.1.3 4.1.3 使用使用SQLSQL命令创建和管理表空间命令创建和管理表空间1.1.创建表空间创建表空间使用使用CREATE TABLESPACECREATE TABLESPACE可以生成表空间,表空间生成时可以可以生成表空间,表空间生成时可以指定扩展区,如果没有扩展区,指定扩展区,如果没有扩展区,OracleOracle自动生成一个字典管理自动生成一个字典管理表空间表空间(Dictionary-Manager Tablespaces)(D
7、ictionary-Manager Tablespaces)。要使数据库具有更多的功能,就需要为用户创建另外的数据文要使数据库具有更多的功能,就需要为用户创建另外的数据文件和表空间,按照应用系统实际需求而定。件和表空间,按照应用系统实际需求而定。利用利用SQL命令创建和管理表空间命令创建和管理表空间 例:例:CREATE TABLESPACE user DATAFILE/m01/oradata/BIBDB/userdata.dbf SIZE 1000M MINIMUM EXTENT 25M DEFAULT STORAGE(INITIAL 50M NEXT 50M MINEXTENTS 1 MA
8、XEXTENTS UNLIMITED PCTINCREASE 0);4.1.3 4.1.3 使用使用SQLSQL命令创建和管理表空间命令创建和管理表空间2.为表空间添加存储空间为表空间添加存储空间 ALTER TABLESPACE userADD DATAFILE D:/m02/oradata/BIBDB/userdata2.dbf SIZE 1000M;4.1.3 4.1.3 使用使用SQLSQL命令创建和管理表空间命令创建和管理表空间4.为数据文件添加存储空间为数据文件添加存储空间 ALTER DATABASE DATAFILE d:/m02/oradata/BIBDB/userdata2
9、.dbf RESIZE 1500m;4.1.3 4.1.3 使用使用SQLSQL命令创建和管理表空间命令创建和管理表空间4修改表空间可用性修改表空间可用性 可以使一个联机的表空间脱机,以便数据库的这部分对于一般的使用暂时不可用。使表空间脱机ALTER TABLESPACE users OFFLINE;使表空间联机ALTER TABLESPACE users ONLINE;使数据文件脱机ALTER DATABASE DATAFILE E:ORACLEORADATAOR80DR01.DBF OFFLINE;使数据文件联机ALTER DATABASE DATAFILE E:ORACLEORADATA
10、OR80DR01.DBF ONLINE;&Undo空间管理空间管理 在在Oracle9i中可以使用传统的回退段,也可以使用中可以使用传统的回退段,也可以使用Oracle9i的自动空间管理,使的自动空间管理,使Oracle自动管理自动管理Undo数据。数据。在参数文件中设置在参数文件中设置 UNDO_MANAGEMENT其取值如下:其取值如下:AUTO 表示使用自动表示使用自动UNDO空间管理空间管理 MANUAL 表示使用手动表示使用手动UNDO空间管理空间管理 UNDO_TABLESPACE=undotbs 4.1.44.1.4 Oracle9i数据库数据库Undo表空间参数表空间参数4.2
11、 创建用户创建用户 利用利用OEM创建用户创建用户 4.2.1创建用户创建用户n 一般信息选项卡一般信息选项卡 名称 概要文件 验证 输入口令和验证口令 口令即刻失效 表空间-默认值 表空间-临时 状态-锁定 n角色选项卡角色选项卡 系统权限选项卡系统权限选项卡 对象权限选项卡对象权限选项卡 使用者组选项卡使用者组选项卡 限额选项卡限额选项卡 代理用户选项卡代理用户选项卡 4.2.1创建用户创建用户利用利用SQL语句创建用户语句创建用户语法格式:语法格式:CREATE USER user_name /*将要创建的用户名*/IDENTIFIED BY password|EXTERNALLLY|G
12、LOBALLY AS external_name /*表明Oracle如何验证用户*/DEFAULT TABLESPACE tablespace_nameTEMPORARY TABLESPACE tablespace_nameQUOTA integer K|integer M|UNLIMTED ON tablespace_namePROFILE profile_name /*将指定的概要文件分配给用户*/DEFAULT ROLE role,n ALLEXCEPT role,n NONEPASSWORD EXPIRE /*口令即刻失效*/ACCOUNT LOCK|NULOCK /*帐户是否锁定*
13、/4.2.1创建用户创建用户【例【例4.2】创建一个名称为AAA的用户,口令为AAA,缺省表空间为USERS,临时表空间为TEMP。没有定额,使用缺省概要文件。CREATE USER AAA IDENTIFIED BY AAADEFAULT TABLESPACE USERSTEMPORARY TABLESPACE TEMP;给用户授予权限可以使用GRANT语句来实现。语法格式:语法格式:GRANT system_priv|role TO user WITH ADMIN OPTIN【例【例4.4】授予用户AAA以DBA的角色。GRANT DBA TO AAA;该用户可以向其他用户授权。GRANT
14、 CREATE ANY TABLE,CREATE ANY VIEW TO AAAWITH ADMIN OPTION;4.2.2管理用户管理用户 利用利用OEM管理用户管理用户 4.2.2管理用户管理用户除上述的方法,还可以通过以下方式对用户权限进行管理 单击鼠标右键,从快捷菜单中选择“为用户添加权限”,进入为用户添加权限窗口。4.2.2管理用户管理用户利用利用SQL语句管理用户语句管理用户 语法格式:语法格式:ALTER USER user_nameIDENTIFIED BY password EXTERNALLYGLOBALLY AS external_nameDEFAULT TABLESP
15、ACE tablespace_nameTEMPORARY TABLESPACE tablespace_nameQUOTA integer K|integer M|UNLIMTED ON tablespace_namePROFILE profile_nameDEFAULT ROLE role ALLEXCEPT role NONEPASSWORD EXPIREACCOUNT LOCK|UNLOCK 4.2.2管理用户管理用户回收权限REVOKE命令 语法格式:语法格式:回收用户AAA的DBA的角色。REVOKE DBA FROM AAA;4.2.2管理用户管理用户删除用户删除用户 在用户文件夹下
16、选择要删除的用户,单击右键,在弹出的快捷菜单中选择“移去”,即可删除所选择的用户。DROP USER命令:4.2.3角色角色 角色机制角色机制角色可以被授予一组系统权限和对象权限。角色被授予其他角色。任何角色可以被授予任何数据库对象。授予用户的角色,在给定的时间里,要么启用,要么禁用。预定义角色预定义角色 CONNECT RESOURCE DBA EXP_FULL_DATABASE IMP_FULL_DATABASE 4.2.34.2.3创建角色创建角色 利用利用OEM创建角色创建角色 4.2.34.2.3创建角色创建角色一般信息选项卡角色选项卡 系统权限选项卡 4.2.34.2.3创建角色创
17、建角色利用利用SQL命令创建角色命令创建角色 创建角色:创建角色:CREATE ROLE role_name NOT IDENTIFIED IDENTIFIED BY passwordEXTERNALLYGLOBALLY 给角色授权:给角色授权:GRANT system_priv|role TO roleWITH ADMIN OPTIN 4.2.34.2.3创建角色创建角色【例【例4.5】创建一个新的角色ACCOUNT_CREATE,它只能创建用户,而不能执行其他DBA级命令。CREATE ROLE ACCOUNT_CREATE;CREATE ROLE ACCOUNT_CREATE;GRANT
18、 CREATE SESSION,CREATE USER,ALTER USER GRANT CREATE SESSION,CREATE USER,ALTER USER TO ACCOUNT_CREATE;TO ACCOUNT_CREATE;4.2.4 概要文件概要文件 概要概要文件文件是一个命名的资源限制的集合。它的主要功能是限制用户的行为。可以给每个用户分配一个概要概要文件,并且给所有没有专门的概要概要文件的用户分配一个默认概要概要文件。4.2.4 概要文件概要文件4.2.4 概要文件概要文件 口令选项卡 4.3 日志管理日志管理Oracle有两种类型的日志文件:联机日志文件联机日志文件归档日
19、志文件归档日志文件归档日志文件有时指的是脱机日志文件。所有的Oracle数据库都使用联机日志文件。仅当数据库在归档(archivelog)模式下运行,在发生数据库介质错误时利用归档日志文件使数据库恢复到当前状态。4.3 日志管理日志管理日志文件内容:日志文件内容:日志文件包括一个数据库变化的连续记录。任何时日志文件包括一个数据库变化的连续记录。任何时候在执行一条候在执行一条SQLSQL语句改变数据库中的数据时,语句改变数据库中的数据时,OracleOracle便便产生一条或多条日志记录来记录这个变化。产生一条或多条日志记录来记录这个变化。联机的日志文件组联机的日志文件组 每个每个OracleO
20、racle数据库都包括至少两个数据库都包括至少两个redoredo日志文件,日志文件,经常是更多。我们称这些日志文件为联机的日志文件组。经常是更多。我们称这些日志文件为联机的日志文件组。OracleOracle以循环方式写这些文件,如图所示。以循环方式写这些文件,如图所示。日志日志文件文件1日志日志文件文件2日志日志文件文件34.3 日志管理日志管理归档日志文件归档日志文件 由于由于OracleOracle以循环方式写日志文件,而以循环方式写日志文件,而OracleOracle是多用户是多用户的事务处理,这些日志很快就写满,这样一些日志就会丢失。的事务处理,这些日志很快就写满,这样一些日志就会
21、丢失。为了保持数据最近的一次全备份后被建立的全部日志,应采为了保持数据最近的一次全备份后被建立的全部日志,应采用归档方式。每一个日志文件写满后用归档方式。每一个日志文件写满后OracleOracle将它们拷贝到一将它们拷贝到一个安全的,可长期保存的地方。这个过程被称为归档一个日个安全的,可长期保存的地方。这个过程被称为归档一个日志文件。志文件。Oracle 通过下列通过下列3步操作从灾难性事件中恢复原状:步操作从灾难性事件中恢复原状:1、用一个新的运行的磁盘替换原有磁盘。、用一个新的运行的磁盘替换原有磁盘。2、从最近的备份中还原丢失的文件。、从最近的备份中还原丢失的文件。3、使用日志文件把还原
22、的文件重新进行变化,恢复到当前、使用日志文件把还原的文件重新进行变化,恢复到当前状态。状态。4.3 日志管理日志管理日志文件镜像日志文件镜像 为了保证数据库的安全,防止联机的日志文件故障,为了保证数据库的安全,防止联机的日志文件故障,可以建立日志文件镜像。如图:可以建立日志文件镜像。如图:GROUP3GROUP2 GROUP1Redo01Redo02Redo03Redo13Redo12Redo114.3 日志管理日志管理有关日志的操作有关日志的操作1、增加一日志文件组、增加一日志文件组用用SQL*PLUS方式:方式:ALTER DATABASE ADD LOGFILE GROUP 4(D:OR
23、ACLEORADATAOR80log4.ora)SIZE 1024K;用用DBA studio方式:方式:1.以以DBA的身份连接到数据库的身份连接到数据库2.选选存储存储 在在重做日志组重做日志组 上按鼠标右键上按鼠标右键3.执行创建执行创建4.3 日志管理日志管理取消一日志文件组取消一日志文件组用用SQL*PLUS方式:方式:ALTER DATABASE DROP LOGFILE GROUP 4;用用DBA studio方式:方式:选定选定某组某组按右键执行按右键执行移去移去4.3 日志管理日志管理向日志文件组中追加成员向日志文件组中追加成员用用SQL*PLUS方式:方式:ALTER DA
24、TABASE ADD LOGFILE MEMBER D:ORACLEORADATAOR80redo11 TO GROUP 1用用DBA studio方式:方式:1.打开打开某组某组2.在右边在在右边在一般信息一般信息卡中,卡中,重做日志成员重做日志成员下面的文件栏中下面的文件栏中输入一新文件;输入一新文件;4.3 日志管理日志管理取消日志文件组中的成员取消日志文件组中的成员用用SQL*PLUS方式:方式:ALTER DATABASE DROP LOGFILE MEMBER D:ORACLEORADATAOR80REDO03.LOG;用用DBA studio方式:方式:1.打开某组2.在右边在一般信息卡中,重做日志成员下面的文件栏中选一文件3.按下面的垃圾桶图标作业1、重做日志组是如何工作的?2、为什么要将重做日志组归档?3、Oracle 9i默认的用户及口令是什么?4、试通过实验熟悉创建用户、删除和修改用户的方法。5、角色有什么作用?6、试通过实验熟悉创建角色、删除和修改角色的方法。7、概要文件有什么作用?8、试通过实验熟悉创建概要文件、删除和修改概要文件的方法。
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。