ORACLE.10G备份与恢复课后习题答案

1
1.A B C D
2.B C D
3.A D
4.C D


2
1.C D E
2.C
3.C
4.A
5.C
6.参见建立示例数据库。
7.当以SYS用户连接到PRACTICE数据库时,必须带有网络服务名(PRACTICE),并且必须带有AS SYSDBA选项。
C:\>sqlplus sys/admin as sysdba
sql>select instance_name,status from v$instance;
sql>select name from v$bgprocess where paddr!='00';
sql>select name,log_mode,current_scn from v$database;
sql>select tablespace_name,extent_management,status from dba_tablespaces;
sql>select file_name from dba_data_files where tablespace_name='SYSTEM';
sql>select name,bytes,checkpoint_change# from v$datafile;
8.当多元化重做日志时,应该将同一个日志组的不同日志成员分布到不同磁盘。
sql>select group#,members,status,bytes from v$log;
sql>select member from v$logfile where group#=1;
sql>select member from v$logfile where group#=2;
sql>select member from v$logfile where group#=3;
sql>alter database add logfile member
'c:\practice\redo01_2.log' to group 1,
'c:\practice\redo02_2.log' to group 2,
'c:\practice\redo03_2.log' to group 3;
sql>col member format a30
sql>select group#,member,status from v$logfile;
9.当多元化控制文件时,应该将同一个数据库的不同控制文件分布到不同磁盘上。
sql>select name from v$controlfile;
sql>alter system set control_files=
'D:\practice\control01.ctl','d:\practice\control02.ctl',
'D:\practice\control03.ctl','C:\practice\control04.ctl'
scope=spfile;
sql>shutdown immediate
sql>host copy d:\practice\control01.ctl c:\practice\control04.cto
sql>startup
sql>select name from v$controlfile;
10.通过监视例程恢复可以确定是否需要调整例程恢复时间。
C:\>sqlplus sys/admin as sysdba
C:\>sqlplus scott/tiger@practice
SCOTT会话:
create table demo01(cola int,colb int);
begin
for i in 1..100000 loop
insert into demo01 values(i,i);
end loop;
end;
/
sys会话:
sql>shutdown abort
sql>startup
sql>select pid,undoblocksdone/undoblockstotal进度
from v$fast_start_transactions;


3
1.B
2.A
3.当改变日志操作模式时,必须以SYSDBA或SYSOPER身份连接。注意,log_archive_dest_n是动态参数,而log_archive_format是静态参数。
C:\>sqlplus sys/admin as sysdba
sql>select name,log_mode from v$database;
sql>host mkdir c:\practice\archive
sql>host mkdir d:\practice\archive
sql>alter system set
log_archive_dest_1='location=d:\practice\archive';
sql>alter system set
log_archive_dest_2='location=c:\practice\archive';
sql>alter system set log_archive_format='%s_%t_%r.arc' scope=spfile;
sql>shutdown immediate
sql>startup mount
sql>alter database archivelog;
sql>alter database open;
4.从Oracle Database 10g 开始,当将数据库转变为ARCHIVELOG模式时,会自动启动归档日志。在ARCHIVELOG模式下,当执行日志切换时,会自动生成归档日志。
SQL>alter system switch logfile;
sql>alter system sitch logfile;
sql>col name format a40
sql>select sequence#,name from v$archived_log;
5.以特权用户身份登录之后,通过执行ARCHIVE LOG LIST命令,可以显示日志操作模式、归档目录及当前日志序列号。
sql>conn sys/admin as sysdba
sql>archive log list


4
1.A
2.A
3.A
4.A
5.A
6.当备份PRACTICE数据库时,必须以特权用户登录。注意,当执行数据库一致性备份时,不能使用SHUTDOWN ABORT选项关闭数据库;
而数据库非一致性备份只适用于ARCHIVELOG模式。
建立OS目录:
C:\>mkdir d:\backup
C:\>mkdir d:\backup\consistent
C:\>mkdir d:\backup\inconsistent
数据库一致性备份:
C:\>sqlplus sys/admin as sysdba
sql>select name from v$datafile union select name from v$controlfile;
sql>shutdown immediate
sql>host copy C:\PRACTICE\CONTROL04.CTL d:\backup\consistent
sql>host copy C:\PRACTICE\CONTROL01.CTL d:\backup\consistent
sql>host copy C:\PRACTICE\CONTROL02.CTL d:\backup\consistent
sql>host copy C:\PRACTICE\CONTROL03.CTL d:\backup\consistent
sql>host copy C:\PRACTICE\SYSAUX01.DBF d:\backup\consistent
sql>host copy C:\PRACTICE\SYSTEM01.DBF d:\backup\consistent
sql>host copy C:\PRACTICE\UNDOTBS01.DBF d:\backup\consistent
sql>host copy C:\PRACTICE\USERS01.DBF d:\backup\consistent
sql>startup
数据库非一致性备份:
sql>select name from v$datafile;
sql>alter database begin backup;
sql>host copy D:\practice\sysaux01.dbf d:\backup\inconsistent
sql>host copy d:\pracitce\system01.dbf d:\backup\inconsistent
sql>host copy d:\pracitce\undotbs01.dbf d:\backup\inconsistent
sql>host copy d:\practice\users01.dbf d:\backup\inconsistent
sql>alter database end backup;
sql>alter system archive log current;
sql>alter database backup controlfile
to 'd:\backup\inconsistent\practice.ctl';
7.表空间备份只适用于ARCHIVELOG模式,脱机备份不能用于备份SYSTEM表空间和
正在使用的UNDO表空间,联机备份可以备份任何表空间。
建立OS目录:
sql>host mkdir d:\backup\offline
sql>host mkdir d:\backup\online
脱机备份USERS表空间:
sql>select file_name from dba_data_files
where tablespace_name='USERS';
sql>alter tablespace users offline;
sql>host copy d:\practice\users01.dbf d:\backup\offline
sql>alter tablespace users online;
联机备份USERS表空间:
sql>alter tablespace users begin backup;
sql>host copy d:\practice\users01.dbf d:\backup\online
sql>alter tablespace users end backup;
8.备份控制文件。
建立OS目录:
sql>host mkdir d:\backup\control
建立控制文件二进制映像文件:
sql>alter database backup controlfile
to 'd:\backup\control\practice.ctl' reuse;
建立控制文件文本跟踪文件:
sql>alter system set user_dump_dest='d:\backup\control' scope=memory;
sql>alter database backup controlfile to trace noresetlogs;
9.当备份归档日志时,相同日志序号的归档日志只需要备份一份即可,而备份SPFILE则可以建立文本参数文件。
建立OS目录:
sql>host mkdir d:\backup\other
备份归档日志:
sql>col name format a40
sql>select sequence#,name from v$archived_log;
sql>host copy d:\practice\archive\*_539188434.arc d:\backup\other
建立文本参数文件:
sql>create pfile='d:\backup\other\practice.par' from spfile;


