管理归档日志文件
1-SQL查询本机数据库归档模式
SQL> conn system/Jacjqwl123
已连接。
SQL> select log_mode from V$database;
LOG_MODE
------------
NOARCHIVELOG
2-SQL更改本地数据库的归档模式,并SQL查询更改结果.
请输入用户名: conn as sysdba
输入口令:
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 3390558208 bytes
Fixed Size 2180464 bytes
Variable Size 1862273680 bytes
Database Buffers 1509949440 bytes
Redo Buffers 16154624 bytes
数据库装载完毕。
SQL> alter database archivelog;
数据库已更改。
SQL> alter database open;
数据库已更改。
SQL> select log_mode from V$database;
LOG_MODE
------------
ARCHIVELOG
查询归档日志信息:
(1)
SQL> select dest_name from v$archive_dest;
DEST_NAME
--------------------------------------------------------------------------------
LOG_ARCHIVE_DEST_1
LOG_ARCHIVE_DEST_2
LOG_ARCHIVE_DEST_3
LOG_ARCHIVE_DEST_4
LOG_ARCHIVE_DEST_5
LOG_ARCHIVE_DEST_6
LOG_ARCHIVE_DEST_7
LOG_ARCHIVE_DEST_8
LOG_ARCHIVE_DEST_9
LOG_ARCHIVE_DEST_10
LOG_ARCHIVE_DEST_11
DEST_NAME
--------------------------------------------------------------------------------
LOG_ARCHIVE_DEST_12
LOG_ARCHIVE_DEST_13
LOG_ARCHIVE_DEST_14
LOG_ARCHIVE_DEST_15
LOG_ARCHIVE_DEST_16
LOG_ARCHIVE_DEST_17
LOG_ARCHIVE_DEST_18
LOG_ARCHIVE_DEST_19
LOG_ARCHIVE_DEST_20
LOG_ARCHIVE_DEST_21
LOG_ARCHIVE_DEST_22
DEST_NAME
--------------------------------------------------------------------------------
LOG_ARCHIVE_DEST_23
LOG_ARCHIVE_DEST_24
LOG_ARCHIVE_DEST_25
LOG_ARCHIVE_DEST_26
LOG_ARCHIVE_DEST_27
LOG_ARCHIVE_DEST_28
LOG_ARCHIVE_DEST_29
LOG_ARCHIVE_DEST_30
LOG_ARCHIVE_DEST_31
已选择31行。
(2)
SQL> ARCHIVE LOG LIST;
数据库日志模式 存档模式
自动存档 启用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 15
下一个存档日志序列 17
当前日志序列 17
管理控制文件
3-控制文件的后缀是什么?可以修改么?
控制文件的后缀是 .ctl,只有Oracle进程才能够安全地更新控制文件,所以不要手动编辑控制文件。
4-控制文件的作用是什么?
控制文件是一个二进制文件,含有数据库的结构信息,包含数据文件和日志文件的信息。
5-多路复用控制文件作用是什么?
为了提高数据库的安全性,至少要为数据库建立两个控制文件,并且这两个控制文件最好分别保存在不同的磁盘中,这样就可以避免产生由于某个磁盘故障而无法启动数据库的危险,该管理策略被称为多路复用控制文件。如果多路复用控制文件中的某个磁盘发生物理损坏导致其所包含的控制文件损坏,数据库将被关闭(在数据库实例启动的情况下),此时就可以利用另一个磁盘中保存的控制文件来恢复被损坏的控制文件,然后再重新启动数据库,达到保护控制文件的目的。
6-v$logfile 存放的是什么信息?哪个用户权限下的?
v$logfile 存放的是日志文件
在sysdba(超级用户管理员)用户权限下
SQL> show user;
USER 为 "SYS"
SQL> select member from v$logfile;
MEMBER
----------------------------------------------------------------------------------------------------
D:\APP\LENOVO\ORADATA\JQWLDB\REDO03.LOG
D:\APP\LENOVO\ORADATA\JQWLDB\REDO02.LOG
D:\APP\LENOVO\ORADATA\JQWLDB\REDO01.LOG
7-v$datafile 存放的是什么信息?哪个用户权限下的?
v$datafile存放的是数据文件
在sysdba(超级用户管理员)用户权限下
SQL> show user;
USER 为 "SYS"
SQL> select name from v$datafile;
NAME
------------------------------------------------------------------
D:\APP\LENOVO\ORADATA\JQWLDB\SYSTEM01.DBF
D:\APP\LENOVO\ORADATA\JQWLDB\SYSAUX01.DBF
D:\APP\LENOVO\ORADATA\JQWLDB\UNDOTBS01.DBF
D:\APP\LENOVO\ORADATA\JQWLDB\USERS01.DBF
D:\APP\LENOVO\ORADATA\JQWLDB\EXAMPLE01.DBF
8-v$controlfile 存放的是什么信息?哪个用户权限下的?有哪些列?分别是什么类型?
v$controlfile存放的是控制文件
在sysdba(超级用户管理员)用户权限下
SQL> show user;
USER 为 "SYS"
SQL> select name from v$controlfile;
NAME
---------------------------------------------------------------
D:\APP\LENOVO\ORADATA\JQWLDB\CONTROL01.CTL
D:\APP\LENOVO\FLASH_RECOVERY_AREA\JQWLDB\CONTROL02.CTL
9- 创建控制文件的代码且本地执行, 并注释每一行代码的中文意义.sql注释如何写?
SQL> shutdown immediate; --关闭数据库
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup nomount; --打开nomount模式
ORACLE 例程已经启动。
Total System Global Area 3390558208 bytes
Fixed Size 2180464 bytes
Variable Size 1862273680 bytes
Database Buffers 1509949440 bytes
Redo Buffers 16154624 bytes
--创建控制文件
SQL> create controlfile
2 reuse database "JQWLDB"
3 logfile
4 group 1 'D:\APP\LENOVO\ORADATA\JQWLDB\REDO01.LOG',
5 group 2 'D:\APP\LENOVO\ORADATA\JQWLDB\REDO02.LOG',
6 group 3 'D:\APP\LENOVO\ORADATA\JQWLDB\REDO03.LOG'
7 datafile
8 'D:\APP\LENOVO\ORADATA\JQWLDB\SYSTEM01.DBF',
9 'D:\APP\LENOVO\ORADATA\JQWLDB\SYSAUX01.DBF',
10 'D:\APP\LENOVO\ORADATA\JQWLDB\UNDOTBS01.DBF',
11 'D:\APP\LENOVO\ORADATA\JQWLDB\USERS01.DBF',
12 'D:\APP\LENOVO\ORADATA\JQWLDB\EXAMPLE01.DBF'
13 maxlogfiles 50
14 maxlogmembers 3
15 maxinstances 6
16 maxdatafiles 200
17 noresetlogs
18 noarchivelog;
控制文件已创建。
--修改初始化参数
SQL> alter system set control_files=
2 'D:\app\Lenovo\oradata\JQWLDB\CONTROL01.CTL',
3 'D:\app\Lenovo\flash_recovery_area\JQWLDB\CONTROL02.CTL'
4 scope=spfile;
系统已更改。
--打开数据库
SQL> alter database open;
数据库已更改。
10-alter system set control_files…scope=spfiles;
命令的作用是什么?
修改初始化参数control_files,使其指向我们新建的控制文件
11-alter database backup controlfile 命令的作用是什么?
备份控制文件
有两种备份方式:一种是备份为二进制文件,另一种是备份为脚本文件。
12-写出删除控制文件的完整SQL命令
从数据库中删除控制文件,其操作过程如下。
(1) 关闭数据库(shutdown) 。
(2)编辑初始化参数CONTROL_ FILES,清除掉打算要删除的控制文件的名称。
(3) 重新启动数据库(startup)
13-v$parameter 存放的是什么信息?哪个用户权限下的?
包含了系统的所有初始化参数
在sysdba(超级用户管理员)用户权限下
SQL> show user
USER 为 "SYS"
SQL> select value from v$parameter where name='control_files';
VALUE
----------------------------------------------------------------------------------------------------
D:\APP\LENOVO\ORADATA\JQWLDB\CONTROL01.CTL, D:\APP\LENOVO\FLASH_RECOVERY_AREA\JQWLDB\CONTROL02.CTL
管理重做日志文件
14-日志文件的几种状态分别是什么?且说明每种状态的目前工作是什么?
CURRENT:日志正在写入的称作当前状态;
ACTIVE:正在被实例用作恢复数据库文件的称作活动状态;
INACTIVE:其他的称作未活动状态。
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIME NEXT_CHANGE# NEXT_TIME
---------- ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- -------------- ------------ --------------
1 1 16 52428800 512 1 NO INACTIVE 1258363 08-7? -20 1282335 09-7? -20
2 1 17 52428800 512 1 NO INACTIVE 1282335 09-7? -20 1312507 10-7? -20
3 1 18 52428800 512 1 NO CURRENT 1312507 10-7? -20 2.8147E+14
15-alter database add logfile…命令的作用是什么?
增加重做文件日志组
16-本地数据库执行以下功能: 日志文件组添加成员
SQL> alter database add logfile
2 ('D:\app\Lenovo\oradata\JQWLDB\RED04_A.LOG',
3 'D:\app\Lenovo\oradata\JQWLDB\RED04_B.LOG')
4 size 20M;
数据库已更改。
SQL> alter database add logfile member
2 'D:\app\Lenovo\oradata\JQWLDB\RED04_C.LOG'to group 4;
数据库已更改。
17-alter database drop logfile member… 命令的作用是什么?什么时候用?
删除重做日志文件组。如果某个日志文件组不再需要使用,可以将整个日志组删除;或者当日志组大小不合适时,由于已经存在的日志组的大小不能改变,就需要重新建立日志组,在重新建立日志组之前,就需要删除大小不合适的原日志组。删除-一个日志组时,其中的成员文件也将被删除。
18-当磁盘空间不足 如何更改重做日志的位置?写出完整sql命令…
(1)shutdown immediate 数据库已经关闭。
(2)手动复制原文件到目标路径
(3)startup mount; 启动数据库
(4)alter database rename file ‘原位置路径’ to ‘新路径’;
(4)alter database open;启动数据库
19-查看日志文件的主要三个视图分别是什么?每个视图下字段分别有哪些?各自存放什么信息?
desc v$log --显示控制文件中的日志文件信息
desc v$logfile --日志组合日志成员信息
desc v$log_history --日志历史信息
SQL> desc v$log
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
GROUP# NUMBER
THREAD# NUMBER
SEQUENCE# NUMBER
BYTES NUMBER
BLOCKSIZE NUMBER
MEMBERS NUMBER
ARCHIVED VARCHAR2(3)
STATUS VARCHAR2(16)
FIRST_CHANGE# NUMBER
FIRST_TIME DATE
NEXT_CHANGE# NUMBER
NEXT_TIME DATE
SQL> desc v$logfile
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
GROUP# NUMBER
STATUS VARCHAR2(7)
TYPE VARCHAR2(7)
MEMBER VARCHAR2(513)
IS_RECOVERY_DEST_FILE VARCHAR2(3)
SQL> desc v$log_history
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
RECID NUMBER
STAMP NUMBER
THREAD# NUMBER
SEQUENCE# NUMBER
FIRST_CHANGE# NUMBER
FIRST_TIME DATE
NEXT_CHANGE# NUMBER
RESETLOGS_CHANGE# NUMBER
RESETLOGS_TIME DATE
20-请分别到218和92数据库 查看数据库的归档模式、控制文件路径、日志文件路径是什么?
92数据库:
控制文件位置: