网站首页 > 技术文章 正文
内存: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-08-01 程序员面试中问到的Oracle常用数据类型
- 2025-08-01 oracle的listagg函数,可以把多行转为一个字符串
- 2024-10-30 oracle数据库优化:合理使用索引 oracle数据库索引类型和原理
- 2024-10-30 详解Oracle数据库OutLines的使用--控制SQL执行计划的机制
- 2024-10-30 Oracle 数据库日常巡检之检查Oracle相关资源的使用情况
- 2024-10-30 ORACLE强制使用索引要点 oracle加hint强制走索性
你 发表评论:
欢迎- 644℃几个Oracle空值处理函数 oracle处理null值的函数
- 634℃Oracle分析函数之Lag和Lead()使用
- 627℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 625℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 620℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 608℃【数据统计分析】详解Oracle分组函数之CUBE
- 599℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 584℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)