5
1.A C
2.B
3.B C
4.当恢复SYSTEM表空间时,要求数据库必须处于MOUNT状态。
模拟损坏:
SQL>select file_name from dba_data_files where tablespace_name='SYSTEM';
sql>shutdown immediate
sql>host del d:\practice\system01.dbf
显示需要恢复的数据文件:
sql>startup mount
sql>select file# from v$recover_file;
sql>host move d:\backup\consistent\system01.dbf d:\practice
sql>select archive_name from v$recovery_log;
恢复数据文件并检查:
sql>recover datafile 1
sql>alter database open;
sql>select * from test_1;
5.恢复其他表空间。
模拟USERS表空间的数据文件损坏:
sql>select file_name from dba_data_files where tablespace_name='USERS';
sql>host copy d:\backup\offline\user01.dbf d:\practice\users01.dbf
sql>alter system checkpoint;
sql>select * from test_2;
恢复USERS表空间并检查:
sql>alter tablespace users offline for recover;
sql>host copy d:\backup\offline\users01.dbf d:\practice\users01.dbf
sql>recover tablespace users;
sql>alter tablespace users online;
sql>select * from test_2;
6.恢复未备份的数据文件。
建立表空间USER01:
sql>create tablespace user01
datafile 'd:\practice\user01.dbf' size 5M;
模拟USER01表空间的数据文件古镇:
sql>shutdown immediate
sql>host del d:\practice\user01.dbf
恢复USER01表空间的数据文件:
sql>startup mount
sql>alter database datafile 'd:\practice\user01.dbf' offline;
sql>alter database open;
sql>alter database create datafile 'd:\practice\user01.dbf';
sql>recover datafile 'd:\practice\user01.dbf'
sql>alter database datafile 'd:\practice\user01.dbf' online;
sql>select * from test_3;




6
1.B
2.C
3.C
4.当使用数据库非一致性备份方法备份所有数据文件和控制文件时,要求数据库必须处于ARCHIVELOG模式,并且必须以特权用户身份进行备份。
C:\>sqlplus sys/admin as sysdba;
sql>select name from v$datafile;
sql>alter database begin backup;
sql>host copy D:\PRACTICE\SYSTEM01.DBF D:\BACKUP\INCONSISTENT
sql>host copy D:\PRACTICE\SYSAUX01.DBF D:\BACKUP\INCONSISTENT
sql>host copy D:\PRACTICE\UNDOTBS01.DBF D:\BACKUP\INCONSISTENT
sql>host copy D:\PRACTICE\USERS01.DBF D:\BACKUP\INCONSISTENT
sql>host copy D:\PRACTICE\USER01.DBF D:\BACKUP\INCONSISTENT
sql>alter database end backup;
sql>alter system archive log current;
sql>alter database backup controlfile
to 'D:\backup\inconsistent\practice.ctl' reuse;
5.使用基于时间点的不完全恢复。
确定系统日期时间并模拟用户误操作:
sql>select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS')
from dual;
sql>shutdown immediate
sql>host del D:\practice\*.dbf
sql>host move d:\backup\inconsistent\*.dbf d:\practice
sql>startup mount
sql>recover database until time '2004-10-11 17:17:01'
sql>alter database open resetlogs;
sql>select * from test_4;
重新备份数据库的所有数据文件和控制文件:
C:\>sqlplus sys/admin as sysdba
sql>select name from v$datafile;
sql>alter database begin backup;
sql>host copy d:\practice\system01.dbf d:\backup\inconsistent
sql>host copy d:\practice\sysaux01.dbf d:\backup\inconsistent
sql>host copy d:\practice\undotbs01.dbf d:\backup\inconsistent
sql>host copy d:\practice\users01.dbf d:\backup\inconsistent
sql>host copy d:\practice\user01.dbf d:\backup\inconsistent
sql>alter database end backup;
sql>alter system archive log current;
sql>alter database backup controlfile
to 'D:\BACKUP\INCONSISTENT\PRACTICE.CTL' REUSE;
6.使用基于取消的不完全恢复。
显示USER01表空间的数据文件名称:
sql>select file_name from dba_data_files
where tablespace_name='USER01';
sql>select name from v$archived_log where sequence#=3;
模拟故障:
sql>shutdown immediate
sql>host del d:\practice\user01.dbf
sql>host del d:\practice|archive|3_1_539284851.arc
sql>host del c:\practice|archive|3_1_539284851.arc
恢复TEST_5表:
sql>host del d:\practice\*.dbf
sql>host move d:\backup\inconsistent\*.dbf d:\practice
sql>startup mount
sql>recover database until cancel
sql>alter database open resetlogs;
sql>select * from test_5;
重新备份数据库的所有数据文件和控制文件:
c:\>sqlplus sys/admin as sysdba
sql>select name from v$datafile;
sql>alter database begin backup;
sql>host copy d:\practice\system01.dbf d:\backup\inconsistent
sql>host copy d:\practice\sysaux01.dbf d:\backup\inconsistent
sql>host copy d:\practice\undotbs01.dbf d:\backup\inconsistent
sql>host copy d:\practice\users01.dbf d:\backup\inconsistent
sql>host copy d:\practice\user01.dbf d:\backup\inconsistent
sql>alter database end backup;
sql>alter system archive log current;
sql>alter database backup controlfile
to 'd:\backup\inconsistent\practice.ctl' reuse;
7.使用基于备份控制文件的不完全恢复方法。
模拟误操作:
sql>drop tablespace user01 including contents;
确定误操作时间:
sql>show parameter background_dump_dest
恢复USER01表空间:
sql>shutdown immediate
sql>host del d:\practice\*.dbf
sql>host move d:\backup\inconsistent\*.dbf d:\practice
sql>host copy d:\backup\inconsistent\practice.ctl d:\practice\control01.ctl
sql>host copy d:\backup\inconsistent\practice.ctl d:\practice\control02.ctl
sql>host copy d:\backup\inconsistent\practice.ctl d:\practice\control03.ctl
sql>host copy d:\backup\inconsistent\practice.ctl d:\practice\control04.ctl
sql>startup mount
sql>recover database until time '2004-10-11 17:43:12' using backup controlfile
sql>alter database open resetlogs;
sql>select * from v$tablespace;
7
1.B
2.A
3.B
4.处理部分控制文件损坏。
显示所有控制文件:
C:\>sqlplus sys/admin as sysdba
sql>select name from v$controlfile;
模拟损坏:
sql>shutdown immediate
sql>host del d:\practice\control01.ctl
sql>startup
处理控制文件介质失败:
sql>alter system set control_files=
'd:\practice\control02.ctl','D:\practice\control03.ctl',
'c:\practice\control04.ctl' scope=spfile;
sql>startup force
5.处理所有控制文件全部损坏。
备份控制文件到文本跟踪文件:
sql>alter system set user_dump_dest='d:\backup'
scopy=memory;
sql>alter database backup controlfile to trace noresetlogs;
模拟损坏:
sql>shutdown immediate
sql>host del D:\practice\control02.ctl
sql>host del D:\practice\control03.ctl
sql>host del D:\practice\control04.ctl
sql>startup
处理控制文件介质失败:
sql>shutdwon immediate
sql>@D:\BACKUP\CREATE_CTL
6.处理非活动日志组损坏。
显示日志组2的所有日志成员和状态:
sql>select member from v$logfile where group#=2;
sql>select status from v$log where group#=2;
模拟损坏:
sql>shutdown immediate
sql>host del d:\practice\redo02.log
sql>host del c:\practice\redo02_2.log
sql>startup
处理非活动日志组介质失败:
sql>alter database add logfile
('D:\practice\redo04.log','c:\practice\redo04_2.log')
size 10M;
sql>alter database drop logfile group 2;
sql>alter database open;
7.处理当前日志组损坏。
显示当前正在使用的日志组及其日志成员:
sql>col member format a40
sql>select a.group#,b.member from v$log a,v$logfile b
where a.group#=b.group# and a.status='current';
模拟损坏:
sql>shutdown immediate
sql>host del d:\practice\redo03.log
sql>host del c:\practice\redo03_2.log
sql>startup
处理当前日志组介质失败:
sql>recover database until cancel
sql>alter database open resetlogs;
8.处理临时文件损坏。
在DBA_OBJECTS上执行排序操作:
sql>select * from dba_objects order by object_name;
增加临时文件:
sql>select tablespace_name from dba_tablespaces where contents='TEMPORARY';
sql>alter tablespace temp add tempfile 'D:\practice\temp.dbf' size 10M;
在DBA_OBJECTS上执行排序操作:
sql>select object_name from dba_objects order by object_name;




