03 Files

本章提要
-----------------------------------------------
组成 oracle 的 8 种主要文件(包括 instance 和 database)
instance: parameter file, trace file, alert file
database: data file, temp file, control file, redo log file, password file
简单概述:
parameter file: instance 参数初始化, 哪里可以找到control file.
trace file: diagnostic files created by a server process
alert file: dba 检查问题的中心
data file: 存储例如 table, index 等
temp file: 临时存储 和 disk-based sort
control file: 哪里可以找到 datafile, redolog file, temp file, 一些其他的元数据, backup info.
redo log file: transaction logs
password file: are used to authenticate users performing administrative activities over the network.

-- 10g 以后新增加的两个文件, 为了更好的backup 和 recovery
change-tracking file: 更好的 incremental backup or oracle data
flashback log file: store "before images" of database blocks

-- 其他类型文件 --
dump files: Export 产生的文件
Data Pump files: Data Pump Export process 产生的文件
Flat files: 可以用text editor 打开的文件, 一般用作 loading data

-- 最重要的文件是 data file, redo log file.
-----------------------------------------------

1. parameter file
    很多种类, 例如 tnsnames.ora, listener.ora 等, 不过这里重点讨论的是, init<sid>.ora 和 spfile

SID : 概念再补充: the sid is a site identifier, it and ORACLE_HOME(where the oracle software is
    installed) are hashed together in UNIX to create a unique key name for creating or attaching
    a Shared Global Area(SGA) memory region. If your ORACLE_SID or ORACLE_HOME is not set correctly,
    you’ll get the ORACLE NOT AVAILABLE error.

    select value from v$parameter where name = 'db_block_size' -- 查询 parameter 方法
    show parameter db_block_s        -- 查询 parameter 方法, 可以使用模糊查询, 所以比较好
    还有一些非正式声明的参数, 它们是以下划线开头, 例如 _trace_file_public, 一般我们不用关心这些非正式
    声明的参数, 大师一般只是设置一个 _trace_file_public=true, 作用是设置 trace_file read only by all.
    因为有很多常用工具需要读取tracefile, 比如 SQL_TRACE, TIMED_STATISTICS, TKPROF
    但是在生产库, 不需要设置这个参数.(生产库不设置任何 undocumented
    spfile 修改参数方法:
    Alter system set parameter=value <comment='text'> <deferred>
                    <scope=memory|spfile|both> <sid='sid|*'>
    如果我们想删除我们之前设置的参数, 而是用系统默认的参数, 那么, 我们需要使用如下命令:(reset)
    alter system reset sort_area_size scope=spfile;
    可以通过使用 startup pfile=filename, 这样, instance启动时会参考Pfile, 而不是spfile.
    之前说过parameter file的优先级.

    如果spfile损坏了怎么办, 你有很多办法, 首先如果你在unix系统下, 因为spfile很小, 可以使用strings命令
    查看spfile中的内容, 进而生成pfile(可以使用editor text编辑), 然后再create spfile from pfile 就可以.
    在windows系统, 可以使用 write.exe(WordPad)打开这个文件, 进而生成pfile, 然后同样命令创建spfile.

    如果spfile丢了, 那么你可以借助 log file来恢复spifle, 在log file中有instance启动的信息, 里边有参数
    设置的情况, copy出来, 制作pfile, 进而生成spfile.
    
2. Trace files
    Trace files are a source of debugging information.(是数据库自己debug的information)
    数据库编写人员, 会将数据库出现的问题, 写日志到trace file中.
    oracle 对于 debug 而提供的工具有:
    (我们不需要直接读tracefile, 我们读不懂, tracefile是为oracle support 人员准备的, 那么我们可以借助下面工具
     来进行一些查看.)
    1) v$ views: Most V$ views contain “debug” information.v$waitstat, v$session_event 等.
    2) audit: This command allows you to specify what events the database should record for later analysis
    3) resource manager: (DBMS_RESOURCE_MANAGER)(CPU, I/O)
    4) oracle events: ask Oracle to produce trace or diagnostic information as needed
    5) dbms_trace: within the PL/SQL engine exhaustively records the call tree of stored procedures 等.
    6) database event trigger: These triggers, such as ON SERVERERROR.
    7) SQL_TRACE/DBMS_MONITOR: This is used to view the exact SQL, wait events and other performance.
    
    Trace files 包含两种:
    1) 我们比较关心的, contain diagnostic information about your session and will help you tune your
        application to optimize its performance and diagnose any bottlenecks it is experiencing.
    2) 我们一般不关心, 一般是数据库原厂支持人员才能看懂的诊断内容, 比如 ORA-00600 "Internal Error"

    Requested Trace Files (请求相关的 trace file)
    DBMS_MONITOR( alter session set sql_trace=true)
    or using the extended trace facility via the 10046 event, might be as follows:
    alter session set events '10046 trace name context forever, level 12'
    These trace files contain diagnostic and performance related information(这种trace file最有用, 会经常使用)
    Location: user_dump_dest(dedicated server), background_dump_dest(shared server)
    show parameter dump_dest, 会显示 3 个 location, 其中:
    background_dump_dest: "server" process, oracle background process
    core_dump_dest: 进程的更加详尽的诊断文件
    user_dump_dest: (dedicated server)
   

