tceic.com
学霸学习网 这下你爽了
当前位置:首页 >> >>

数据库技术培训_图文

数据库介绍——2007新生培训

2007年9月

我行正在使用的数据库
? ? ? ? ?

IBM Informix IBM DB2 Oracle Sybase MS SQL Server

2

课程要求和目标
?

对unix操作系统和数据库有一定了解

? ?

基本了解informix数据库结构和常用工具

对oracle、db2等数据库有一定的概念

3

课程结构
? 实例和数据库
? 存储

? 进程
? 内存

? 访问控制
? 常用辅助工具

4

第一部分

informix

5

?

确定实例名称
? INFORMIXDIR=/informix
? INFORMIXSERVER=cibsv

?

定位文件 ? $INFORMIXDIR/etc/sqlhosts
?

cibsv

onsoctcp

localhost

sqlexec

?

查看数据库状态 ? onstat –
?

Informix Dynamic Server Version 9.30.FC3 -- On-Line -- Up 12 days 04:55:46 -- 424560 Kbytes
6

实例的参数配置
?

ONCONFIG=onconfig.cibsv
? $INFORMIXDIR/etc/onconfig.cibsv
? onstat

–c

7

实例初始化
?

使用informix,准确设置INFORMIXSERVER
? onmonitor->Parameters->Initialize
? 编辑onconfig文件,然后执行oninit

-i

8

Informix数据库
$onmonitor->(Status)->database

9

Informix实例与数据库的关系
?

一个实例对应多个数据库

?
?

至少存在sysmaster数据库
实例内部数据库间访问 ? Select * from sysmaster:sysprofile

10

Informix数据库的存储结构
?

逻辑结构
? dbspace(rootdbs) ? Database ? tblspace ? table

?

物理结构 ? dbspace
? Chunk

(file、raw的部分)
? page

? extent
? page

11

Dbspace的类型
?

Root dbspace

?
?

dbspace
Temparory dbspace

?
? ? ?

Blobspace
Sbspace

Temparory sbspace
extspace

12

查看informix数据库的存储结构
?

onstat -d

13

监控存储的I/O
?

Onstat –g iog

?
?

Onstat –g iov
Onstat –g iof

?
?

Onstat –g ioq
Onstat –g iob

14

Informix数据库的日志
? ?

分为物理日志和逻辑日志

日志类型 ? Buffer ? Unbuffer ? Ansi ? No Logging
日志为实例所有,实例中所有数据库共享 日志状态(in use、online、offline) 初始在rootdbs,建议分离到不同的数据空间 修改日志数量和空间(onparams) 修改日志类型(ontape和ondblog)
15

? ? ? ? ?

日志监控与配置
?

onstat –l
? PHYSBUFF和LOGBUFF

16

Infomix的进程结构
?

虚拟处理器,多线程模型

?
?

只有一个进程名oninit
Onstat –g sch

17

Informix数据库线程监控
?

Onstat –g ath

?
?

Onstat –g rea
Onstat –g act

?
?

Onstat –g wai
Onstat –g sle

18

Informix的内存模型
?

常驻区( resident )——大小固定 ? Buffer Cache、Locks、Log Buffers、Least recently used queues等 ? 参数BUFFERS、LOGBUFF、PHYSBUFF、LOCKS 虚拟区( virtual )——可变 ? Session pools、Miscellaneous memory pools、Light scan buffers、Light append buffers等 ? 参数SHMVIRTSIZE、SHMADD、SHMTOTAL 消息区(message)——存在共享内存连接方式 ? Client-side message buffers和Client-side message buffers
19

?

?

Informix数据库内存监控
?

Onstat –B

?
?

Onstat –b
Onstat –g seg

?

Onstat –g mem [<pool name>|<session id>]

20

Informix的访问控制
?

IPC(本地)/TLI/SOCKET等多种连接方式

?
?

每个客户连接在数据库中作为一个线程
数据库提供isql、dbaccess(本地)等工具

?
?

使用操作系统用户,用户认证通过操作系统完成
DBSA管理权限

21

常用的会话监控管理工具
?

Onstat –u

?
?

Onstat –g ses
Onstat –g sql

?

Onmode –z <sid>

22

Informix数据库体系模型

23

Informix常用管理工具
?