|
8
1.B
2.A
3.改变PRACTICE数据库为noarchivelog模式。
sql>select log_mode from v$database;
sql>shutdown immediate
sql>startup mount
sql>alter database noarchivelog;
sql>alter database open;
4.备份practice数据库。
sql>select name from v$datafile union select name from v$controlfile;
sql>host mkdir D:\BACKUP\noarchivelog
sql>shutdown immediate
sql>host copy C:\practice\control04.ctl D:\BACKUP\NOARCHIVELOG
sql>host copy C:\practice\control02.ctl D:\BACKUP\NOARCHIVELOG
sql>host copy C:\practice\control03.ctl D:\BACKUP\NOARCHIVELOG
sql>host copy C:\practice\SYSAUX01 D:\BACKUP\NOARCHIVELOG
sql>host copy C:\practice\SYSTEM01.DBF D:\BACKUP\NOARCHIVELOG
sql>host copy C:\practice\UNDOTBS01.DBF D:\BACKUP\NOARCHIVELOG
sql>host copy C:\practice\USER01.DBF D:\BACKUP\NOARCHIVELOG
sql>host copy C:\practice\USERS01.DBF D:\BACKUP\NOARCHIVELOG
sql>STARTUP
5.恢复PRACTICE数据库。
模拟损坏:
sql>select file_name from dba_data_files
where tablespace_name='USERS';
sql>shutdown immediate
sql>host del d:\practice\users01.dbf
sql>startup
sql>host copy d:\backup\noarchivelog\users01.dbf d:\practice
sql>recover datafile 4
sql>shutdown immediate
sql>host copy D:\backup\noarchivelog\*.dbf d:\practice
sql>host copy D:\BACKUP\NOARCHIVELOG\CONTROL02.CTL D:\PRACTICE
sql>host copy D:\BACKUP\NOARCHIVELOG\CONTROL03.CTL D:\PRACTICE
sql>host copy D:\BACKUP\NOARCHIVELOG\CONTROL04.CTL D:\PRACTICE
sql>STARTUP MOUNT
sql>RECOVER DATABASE OPEN RESETLOGS;
sql>select * from TEST_6;


9
1.A
2.B
3.改变practice数据库为ARCHIVELOG模式。
C:\>sqlplus sys/admin as sysdba
sql>select log_mode from v$database;
sql>shutdown immediate
sql>startup mount
sql>alter database archivelog;
sql>alter database open;
4.执行RMAN配置操作。
显示所有RMAN配置:
C:\>rman target sys/admin nocatalog
RMAN>SHOW ALL;
配置并显示RMAN通道:
RMAN>RUN {host 'mkdir d:\backup\rman';}
RMAN>configure channel device type disk
format 'D:\backup\rman\%d_%s.bak';
RMAN>show channel;
配置并显示冗余度:
RMAN>configure retention policy to redundancy 3;
RMAN>SHOW RETENTION POLICY;
清除冗余度配置:
RMAN>configure retention policy clear;
RMAN>SHOW RETENTION POLICY;


