学习oracle心得

这篇博客是作者学习Oracle数据库的心得,介绍了Oracle的实例与数据库结构、SGA与PGA的内存管理、进程分类以及数据库文件的相关知识,强调了SGA的重要性和配置细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下是我学习oracle做的心得笔记,仅供参考:

1、其实数据库就是 内存+硬盘  使用良好的程序算法最快的读出最准确的数据

2、oracle的结构就是instance(实例 进程) + database(数据文件 )

3、一个ORACLE实例只有一个SGA 系统全局区 当实例启动时就会占用相应的内在空间

     但是PGA会有多个,每当有一个server process 启动时就会有一个PGA区域。

4、SGA是最占用内存的区域

5、SGA包括shared pool

                     dababase buffer cache

                    redo log buffer

                    other structres(例如:lock and latch management,statistical data)

                    large pool 、java pool 是可配置的

         11g 中还增加了stream pool

6、SGA_MAX_SIZE  单位:granules  分配:SGA小于128M是4M 超过128就是16M

SGA是个连续分配内在的区域

查询granule

select component ,granule_size from v$sga_dynamic_components;

COMPONENT        GRANULE_SIZE
---------------------------------------------------------------- ------------
shared pool             4194304
large pool             4194304
java pool             4194304
streams pool             4194304
DEFAULT buffer cache            4194304
KEEP buffer cache            4194304
RECYCLE buffer cache            4194304
DEFAULT 2K buffer cache            4194304
DEFAULT 4K buffer cache            4194304
DEFAULT 8K buffer cache            4194304
DEFAULT 16K buffer cache           4194304

COMPONENT        GRANULE_SIZE
---------------------------------------------------------------- ------------
DEFAULT 32K buffer cache           4194304
Shared IO Pool             4194304
ASM Buffer Cache            4194304

14 rows selected.

7、进程分为USER PROCESS 、SERVER PROCESS 、BACKGROUD PROCESS

USER PROCESS 是客户端的进程

SERVER PROCESS 是服务端响应客户端响应的进程

--客户端通过TCP/IP连接访问服务端进程 、服务端可以通过虚拟的TCP/IP(lo 、127.0.0.1--local loopback 本地回路)或者是IPC(INTER PROCESS COMMUNICAITION)进行通讯。

BACKGROUND PROCESS是ORACLE的主要进程分为强制进程(MANDATORY)和可选进程(OPTION) 。

    MANDATORY PROCESS包括 DBWn(写数据文件的进程,n是序号,ORACLE最多可以有20个DBW进程同时工作)、 LGWR(写日志文件的进程)、SMON (SYSTEM MONITER)、PMON(PROCESS MONITER)、CKPT(CHECK POINT原来是由LGWR负责的)

OPTION PROCESS 比如:ARCn但是生产环境肯定是必须归档模式的,所以这个进程基本是必须的

8、SHARED POOL 包括library cache(SQL AREA ,PL\SQL AREA)、data dictionary cache()

9、PGA 一个服务进程就有一个PGA,如DBW LGWR等各自都有一个PGA区域

10、用户连接时客户端有一个USER PROCESS 服务端会启动一个SERVER PROCESS

11、一个tablespace可以有多个datafiles,一个datafile可以对应多个segment ,一个segment可以横跨多个datafile

必须是连接的db blocks才能组合成一个extent

 

12、一个ORACE  SERVER包括instance 和database

       一个instance包括内存和后台进程PGA background process

      database 包括三种文件:datafile , online redo log file,control file

13、自从ORACLE 9.2.0以后不会提供SYS 和 SYSTEM用户的默认口令,必须要指定

注意手工用SQL语句创建数据库时,如果不指定这两个用户的口令,它会用默认的口令,这可能是个漏洞

14、show parameter sga;  --后面的参数名可以不写全,它会自动匹配

15、

16、什么是SID,SGA的内存unique key值是通过ORACLE_HOME和ORACLE_SID合起来再hash出来的,

所以如果设置SID或者HOME不正确,就有导致ORACLE NOT AVAILABLE ERROR的错误,

在WINDOWS环境下SGA不是共享内存的形式,但是如果一台机子上 将了一套数据库软件也就是在一个ORACLE_HOME下

唯一区别数据库的就是SID了

 

17、

 

 

18、因为SPFILE是二进制文件,所以要查看的话可以用strings spfilemes.ora ,它是将可打印的字符打印出来。

19.SPFILE前面的*.  在多个instance对应一个数据库时有用,要把*改成实例名。

 

 20、

21、

 

 

22、alter system PFILE= 没有SPFILE=,如果要指定SPFILE的话,可以在PFILE中写上面的一句话,指定SPFILE的位置即可

 

23、 select * from fzq where regexp_like(value,'1[0-9]{4}60')

 24、

 

25、nomount只是读取spfile 分配SGA 启动部分后台进程  相当于车间和工作都好了 ,但是没有猪进行屠宰

26、mount 是读取内存中SPFILE的contorlfile的配置目录,打开读取数据文件、日志文件的配置   进行与数据库进行关联

 

26、

 

27、mount后 数据库已经挂载 但还是关闭状态,只能由管理员进行维护工作  mantanice

 

 

28、

 

 

 

 

 恢复和回滚工作都是由SMON进程来执行的。

 

 

 

 

 

 

tail -f 可以动态观察内容的变化

 

 数据库的文件一般就在oracle_base目录下的oradata、admin目录下有文件;

oradata存的是数据文件、日志文件、控制文件,admin是跟踪文件、pfile等

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值