网站首页 > 技术文章 正文
内存:PGA(一对一)+SGA(一对多)
实例:
ORACLE SGA + ORACLE后台进程
SGA
data buffer
redolog buffer
shared pool
large pool
java pool
登陆数据库
[oracle@localhost tmp]$ sqlplus / as sysdba
查看当前数据库的状态
SQL> select status from v$instance;
数据库启动分为三个阶段
startup nomount;
1.nomount:打开参数文件,此时分配内存和后台进程
SQL> select status from v$instance;
STATUS
------------
STARTED
SQL>
alter database backup controlfile to trace as '/tmp/ctl';
startup mount;/alter database mount;
2.mount:打开控制文件
SQL> select status from v$instance;
STATUS
------------
MOUNTED
startup/alter database open;
3.open:打开数据文件和日志文件
SQL> select status from v$instance;
STATUS
------------
OPEN
关闭数据
shutdown immediate
强制关闭数据库
shutdown abort
startup force=shutdown abort+startup
数据库在挂载状态(nomount)
打开参数文件pfile(文本) or spfile(二进制)
$ORACLE_HOME/dbs找
先找SPFILE,发现spfile不在,然后再去找pfile
动态初始化参数文件 spfile格式:spfile+数据库实例名.ora
静态初始化参数文件 pfile格式:init+数据库实例名.ora
查看当前数据库用的是哪种模式的参数文件pfile(文本)/spfile(二进制)
SQL> show parameter spfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string /u01/app/oracle/product/11.2.0
/db_1/dbs/spfileorcl.ora
创建pfile
SQL> create pfile from spfile;
创建spfile
SQL> create spfile from pfile;
File created.
SQL> create pfile='路径/文件名' from spfile;
startup pfile='路径/文件名';
spfile在此目录
[oracle@caizhibin ~]$ cd $ORACLE_HOME/dbs
生成的pfile也在$ORACLE_HOME/dbs
-rw-r--r-- 1 oracle oinstall 807 May 14 09:48 initorcl.ora
启动数据库时查找参数文件顺序
spfileSID.ora ->spfile.ora -> initsid.ora
指定pfile来启动数据库
SQL> startup pfile='/u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora';
spfile情况下:
修改参数文件里的参数有两种模式spfile |memory | both
SQL> alter system set undo_retention=1000 scope=memory;
1.生产环境和测试环境都用spfile,除非自己想看文本的参数
2.修改的模式有三种spfile |memory | both,pfile默认是memory,spfile默认是both,both=spfile+memory
3.memory是立即生效的,不会写进物理的参数文件里面。
1.利用spfile创建pfile
2.用pfile启动数据库
3.修改undo_retention=1000
4.用spfile启动数据库
5.修改undo_retention=1000,再创建pfile,然后cat pfile文件里的undo_retention是否等于1000
告警日志
/u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log
SGA:比较重要的事shared pool ,data buffer cache ,log buffer
脏缓存:data buffer和数据文件不一致,只有DML才会产生脏缓存。
自由缓存:data buffer和数据文件一致。
LRU算法:
插入一个新块时,判断冷段最后一个块
1.如果判断是不经常使用的块,则踢掉,然后把新块加入到冷段最前头。
2.如果端盘是经常使用的块,则放在热段最前头。
log buffer:1.作用防止断电,导致的数据丢失。
log buffer 写进日志文件是顺序写。
10g:
开启ASMM
设置sga大小
自动管理SGA:data buffer cache,shared pool, large pool.
log buffer 需要手动管理
设置PGA大小(9i开始自动管理)
11g:
SQL>
SQL> show parameter pga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target big integer 0
SQL> show parameter sga
sga_target big integer 0
SQL> show parameter memory
memory_target big integer 1472M
set lin 200
col COMPONENT for a40
1* SELECT component, current_size / 1024 / 1024, min_size, max_size FROM v$memory_dynamic_components
SQL> /
COMPONENT CURRENT_SIZE/1024/1024 MIN_SIZE MAX_SIZE
---------------------------------------- ---------------------- ---------- ----------
shared pool 240 234881024 251658240
large pool 16 16777216 16777216
java pool 16 16777216 16777216
streams pool 0 0 0
SGA Target 880 922746880 922746880
DEFAULT buffer cache 592 620756992 637534208
KEEP buffer cache 0 0 0
RECYCLE buffer cache 0 0 0
DEFAULT 2K buffer cache 0 0 0
DEFAULT 4K buffer cache 0 0 0
DEFAULT 8K buffer cache 0 0 0
COMPONENT CURRENT_SIZE/1024/1024 MIN_SIZE MAX_SIZE
---------------------------------------- ---------------------- ---------- ----------
DEFAULT 16K buffer cache 0 0 0
DEFAULT 32K buffer cache 0 0 0
Shared IO Pool 0 0 0
PGA Target 592 620756992 620756992
ASM Buffer Cache 0 0 0
16 rows selected.
启动顺序实验
数据库启动时先找spfile ,再找pfile。
1.创建pfile
create pfile from spfile;
2.查看dbs下面是否存在pfile和spfile
ls -l $ORACLE_HOME/dbs
-rw-rw---- 1 oracle oinstall 1544 May 5 19:01 hc_orcl.dat
-rw-r--r-- 1 oracle oinstall 2851 May 15 2009 init.ora
-rw-r--r-- 1 oracle oinstall 805 May 5 23:15 initorcl.ora
-rw-r----- 1 oracle oinstall 24 May 5 19:02 lkORCL
-rw-r----- 1 oracle oinstall 1536 May 5 19:07 orapworcl
-rw-r----- 1 oracle oinstall 2560 May 5 22:46 spfileorcl.ora
3.关闭数据库再启动数据库
shutdown immediate
startup
4.查看使用的是哪种参数文件
show parameter spfile
SQL> show parameter spfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string /u01/app/oracle/product/11.2.0
/db_1/dbs/spfileorcl.ora
实验2:
1.关闭数据库
shutdown immediate
2.把spfile删除(注意dbs下面要有pfile,不然数据库会起不来)
rm -rf /u01/app/oracle/product/11.2.0/db_1/dbs/spfileorcl.ora
3.启动数据库
startup
4.查看使用的是哪种参数文件
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string
实现sqlplus 上下翻页
1.上传
rlwrap-0.37-1.el5.i386.rpm到/tmp
2.安装
rpm -ivh /tmp/rlwrap-0.37-1.el5.i386.rpm
3.编辑环境变量
su - oracle
vi .bash_profile
(添加两行)
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
猜你喜欢
- 2025-06-10 隔离级别的追溯与究明,带你读懂隔离级别(下)
- 2025-06-10 数据管理与应用试题库(数据管理考试题库)
- 2025-06-10 oracle表分区的概念及操作(oracle分表分区优缺点)
- 2025-06-10 百万级数据库优化方案--Oracle 性能优化总结
- 2025-06-10 如何“破解”Oracle数据库性能测试过程中索引使用问题?
- 2025-06-10 【Oracle】Berkeley DB避“坑”(berkeley是什么大学)
- 2025-06-10 Seata源码—6.Seata AT模式的数据源代理一
- 2025-06-10 Oracle数据库基本概念(oracle数据库的基础知识)
- 2025-06-10 深入剖析Oracle SCN机制(oracle scheduler component)
- 2025-06-10 细说Oracle数据库与操作系统存储管理二三事
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- c语言min函数头文件 (77)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 无效的列索引 (74)