10
1.A
2.B
3.建立PRACTICE数据库的备份集。
C:\>rman target sys/admin nocatalog;
RMAN>run{
configure channel device type disk maxpiecesize 400M;
configure device type disk parallelism 3;
backup database format='d:\backup\rman\%d_%s_%p.bak';
configure channel device type disk clear;
configure device type disk clear;
}
RMAN>list backup;
4.建立表空间USERS的备份集。
使用REPORT SCHEMA命令报告目标数据库物理方案:
RMAN>report schema;
建立备份集:
RMAN>backup tablespace users format='d:\backup\rman\%N_%s.bak';
列出表空间USERS的备份集:
RMAN>list backup of tablespace users;
5.建立最近一天归档日志的备份集。
RMAN>sql 'alter system switch logfile';
RMAN>sql 'alter system switch logfile';
RMAN>sql 'alter system switch logfile';
RMAN>backup archivelog
from time 'sysdate-1' until time 'sysdate'
format='d:\backup\rman\%d_%s.bak';
RMAN>list backup of archivelog all;
6.建立增量备份和积累备份。
在USER01表空间上执行增量0级备份:
RMAN>backup incremental level 0 tablespace user01;
建立事例表TEST_7,并执行PL/SQL块插入数据:
RMAN>run {host 'sqlplus sys/admin as sysdba';}
sql>create table test_7(cola int) tablespace USER01;
sql>begin
for i in 1..100000 loop
insert into test_7 values(i);
end loop;
commit;
end;
/
在USER01表空间上执行积累1级备份:
sql>exit
RMAN>backup incremental level 1 cumulative tablespace user01;
RMAN>list backup of tablespace user01;
7.在USER01表空间的数据文件上建立映像副本。
RMAN>report schema;
RMAN>copy datafile 5 to 'd:\backup\rman\df_5.bak';


11
1.B
2.B、C
3.B
4.C
5.C
6.恢复SYSTEM表空间。
模拟故障:
C:\>rman target sys/admin nocatalog
RMAN>report schema;
RMAN>shutdown immediate
RMAN>run {host 'del D:\practice\system01.dbf';}
RMAN>startup
恢复SYSTEM表空间数据文件并检查:
RMAN>run{
restore datafile 1;
recover datafile 1;
alter database open;
}
RMAN>run {host 'sqlplus sys/admin as sysdba';}
sql>select * from test_8;
sql>exit
7.恢复其它表空间。
模拟故障:
RMAN>shutdown immediate
RMAN>run {host 'del D:\practice\user01.dbf';}
RMAN>startup
恢复USERS表空间:
RMAN>run{
sql 'alter database datafile 4 offline';
sql 'alter database open';
restore tablespace users;
recover tablespace users;
sql 'alter tablespace users online';
}
RMAN>run {host 'sqlplus sys/admin as sysdba';}
sql>select * from test_9;
sql>exit
8.使用基于时间的不完全恢复。
模拟用户误操作:
sql>select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS')
from dual;
sql>drop table test_10;
执行基于时间恢复,并检查结果:
C:\set nls_date_format=YYYY-MM-DD HH24:MI:SS
C:\>rman target sys/admin nocatalog
RMAN> run{
startup force mount;
set until time='2004-10-13 17:40:29';
restore database;
recover database;
alter database open resetlogs;
}
RMAN>run {host 'sqlplus sys/admin as sysdba';}
sql>select * from test_10;
9.使用基于取消的不完全恢复。
模拟故障:
RMAN>shutdown immediate
RMAN>run{host 'del D:\PRACTICE\USER01.DBF';}
RMAN>run{host 'del D:\PRACTICE\ARCHIVE\3_1_5555.ARC';}
RMAN>run{host 'del C:\PRACTICE\ARCHIVE\3_1_13434.ARC';}
执行基于取消恢复,并检查恢复结果:
RMAN>run{
startup force mount;
set until sequence=3;
restore database;
recover database;
alter database open resetlogs;
}
RMAN>run{host 'sqlplus sys/admin as sysdba';}
sql>select * from test_11;




12
1.D
2.B
3.删除所有备份集和映像副本。
C:\>rman target sys/oracle nocatalog
rman>delete noprompt backup;
rman>deltete noprompt copy;
4.使用REPORT命令。
报告数据库物理方案:
RMAN>report schema;
报告3天未备份的数据文件,然后备份相应的数据文件:
RMAN>report need backup days 3 database;
RMAN>backup database format='d:\backup\rman\%d_%s.bak';
在USER01表空间上建立TEST_12表:
RMAN>run{host 'sqlplus sys/oracle as sysdba';}
sql>create table test_12 tablespace user01 nologging
as select * from test_11;
sql>exit
rman>report unrecoverable;
rman>backup datafile 5 format='d:\backup\rman\%d_%s.bak';
5.使用LIST命令。
列出表空间USERS备份集:
RMAN>list backup of tablespace users;
列出所有数据库副本:
RMAN>list incarnation of database;
6.使用CROSSCHECK命令。
列出表空间USER01备份集,然后使用OS命令删除某个备份集文件:
RMAN>list backup of tablespace user01;
RMAN>run {host 'del D:\BACKUP\RMAN\PRACTICE_16.BAK';}
核对表空间USER01的备份集:
RMAN>crosscheck backup of tablespace user01;
7.使用DELETE命令。
删除陈旧备份:
RMAN>delete noprompt obsolete;
删除EXPIRED备份集:
RMAN>delete expired backup;
8.使用CHANGE命令。
列出表空间USERS的备份集,然后改变备份集为UNAVAILABLE状态:
RMAN>list backup of tablespace users;
RMAN>change backupset 13 unavailable;
列出表空间USERS的备份集,然后改变备份集为AVAILABLE状态:
RMAN>list backup of tablespace users;
RMAN>change backupset 13 available;
9.使用CATALOG命令。
使用用户管理备份方式备份USER01表空间:
RMAN>run {host 'sqlplus sys/oracle as sysdba';}
sql>alter tablespace user01 begin backup;
sql>host copy d:\practice\user01.dbf d:\backup\rman
sql>alter tablespace user01 end backup;
sql>exit
追加USER01表空间备份到RMAN资料库:
RMAN>catalog datafilecopy 'd:\backup\rman\user01.dbf';
13
1.B
2.A
3.建立恢复目录。
C:\>sqlplus system/oracle
sql>create tablespace rman_ts
datafile 'd:\demo\rman_ts.dbf' size 15M;
sql>create user rman identified by rman
default tablespace rman_ts;
sql>grant connect,resource,recovery_catalog_owner to rman;
C:\>rman catalog rman/rman
rman>create catalog;
rman>connect target sys/oracle
rman>register database;
4.建立存储脚本bak_scr。
rman>create script bak_scr{
crosscheck backup;
crosscheck copy;
delete noprompt obsolete;
delete expired backup;
delete expired copy;
backup database plus archivelog
format='d:\backup\rman\%d_%s.bak';
}
5.执行存储脚本bak_scr。
rman>run{execute script bak_scr;}


