1、5)检查初始化参数open_cursors的值。SHOW PARAMETER OPEN_CURSOR,显示结果值应为200。6)关闭数据库,重新用spfile启动数据库。SHUTDOWN,STARTUP7)动态修改参数open_cursors=300,但重新启动后参数原值保持不变。ALTER SYSTEM SET OPEN_CURSORS=300 SCOPE=MEMORY2验证只读方式。1)关闭数据库并且以只读方式打开。STARTUP OPEN READ ONLY;2)以SCOTT用户连接到数据库,插入一条记录到EMP表。 解释发生的现象和原因。CONN SCOTT/TIGERINSERT I
2、NTO emp(empno,ename) VALUES(8001,test);插入失败,因为数据库处于只读状态。3)将数据库改为可读可写状态。SHUTDOWN,STARTUP3验证关闭方式。1)打开一个SQL*Plus,以SCOTT用户连接,修改EMP表SCOTT的工资为9000,但不提交。SQLPLUS /NOLOGSQLUPDATE EMP SET SAL=9000 WHERE EMPNO=7788;2)在以SYS账户登录的会话中。并且执行事务关闭,能否关闭,解释原因。SHUTDOWN TRANSACTIONAL处于等待,等待所有事务的完成后关闭。3)在SCOTT会话中执行回滚操作,并退出
3、(Exit), 解释发生的现象和原因。ROLLBACK;SYS会话开始执行关闭操作。4验证受限状态。1)打开一个SQL*Plus,以SYS用户连接,打开数据库到OPEN状态。2)重新启动一个SQL*Plus,并以SCOTT用户连接。3)在SYS会话中,将数据库切换至受限状态。ALTER SYSTEM ENABLE RESTRICTED SESSION;4)在SCOTT会话中,查询EMP表中的记录,能否成功,解释原因。SELECT * FROM EMP;成功,启动受限状态,不影响已登录的会话。5)退出SCOTT会话,重新连接,能否成功,解释原因。登录失败,数据库系统处于限制状态,SCOTT无权登
4、录。6)在SYS会话中,将数据库退出受限状态,切换至正常状态。ALTER SYSTEM DISABLE RESTRICTED SESSION;7)重新连接到SCOTT用户,能否成功,解释原因。成功第5章练习参考答案1C 2D 3B 4A 5C 6B 7C第6章综合训练项目参考答案1以sysdba身份连接到数据库,查看控制文件位置和名称。SELECT * FROM V$CONTROLFILE;2查询控制文件中可记载的最大数据文件个数是多少。SELECT * FROM V$CONTROLFILE_RECORD_SECTION;查看DTATAFILE记录RECORDS_TOTAL字段3通过服务器端初
5、始化参数建立改静态初始化参数,并修静态初始化参数文件,去掉一个控制文件。参看第4章,修改control_files参数。4指定用静态初始化参数启动数据库,运行一段时间。STARTUP PFILE=5使用show命令显示控制文件的名称和位置。SHOW PARAMETER control_files6重新用服务器端初始化参数启动数据库,说明出错的现象和原因。STARTUP装载失败,原因是重新启动,初始化参数中,仍然指定3个控制文件,其中的一个控制文件已经失效7描述采取的对策,维护控制文件,直到数据库能够正常打开。方法1:修改服务器端初始化参数,去掉失效的控制文件。方法2:用好的初始化参数文件覆盖失
6、效的初始化参数文件第6章练习参考答案1B 2D 3C 4C 5D第7章综合训练项目参考答案1列出现有日志文件的位置和名称;显示数据库所拥有的重做日志文件组号、成员的数量和日志文件的大小。 SELECT member FROM v$logfile; SELECT group#,members,bytes FROM v$log;2查询数据库的归档模式;查询是否启用了自动归档。 ARCHIVE LOG LIST;3说明当前日志组号,和最大日志序列号。进行手工日志切换,重新说明当前日志组号,和最大日志序列号。 SELECT group#,sequence# FROM v$log where statu
7、s=CURRENT其中:查看group#和sequence#,group#代表日志组号,sequence#表日志序列号。CURRENT代表当前日志状态,当前日志的日志序列号总是最大的。ALTER SYSTEM SWITCH LOGFILE;4在E:盘增加新的日志组,里面有两个成员,大小为1M。 ALTER DATABASE ADD LOGFILE GROUP 4 (E:4a,) SIZE 1M;5向新增的日志组增加第三个成员,大小为1M。 ALTER DATABASE ADD LOGFILE MEMBER 4c to GROUP 4;6删除新组的第一个成员。 ALTER DATABASE DR
8、OP LOGFILE MEMBER 7将新增加的组移动到同其它日志组相同的目录下。SHUTDOWN;COPY重做日志文件到新位置STARTUP MOUNT; ALTER DATABASE RENAME FILE TO d:oracleoradatadb01 4coracleoradatadb014cALTER DATABASE OPEN;8删除新增加的日志组。 ALTER DATABASE DROP LOGFILE GROUP 4;9将数据库置于归档模式的手工归档状态下,进行多次日志切换,直到进入等待状态,尝试解除等待状态。先设置归档模式 CONN / AS SYSDBA; SHUTDOWN;
9、 STARTUP MOUNT; ALTER DATABASE ARCHIVELOG; ALTER DATABASE OPEN;确保自动归档停止,然后切换日志ALTER SYSTEM ARCHIVE LOG STOP;出现等待状态后,启动另外的会话,使用如下命令进行手工归档,就可以暂时解除等待状态ALTER SYSTEM ARCHIVE LOG ALL;10取消自动归档,取消归档模式,删除所有的归档文件。ALTER DATABASE NOARCHIVELOG;然后找到所的归档文件用操作系统命令删除。第7章练习参考答案1A 2D 3A 4C 5B 6A 7B 8B第8章综合训练项目参考答案1查看S
10、YSTEM表空间的大小是多少,对应的数据文件的路径和名称是什么 SELECT bytes,file_name FROM dba_data_files WHERE tablespace_name=SYSTEM2创建本地管理表空间DATA01,包含大小1M的一个数据文件,数据文件位于E:,每个区的大小为64K。CREATE TABLESPACE data01DATAFILE e: SIZE 1MEXTENT MANAGEMENT LOCAL AUTOALLOCATE;3向该表空间插入一个新表TAB1,并插入一行数据。CREATE TABLE tab1(no varchar2(20)TABLESPA
11、CE data01;INSERT INTO tab1 VALUES(aa COMMIT;4通过改变数据文件的大小,将表空间DATA01大小增加为2M。 ALTER DATABASE RESIZE 2M;5将数据文件改为空间自动增长,允许每次自动扩展500 KB,最大大小为5MB。 AUTOEXTEND ONNEXT 500K MAXSIZE 5M;6将表空间DATA01的数据文件从E:移动到数据文件默认路径下,运行查询验证。 CONNECT / AS SYSDBA ALTER TABLESPACE data01 OFFLINE;使用操作系统命令移动或复制数据文件 ALTER TABLESPAC
12、E data01 RENAME DATAFILE TO ALTER TABLESPACE data01 ONLINE; SELECT FILE_NAME FROM DBA_DATA_FILES WHERE TABLESPACE_NAME=DATA017为表空间DATA01增加一个新的数据文件,运行查询验证。ALTER TABLESPACE data01ADD DATAFILE SIZE 1M;8创建新的临时表空间TEMP01,大小10M,并设置成当前系统默认临时表空间。 CREATE TEMPORARY TABLESPACE temp01TEMPFILE oracleoradatadb0101
13、a SIZE 10MEXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K; ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp01;9改变DATA01表空间为只读表空间,删除创建的第一个表TAB1,结果如何ALTER TABLESPACE data01 READ ONLY;DROP TABLE tab1;表可以删除ALTER TABLESPACE data01 READ WRITE;10关闭数据库,将DATA01表空间的数据文件改名,模拟数据文件故障,重新启动数据库,说明现象,在这种情况下如何打开数据库数据文件改名为
14、STARTUP;数据库启动失败,停止在装载状态。将故障数据文件脱机,即可启动数据库。ALTER DATABASE DATAFILE OFFLINE;11删除表空间DATA01和数据文件。DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES;第8章练习参考答案1D 2B 3D 4D 5D 6B第9章综合训练项目参考答案1以用户SYS的身份进行连接,查看当前的UNDO数据管理方式和UNDO表空间的名称。SHOW PARAMETER UNDO_MANAGEMENT;SHOW PARAMETER UNDO_TABLESPACE;2查询SYSTE
15、M表空间的UNDO段的名称。SELECT segment_name,owner,tablespace_name,statusFROM dba_rollback_segs3设置UNDO_RETENSION为30分钟。ALTER SYSTEM SET UNDO_RETENTION=900 SCOPE=BOTH;4创建新的UNDO表空间UNDOTEMP,大小为15 MB。CREATE UNDO TABLESPACE UNDOTEMPSIZE 15M;5切换到新的UNDO表空间UNDOTEMP。ALTER SYSTEM SET UNDO_TABLESPACE=UNDOTEMP;6启动新的SQL*Plu
16、s 并以用户SCOTT的身份进行连接,然后向表DEPT中插入行。不要提交、回退或退出该会话。CONN SCOTT/TIGER;INSERT INTO DEPT VALUES(50, COMPUTER , HENZHEN 7在以SYS 身份连接的会话中,切换到原来的UNDO表空间。CONN /AS SYSDBA;ALTER SYSTEM SET UNDO_TABLESPACE=UNDOTBS1;8在以SYS 身份连接的会话中,试删除UNDO表空间UNDOTEMP,说明发生的现象和原因。DROP TABLESPACE UNDOTEMP INCLUDING CONTENTS AND DATAFILE
17、S;系统提示不能删除该UNDO表空间,因为表空间中有活动的回滚段信息。9以SYS 身份发出下列命令:ALTER SYSTEM SET UNDO_retention=0 SCOPE=memory;现在删除UNDO表空间UNDOTEMP,结果如何过一段时间才就可以删除该表空间,因为UNDO_retention设为0.第9章练习参考答案1B 2B 3A 4D 5D第10章综合训练项目参考答案1查看USERS表空间的剩余空间SELECT tablespace_name,sum(blocks)*8/1024 TOTALFROM dba_free_spaceUSERSGROUP BY tablespace
18、_name;假定数据块大小为8K,结果转换成M字节。2查看USERS表空间区的管理方式和区的参数 SELECT extent_management,initial_extent,next_extent,min_extents,max_extents,pct_increaseFROM dba_tablespaces3查看HR账户EMPLOYEES表所在的表空间,以及区的个数和大小SELECT tablespace_name,extents,blocks,bytesFROM dba_segmentsWHERE owner = HR AND segment_name=EMPLOYEES4查看HR账户
19、EMPLOYEES表的区的管理参数,块的参数 SELECT pct_free,pct_used,ini_trans,max_transinitial_extent,next_extent,min_extents,max_extents,pct_increaseFROM dba_tables;5查看HR账户的哪个表占有空间最大,最大空间是多少 SELECT table_name,blocksFROM dba_tables6创建本地管理表空间USERTBS,大小1M,区大小为128K,块空间自动管理。CREATE TABLESPACE usertbs/oracle/oradata/db01/EXT
20、ENT MANAGEMENT LOCAL UNIFORM SIZE 128KSEGMENT SPACE MANAGEMENT AUTO;7创建16K非标准块表空间MYTBS16K,并验证。ALTER SYSTEM SET DB_16k_CACHE_SIZE=16M SCOPE=SPFILE;CREATE TABLESPACE mytbs16kBLOCKSIZE 16K;8删除新建的表空间USERTBS和MYTBS16K。DROP TABLESPACE USERTBS;DROP TABLESPACE MYTBS16K;第10章练习参考答案1A 2A 3A 4A 5A第11章综合训练项目参考答案1
21、以用户SCOTT的身份登录数据库,创建表CUSTOMERS,使用表空间USERS和缺省的存储设置。插入若干行数据。表和列定义如下:CUST_CODE VARCHAR2(3) NAME VARCHAR2(50) REGION VARCHAR2(5) 创建表ORDERS,使用表空间USERS,存储参数INITIAL设置为100K。ORD_ID NUMBER(3) ORD_DATE DATE CUST_CODE VARCHAR2(3) DATE_OF_DELY DATE CREATE TABLE CUSTOMERS(CUST_CODE VARCHAR2(3),NAME VARCHAR2(50),RE
22、GION VARCHAR2(5) TABLESPACE USERS;CREATE TABLE ORDERS (ORD_ID NUMBER(3),ORD_DATE DATE,CUST_CODE VARCHAR2(3),DATE_OF_DELY DATE)TABLESPACE USERS STORAGE(INITIAL 100K);2检查CUSTOMERS表的创建时间。 SELECT created FROM user_objects WHERE object_name=CUSTOMERS3检查ORDERS 表使用的区数 SQLSELECT extents FROM dba_segments WHERE owner=SCOTT AND segm
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1