with home
as
(select value homefrom v$diag_infowhere name = 'ADR Home'
)
select name,case when value <> home.homethen replace(value, home.home, '$home$')else valueend valuefrom v$diag_info, home
/
View Code


    01 trace_file_location.sql
    在查询出来的结果中, 两个参数比较重要: ( 11g 之后使用 )
    Diag Trace: trace地址, 包括background_trace file 和 user dump trace file.
    Default Trace File: your current session's trace file.
    
    trace name : oraclesid_ora_pid.trc
    v$PROCESS: 可以查看到pid
    V$SESSION: 可以查看到session信息
    V$INSTANCE: 可以查看到 oracle sid.
    所以, 可以通过另外的方法, 查看到当前的 trace file
   

column trace new_val T
select c.value || '/' || d.instance_name || '_ora_' ||a.spid || '.trc' ||case when e.value is not null then'_' || e.value end tracefrom v$process a, v$session b, v$parameter c, v$instance d, v$parameter ewhere a.addr = b.paddrand b.audsid = userenv('sessionid')and c.name = 'user_dump_dest'and e.name = 'tracefile_identifier'
/
View Code


    02 trace_file_now.sql
     开通当前 trace file 的方法: exec dbms_monitor.session_trace_enable
    你可以为 trace file 加上标签, 这样你就更容易找到当前是哪个 tracefile, 办法是:
    alter session set tracefile_identifier = 'LooK_LEON'; -- 在当前的 session 下
    exec dbms_monitor.session_trace_enable;
    这样就会在相应目录下看到带 'Look_LEON'名称的trace file, 那么很显然这就是当前的tracefile.
    这样的话, 文件名是 <ORACLE_SID>_ora_<PROCESS_ID>_Look_LEON.trc

    Trace Files Generated in Reponse to Internal Errors
    例如: ORA-00600: internal error code, 类似这种错误, 是 oracle的bug, 我们只能请求oracle的服务.
    所以, 找到对应的 tracefile 文件是十分重要的, 因为可以将它上传, 让 oracle support人员查看.

3. Alert File
    alert log file 很重要, 是数据库日志文件.
    alert log file 是文本文档文件, 可以看懂.

4. Data file    
    一般创建数据库时最少包括3个datafile:
    system tablespace 对应 datafile.
    user tablespace 对应 datafile.
    sysaux tablespace 对应 datafile (10g 以后版本)
    
    4种datafile 结构 (物理结构)
    1) operating system(os)file system: 一般操作系统文件, 我用的就是这种
    2) 未安装任何os的磁盘, 这个磁盘对Oracle来说是个大文件 (这种很少使用)
    3) Automatic Storage management(ASM): 做了一个抽象ASM系统, 即ASM是在OS与database中间
    4) Clustered file system: 为了 RAC, 看起来像第一种file system
    个人感觉, (1), (3)比较常用

    database 分层结构
    tablespace: 组成了database
    segments: 实际存储对象, 比如 table, index 等, Every object that consumes storage is ultimately stored in a
        single segment. There are undo segments, temporary segments,cluster segments, index segments and so on.
    extents: An extent is a logically contiguous allocation of space in a file.
    blocks: A block is the smallest unit of space allocation in Oracle.    一般分为 2k,4k,8k,16k
   
    <03_01.jpg>
    注意: 这个图我们尽量从逻辑角度看, 所以看到extent是连续的, 但是其实不是这样.
    extent 之间不连续, extent 内部连续。
    <03_02.jpg>

   
    block structure
5. Temp Files
    Temp files never have REDO generated for them, although they can have UNDO generated. Thus,
    there will be REDO generated working with temporary tables since UNDO is always protected by REDO.
6. Control files
    the control files tell the instance where the database and online redo log files are.
    developer 基本上用不到 control file.