14
1.A、C
2.B
3.B
4.建立DIRECTORY对象,并为用户授权。
C:\>sqlplus system/manager@practice
sql>host mkdir d:\dump
sql>create directory dump as 'd:\dump';
sql>grant read,write on directory dump to scott;
5.当使用数据泵导出工具EXPDP时,导出表使用TABLES选项,导出方案使用SCHEMAS选项,导出表
空间使用TABLESPACES选项,导出数据库使用FULL=Y选项。
C:\>expdp scott/tiger@practice directory=dump dumpfile=tab.dmp
tables=dept,emp
c:\>expdp system/manager@practice directory=dump
dumpfile=scott.dmp schemas=scott
c:\>expdp system/manager@practice directory=dump
dumpfile=tablespace.dmp tablespaces=data01
c:\>expdp system/manager@practice directory=dump
dumpfile=database.dmp full=y
6.当使用数据泵导入工具IMPDP导入表时,需要使用TABLES选项。
C:\>sqlplus scott/tiger@practice
sql>drop table emp;
sql>drop table dept;
impdp scott/tiger@practice directory=dump dumpfile=tab.dmp
tables=dept,emp
7.当使用数据泵导入工具IMPDP导入方案时,需要使用SCHEMAS选项。
SQL>conn system/manager@practice
SQL>drop user scott cascade;
impdp system/manager@practice directory=dump dumpfile=scott.dmp
schemas=scott
8.当使用数据泵导入工具IMPDP导入表空间时,需要使用TABLESPACE选项。
sql>conn system/manager@practice
sql>drop table scott.emp;
impdp system/manager@practice directory=dump
dumpfile=tablespace.dmp tablespaces=users
9.当使用数据泵导入工具IMPDP导入数据库时,需要使用FULL=Y选项。
SQL>conn system/manager@practice
sql>drop user scott cascade;
sql>drop tablespace user01 including contents and datafiles;
impdp system/manager@practice directory=dump
dumpfile=database.dmp full=y


15
1.B、D
2.C
3.A
4.当使用传统导出工具EXP时,导出表使用TABLES选项,导出方案使用OWNER选项,导出数据库使用FULL=Y选项。
exp scott/tiger file=tab.dmp tables=dept,emp
exp system/oracle file=scott.dmp owner=scott
exp system/oracle file=practice.dmp full=y
5.当使用传统导入工具IMP导入表时,需要指定TABLES选项。
C:\>sqlplus scott/tiger
sql>drop table emp;
sql>drop table dept;
imp scott/tiger file=tab.dmp tables=dept,emp
6.当使用传统导入工具IMP导入方案时,需要指定FROMUSER选项。
sql>drop table emp;
sql>drop table dept;
imp system/oracle file=scott.dmp fromuser=scott
7.当使用传统导入工具导入数据库时,需要指定FULL=Y选项。
sql>conn system/oracle
sql>drop user scott cascade;
sql>drop tablespace users including contents and datafiles;
imp system/oracle file=practice.dmp full=y