Onstat——显示共享内存和服务器信息

?
? ? ? ?

Oncheck——检查与修复磁盘空间
Onmode——改变IDS服务器操作方式 Onspaces——配置dbspaces与块 Oninit——初始化与启动数据库服务器 Onparams——配置日志

?
? ?

Onlog——逻辑日志调试工具
ontape——备份与恢复、改变日志方式; Ondblog——改变日志方式
24

onstat -p

25

Onstat –F

Onstat –R

26

Onstat –g ppf

27

Sysmaster数据库
?

system-monitoring interface (SMI) tables ? syschkio ? syschunks ? sysdatabases ? Sysdbspaces ? sysextents ? syslocks ? sysprofile ? sysptprof ? syssesprof ? syssessions ? sysseswts ? systabnames ? sysvpprof

28

Informix导入导出工具
?

dbschema

?
?

dbexport和dbimport
Unload和load

?
?

Onunload和onload
HPL

29

运行脚本
?

编写sql脚本,比如test.sql database sysmaster; Select * from sysprofile;

?

执行脚本
- <test.sql ? Dbaccess <test.sql
? Isql

30

Informix SQL解释器
?

使用步骤
? ? ?

set explain on 执行sql语句 set explain off

?

结果文件:sqexplain.out

?

注意:update statistics
31

informix错误日志
?

Onstat –m

?

MSGPATH

/informix/online.log
32

第二部分

Oracle

33

Oracle数据库实例(一)
?

确定实例
?

?

环境变量 ? ORACLE_BASE=/oracle ? ORACLE_HOME=/oracle/product/9.2.0 ? ORACLE_SID=oratest select instance_name from v$instance;

34

Oracle数据库实例(二)
?

参数配置文件 ? $ ORACLE_HOME/dbs ? spfileoratest.ora ? initoratest.ora ? Init.ora ? Show parameters 参数名

35

确定数据库信息(一)
?

查看数据库信息及 状态 ? select * from v$database

36

确定数据库信息(二)
?

查看数据库版本信息 ? Select * from v$version

? 在安装向导里,从已安装文件产品的里获得产品

版本信息
37

实例及数据库的创建
?

使用DBCA工具

?

手工创建数据库的步骤
? 编辑init.ora文件

? 创建sys口令文件
? 创建数据库 ? 创建表空间及数据文件 ? 创建数据字典 ? 创建spfile文件

38

Informix数据库的存储结构
?

逻辑结构 ? Database
? schema ? tablespace ? segment

?

物理结构
? datafile

(file、raw的部分)
? OS

? extent
? Oracle

Block

block

39

表空间的类型
?

本地管理表空间

?
?

字典管理表空间
临时表空间

?
?

永久表空间
表空间的属性

40

查看oracle数据库的存储结构(一)
?

数据文件存储位置

41

查看oracle数据库的存储结构(二)
?

日志文件存储位置

?

控制文件存储位置

42

OEM工具查看数据文件使用情况

43

Oracle的进程查看 Ps –ef|grep oracle

44

oracle的进程结构
?

Oracle有以下几种进程: ? 用户进程: 在用户连接数据库时产生 ? 服务器进程: 当连接到Oracle实例并且用户建立会话的 时候产生 ? 后台进程: Oracle实例启动的时候产生
User process Shared Pool Library Cache Server process PGA Data Dictionary Cache

用户 进程

SGA
Database Buffer Cache Java Pool Redo Log Buffer

后台
Large Pool

进程

PMON SMON DBWR LGWR 服务器 进程
45

CKPT

Others

Oracle内存监控
? Show

sga

46

OEM工具查看内存

47

Oracle的内存模型(一)
?

SGA
? 缓冲区缓存
? 重做日志缓冲区 ? 共享池 ? JAVA池 ? 大型池

Shared Pool Library Cache Data Dictionary Cache

SGA
Database Buffer Cache Redo Log Buffer

Java Pool

Large Pool

48

SGA
?

数据缓冲区——存储最近从数据文件中读出来的数据块 ? 包括以下子缓存 ? DB_CACHE_SIZE ? DB_KEEP_CACHE_SIZE ? DB_RECYCLE_CACHE_SIZE ? DB_nK_CACHE_SIZE 重做日志缓冲区—— ? LOG_BUFFER 共享缓冲区(分库缓存和数据字典缓存) ? Shared_pool_size

