暨上通过预编译阐述道共享池最后到SGA,这里进一步说明一下SGA中另一个大块,数据缓冲区。
首先了解下SGA种大致有那些东西,这些东西随着数据库版本的增加会有所增加,不过大致上应该一致,这也是基本所有的体系结构都会描述的东西: ......
常见后台进程包括:
• 数据库写进程 (DBWn):将数据库缓冲区高速缓存中的经过修改的缓冲区(灰数据缓 冲区)以异步方式写入磁盘
• 日志写进程 (LGWR):将日志缓冲区中称为重做信息的恢复信息写入磁盘上的重做日 志文件
• 检查点进程 (CKPT):在控制文件和每个数据文件头中记录检查点信息
• 系统监视器进程 (SMON):在实例启动时执行恢复,并清除未使用的临时段
• 作业队列进程 (CJQ0):通过调度程序运行批处理中使用的用户作业设备
• 队列监视器进程 (QMNn):监视 Oracle Streams 消息队列
• 可管理性监视进程 (MMON):执行与可管理性相关的后台任务
• 内存管理器后台进程 (MMAN):用于自动管理 SGA 和 PGA 内存组件
• 进程监视器进程 (PMON):在用户进程失败时执行进程恢复
• 结果高速缓存恢复程序后台进程 (RCBG): 用于维护共享池中的结果高速缓存
• 归档程序进程 (ARCn):在发生日志切换之后,将重做日志文件复制到指定的存储 ......
•何为审计
数据库审计,就是对数据库的活动做跟踪记录,主要包括数据库连接,SQL语句执行,数据库对象访问这些方面的跟踪记录。
•现实作用
安全控制、跟踪数据变化、程序BUG调试、自定义的数据汇总分析、操作日志
•存储方式
一种是存储在操作系统文件中,一种是存储在system表空间中的SYS.AUD$表中
•性能影响
审计必然需要占用CPU,因此,需要综合平衡审计需求与性能之间的平衡性问题,以确定出最好的审许策略。
•包含信息
操作系统用户名、数据库用户名、连接会话标识、终端标识、被访问的schema对象名、尝试的操作、操作完整代码、日期时间戳
•三种级别的审计:Statement(语句)、Privilege(权限)、object(对象)。
•审计的一些其他选项
by access / by session:
by access 每一个被审计的操作都会生成一条audit trail。
by session 一个会话里面同类型的操作只会生成一条audit trail,默认为by session。
whenever [not] successful:
whenever successful 操作成功(dba_audit_trail中returncode字段为0) 才审计,
whenever not successful 反之。省略该子句的话,不管操作成功与否都会审计。
......
•表分区技术是在超大型数据库(VLDB)中将大表及其索引通过分区(patition)的形式分割为若干较小、可管理的小块,并且每一分区可进一步划分为更小的子分区(sub partition)
•通过对表进行分区,可以获得以下的好处
–减少数据损坏的可能性
–各分区可以独立备份和恢复,增强了数据库的可管理性
–可以控制分区在硬盘上的分布,以均衡IO,改善了数据库的性能
•Oracle的表分区有以下几种类型
–范围分区:将表按某一字段或若干个字段的取值范围分区
–hash分区:将表按某一字段的值均匀地分布到若干个指定的分区
–复合分区:结合了前面两种分区类型的优点,首先通过值范围将表进行分区,然后以hash模式将数据进一步均匀分配至物理存储位置 ......
[root@GISDB ~]$ su - oracle
[oracle@GISDB ~]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.4.0 - Production on Tue Oct 13 11:03:03 2009
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
SQL> conn /as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 1.0486E+10 bytes
Fixed Size 2101320 bytes
Variable Size 6358568888 bytes
Database Buffers 4110417920 bytes
Redo Buffers 14671872 bytes
Database mounted.
Database opened.
SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@GISDB ~]$ lsnrctl start
LSNRCTL for Linux: Version 10.2.0.4.0 - Production on 13-OCT-2009 11:03:40
Copyright (c) 1991, 20 ......
[root@GISDB ~]$ su - oracle
[oracle@GISDB ~]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.4.0 - Production on Tue Oct 13 11:03:03 2009
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
SQL> conn /as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 1.0486E+10 bytes
Fixed Size 2101320 bytes
Variable Size 6358568888 bytes
Database Buffers 4110417920 bytes
Redo Buffers 14671872 bytes
Database mounted.
Database opened.
SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@GISDB ~]$ lsnrctl start
LSNRCTL for Linux: Version 10.2.0.4.0 - Production on 13-OCT-2009 11:03:40
Copyright (c) 1991, 20 ......
package DBbean;
import java.sql.*;
public class ConnBean
{
private Connection con;
//初始化连接。
public ConnBean()
{
try
{
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl";
String user="scott";
String password="tiger";
con= DriverManager.getConnection(url,user,password);
}
catch (InstantiationException e)
{
e.printStackTrace();
} catch (IllegalAccessException e)
{
e.printStackTrace();
}
catch(ClassNotFoundException e)
{
System.out.println("DRIVER NOT FOUND!");
  ......
package DBbean;
import java.sql.*;
public class ConnBean
{
private Connection con;
//初始化连接。
public ConnBean()
{
try
{
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl";
String user="scott";
String password="tiger";
con= DriverManager.getConnection(url,user,password);
}
catch (InstantiationException e)
{
e.printStackTrace();
} catch (IllegalAccessException e)
{
e.printStackTrace();
}
catch(ClassNotFoundException e)
{
System.out.println("DRIVER NOT FOUND!");
  ......