16
1.B
2.C
3.使用用户管理方式备份practice数据库到D:\backup\os目录。
C:\sqlplus sys/admin as sysdba
sql>host mkdir d:\backup\os
sql>select name from v$database;
sql>alter database begin backup;
sql>host copy d:\practice\*.dbf d:\backup\os
sql>alter database end backup;
sql>alter system archive log current;
sql>alter database backup controlfile to 'd:\backup\os\practice.ctl';
4.使用RMAN方式备份practice数据库到D:\backup\rman目录。
C:\>rman target sys/admin nocatalog
rman>backup database plus archivelog
format='d:\backup\rman\%d_%s.bak';
5.以SCOTT用户登录到practice数据库执行以下操作:
在USERS表空间上建立TEST_1,插入并提交数据:
C:\>sqlplus scott/tiger@practice
sql>create table test_1(cola int) tablespace users;
sql>insert into test_1 values(1);
sql>insert into test_1 values(2);
sql>insert into test_1 values(3);
sql>commit;
在USER01表空间上建立TEST_2,插入并提交数据:
sql>create table test_2(cola int) tablespace user01;
sql>insert into test_2 values(1);
sql>insert into test_2 values(2);
sql>insert into test_2 values(3);
sql>commit;
确定当前系统日期和时间,模拟用户误操作TEST_1表,并为TEST_2表增加新数据:
sql>select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;
sql>drop table test_1;
sql>insert into test_2 values(4);
sql>insert into test_2 values(5);
sql>insert into test_2 values(6);
sql>commit;
sql>conn sys/admin as sysdba;
sql>alter system switch logfile;
6.使用用户管理方式执行表空间时间点恢复。
建立辅助例程服务和PFILE文件:
C:\>oradim -new -sid auxiliary -intpwd oracle
C:\>mkdir d:\auxiliary
C:\>create pfile='d:\auxiliary\initauxiliary.ora' from spfile;
编辑pfile文件:
control_files='d:\auxiliary\practice.ctl'
db_unique_name='auxiliary'
db_file_name_convert=('d:\practice','d:\auxiliary')
log_file_name_convert=('d:\practice','d:\auxiliary',
'c:\practice','d:\auxiliary')
复制备份文件到D:\auxiliary目录:
sql>host copy d:\backup\os\system01.dbf d:\auxiliary
sql>host copy d:\backup\os\undotbs01.dbf d:\auxiliary
sql>host copy d:\backup\os\users01.dbf d:\auxiliary
sql>host copy d:\backup\os\practice.ctl d:\auxiliary
在辅助数据库上执行时间点恢复:
c:\>set oracle_sid=auxiliary
c:\>sqlplus sys/admin as sysdba;
sql>startup nomount pfile=d:\auxiliary\initauxiliary.ora
sql>alter database mount clone database;
sql>alter database datafile 1 online;
sql>alter database datafile 2 online;
sql>alter database datafile 4 online;
sql>recover database until time '2004-10-14 14:56:30'-
using backup controlfile
sql>alter database open resetlogs;
sql>alter tablespace temp add tempfile
'd:\auxiliary\temp.dbf' size 10M;
完成表空间恢复的其他步骤:
sql>host exp 'sys/admin as sysdba' point_int_time=recover=y-
tablespaces=users file=users.dmp
sql>conn sys/admin as sysdba;
sql>alter tablespacce users offline;
sql>host imp 'sys/admin as sysdba' point_in_time_recover=y -
datafiles=d:\practice\users01.dbf file=users.dmp
sql>alter tablespace suers online;
sql>select * from scott.test_1;
sql>select * from scott.test-2;
C:\>oradim -delete -sid auxiliary
c:\>del %oracle_home%\database\pwdauxiliary.ora
c:\>del d:\auxiliary
d:\auxiliary\*,
7.使用RMAN手工辅助例程执行表空间时间点恢复。
建立辅助例程服务和PFILE文件:
c:\>oradim -new -sid auxiliary -intpwd oracle
c:\>mkdir d:\auxiliary
c:\sqlplus sys/admin as sysdba
sql>create pfile='d:\auxiliary\initauxiliary.ora' from spfile;
编辑pfile文件:
control_files='d:\auxiliary\practice.ctl'
db_unique_name='auxiliary'
db_file_name_convert=('d:\practice','d:\auxiliary')
log_file_name_convert=('d:\practice','d:\auxiliary','c:\practice','d:\auxiliary')
启动辅助例程:
c:\>set oracle_sid=auxiliary
c:\>sqlplus sys/admin as sysdba;
sql>startup nomount pfile=d:\auxiliary\initauxiliary.ora
执行时间点恢复:
c:\>set oracle_sid=auxiliary
C:\>set nls_date_format=YYYY-MM-DD HH24;MI:SS
C:\>rman target sys/amdin auxiliary sys/admin
rman>run{
allocate auxiliary channel c1 device type disk;
recover tablespace suers until time '2004-10-14 15;33:32‘;}
C:\>sqlplus sys/admin as sysdba;
sql>alter tablespace suers online;
sql>select * from scott.test_1;
sql>select * from scott.test_2;
c:\>oradim -delete -sid auxiliary
c:\>del %oracle_home%\database\pwdauxiliary.ora
c:\>del d:\auxiliary
d:\auxiliary\*,


17
1.使用用户管理方式在同一主机上建立复制数据库DUPDB1。
使用用户管理方式备份主数据库的所有数据文件和控制文件:
sqlplus sys/admin as sysdba
sql>select name from v$datafile;
sql>alter database begin backup;
sql>host copy d:\practice*.dbf d:\backup\os
sql>alter database end backup;
sql>alter system archive log current;
sql>alter system set user_dump_dest='d:\backup'
scope=memory;
sql>alter database backup controlfile to trace;
建立os目录,为复制数据库建立例程服务和参数文件:
c:\>mkdir d:\dupdb1
c:\>mkdir d:\dupdb1\archive
c:\>oradim -new -sid dupdb1 -intpwd oracle
sqlplus sys/admin as sysdba
sql>create pfile='%oracle_home%\database\initdupdb1.ora' from spfile;
编辑参数文件:
control_files='d:\dupdb1\control01.ctl' db_name='dupdb1'
log_archive_dest_1='location=d:\dupdb1\archive'
建立spfile:
sql>create spfile=’%oracle_home%\datebase\spfiledupdb1.ora'
from pfile='%oracle_home%\database\initdupdb1.ora';
建立复制数据库:
c:\>move d:\backup\os*.dbf d:\dupdb1
c:\>set oracle_sid=dupdb1
c:\>sqlplus sys/admin as sysdba
sql>startup nomount
sql>create controlfile set database "dupdb1" resetlogs archivelog
maxlogfiles 16
maxlogmembers 3
maxdatafiles 100
maxinstances 8
maxloghistory 454
logfile
group 1('d:\dupdb1\redo01.log') size 10M,
group 2('d:\dupdb1\redo02.log') size 10M
datafile
'd:\dupdb1\system01.dbf',
'd:\dupdb1\undotbs01.dbf',
'd:\dupdb1\sysaux01.dbf',
'd:\dupdb1\users01.dbf',
'd:\dupdb1\user01.dbf'
character set zhs16gbk
;
sql>set logsource 'd:\practice\archive'
sql>recover database using backup controlfile until cancel
sql>alter database open resetlogs;
2.使用RMAN备份在同一主机上建立复制数据库DUPDB2。
使用RMAN备份数据库的所有数据文件和控制文件:
c:\>rman target sys/admin
rman>backup database plus archivelog
format='d:\backup\rman\%d_%s.bak';
建立os目录,为复制数据库建立例程服务和参数文件:
C:\>mkdir d:\dupdb2
c:\>mkdir d:\dupdb2\archive
c:\>oradim -new -sid dupdb2 -intpwd oracle
sqlplus sys/admin as sysdba
sql>create pfile='%oracle_home%\database\initdupdb2.ora' from spfile;
编辑参数文件:
control_files='d:\dupdb2\control01.ctl'
db_name='dupdb2'
log_archive_dest_1='location=d:\dupdb2\archive'
建立spfile:
sql>create spfile='%oracle_home%\database\spfiledupdb2.ora'
from pfile=%oracle_home%\database\initdupdb2.ora';
启动复制数据库例程:
C:\>set oracle_sid=dupdb2
c:\>sqlplus sys/oracle as sysdba
sql>startup nomount
建立复制数据库,并跳过USER01表空间:
c:\>set oracle_sid=dupdb2
c:\>rman target sys/admin auxiliary sys/admin
rman>run{
set newname for datafile 1 to 'd:\dupdb2\system01.dbf';
set newname for datafile 2 to 'd:\dupdb2\undotbs01.dbf';
set newname for datafile 3 to 'd:\dupdb2\sysaux01.dbf';
set newname for datafile 4 to 'd:\dupdb2\users01.dbf';
duplicate target database to dupdb2 logfile
'd:\dupdb2\redo01.log' size 10m,
'd:\dupdb2\redo02.log' size 10m
skip tablespace user01;
}


18
1.使用用户管理备份建立物理备用数据库PHYSTDBY。
备份PRACTICE数据库的所有数据文件,并建立备用控制文件:
c:\>sqlplus sys/admin as sysdba
sql>select name from v$datafile;
sql>alter database begin backup;
sql>host copy d:\practice\*.dbf d:\backup\os
sql>alter database end backup;
sql>alter system archive log current;
sql>alter database create standby controlfile
as 'd:\backup\os\phystdby.ctl';
为备用数据库PHYSTDBY建立OS目录:
sql>host mkdir d:\phystdby
sql>host mkdir d:\phystdby\archive
sql>host mkdir d:\phystdby\bdump
sql>host mkdir d:\phystdby\udump
为备用数据库phystdby建立备用例程服务:
sql>host oradim -new -sid phystdby -intpwd oracle
为主数据库和备用数据库配置监听程序和网络服务名:配置listener.ora文件和tnsnames.ora文件。设置practice数据库的
网络服务名为practice,设置phystdby数据库的网络服务名为phystdby.
为主数据库准备参数文件:
sql>create pfile='%oracle_home%\database\initpractice.ora' from spfile;
sql>shutdown immediate
sql>create spfile='%oracle_home%\database\spfilepractice.ora'
from pfile='%oracle_home%\database\initpractice.ora';
sql>startup
为备用数据库准备参数文件:
sql>create pfile='%oracle_home%\database\initphystdby.ora' from spfile;
sql>create spfile='%oracle_home%\database\spfilephystdby.ora'
from pfile='%oracle_home%\database\initphystdby.ora';
移动备份数据文件和备用控制文件到D:\phystdby目录:
sql>host move d:\backup\os\*.* d:\phystdby
启用备用数据库phystdby:
sql>conn sys/admin as sysdba;
sql>startup mount
sql>conn sys/admin as sysdba
sql>startup force
sql>conn sys/admin@phystdby as sysdba
sql>select name from v$archived_log;
2.操纵物理备用数据库phystdby
在主数据库practice上执行数据操作:
sql>conn sys/admin@practice as sysdba
sql>create table test_13(cola int) tablespace users;
sql>insert into test_13 values(1);
sql>insert into test_13 values(2);
sql>insert into test_13 values(3);
sql>commit;
sql>alter system archive log current;
打开备用数据库,检查数据:
sql>conn sys/admin@phystdby as sysdba
sql>alter database open;
sql>select * from test_13;
使备用数据库应用重做:
sql>alter database recover managed standby database disconnect from session;
取消重做应用,检查test_13表:
sql>alter database recover managed standby database cancel;
sql>alter database open;
sql>select * from test_13;
3.使用RMAN备份建立物理备用数据库logstdby。
备份practice数据库的所有数据文件,并备份备用控制文件:
c:\>rman target sys/admin@practice nocatalog
rman>backup database plus archivelog
format='d:\backup\rman\%d_%s.bak';
rman>backup current controlfile for standby
format='d:\backup\rman\%d_%s.bak';
为备用数据库phystdby建立os目录:
rman>run{
host 'mkdir d:\logstdby';
host 'mkdir d:\logstdby\archive';
host 'mkdir d:\logstdby\bdump';
host 'mkdir d:\logstdby\udump';
}
为备用数据库PHYSTDBY建立备用例程服务:
rman>run{
host 'oradim -new -sid logstdby -intpwd oracle';
}
为主数据库和备用数据库配置监听程序和网络服务名:配置listener.ora文件和tnsnames.ora文件。设置practice数据库的网络服务名为practice,设置logstdby数据库的网络服务名为logstdby。
为主数据库准备参数文件:
sqlplus sys/oracle@practice as sysdba'
sql>create pfile='%oracle_home%\database initpractice.ora' from spfile;
sql>shutdown immediate
sql>create spfile='%oracle_home%\database\spfilepractice.ora'
from pfile='%oracle_home%\database\initpractice.ora';
sql>startup
为备用数据库准备参数文件:
sql>create pfile='%oracle_home%\database\initlogstdby.ora' from spfile;
sql>create spfile='%oracle_home%\database\spfilelogstdby.ora'
from pfile=‘%oracle_home%\database\initlogstdby.ora';
启动备用例程,建立备用数据库logstdby:
C:\>sqlplus sys/admin@logstdby as sysdba
sql>startup nomount
sql>exit
c:\>rman target sys/admin@practice auxiliary sys/oracle@logstdby
rman>duplicate target database from standby dorecover;
启用备用数据库logstdby:
C:\>sqlplus sys/oracle@practice as sysdba
sql>startup force
sql>conn sys/oracle@logstdby as sysdba
sql>select name from v$archived_log;


19
1.连接到practice数据库,并执行以下操作:
确定逻辑备用数据库支持的方案:
C:\>sqlplus sys/admin@practice as sysdba
sql>select username from dba_users where username not in
(select owner from dba_logstdby_skip);
确定逻辑备用数据库不支持的数据库对象:
sql>col table_name format a15
sql>col data_type format a10
sql>col attributes format a20
sql>select owner||'.'||table_name table_name,
data_type,attributes from dba_logstdby_unsupported;
确定不能唯一标识的数据库表并处理:
sql>select owner,table_name from dba_logstdby_not_unique;
sql>drop table scott.test_1;
sql>drop table scott.test_2;
sql>drop table scott.demo01;
sql>alter table scott.bonus add primary key(ename);
sql>alter table scott.salgrade add primary key(grade);
2.基于物理备用数据库logstdby建立逻辑备用数据库。
激活practice数据库和logstdby备用数据库的补充日志特征:
sql>conn sys/admin@practice as sysdba
sql>alter database add supplemental log data
(primary key,unique index)columns;
sql>conn sys/admin@logstdby as sysdba
sql>alter database add supplemental log data(primary key,unique index) columns;
建立逻辑备用控制文件:
sql>alter database create logical standby controlfile
as 'd:\logstdby\temp.ctl';
激活逻辑备用数据库:
sql>conn sys/admin@logstdby as sysdba
sql>shutdown immediate
sql>host del d:\logstdby\logstdby.ctl
sql>host ren d:\logstdby\temp.ctl logstdby.ctl
sql>startup mount
sql>alter database recover managed standby database disconnect from session;
sql>alter database activate standby database;
修改逻辑备用数据库的数据库名:
sql>conn sys/oracle@logstdby as sysdba
sql>shutdown immediate
sql>startup mount
sql>host nid target=sys/oracle@logstdby dbname=logstdby
sql>host del %oracle_home%\database\pwdlogstdby.ora
sql>host orapwd file=%oracle_home%\database\pwdlogstdby.ora password=oracle
C:\>sqlplus sys/oracle@logstdby as sysdba
sql>create pfile='%oracle_home%\database\initlogstdby.ora'
from spfile='%oracle_home%\database\spfilelogstdby.ora';
sql>create spfile='%oracle_home%\database\spfilelogstdby.ora'
from pfile=’%oracle_home%\database\initlogstdby.ora';
启动逻辑备用数据库,并修改全局数据库名:
sql>startup mount
sql>alter database open resetlogs;
sql>alter database rename global_name to logstdby;
3.操纵逻辑备用数据库。
开始sql应用:
sql>conn sys/oracle@logstdby as sysdba
sql>alter database start logical standby apply;
显示已经注册的归档日志:
sql>conn sys/oracle@practice as sysdba
sql>startup force
sql>conn sys/oracle@logstdby as sysdba
sql>select sequence#,applied from dba_logstdby_log;
sql>select sequence#,applied from dba_logstdby_log;
在数据库上执行数据操作:
sql>conn sys/oracle@practice as sysdba
sql>update scott.emp set sal=1500 where empno=7788;
sql>commit;
sql>create table scott.new(cola int primary key);
sql>insert into scott.new values(1);
sql>commit;
sql>alter system switch logfile;
在逻辑备用数据库logstdby上检查数据变化:
sql>conn sys/admin@logstdby as sysdba
sql>select sal from scott.emp where empno=7788;
sql>select * from scott.new;
检查sqlapply进度:
sql>select applied_scn,newest_scn from dba__logstdby_progress;


20


1.A、B
2.A
3.使用行级恢复。
确定当前系统日期和时间:
sql>select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS')
from dual;
模拟误操作:
sql>conn scott/admin
sql>delete from emp where deptno=20;
sql>commit;
使用行级恢复:
sql>insert into emp
select * from emp as of timestamp
to_timestamp('2004-10-15 16:56:06','YYYY-MM-DD HH24:MI:SS')
where deptno=20;
sql>commit;
sql>select ename,sal from emp where deptno=20;
4.使用FLASHBACK TABLE恢复表行到先前时间点。
激活行移动特征:
sql>alter table emp enable row movement;
确定当前系统日期和时间:
sql>select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS')
from dual;
模拟误操作:
sql>select ename,sal from emp where deptno=10;
sql>update emp set sal=sal*1.1 where deptno=10;
sql>commit;
恢复表数据:
sql>FLASHBACK TABLE emp to timestamp
to_timestamp('2004-10-15 17:00:33','YYYY-MM-DD HH24:MI:SS');
sql>select ename,sal from emp where deptno=10;
5.使用FLASHBACK TABLE 恢复被误删除表。
模拟SCOTT用户误操作:
sql>drop table emp;
显示当前用户回收站对象
sql>show recyclebin
恢复emp表:
sql>flashback table emp to before drop;
sql>select ename,sal from emp where deptno=10;
6.使用FLASHBACK DATABASE恢复数据库到先前时间点。
激活数据库FLASHBACK特征:
sql>conn sys/oracle as sysdba
sql>shutdown immediate
sql>startup mount
sql>alter database flashback on;
sql>alter database open;
确定当前系统日期和时间:
sql>select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS')
FROM dual;
模拟误操作:
sql>truncate table scott.emp;
恢复数据库到先前时间点:
sql>conn sys/oracle as sysdba
sql>shutdown immediate
sql>startup mount
sql>flashback database to timestamp
to_timestamp('2004-10-15 17:07:17','YYYY-MM-DD HH24:MI:SS');
sql>alter database open resetlogs;
sql>select ename,sal from scott.emp;


21
1.使用logminer可以分析以下哪几种版本的Oracle数据库?
A.Oracle Database7 B.Oracle Database8
C.Oracle Database9i D.Oracle Database10g
B、C、D


2.当使用LogMiner分析重做日志和归档日志之后,以下哪种说法是正确的?
A.所有会话都可以查看日志分析结果。
B.只有当前会话可以查看日志分析结果。
B


3.当使用LogMiner分析DDL操作时,哪种存放LogMiner字典的方式不能用于分析DDL操作?
A.源数据库数据字典 B.重做日志 C.字典文件
A


4.上机操作题:以SYS用户登录到PRACTICE数据库,并执行激活补充日志操作。
sqlplus sys/oracle@practice as sysdba
sql>alter database add supplemental log data;


5.上机操作题:使用LogMiner分析重做日志的DML操作。
1)以SYSTEM用户登录到PRACTICE数据库,执行以下INSERT操作并提交数据:
insert into scott.dept values(60,'salesman','New York');
2)以SYSTEM用户登录到PRACTICE数据库,显示当前数据库正在使用的重做日子文件。
3)以SYS用户登录到PRACTICE数据库,分析当前重做日志文件的DML操作,显示在
DEPT表上的INSERT操作及其UNDO操作。
4)使用UNDO操作取消原有INSERT操作。