?

?

?

其它缓冲区
? ?

java_pool_size (用于缓存java相关的对象) large_pool_size (用于UGA,RMAN和平行操作)

49

Oracle的内存模型(二)
?

PGA
? 为每个用户连接Oracle数
PGA Server process

据库保留的内存
? 当进程创建时分配 ? 进程结束后被释放 ? 只能被一个进程使用

User process

? 参数

PGA_AGGREGATE_TAR GET指定PGA的总共大小

50

会话监控
?

获得会话信息

? 也可通过oem工具启动,选择“例程”——―会

话”获得进程的详细信息
?

手工断开会话 ? SQL>alter system kill session ‘sid,serial#’;
51

监听进程

52

Listener文件和Tnsnames文件
? Tnsnames文件 ? $ORACLE_HOME/network/admin目录下 ? 直接编辑tnsnames.ora文件,通过添加一个入口连接到 监听进程,所在的计算机是作为客户端来使用的 ? 通过Oracle Net Configuration Assistant工具来配置 ? Listener文件 ? $ORACLE_HOME/network/admin目录下 ? 编辑listener.ora文件,为外部过程监听进程添加一个入 口,一般在数据库的服务器配置该文件 ? 通过Oracle Net Configuration Assistant工具来配置 ? 启动一个单独的监听进程来专门处理外部过程
53

监听的启动和查看
启动服务进程:

lsnrctl start
停止监听程序:

lsnrctl stop
判断监听程序是否已经启动: ps –ef|grep LISTENER

54

Tnsnames.ora文件内容

55

Listener.ora文件内容

56

oracle数据库的schema
?

Sys用户
?
? ?

管理实例进程 Sysdba权限 存放oracle各种系统视图和表

?

System用户 ? Dba权限用户 ? 存放一些系统视图
普通用户 ? 视授予的权限而定
?

?

存放应用数据及程序
57

Database Schema(数据库方案)
Schema Objects

? ? ?

Schema是对象命名的集 合 用户创建时schema同时 被创建 一个用户同时只能关联一 个Schema.

Tables Triggers Constraints Indexes Views Sequences Stored program units Synonyms User-defined data types

?

用户名和Schema经常互 用

Database links

58

Oracle用户的验证方式
创建用户:数据库认证 SQL> create user cibtest identified by cibtest default tablespace data temporary tablespace TEMP profile DEFAULT; 创建用户:操作系统认证 SQL> create user ops$hzcx identified EXTERNALLY default tablespace data temporary tablespace TEMP profile DEFAULT;
59

Sys用户里的常用视图和表
? ? ? ? ? ? ? ? ?

?
? ? ?

dba_tablespace v$tablespace v$datefile v$tempfile V$logfile v$controlfile dba_users v$session v$lock v$process all_objects dba_tables dba_indexes
60

Oracle常用的各种工具
? ? ? ? ? ? ? ?

export和import

sqlloder
Oracle Enterprise Manager console(OEM) Database Configuration Assistant(DBCA) Net Configuration Assistant(NetCA) PLAN_TABLE SQL_TRACE AUTOTRACE

?
? ?

TKPROF
STATPACK RMAN

61

运行脚本
?

编写sql脚本,比如test.sql Select instance_name from v$instance; Exit;

?

执行脚本 ? Sqlplus user/passwd <test.sql ? 或者在sqlplus提示符下执行@test.sql

62

Oracle的执行计划
? ? ?

@$ORACLE_HOME/rdbms/admin/utlxplan.sql(第一次使用) Set autotrace on Sql执行语句

63

体系结构图
User process Shared Pool Library Cache Server process Data Dictionary Cache

Instance SGA
Database Buffer Cache Java Pool

Redo Log Buffer
Large Pool

PGA

PMON SMON DBWR LGWR

CKPT

Others

Parameter file Password file

Data files

Control files

Redo Log files

Archived Log files

Database
64

谢 谢 !
65


网站首页 | 网站地图 | 学霸百科 | 新词新语
All rights reserved Powered by 学霸学习网 www.tceic.com
copyright ©right 2010-2021。
文档资料库内容来自网络,如有侵犯请联系客服。zhit325@126.com