oracle数据库管理系统体系结构
数据库:
数据文件
日志文件:redo日志
控制文件:记录整个数据库状态
实例:进程+内存
内存:SGA
shared pool: library cache,dictionary cache
db buffer:存数据块
log buffer:存日志(1/3满,1m,commit)
java pool:java 存储过程
large pool:备份恢复,共享服务器
stream pool:流
数据复制:把变化传到从数据库,实现数据保护,通过logminer挖掘日志,生成lcr传到从数据库
dataguard:把变化传到从数据库,实现数据保护,传日志
rac:保护实例
DBWR
LGWR
SMON: 实例恢复(介质恢复)
PMON:管理服务器进程,动态向监听器注册
CKPT:检查点进程(完全检查点,增量检查点)
ARC:归档进程,
日志:日志组,有限,
参数文件:实例启动读
密码文件:验证数据库超级用户,sysdba,sysoper
客户端进程: sqlplus plsqldeveloper 程序
服务器进程:
1、手动创建
参数文件
pfile:文本,数据库重新启动
init+实例名.ora
spfile:二进制文件,动态修改参数
spfile+实例名.ora
应用顺序: spfilemysid.ora initmysid.ora init.ora
create pfile from spfile;
create spfile from pfile;
目录
D:\oracle\product\10.2.0\data\mydb:存放数据库文件
D:\oracle\product\10.2.0\admin\mydb\adump:audit dump,审计
D:\oracle\product\10.2.0\admin\mydb\bdump:backgroud dump,存放后台进程日志,警告日志,alter.log
D:\oracle\product\10.2.0\admin\mydb\cdump: core dump
D:\oracle\product\10.2.0\admin\mydb\udump: user dump
D:\oracle\product\10.2.0\flash_recovery_area: 闪回恢复区
参数文件
windows:[ORACLE_HOME]\database\initmysid.ora
unix: [ORACLE_HOME]\dbs
创建密码文件
orapwd file=D:\oracle\product\10.2.0\db_1\database\pwdmysid.ora password=oracle entries=5
sqlplus / as sysdba
sqlplus sys/oracle as sysdba
/ : 表示操作系统验证
2、工具创建
2.1 卸载手动数据库
c:\>set oracle_sid=mysid
c:\>sqlplus / as sysdba
sql>shutdown immediate
c:\>oradim -delete -sid mysid
删除目录
D:\oracle\product\10.2.0\admin
D:\oracle\product\10.2.0\oradata
D:\oracle\product\10.2.0\flash_recovery_area
删除参数文件、密码文件
D:\oracle\product\10.2.0\db_1\database
2.2 dbca创建数据库
数据库存储机制
文件系统
裸设备: 没有文件系统的分区
自动存储管理ASM:
3、网络配置
jdbc:oracle:thin:@192.168.1.1:1521:xxxxx
tnsnames.ora
A:update xxx set xx=xx;commit;
B:select * from xxx;
1、 确定数据库名和实例名
数据库实例:mysid
数据库名称:mydb
【注意】数据库实例名下面创建参数文件(注意参数文件命名 initmysid.ora)时会用,数据库名参数文件中用。
2、 创建相关目录
1) 创建数据文件目录:
在目录D:\oracle\product\10.2.0下创建子目录data,然后在D:\oracle\product\10.2.0\data下创建子目录mydb(此处使用数据库名,主要是考虑可能有多个数据库)
2) 创建诊断跟踪信息目录:
在目录D:\oracle\product\10.2.0下创建子目录admin,然后在D:\oracle\product\10.2.0\admin下创建子目录mydb,最后在D:\oracle\product\10.2.0\admin\mydb下创建子目录adump、bdump、cdump和udump。
3) 创建闪回目录
在目录D:\oracle\product\10.2.0下创建子目录flash_recovery_area
最后创建完的目录如下:
D:\oracle\product\10.2.0\data\mydb
D:\oracle\product\10.2.0\admin\mydb\adump
D:\oracle\product\10.2.0\admin\mydb\bdump
D:\oracle\product\10.2.0\admin\mydb\cdump
D:\oracle\product\10.2.0\admin\mydb\udump
D:\oracle\product\10.2.0\flash_recovery_area
3、 创建初始化参数文件(启动实例时需要该文件)
在目录D:\oracle\product\10.2.0\db_1\database下创建initmysid.ora(名称前面是init,后面跟实例名mysid,最后是扩展名.ora),参数文件内容如下:
db_name='mydb' #数据库名
db_block_size=8192 #数据块大小
compatible='10.2.0.1.0' #数据库兼容版本
#诊断与跟踪信息目录设置
background_dump_dest='d:\oracle\product\10.2.0\admin\mydb\bdump'
core_dump_dest=' d:\oracle\product\10.2.0\admin\mydb\cdump'
user_dump_dest='d:\oracle\product\10.2.0\admin\mydb\udump'
audit_file_dest='d:\oracle\product\10.2.0\admin\mydb\adump'
#最大进程数设置
processes=100
#控制文件名及位置,原本没有,等到执行创建数据库语句时自动创建
control_files='d:\oracle\product\10.2.0\data\mydb\control01.ctl'
#自动内存调整参数
sga_target=167772160 #160M,这里是字节
pga_aggregate_target=83886080 #80M
#游标
open_cursors=300
#撤销表空间设置
undo_management=AUTO
undo_retention=900
undo_tablespace=undotbs #撤销表空间名,创建数据库是指定的
#安全设置
remote_login_passwordfile=EXCLUSIVE
#数据恢复区设置
db_recovery_file_dest='d:\oracle\product\10.2.0\flash_recovery_area'
db_recovery_file_dest_size=2147483648 #大小2G
4、 创建实例
c:\>set oracle_sid=mysid
c:\>oradim -new -sid mysid -startmode manual
【注】查看控制面板->管理工具->服务中是否有一个服务“OracleServicemysid”
5、 启动实例
c:\>sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 4月 6 14:43:23 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
已连接到空闲例程。
sql> startup nomount
ORACLE 例程已经启动。
Total System Global Area 167772160 bytes
Fixed Size 1247876 bytes
Variable Size 62915964 bytes
Database Buffers 96468992 bytes
Redo Buffers 7139328 bytes
6、 创建数据库
sql>create database mydb
maxinstances 1
maxloghistory 1
maxlogfiles 5
maxlogmembers 3
maxdatafiles 100
character set zhs16gbk
national character set al16utf16
logfile
group 1('d:\oracle\product\10.2.0\oradata\mydb\redo01.log') size 10m,
group 2('d:\oracle\product\10.2.0\oradata\mydb\redo02.log') size 10m,
group 3('d:\oracle\product\10.2.0\oradata\mydb\redo03.log') size 10m
datafile 'd:\oracle\product\10.2.0\oradata\mydb\system.dbf'
size 100m autoextend on next 1m maxsize unlimited
sysaux datafile 'd:\oracle\product\10.2.0\oradata\mydb\sysaux.dbf'
size 50m autoextend on next 1m maxsize unlimited
default tablespace users datafile
'd:\oracle\product\10.2.0\oradata\mydb\user01.dbf'
size 50m autoextend on next 1m maxsize unlimited
default temporary tablespace temp tempfile
'd:\oracle\product\10.2.0\oradata\mydb\temp01.dbf'
size 50m autoextend on next 1m maxsize unlimited
undo tablespace undotbs datafile
'd:\oracle\product\10.2.0\oradata\mydb\undotbs01.dbf'
size 50m autoextend on next 1m maxsize unlimited
7、 创建数据字典
SQL>@d:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\catalog.sql;
SQL>@d:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\catproc.sql;
8、 重新启动数据库
sql>shutdown immediate
sql>startup