7. Redo Log Files
8. password Files
    本地组内部的User, 都可以不用密码登陆数据库, 所以不一定非的是oracle这个用户
    而如果在网络上连接数据库, 操作系统认证就不行了, password file 只可以通过网络认证为 sysdba的用户
    首先启动数据库, 设置参数 remote_login_passwordfile=EXCLUSIVE, 如果是shared表示多个数据库可以共用密码文件
    一般这个参数, 默认就是 EXCLUSIVE
    然后使用, orapwd file=orapw$ORACLE_SID password=aaa entries=20(最大连接数), 这时我们可以使用 sys 用户远程
    连接上来, 但是我们自己随便建立用户, 不能连接上来, 因为我们随便建立的用户不是SYSDBA权限, 所以, 我们要先授权
    我们新建用户的权限, grant sysdba to leon; 然后就可以从远端用 leon 用户连接上来了. 另外注意, orapwd是linux命令
    另外, 远程连接时, 如果server端采用动态注册的话, 那么必须要开启instance时, 才能动态注册, 所以, 这样就没有办法
    使用这种远程连接到没有开启instance的数据库, 所以, 这时需要使用静态注册, 才可以远端来接来sysdba,远端开启数据库
9. dump files
    dmp 文件是独立于平台(os), 可以用于重建表, 模式, 甚至整个数据库, 导入工具的作用就是读取dmp文件, 执行ddl语句,
    并加载它找到的所有数据. 现在这个已经有被 data pump 取代的形式.
10. data pump files
    IMPDP 和 EXPDP 使用这种文件格式, 使用方法与 IMP 和 EXP 一样.    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/299428.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TensorFlow发布全新版本,又会带来哪些变革?

全世界只有3.14 % 的人关注了青少年数学之旅经过几年的发展&#xff0c;深度学习方法摧枯拉朽般地超越了传统方法&#xff0c;成为人工智能领域最热门的技术。之后&#xff0c;谷歌、亚马逊、百度、Facebook 纷纷开源了自己的深度学习框架。而支撑AlphaGo的核心技术架构--Tenso…

码农身份得到正式认证

各位同行的兄弟姐妹们&#xff0c;我们的码农&#xff08;新生代农民工&#xff09;身份已经得到国家正式确认&#xff0c;程序员这个职业也正式并到农民工行列了。现在互联网大厂&#xff0c;大部分程序员都是在做着模式化开发工作&#xff0c;已经没有技术含量了&#xff0c;…

c# 类的基本知识,未完,待续

1.访问修饰符的使用&#xff0c;如果函数或者是成员变量被public修饰的话&#xff0c;那么可以在该class之外访问&#xff0c;如果是private的话是不能在这个类 之外来访问的&#xff0c;c#中默认的是使用private修饰符&#xff0c;但是作为一个良好的编程习惯的话&#xff0c;…

jquery 样式获取设置值_[JQuery] jQuery选择器ID、CLASS、标签获取对象值、属性、设置css样式...

jQuery是继prototype之后又一个优秀的Javascrīpt框架。它是轻量级的js库(压缩后只有21k) &#xff0c;它兼容CSS3&#xff0c;还兼容各种浏览器 (IE 6.0, FF 1.5, Safari 2.0, Opera 9.0)。jQuery使用户能更方便地处理HTML documents、events、实现动画效果&#xff0c;并且方…

面试字节我被String类的问题给问死了!

“” 是怎么连接字符串的&#xff1f;&#xff08;JDK1.7及以上&#xff09; 总结&#xff1a; 使用 “” 连接字符串时&#xff0c;实际上是使用临时创建的StringBuilder对象来辅助完成的。 对于编译时常量&#xff0c;在编译后直接计算出字符串的值&#xff0c;而不会在运行…

Miniprofiler在普通net项目中的使用

MiniProfiler是一款针对.NET, Ruby, Go and Node.js的性能分析的轻量级程序。可以对一个页面本身&#xff0c;及该页面通过直接引用、Ajax、Iframe形式访问的其它页面进行监控,监控内容包括数据库内容&#xff0c;并可以显示数据库访问的SQL&#xff08;支持EF、EF CodeFirst等…

11月22日北京.net俱乐部活动ppt下载以及11月19日微软西格玛IE8开发讲座ppt下载

11月22日北京.net俱乐部活动ppt下载以及11月19日微软西格玛IE8开发讲座ppt下载 请点击下面的连接下载[url]http://cid-b10793e754ad25f7.skydrive.live.com/browse.aspx/IE8Training[/url]里面有3个文件&#xff0c;内容包含了IE8课程的主要内容转载于:https://blog.51cto.com…

加州大学惊现神操作!物理教授用数学论文摆脱400美元交通罚单,却惨被网友大反转.........

全世界只有3.14 % 的人关注了青少年数学之旅“学好数理化&#xff0c;走遍天下都不怕。”这句从上个世纪八十年代流传下来的金句&#xff0c;至今仍然哺育着理工科的莘莘学子。为了让模友们更好的理解这句话&#xff0c;今天就让小天给你们涨涨姿势&#xff0c;见识一下什么是学…

VMware虚拟机VMDK 快照 数据恢复成功