sql>conn system/oracle@practice
sql>insert into scott.dept values(60,'salesman','new york');
sql>commit;
sql>select a.member from v$logfile a, v$log b
where a.group#=b.group# and b.status='CURRENT';
sql>exec dbms_logmnr.add_logfile(-
>logfilename=>'D:\PRACTICE\REDO01.LOG',-
>options=>DBMS_LOGMNR.NEW)
sql>exec dbms_logmnr.start_logmnr(-
>options=>dbms_logmnr.dict_from_online_catalog)
sql>select sql_redo,sql_undo from v$logmnr_contents
where seg_name='DEPT';
sql>exec dbms_logmnr.end_logmnr
sql>delete from "SCOTT"."DEPT" where "DEPTNO"='60' and
"DNAME"= 'SALESMAN' and "LOC" = 'New York'
and ROWID='AAAAAAAAAA';
sql>commit;


6.上机操作题:使用DBVERIFY工具验证数据文件。
1)以SYSTEM用户登录到PRACTICE数据库,显示USERS表空间所包含的数据文件。
2)验证USERS表空间的数据文件是否存在顺坏块。
sql>conn system/oracle
sql>select file_name from dba_data_files
where tablespace_name='USERS';
sql>host dbv file=


7.上机操作题:使用DBNEWID工具改变数据库名。
1)以SYS用户登录到PRACTICE数据库,显示数据库的名称。
2)修改数据库的名称为HELLO。
运行DBNEWID工具:
SQL>conn sys/oracle as sysdba;
SQL>select name from v$database;
SQL>shutdown immediate
SQL>startup mount
SQL>host nid target sys/oracle dbname=hello setname=y


重新建立口令文件:
sql>host del %oracle_home%\database\pwdpractice.ora
sql>host orapwd file=%oracle_home%\database\pwdpractice.ora password=oracle


修改初始化参数DB_NAME,重新启动数据库:
SQL>conn sys/oracle as sysdba
sql>create pfile='%oracle_home%\ from spfile=;
sql>create spfile= from pfile= ;
sql>startup

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值