Oracle归档日志
来源:互联网 发布:mac如何升级到10.12 编辑:程序博客网 时间:2024/06/06 12:34
(测试数据库环境:powter)
一、log_archive_dest
1.1、开启归档
检查当前归档信息:
SQL>archive log list
Database logmode No Archive Mode
Automaticarchival Disabled
Archivedestination /u01/app/oracle/product/10.2.0/db_1/dbs/arch
Oldest onlinelog sequence 5
Current logsequence 7
如果recovery_file非空,则Archive destination默认使用recovery_file的值,下面通过设置recovery_file的值使Archive destination使用默认值。
SQL>show parameter recovery_file
NAME TYPE
----------------------------------------------------------
VALUE
------------------------------
db_recovery_file_dest string
db_recovery_file_dest_size big integer
0
SQL>alter system set db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'scope=spfile;
System altered.
参数recovery_file_dest为静态参数,只能修改spfile,然后重启数据库使其生效。
SQL>alter system set db_recovery_file_dest_size=2G scope=both;
Systemaltered.
SQL>show parameter recovery_file
NAME TYPE
----------------------------------------------------------
VALUE
------------------------------
db_recovery_file_dest string
db_recovery_file_dest_size big integer
2G
重启DB达到mount状态:
SQL>shutdown immediate
Databaseclosed.
Databasedismounted.
ORACLEinstance shut down.
SQL>startup mount
ORACLEinstance started.
Total SystemGlobal Area 314572800 bytes
FixedSize 2020480 bytes
VariableSize 130026368 bytes
DatabaseBuffers 180355072 bytes
RedoBuffers 2170880 bytes
Databasemounted.
检查db_recovery_file是否生效:
SQL>show parameter recovery_file
NAME TYPE
----------------------------------------------------------
VALUE
------------------------------
db_recovery_file_dest string
/u01/app/oracle/flash_recovery
_area
db_recovery_file_dest_size big integer
2G
查看归档信息:
SQL>archive log list
Database logmode No Archive Mode
Automaticarchival Disabled
Archivedestination USE_DB_RECOVERY_FILE_DEST
Oldest onlinelog sequence 5
Current logsequence 7
可以发现,我们只是设置了db_recovery_file的路径和大小,并没有设置log_archive_dest,但现在Archive destination已经使用db_recovery_file_dest的值了。
SQL>alter database archivelog;
Database altered.
1.2、验证归档文件
1.2.1、切换日志
列出当前归档信息:
SQL>archive log list
Database logmode Archive Mode
Automaticarchival Enabled
Archivedestination USE_DB_RECOVERY_FILE_DEST
Oldest onlinelog sequence 5
Next logsequence to archive 7
Current logsequence 7
打开数据库:
SQL>alter database open;
Databasealtered.
查看日志物理文件
[oracle@redhat4Disk1]$ pwd
/u01/app/oracle/oradata/powter/Disk1
[oracle@redhat4Disk1]$ ll
总用量 1199652
-rw-r----- 1 oracle oinstall 8863744 7月 20 11:57 ctl01.ctl
-rw-r----- 1 oracle oinstall 104858112 7月 20 11:56 redo01_01.log
-rw-r----- 1 oracle oinstall 104858112 7月 20 11:56 redo02_01.log
-rw-r----- 1 oracle oinstall 104858112 7月 20 11:56 redo03_01.log
-rw-r----- 1 oracle oinstall 340795392 7月 20 11:56sysaux01.dbf
-rw-r----- 1 oracle oinstall 340795392 7月 20 11:56system01.dbf
-rw-r----- 1 oracle oinstall 20979712 7月 19 22:02 temp01.dbf
-rw-r----- 1 oracle oinstall 209723392 7月 20 11:56undotbs01.dbf
切换日志
SQL>alter system switch logfile;
Systemaltered.
查看归档信息与切换日志前对比:
SQL>archive log list;
Database logmode Archive Mode
Automaticarchival Enabled
Archivedestination USE_DB_RECOVERY_FILE_DEST
Oldest onlinelog sequence 6
Next logsequence to archive 8
Current logsequence 8
查看日志文件信息:
[oracle@redhat4Disk1]$ ll
总用量 1199652
-rw-r----- 1 oracle oinstall 8863744 7月 20 11:58 ctl01.ctl
-rw-r----- 1 oracle oinstall 104858112 7月 20 11:58 redo01_01.log
-rw-r----- 1 oracle oinstall 104858112 7月 20 11:58 redo02_01.log
-rw-r----- 1 oracle oinstall 104858112 7月 20 11:56 redo03_01.log
-rw-r----- 1 oracle oinstall 340795392 7月 20 11:56sysaux01.dbf
-rw-r----- 1 oracle oinstall 340795392 7月 20 11:56system01.dbf
-rw-r----- 1 oracle oinstall 20979712 7月 19 22:02 temp01.dbf
-rw-r----- 1 oracle oinstall 209723392 7月 20 11:56undotbs01.dbf
查看归档日志文件信息:
[oracle@redhat42012_07_20]$ pwd
/u01/app/oracle/flash_recovery_area/POWTER/archivelog/2012_07_20
可以发现,oracle根据需要在flash_recovery_area路径下创建以SID创建了目录。
[oracle@redhat42012_07_20]$ ll
总用量 1164
-rw-r----- 1 oracle oinstall 1180160 7月 20 11:58o1_mf_1_7_80kotqm6_.arc
1.2.2、执行归档
手动进行归档:
?能否自动,如果自动,则按照什么条件归档?
SQL>alter system archive log current;
Systemaltered.
查看归档信息:
SQL>archive log list
Database logmode Archive Mode
Automaticarchival Enabled
Archivedestination USE_DB_RECOVERY_FILE_DEST
Oldest onlinelog sequence 7
Next logsequence to archive 9
Current logsequence 9
当前日志文件信息:
[oracle@redhat4Disk1]$ ll
总用量 1199652
-rw-r----- 1 oracle oinstall 8863744 7月 20 12:05 ctl01.ctl
-rw-r----- 1 oracle oinstall 104858112 7月 20 11:58redo01_01.log
-rw-r----- 1 oracle oinstall 104858112 7月 20 12:05redo02_01.log
-rw-r----- 1 oracle oinstall 104858112 7月 20 12:05redo03_01.log
-rw-r----- 1 oracle oinstall 340795392 7月 20 12:05sysaux01.dbf
-rw-r----- 1 oracle oinstall 340795392 7月 20 12:05system01.dbf
-rw-r----- 1 oracle oinstall 20979712 7月 19 22:02 temp01.dbf
-rw-r----- 1 oracle oinstall 209723392 7月 20 12:05undotbs01.dbf
归档日志信息:
[oracle@redhat42012_07_20]$ ll
总用量 1176
-rw-r----- 1 oracle oinstall 1180160 7月 20 11:58o1_mf_1_7_80kotqm6_.arc
-rw-r----- 1 oracle oinstall 4608 7月 20 12:05 o1_mf_1_8_80kp7nys_.arc
可以发现,切换日志和执行归档都会进行日志文件的切换,都会产生归档日志文件
二、使用log_archive_dest_n的归档方式
1、创建两个放归档文件的目录
/u01/app/oracle/log_archive_area/powter/log_archive_dest_1
/u01/app/oracle/log_archive_area/powter/log_archive_dest_2
2、设置两个归档文件
SQL>alter system set log_archive_dest_1 = 'location=/u01/app/oracle/log_archive_area/powter/log_archive_dest_1'scope=both;
Systemaltered.
SQL>alter system set log_archive_dest_2 =
'location=/u01/app/oracle/log_archive_area/powter/log_archive_dest_2'scope=both;
Systemaltered.
以上两个参数可以动态修改并生效:
SQL> archivelog list
Database logmode Archive Mode
Automaticarchival Enabled
Archivedestination /u01/app/oracle/log_archive_area/powter/log_archive_dest_2
Oldest onlinelog sequence 7
Next logsequence to archive 9
Current logsequence 9
3、验证log_archive_dest和log_archive_dest_n不能同时使用
SQL>alter system set log_archive_dest='/u01/app/oracle/arch' scope=both;
alter systemset log_archive_dest='/u01/app/oracle/arch' scope=both
*
ERROR at line1:
ORA-02097:parameter cannot be modified because specified value is invalid
ORA-16018:cannot use LOG_ARCHIVE_DEST with LOG_ARCHIVE_DEST_n or
DB_RECOVERY_FILE_DEST
4、切换日志和归档
[oracle@redhat4Disk1]$ ll
总用量 1199652
-rw-r----- 1 oracle oinstall 8863744 7月 20 12:53 ctl01.ctl
-rw-r----- 1 oracle oinstall 104858112 7月 20 12:50redo01_01.log
-rw-r----- 1 oracle oinstall 104858112 7月 20 12:50redo02_01.log
-rw-r----- 1 oracle oinstall 104858112 7月 20 12:50redo03_01.log
-rw-r----- 1 oracle oinstall 340795392 7月 20 12:50sysaux01.dbf
-rw-r----- 1 oracle oinstall 340795392 7月 20 12:50system01.dbf
-rw-r----- 1 oracle oinstall 20979712 7月 19 22:02 temp01.dbf
-rw-r----- 1 oracle oinstall 209723392 7月 20 12:50undotbs01.dbf
切换日志:
SQL>alter system switch logfile;
Systemaltered.
[oracle@redhat4Disk1]$ ll
总用量 1199652
-rw-r----- 1 oracle oinstall 8863744 7月 20 12:55 ctl01.ctl
-rw-r----- 1 oracle oinstall 104858112 7月 20 12:54redo01_01.log
-rw-r----- 1 oracle oinstall 104858112 7月 20 12:50redo02_01.log
-rw-r----- 1 oracle oinstall 104858112 7月 20 12:54redo03_01.log
-rw-r----- 1 oracle oinstall 340795392 7月 20 12:50sysaux01.dbf
-rw-r----- 1 oracle oinstall 340795392 7月 20 12:50system01.dbf
-rw-r----- 1 oracle oinstall 20979712 7月 19 22:02 temp01.dbf
-rw-r----- 1 oracle oinstall 209723392 7月 20 12:50undotbs01.dbf
[oracle@redhat4log_archive_dest_1]$ pwd
/u01/app/oracle/log_archive_area/powter/log_archive_dest_1
[oracle@redhat4log_archive_dest_1]$ ll
总用量 1216
-rw-r----- 1 oracle oinstall 1235968 7月 20 12:541_9_789081433.dbf
[oracle@redhat4log_archive_dest_2]$ pwd
/u01/app/oracle/log_archive_area/powter/log_archive_dest_2
[oracle@redhat4log_archive_dest_2]$ ll
总用量 1216
-rw-r----- 1 oracle oinstall 1235968 7月 20 12:541_9_789081433.dbf
执行归档:
SQL>alter system archive log current;
Systemaltered.
[oracle@redhat4Disk1]$ ll
总用量 1199652
-rw-r----- 1 oracle oinstall 8863744 7月 20 12:57 ctl01.ctl
-rw-r----- 1 oracle oinstall 104858112 7月 20 12:57redo01_01.log
-rw-r----- 1 oracle oinstall 104858112 7月 20 12:57redo02_01.log
-rw-r----- 1 oracle oinstall 104858112 7月 20 12:54redo03_01.log
-rw-r----- 1 oracle oinstall 340795392 7月 20 12:57sysaux01.dbf
-rw-r----- 1 oracle oinstall 340795392 7月 20 12:57system01.dbf
-rw-r----- 1 oracle oinstall 20979712 7月 19 22:02 temp01.dbf
-rw-r----- 1 oracle oinstall 209723392 7月 20 12:57undotbs01.dbf
[oracle@redhat4log_archive_dest_1]$ ll
总用量 1228
-rw-r----- 1 oracle oinstall 4608 7月 20 12:57 1_10_789081433.dbf
-rw-r----- 1 oracle oinstall 1235968 7月 20 12:541_9_789081433.dbf
[oracle@redhat4log_archive_dest_2]$ ll
总用量 1228
-rw-r----- 1 oracle oinstall 4608 7月 20 12:57 1_10_789081433.dbf
-rw-r----- 1 oracle oinstall 1235968 7月 20 12:541_9_789081433.dbf
各种网友总结:
(1)如果数据库设置了db_recovery_file_dest,就不能设置log_archive_dest,默认的归档日志存放于db_recovery_file_dest中,如果设置了log_archive_dest_n,那么归档日志不再存放于db_recovery_file_dest中,而是存放于设置的log_archive_dest_n目录中,如果想要归档日志继续存放在db_recovery_file_dest中,可以通过如下命令
alter system setlog_archive_dest_2='location=USE_DB_RECOVERY_FILE_DEST';
(2)log_archive_dest只能与 log_archive_duplex_dest共存,他们作用一样。
(3)还有一点就是,如果我们设置的log_archive_dest_n不正确,那么ORACLE会在我们设置的上一级目录归档,比如说我们设置log_archive_dest_1='location=C:\ARCHIVE1',如果操作系统中没有ARCHIVE1这个目录,那么ORACLE会在C盘归档,这个没做测试,感兴趣的可以做一做。
(4)老版本使用log_archive_dest配置归档日志路径最多可以配置2个,除了这个参数还有一个LOG_ARCHIVE_DUPLEX_DEST,这两个参数都只能配置本地路径,格式是log_archive_dest=’/backup1/xxx/’;
到了企业版,log_archive_dest这个参数已被oracle不推荐,如果用log_archive_dest_n最多可以配置10个路径,而且可以是本地也可以是远程的standby DB,log_archive_dest_n路径必须加location或service
log_archive_dest与log_archive_dest_n两个参数冲突,如果指定了log_archive_des后log_archive_dest_n显示指定不会起作用
如果指定了log_archive_dest路径,oracle会隐式启用log_archive_dest_10,默认路径为闪回区,所以上面备份会两份,如果显示指定log_archive_dest_10为空串,将不会再备份到闪回区
这两组参数都是静态参数,修改后必须重启数据库生效,如果都未批定会用系统默认:闪回区
(原文地址:http://www.anbob.com/?p=752)
(5)log_archive_dest与log_archive_dest_n区别
● log_archive_dest.
使用log_archive_dest参数最多可设置2个归档路径,通过log_archive_dest设置一个主归档路径,通过LOG_ARCHIVE_DUPLEX_DEST 参数设置一个从归档路径。所有的路径必须是本地的,该参数的设置格式如下:
LOG_ARCHIVE_DEST= '/disk1/archive'
LOG_ARCHIVE_DUPLEX_DEST= '/disk2/archive'
● LOG_ARCHIVE_DEST_n
LOG_ARCHIVE_DEST_n参数可以设置最多10个不同的归档路径,通过设置关键词location或service,该参数指向的路径可以是本地或远程的。
LOG_ARCHIVE_DEST_1= 'LOCATION = /disk1/archive'
LOG_ARCHIVE_DEST_2= 'LOCATION = /disk2/archive'
LOG_ARCHIVE_DEST_3= 'LOCATION = /disk3/archive'
如果要归档到远程的standby数据库,可以设置service:
LOG_ARCHIVE_DEST_4= 'SERVICE = standby1'
可见,这两个参数都可以设置归档路径,不同的是后者可以设置远程归档到standby端,而前者只能归档到本地,且最多同时归档到2个路径下。
三、使用RMAN清空日志
如果我们手动去把磁盘上的归档文件删除,此时数据库中依然可以通过动态视图查看到已经在磁盘删除掉的归档日志,即动态视图中并没有释放这些空间。
范例:RMAN删除无用归档日志文件
1、删除本地归档日志
查看归档日志路径:
SQL>select name from v$archived_log;
NAME
----------------------------------------------------------------------------------------
/u01/app/oracle/flash_recovery_area/POWTER/archivelog/2012_07_20/o1_mf_1_7_80kotqm6_.arc
/u01/app/oracle/flash_recovery_area/POWTER/archivelog/2012_07_20/o1_mf_1_8_80kp7nys_.arc
/u01/app/oracle/log_archive_area/powter/log_archive_dest_1/1_9_789081433.dbf
/u01/app/oracle/log_archive_area/powter/log_archive_dest_2/1_9_789081433.dbf
/u01/app/oracle/log_archive_area/powter/log_archive_dest_1/1_10_789081433.dbf
/u01/app/oracle/log_archive_area/powter/log_archive_dest_2/1_10_789081433.dbf
(null) ?
(null)
/u01/app/oracle/log_archive_area/powter/log_archive_dest_1/1_12_789081433.dbf
/u01/app/oracle/log_archive_area/powter/log_archive_dest_2/1_12_789081433.dbf
10 rowsselected.
?为什么还是显示10行,已经用RMAN清空的为什么不会去掉,怎样才能彻底清空?
查看闪回区中归档日志已用的空间大小:
SQL>select name,space_limit,space_used from v$recovery_file_dest;
NAME SPACE_LIMIT SPACE_USED
---------------------------------------------- ----------
/u01/app/oracle/flash_recovery_area 2147483648 1183744
删除闪回区中的归档文件
[oracle@redhat42012_07_20]$ pwd
/u01/app/oracle/flash_recovery_area/POWTER/archivelog/2012_07_20
[oracle@redhat42012_07_20]$ rm -rf o1_mf_1_7_80kotqm6_.arc
删除自定义路径的归档日志文件
[oracle@redhat4log_archive_dest_1]$ pwd
/u01/app/oracle/log_archive_area/powter/log_archive_dest_1
[oracle@redhat4log_archive_dest_1]$ rm -rf 1_10_789081433.dbf
2、使用RMAN检查归档日志信息
进入RMAN将无用的归档日志清空:
[oracle@redhat4~]$ rman
RecoveryManager: Release 10.2.0.1.0 - Production on Fri Jul 20 22:02:27 2012
Copyright (c)1982, 2005, Oracle. All rights reserved.
RMAN>connect target/
connected totarget database: POWTER (DBID=588037465)
RMAN>crosscheck archivelog all; -- 此命令的含义是检查所有归档日志的状态,并把遗失的标记为expired,也就是说,expired表示已经被操作系统中被删除的归档日志
using targetdatabase control file instead of recovery catalog
allocatedchannel: ORA_DISK_1
channelORA_DISK_1: sid=31 devtype=DISK
validationfailed for archived log
archivelogfilename=/u01/app/oracle/flash_recovery_area/POWTER/archivelog/2012_07_20/o1_mf_1_7_80kotqm6_.arcrecid=1 stamp=789134295
validationsucceeded for archived log
archivelog filename=/u01/app/oracle/flash_recovery_area/POWTER/archivelog/2012_07_20/o1_mf_1_8_80kp7nys_.arcrecid=2 stamp=789134709
validationsucceeded for archived log
archivelogfilename=/u01/app/oracle/log_archive_area/powter/log_archive_dest_1/1_9_789081433.dbfrecid=3 stamp=789137645
validationsucceeded for archived log
archivelogfilename=/u01/app/oracle/log_archive_area/powter/log_archive_dest_2/1_9_789081433.dbfrecid=4 stamp=789137645
validationfailed for archived log
archivelog filename=/u01/app/oracle/log_archive_area/powter/log_archive_dest_1/1_10_789081433.dbfrecid=5 stamp=789137834
validationsucceeded for archived log
archivelogfilename=/u01/app/oracle/log_archive_area/powter/log_archive_dest_2/1_10_789081433.dbfrecid=6 stamp=789137834
validationsucceeded for archived log
archivelogfilename=/u01/app/oracle/log_archive_area/powter/log_archive_dest_1/1_12_789081433.dbfrecid=9 stamp=789178871
validationsucceeded for archived log
archivelogfilename=/u01/app/oracle/log_archive_area/powter/log_archive_dest_2/1_12_789081433.dbfrecid=10 stamp=789178871
Crosschecked 8 objects
RMAN>delete expired archivelog all; -- 此命令的含义是删除expired的归档日志
releasedchannel: ORA_DISK_1
allocatedchannel: ORA_DISK_1
channelORA_DISK_1: sid=31 devtype=DISK
List ofArchived Log Copies
Key Thrd Seq S Low Time Name
------- ----------- - --------- ----
1 1 7 X 20-JUL-12 /u01/app/oracle/flash_recovery_area/POWTER/archivelog/2012_07_20/o1_mf_1_7_80kotqm6_.arc
5 1 10 X 20-JUL-12 /u01/app/oracle/log_archive_area/powter/log_archive_dest_1/1_10_789081433.dbf
--刚才物理删除的归档日志文件
Doyou really want to delete the above objects (enter YES or NO)? YES
deletedarchive log
archivelog filename=/u01/app/oracle/flash_recovery_area/POWTER/archivelog/2012_07_20/o1_mf_1_7_80kotqm6_.arcrecid=1 stamp=789134295
deletedarchive log
archivelogfilename=/u01/app/oracle/log_archive_area/powter/log_archive_dest_1/1_10_789081433.dbfrecid=5 stamp=789137834
Deleted2 EXPIRED objects
RMAN>crosscheck archivelog all;
releasedchannel: ORA_DISK_1
allocatedchannel: ORA_DISK_1
channelORA_DISK_1: sid=31 devtype=DISK
validationsucceeded for archived log
archivelog filename=/u01/app/oracle/flash_recovery_area/POWTER/archivelog/2012_07_20/o1_mf_1_8_80kp7nys_.arcrecid=2 stamp=789134709
validationsucceeded for archived log
archivelogfilename=/u01/app/oracle/log_archive_area/powter/log_archive_dest_1/1_9_789081433.dbfrecid=3 stamp=789137645
validationsucceeded for archived log
archivelogfilename=/u01/app/oracle/log_archive_area/powter/log_archive_dest_2/1_9_789081433.dbfrecid=4 stamp=789137645
validationsucceeded for archived log
archivelogfilename=/u01/app/oracle/log_archive_area/powter/log_archive_dest_2/1_10_789081433.dbfrecid=6 stamp=789137834
validationsucceeded for archived log
archivelogfilename=/u01/app/oracle/log_archive_area/powter/log_archive_dest_1/1_12_789081433.dbfrecid=9 stamp=789178871
validationsucceeded for archived log
archivelog filename=/u01/app/oracle/log_archive_area/powter/log_archive_dest_2/1_12_789081433.dbfrecid=10 stamp=789178871
Crosschecked 6 objects
3、通过动态视图验证无用归档日志已经被释放
查看动态视图v$archive_log:
SQL>select name from v$archived_log;
NAME
----------------------------------------------------------------------------------------
/u01/app/oracle/flash_recovery_area/POWTER/archivelog/2012_07_20/o1_mf_1_8_80kp7nys_.arc
/u01/app/oracle/log_archive_area/powter/log_archive_dest_1/1_9_789081433.dbf
/u01/app/oracle/log_archive_area/powter/log_archive_dest_2/1_9_789081433.dbf
/u01/app/oracle/log_archive_area/powter/log_archive_dest_2/1_10_789081433.dbf
/u01/app/oracle/log_archive_area/powter/log_archive_dest_1/1_12_789081433.dbf
/u01/app/oracle/log_archive_area/powter/log_archive_dest_2/1_12_789081433.dbf
10 rowsselected.
查看动态视图v$recovery_file_dest:
SQL>select name,space_limit,space_used from v$recovery_file_dest;
NAME SPACE_LIMITSPACE_USED
---------------------------------------------- ----------
/u01/app/oracle/flash_recovery_area 2147483648 4096
通过实验可以发现,使用RMAN删除被标记为遗失(expired)的归档日志后,动态视图可以释放空间。
不能进入RMNA的小问题
如果当前系统也存在rman命令时,则有可能导致ORACLE的rman不能使用,当可以通过配置环境变量解决此问题。
[oracle@redhat4~]$ which rman
/usr/X11R6/bin/rman
修改环境变量,把ORACLE的命令文件路径置于系统路径前面:
[oracle@redhat4~]$ vi .bash_profile
export PATH=$ORACLE_HOME/bin:$PATH
- Oracle归档日志问题
- oracle 建立归档日志
- oracle归档日志管理
- 清理Oracle归档日志
- oracle 归档日志
- Oracle归档日志管理
- Oracle 归档日志
- oracle 日志归档
- Oracle归档日志删除
- Oracle归档日志删除
- Oracle归档日志删除
- oracle归档日志管理
- Oracle归档日志删除
- oracle归档日志管理
- 删除oracle归档日志
- Oracle归档日志删除
- oracle日志归档
- Oracle归档日志删除
- spring---ApplicationListener,ApplicationEvent
- CentOS5.x 系统安装-图形模式
- poj 1625 Censored!(AC自动机+DP+高精)
- 使用 WebStorm IDE 调试 Pomelo 应用程序
- Android多屏幕适配---文件夹命名
- Oracle归档日志
- Struts2结果类型
- 谈谈如何学习Linux内核 (一) —— 选择合理的高度,决定自己的视角
- 列表名在where中的使用
- JobTracker
- 使用PL/SQL Developer连接远程Oracle数据库
- Myeclipse中自动提示功能的设置
- 面向对象的三个基本特征和五种设计原则
- Oracle手工建库及配置监听