1.创建数据库,要求如下:
1)数据库名为“D174028”,
2)状态为“OPEN”,
3)标准块大小设置为16KB,
4)用户最大进程总数设置为161,
5)sys及system用户密码为“174028”,
6)最大数据文件数设置为137,
7)最大重做日志文件数设置为29,
8)最大日志成员数设置为3,
9)数据库字符集为“ZHS16GBK”,
10)国家字符集为“UTF8”,
11)当前控制文件数设置为3,
12)当前日志组数设置为3,
13)第1个日志组成员数设置为2,
14)第2个日志组成员数设置为1,
15)还原表空间为“UNDO_2”,
16)缺省的临时表空间为“TEMP77”。
解答:安装完oracle10g之后,利用软件进行数据库创建,其中注意在选择模板创建数据库时要选择定制数据库,一直点击下一步知道步骤10,在此进行有关数据库的设置,有“内存”,“调整大小”,“字符集”,“连接模式”四种选项。点击调整大小,将块的大小设置成16KB,将用户最大进程总数设置为161,点击字符集,按要求进行有关字符集的设置,下一步进入步骤11,点击左侧的控制文件,在右侧有两个页面选项,“一般信息”和“选项”,在一般信息中会有控制文件的数量以及路径,在此可以增加或者删除控制文件的数量和路径,直接表中改就行,点击“选项”可以设置最大数据文件数、最大日志成员数、最大重做日志文件数。点开左侧表空间左边的“+”可以对表空间做有关的设置,默认的有五种,选中其中一个表空间,会看到右侧有两个页面选项“一般信息”“存储”在一般信息中可以修改表空间的名称、数据文件的数量路径、表空间的类型和状态,在“存储”中可以设置“区管理”“段空间管理”“启用事件记录”,点击“完成”,然后点击“确定”就可以进行数据库的创建了。
2.1、管理控制文件,要求如下:
1)创建文件夹(以后称“主存储文件夹”)为“e:\D174028”,
2)警告日志文件和后台跟踪文件存放地点设置为“e:\D174028”,
3)调整控制文件数设置为2,
4)调整控制文件的存放位置并改名,
5)第1个控制文件为“e:\D174028\174028_1.ctl”,
6)创建文件夹(以后称“副本一存储文件夹”)为“c:\D174028”,
7)第2个控制文件为“c:\D174028\174028_2.ctl”。
解答:我的oracle是安装在e盘的,警告日志文件和后台追踪文件存放在E:\oracle\product\10.2.0\ADMIN\d174028\bdump中,其中后台追踪文件的扩展名为.trc,警告日志文件为alert_d174028.log.控制文件的位置为E:\oracle\product\10.2.0\ORADATA\d174028,控制文件的拓展名为.ctl,首先登录到oracle,以要求的用户,一般是sys或者system。按要求在e盘创建文件夹d174028,首先在逻辑上改变警告日志文件和后台追踪文件的位置,在命令行执行alter system set background_dump_dest='e:\D174028' scope=spfile; 这样就将逻辑上的警告日志文件和后台追踪文件的位置改成了要求的了;在c盘创建D174028文件夹,首先改变控制文件逻辑上的位置:在命令行运行alter system set control_file='e:\D174028\174028_1.ctl','c:\D174028\174028_2.ctl' scope=spfile;然后关闭数据库:在命令行运行shutdown immediate,关闭之后将警告日志文件和后台追踪文件拷到e:\D174028中, 将控制文件拷贝到要求的文件夹下c:\D174028,(要求拷几个就拷几个,所有的控制文件都是一样的),然后在命令行运行startup,此时就完成了上述要求的修改。关于scope的设置,有3个值:memory spfile both 默认的是both 如果scope=memory,表示修改的是内存的内容,但是不修改文件中的内容,下次重新启动的时候修改不起作用,scope=spfile 表示修改的文件中的内容,但是当前内存中并没有修改,在重启之前修改都不起作用,scope=both表示内存和文件都修改,当前和重启后都起作用。
3.1、管理基本的日志文件,要求如下:
1)移动两个日志组的第1个成员并改名,
2)第1个日志组的第1个成员为“e:\D174028\redo11.log”,
3)第2个日志组的第1个成员为“e:\D174028\redo21.log”,
首先将日志文件手工移动到要求的目录下,然后在命令行执行以下命令:
alter database rename file 'E:\oracle\product\10.2.0\ORADATA\d174028\redo01.log' to 'e:\D174028\redo11.log';
alter database rename file 'E:\oracle\product\10.2.0\ORADATA\d174028\redo02.log' to 'e:\D174028\redo21.log';
4)向每个日志组各增加1个成员,且保证它们的状态为正常,
5)第1个日志组的新添加成员为“c:\D174028\redo12.log”,
6)第2个日志组的新添加成员为“c:\D174028\redo22.log”,
alter database add logfile member 'c:\D174028\redo12.log' to group 1,'c:\D174028\redo22.log' to group 2;
使用命令select * from v$logfile;查看日志文件的状态,如果状态不正常,则进行切换和执行强制检查点操作,具体的命令是,切换日志文件:alter system switch logfile;强制执行检查点操作:alter system checkpoint;再查看状态,直到状态正常,否则一直切换和强制执行检查点操作。
7)增加日志组,组号设置为5,
8)新增日志组保证状态正常,成员大小设置为185MB,
9)新增日志组的第1个成员为“e:\D174028\redo31.log”,
10)新增日志组的第2个成员为“c:\D174028\redo32.log”,
alter database add logfile group 5 ('e:\D174028\redo31.log','c:\D174028\redo32.log') size 185m;
11)使用OMF机制,增加日志组,组号设置为10,
12)新增日志组(OMF)保证状态正常,成员大小设置为115MB,
13)日志组(OMF)的第1个位置为“e:\D174028”,
14)日志组(OMF)的第2个位置为“c:\D174028”。
alter system set db_create_online_log_dest_1='e:\D174028';
alter system set db_create_online_log_dest_2='c:\D174028';
alter database add logfile group 10 size 115m;
4.创建各种类型表空间,要求如下:
1)创建普通表空间为“USER_5”,
2)表空间USER_5区大小设置为912KB,
3)表空间USER_5的第1个数据文件描述如下,
4)---- 文件名(USER_5)为“e:\D174028\USER_5_01.dbf”,
5)---- 大小(USER_5)设置为75MB,
create tablespace USER_5 datafile 'e:\D174028\USER_5_01.dbf' size 75m
extent management local uniform size 912k;
6)创建还原表空间为“UNDOTBS3”,
7)表空间UNDOTBS3的数据文件描述如下,
8)---- 文件名(UNDOTBS3)为“e:\D174028\UNDOTBS3_01.dbf”,
9)---- 大小(UNDOTBS3)设置为25MB,
create undo tablespace UNDOTBS3 datafile 'e:\D174028\UNDOTBS3_01.dbf' size 25m;
10)创建临时表空间为“TEMPTBS8”,
11)表空间TEMPTBS8的数据文件描述如下,
12)---- 文件名(TEMPTBS8)为“e:\D174028\TEMPTBS8_01.dbf”,
13)---- 大小(TEMPTBS8)设置为10MB,
create temporary tablespace TEMPTBS8 tempfile 'e:\D174028\TEMPTBS8_01.dbf' size 10m;
14)设置缺省的临时表空间为“TEMPTBS8”,
alter database default temporary tablespace TEMPTBS8;
15)将表空间USER_5设置为只读为“READ ONLY”。
alter tablespace USER_5 read only;
5、管理表空间(可离线),要求如下:
1)以下调整表空间SYSAUX唯一的数据文件,调整后表空间状态为在线,
2)---- 位置(SYSAUX)为“e:\D174028”,
3)---- 大小(SYSAUX)设置为695MB,
4)---- 自动扩展特性(SYSAUX)为“NO”,
alter tablespace SYSAUX offline;
alter tablespace SYSAUX rename datafile 'E:\oracle\product\10.2.0\ORADATA\d174028\sysaux01.dbf' to 'e:\D174028\SYSAUX01.DBF';
alter database datafile 'e:\D174028\SYSAUX01.DBF' resize 695m;
alter database datafile 'e:\D174028\SYSAUX01.DBF' autoextend off;
alter tablespace SYSAUX online;
5)以下调整表空间USER_5唯一的数据文件,调整后表空间状态为在线,
6)位置(USER_5)为“e:\D174028”,
7)大小(USER_5)设置为75MB,
8)自动扩展特性(USER_5)为“YES”,
9)每次扩展(USER_5)设置为20MB,
10) 最大扩展到(USER_5)设置为250MB。
alter tablespace user_5 read write;
alter database datafile 'e:\D174028\USER_5_01.DBF' resize 75m;
alter database datafile 'e:\D174028\USER_5_01.DBF' autoextend on next 20m maxsize 250m;
2、管理表空间(不可离线),要求如下:
1)以下调整表空间SYSTEM唯一的数据文件,
2)---- 位置(SYSTEM)为“e:\D174028”,
3)---- 大小(SYSTEM)设置为850MB,
4)---- 自动扩展特性(SYSTEM)为“NO”,
shutdown immediate
移动文件
startup mount
alter database rename file 'E:\oracle\product\10.2.0\ORADATA\d174028\SYSTEM01.DBF' to 'e:\D174028\SYSTEM01.DBF';
alter database open;
alter database datafile 'e:\D174028\SYSTEM01.DBF' resize 850m;
alter database datafile 'e:\D174028\SYSTEM01.DBF' autoextend off;
5)以下调整表空间UNDO_2唯一的数据文件,
6)-- 位置(UNDO_2)为“e:\D174028”,
7)-- 大小(UNDO_2)设置为635MB,
8)-- 自动扩展特性(UNDO_2)为“YES”,
9)-- 每次(UNDO_2)设置为50MB,
10)-- 最大扩展到(UNDO_2)设置为1650MB,
shutdown immediate
移动文件
startup mount
alter database rename file 'E:\oracle\product\10.2.0\ORADATA\d174028\UNDOTBS01.DBF' to 'e:\D174028\UNDOTBS01.DBF';
alter database open;
alter database datafile 'e:\D174028\UNDOTBS01.DBF' resize 635m;
alter database datafile 'e:\D174028\UNDOTBS01.DBF' autoextend on next 50m maxsize 1650m;
11)设置缺省的临时表空间为“TEMP77”,
alter database default temporary tablespace TEMP77;
12)以下调整表空间TEMP77唯一的数据文件,
13)~~ 位置(TEMP77)为“e:\D174028”,
14)~~ 大小(TEMP77)设置为235MB,
15)~~ 自动扩展特性(TEMP77)为“YES”,
16)~~ 每次(TEMP77)设置为35MB,
17)~~ 最大扩展到(TEMP77)设置为500MB。
shutdown immediate
移动文件
startup mount
alter database rename file 'E:\oracle\product\10.2.0\ORADATA\d174028\TEMP01.DBF' to 'e:\D174028\TEMP01.DBF';
alter database open;
alter database tempfile 'e:\D174028\TEMP01.DBF' resize 235m;
alter database tempfile 'e:\D174028\TEMP01.DBF' autoextend on next 35m maxsize 500m;
3、创建普通表空间并管理,要求如下:
1)创建表空间为“TBS7”,
2)表空间TBS7区大小设置为224KB,
3)表空间TBS7的第1个数据文件描述如下,
4)---- 文件名(TBS7)为“e:\D174028\TBS701.dbf”,
5)---- 大小(TBS7)设置为30MB,
6)---- 自动扩展(TBS7)为“YES”,
7)---- 每次扩展(TBS7)设置为45MB,
8)---- 最大扩展到(TBS7)设置为200MB,
create tablespace TBS7 datafile 'e:\D174028\TBS701.dbf' size 30m autoextend on next 45m maxsize 200m extent management local uniform size 224k;
9)指定使用OMF机制,表空间包含数据文件的存储位置为“e:\D174028”,
alter system set db_create_file_dest='e:\D174028';
10)使用OMF机制向TBS7添加数据文件,描述如下,
11)~~ 大小(TBS7)设置为25MB,
12)~~ 自动扩展(TBS7)为“NO”,
alter tablespace TBS7 add datafile size 25m autoextend off;
13)使用OMF机制创建表空间为“TBSC”,
14)表空间TBSC区大小设置为416KB,
15)表空间TBSC的数据文件描述如下,
16)--~ 大小(TBSC)设置为85MB,
17)--~ 自动扩展(TBSC)为“YES”,
18)--~ 每次扩展(TBSC)设置为30MB,
19)--~ 最大扩展到(TBSC)设置为150MB。
create tablespace TBSC datafile size 85m autoextend on next 30m maxsize 150m extent management local uniform size 416k;
6、创建非标准块大小表空间并管理,要求如下:
1)使用OMF机制创建2K块大小表空间为“TBS2_3”,
2)表空间TBS2_3区大小设置为960KB,
3)表空间TBS2_3的数据文件描述如下,
4)---- 大小(TBS2_3)设置为10MB,
5)---- 自动扩展(TBS2_3)为“YES”,
6)---- 每次扩展(TBS2_3)设置为50MB,
7)---- 最大扩展到(TBS2_3)设置为300MB,
alter system set db_create_file_dest='e:\D174028';
alter system set db_cache_size=50m;
alter system set db_2k_cache_size=10m;
create tablespace TBS2_3 datafile size 10m autoextend on next 50m maxsize 300m extent management local uniform size 960k blocksize 2k;
8)使用OMF机制创建4K块大小表空间为“TBS4_3”,
9)表空间TBS4_3区大小设置为112KB,
10)表空间TBS4_3的数据文件描述如下,
11)~~ 大小(TBS4_3)设置为35MB,
12)~~ 自动扩展(TBS4_3)为“NO”,
alter system set db_create_file_dest='e:\D174028';
alter system set db_cache_size=50m;
alter system set db_4k_cache_size=10m;
create tablespace TBS4_3 datafile size 35m autoextend off extent management local uniform size 112k blocksize 4k;
13)使用OMF机制创建8K块大小表空间为“TBS8_5”,
14)表空间TBS8_5区大小设置为512KB,
15)表空间TBS8_5的数据文件描述如下,
16)--~ 大小(TBS8_5)设置为40MB,
17)--~ 自动扩展(TBS8_5)为“NO”。
alter system set db_create_file_dest='e:\D174028';
alter system set db_cache_size=50m;
alter system set db_8k_cache_size=10m;
create tablespace TBS8_5 datafile size 40m autoextend off extent management local uniform size 512k blocksize 8k;
2、创建特殊表空间并管理,设置闪回相关信息,要求如下:
1)使用OMF机制创建还原表空间为“TBSUG”,
2)表空间TBSUG的数据文件描述如下,
3)---- 大小(TBSUG)设置为515MB,
4)---- 自动扩展(TBSUG)为“NO”,
alter system set db_create_file_dest='e:\D174028';
create undo tablespace TBSUG datafile size 515m autoextend off;
5)使用OMF机制创建临时表空间为“TBSTH”,
6)表空间TBSTH区大小设置为320KB,
7)表空间TBSTH的数据文件描述如下,
8)~~ 大小(TBSTH)设置为180MB,
9)~~ 自动扩展特性(TBSTH)为“YES”,
10)~~ 每次扩展(TBSTH)设置为15MB,
11)~~ 最大扩展(TBSTH)设置为600MB,
alter system set db_create_file_dest='e:\D174028';
create temporary tablespace TBSTH tempfile size 180m autoextend on next 15m maxsize 600m extent management local uniform size 320k;
12)缺省临时表空间为“TBSTH”,
alter database default temporary tablespace TBSTH;
13)当前还原表空间设置为“TBSUG”,
alter system set undo_management=manual scope=spfile;
alter system set undo_tablespace=TBSUG;
14)还原数据的保留时间(单位:秒)设置为480。
alter system set undo_retention=480;
7、创建普通表(基于数据库字符集),要求如下:
1)以system用户登录,创建普通表,要求如下,
2)2-- 表名为“nstu1740281”,
3)2-- 表的说明为“学生基本信息(基于数据库字符集普通表)”,
4)2-- 存储表空间为“TBSC”,
5)2-- 初始事务位置数设置为9,
6)2-- 以下为字段信息(使用数据库字符集),根据描述确定合适的类型及宽度,
7)2~~ sno(学号),定长字符串,字符数设置为10,
8)2~~ name(姓名),性能优先,定长字符串,汉字数设置为10,
9)2~~ sex(性别),定长字符串,默认值为男,汉字数设置为1,
10)2~~ score(入学成绩),没有小数,有效数字数设置为3,
11)2~~ birth(出生日期),日期类型,
12)2~~ monitor(班长),参照学号,
13)2~~ dept(所在系),最省空间,变长字符串,汉字数设置为17。
create table nstu1740281
(
sno char(10),
name char(20),
sex char(2) default '男',
score number(3,0),
birth date,
monitor char(10),
dept varchar2(34)
)tablespace TBSC
;
alter table nstu1740281 initrans 9;
comment on table nstu1740281 is '学生基本信息(基于数据库字符集普通表)';
comment on column nstu1740281.sno is '学号';
comment on column nstu1740281.name is '姓名';
comment on column nstu1740281.sex is '性别';
comment on column nstu1740281.score is '入学成绩';
comment on column nstu1740281.birth is '出生日期';
comment on column nstu1740281.monitor is '班长';
comment on column nstu1740281.dept is '所在系';
2、创建普通表(基于国家字符集),要求如下:
1)以system用户登录,创建普通表,要求如下,
2)3-- 表名为“nstu1740282”,
3)3-- 表的说明为“学生基本信息(基于国家字符集普通表)”,
4)3-- 存储表空间为“TBS7”,
5)3-- 初始事务位置数设置为28,
6)3-- 以下为字段信息(使用国家字符集),根据描述确定合适的类型及宽度,
7)3~~ sno(学号),有非数字字符,定长字符串,字符数设置为9,
8)3~~ name(姓名),性能优先,定长字符串,汉字数设置为10,
9)3~~ sex(性别),默认值为女,定长字符串,汉字数设置为1,
10)3~~ score(入学成绩),没有小数,有效数字数设置为3,
11)3~~ birth(出生日期),日期类型,
12)3~~ monitor(班长),参照学号,
13)3~~ dept(所在系),最省空间,变长字符串,汉字数设置为11。
create table nstu1740282
(
sno char(9),
name Nchar(10),
sex Nchar(2) default '女',
score number(3,0),
birth date,
monitor char(9),
dept Nvarchar2(11))
tablespace TBS7 initrans 28;
comment on table nstu1740282 is '学生基本信息(基于国家字符集普通表)';
comment on column nstu1740282.sno is '学号';
comment on column nstu1740282.name is '姓名';
comment on column nstu1740282.sex is '性别';
comment on column nstu1740282.score is '入学成绩';
comment on column nstu1740282.birth is '出生日期';
comment on column nstu1740282.monitor is '班长';
comment on column nstu1740282.dept is '所在系';
1)以system用户登录,创建全局临时表(数据保留时间仅为事务期间),要求如下,
2)1-- 表名为“stu1740287”,
3)1-- 表的说明为“学生基本信息(全局临时表,事务结束后不保留数据)”,
4)1-- 以下为字段信息,根据描述确定合适的类型及宽度,
5)1~~ sno(学号),有非数字字符,定长字符串,字符数设置为8,
6)1~~ name(姓名),最省空间,变长字符串,汉字数设置为10,
7)1~~ sex(性别),定长字符串,汉字数设置为1,
8)1~~ score(入学成绩),没有小数,有效数字数设置为3,
9)1~~ birth(出生日期),日期类型,
10)1~~ monitor(班长),参照学号,
11)1~~ dept(所在系),性能优先,定长字符串,汉字数设置为19。
create global temporary table stu1740287
(
sno char(8),
name varchar(20),
sex char(2),
score number(3,0),
birth date,
monitor char(8),
dept char(38))
on commit delete rows;
comment on table stu1740287 is '学生基本信息(全局临时表,事务结束后不保留数据)';
comment on column stu1740287.sno is '学号';
comment on column stu1740287.name is '姓名';
comment on column stu1740287.sex is '性别';
comment on column stu1740287.score is '入学成绩';
comment on column stu1740287.birth is '出生日期';
comment on column stu1740287.monitor is '班长';
comment on column stu1740287.dept is '所在系';
2、创建全局临时表(数据保留时间为会话期间),要求如下:
1)以system用户登录,创建全局临时表(数据保留时间为会话期间),要求如下,
2)2-- 表名为“stu1740288”,
3)2-- 表的说明为“学生基本信息(全局临时表,事务结束后保留数据)”,
4)2-- 以下为字段信息,根据描述确定合适的类型及宽度,
5)2~~ sno(学号),有非数字字符,定长字符串,字符数设置为7,
6)2~~ name(姓名),性能优先,定长字符串,汉字数设置为7,
7)2~~ sex(性别),定长字符串,汉字数设置为1,
8)2~~ score(入学成绩),没有小数,有效数字数设置为3,
9)2~~ birth(出生日期),日期类型,
10)2~~ monitor(班长),参照学号,
11)2~~ dept(所在系),最省空间,变长字符串,汉字数设置为11。
create global temporary table stu1740288
(
sno char(7),
name char(14),
sex char(2),
score number(3,0),
birth date,
monitor char(7),
dept varchar(22))
on commit preserve rows;
comment on table stu1740288 is '学生基本信息(全局临时表,事务结束后保留数据)';
comment on column stu1740288.sno is '学号';
comment on column stu1740288.name is '姓名';
comment on column stu1740288.sex is '性别';
comment on column stu1740288.score is '入学成绩';
comment on column stu1740288.birth is '出生日期';
comment on column stu1740288.monitor is '班长';
comment on column stu1740288.dept is '所在系';
3、创建索引表空间,要求如下:
1)使用OMF机制创建表空间为“TBSII”,
2)--表空间TBSII区大小设置为496KB,
3)--表空间TBSII的数据文件描述如下,
4)--~ 大小(TBSII)设置为85MB,
5)--~ 自动扩展(TBSII)为“YES”,
6)--~ 每次扩展(TBSII)设置为25MB,
7)--~ 最大扩展到(TBSII)设置为350MB。
alter system set db_create_file_dest='e:\d174028';
create tablespace TBSII datafile size 85m autoextend on next 25m maxsize 350m extent management local uniform size 496k;