VMware虚拟机VMDK 快照 数据恢复成功【故障描述】某影院使用的票管理系统安装在一台虚拟中&#xff0c;数据库采用的是Oracle9I,虚拟机在安装好后做了一次快照&#xff0c;期间又做过一次快照&#xff0c;在正常使用过程&#xff0c;虚拟突然崩溃&#xff0c;无法启动&#xff…

phppage类封装分页功能_php显示页码分页类的封装

本文实例为大家分享了php封装显示页码的分页类&#xff0c;供大家参考&#xff0c;具体内容如下一、代码conn.phpclass Mysql{public function __construct(){$this->connect();}public function connect(){$connmysql_pconnect(localhost,root,root) or die("Connect …

[转]两个经典的windbg调试案例,值得学习。

1. 调试Bug的神兵利器&#xff1a;通过WinDbg条件断点收集Log 原文地址&#xff1a;http://blogs.msdn.com/yizhang/archive/2009/03/30/bug-windbg-log.aspx 调试Bug的神兵利器&#xff1a;通过WinDbg条件断点收集Log 前段时间花了几天一直在用WinDbg调试一个比较棘手的Bug。…

设计模式之观察者

观察者模式介绍观察者又名事件订阅者、监听者。观察者模式是一种行为设计模式&#xff0c;允许你定义一种订阅机制&#xff0c;可在对象事件发生时通知多个“观察者”该对象的其他对象。通知目标&#xff1a;拥有一些值得关注的状态的对象。发布者&#xff1a;它要自身的状态改…

热姜水的神奇妙用

人们通常会在着凉以后&#xff0c;泡一壶姜茶来喝&#xff0c;来预防感冒&#xff0c;其实热姜水除了这个作用以外还有几大作用的。     醉酒 用热姜水代茶饮用&#xff0c;可消化体内酒精。脚臭 热姜水中加点盐和醋&#xff0c;浸泡双脚15分钟左右&#xff0c;脚臭便可消…

二面京东被问到Java 反射,我直呼好家伙,这我不是必过吗?

二面京东被问到Java 反射&#xff0c;我直呼好家伙&#xff0c;这我不是必过吗&#xff1f;用多久我会升职加薪、当上技术总监、迎娶漂亮学姐、走上人生巅峰&#xff01;想想还有点小激动。 好了开始分享面试经历 说说你反射的理解 到底什么是反射呢&#xff1f;&#xff1f;…

通用路由封装(GRE)×××配置

本人没有很好的文采&#xff0c;只能直接配置&#xff0c;有不懂的地方&#xff0c;后面可以联系我&#xff0c;在配置当中&#xff0c;我会尽量在配置命令后面加标注。1、在R1上配置相关的命令R1&#xff08;config&#xff09;#int fa0/0 ---进入以太网fa0/0接口--R1&#…

数字怎么横 竖排_从这些数字更深入了解打包箱房

很多人对于彩钢房和一般瓦楞版集装箱活动房可能比较了解&#xff0c;但是对于打包箱房就相对了解甚少&#xff0c;这里通过一组数字来告诉大家&#xff0c;打包箱房到底怎么样&#xff1f;一、打包箱房标准房子的标准为外部(3米X 6米X2.7米)、内部是(2.83米X5.83米X2.52米)二、…

gridview DataFormatString

转有个时间要在gridview中显示,但是保持着数据库中的是标准时间,很长,而且只需要显示日期,就想要格式化字符串,可是设置了DataFormatString就是不起作用,后来一查,原来要设置"行为"中HtmlEncode false DataFormatString"{0:格式字符串}" 在DataFormatStri…

太神奇了!使用C#实现自动核验健康码:(1)二维码识别

前言因为疫情的原因&#xff0c;无论是进入商场还是医院、车站&#xff0c;都需要出示健康码。现在基本都是采取人工方式核验健康码&#xff0c;看到绿码就通过&#xff0c;否则就禁止进入。但是&#xff0c;单靠人工核验健康码容易造成人员拥堵&#xff0c;增加病毒交叉感染的…

三角形中惊现叛徒!自己胖的像个球,却能成就世界上最快的赛车引擎......

全世界只有3.14 % 的人关注了青少年数学之旅一日&#xff0c;理科生上山寻访禅师。理科生问禅师&#xff1a;“大师&#xff0c;世人为何总嫌我棱角太突出&#xff0c;不合群&#xff01;”禅师思索一阵&#xff0c;掏出数根圆柱铺在地上&#xff0c;在上面搁了一块木板&#x…

无线专业术语

1. IEEE 802.11b IEEE 802.11b是IEEE&#xff08;电气和电子工程师协会&#xff09;1999年9月推出的一个无线局域网标准&#xff0c;采取2.4GHz频段&#xff0c;传输速率最高11Mbps。 2 IEEE 802.11g IEEE 802.11g是IEEE 802.11b标准的继承者&#xff0c;它提供高达54M…