dba-05-Data Dictionary
DBA_3
Group 1
Group 2
Group 3 Disk 1
Member
Member
Member
Member
Member
Member
Disk 2
1-13
Copyright © jsj cec, 2010. All rights reserved.
日志文件的数量
受到以下限制: • MAXLOGFILES:创建数据库时的参数,限制了日志文 件组的数量
•
通过添加新成员或删除成员可重定位和重命名在线日志 文件.
1-21
Copyright © jsj cec, 2010. All rights reserved.
日至文件的配置
?
Group 1 Member
Member
组的数量、位置分布、文件大小
Group 2
Group 3
Member
Member
Member
1-7
Copyright © jsj cec, 2010. All rights reserved.
数据库、表空间和数据文件
1-8
Copyright © jsj cec, 2010. All rights reserved.
逻辑结构
Database
物理结构
Tablespace
Data file
Logical
题,是为了方便使用和管理而规划出来的逻辑上的结构
1-5
Copyright © jsj cec, 2010. All rights reserved.
3.1 物理结构Physical Structure
由一些从操作系统可以看见的文件组成,负责存储数据. • 控制文件(Control files) • 数据文件(Data files) • 重做日志文件(Redo log files)
DataDictionary(数据字典)
DataDictionary(数据字典)前⾔在创建数据库的同时,Oracle也会创建⼀些其他的Objects/Structures,包括:1.Data Dictionary(数据字典)2.Performance tables(动态性能表)3.PL/SQL packages(PL/SQL程序包)4.数据库时间触发器⼀.Data Dictionary数据字典是Oracle 数据库最重要的部分之⼀,它是⼀组只读表和视图,提供有关其相关数据库的信息(这些信息相对稳定)。
1.数据字典的组成(1).基表<Base tables>(核⼼,但⼀般我们不和他打交道) 【1】作⽤:存储数据库的说明(description)。
基表是存储有关数据库的信息的底层表。
基表是在任何Oracle 数据库中⾸先创建的对象。
在使⽤CREATE DATABASE 创建数据库时,只要Oracle 服务器运⾏sql.bsq 脚本,就会⾃动创建这些对象。
只有Oracle 服务器才能对这些基表执⾏写⼊操作。
⽤户很少直接访问基表,因为其中的数据⼤多数都是以隐含格式存储的。
【2】“基表”在使⽤Create Database时候创建,这时Oracle调⽤了admin/sql.bsq脚本进⾏创建。
(2).数据字典视图<Data Dictionary views> 【1】简化“基表”信息。
数据字典视图是基表的汇总,可以更有效地显⽰基表信息。
【2】“数据字典视图”是在运⾏CREATE DATABASE命令之后使⽤catalog.sql脚本创建的。
2.数据字典存储以下内容(1).逻辑(logical)和物理(physical)数据库结构数据库内所有⽅案对象的定义,这些对象包括表、视图、索引、簇、同义词、序列、过程、函数、程序包、触发器等等。
(2).对象的定义(definition)和空间分配(space allocation)已为⽅案对象分配的空间量以及它们当前使⽤的空间量。
oracle dba 日常维护操作手册命令总结
oracle dba 日常维护操作手册命令总结Oracle DBA日常维护操作手册命令总结:Oracle数据库管理员(DBA)在日常维护数据库时,需要掌握一些常用的命令和操作。
以下是一些重要的Oracle DBA维护命令的总结:1. 数据库连接和认证命令:- sqlplus:用于连接Oracle数据库的命令行工具。
可以使用该命令连接到数据库并执行SQL语句。
- sqlldr:用于将数据从外部文件加载到Oracle数据库表中。
- exp和imp:用于导出和导入数据库对象和数据。
2. 数据库启动和关闭命令:- startup:启动Oracle数据库实例。
- shutdown:关闭Oracle数据库实例。
3. 数据库备份和恢复命令:- RMAN(Recovery Manager):用于备份和恢复Oracle数据库。
- backup:用于创建数据库备份。
- restore:用于从备份文件中恢复数据库。
4. 数据库性能和监控命令:- tkprof:用于分析和优化SQL查询语句的性能。
- awrreport和ashreport:用于生成数据库性能报告和分析。
- v$表名:用于查看数据库的不同性能指标。
5. 数据库对象管理命令:- create:用于创建数据库对象,如表、索引、视图等。
- alter:用于修改数据库对象的结构,例如修改表结构、添加索引等。
- drop:用于删除数据库对象。
6. 用户和权限管理命令:- create user:用于创建数据库用户。
- alter user:用于修改数据库用户的属性。
- grant和revoke:用于授予和收回用户的权限。
7. 数据库存储管理命令:- create tablespace:用于创建数据库表空间,用于存储数据库对象。
- alter tablespace:用于修改表空间的属性。
- alter database:用于修改数据库的参数和属性。
以上仅是一些常用的Oracle DBA日常维护操作命令的总结,实际使用中还有更多的命令和技术需要掌握。
DBA笔记 tun
Chapter1Overview of Oracle9i Database Performance TuningTuning goalsminimizing response timeincreasing throughputincreasing load capabilitiesdecreasing recovery timeTuning steps during development1design2application3memory4input/output(I/O)5contention6opersting systemChapter2Diagnostic and Tuning Toolsv$sysstat(statistic#,name,class,value)v$sgastat(pool,name,bytes)v$event_name(event number,name,parameter1,parameter2,parameter3)v$system_event(event,total_waits,total_timeouts,time_waited,average_wait)SQL>select name,class,value from v$sysstat;SQL>select*from v$sgastat;Displaying session-related statisticsv$statname(statistic#,name,class)v$sesstat(sid,statistic#,value)v$session(sid,serial#,username,osuser)v$session_event(sid,event,total_waits,total_timeouts,time_waited,average_wait,max_wait)v$event_name(event#,name,parameter1,parameter2,parameter3)v$session_wait(sid,seq#,event,ps/2/3,p1/2/3text,p1/2/3raw,wait time,seconds_in_wait,state)SQL>select sid,username,type,server from v$session;SQL>select username,name,value from v$statname n,v$session s,v$sesstat t where s.sid=t.sid and n.statistic#=t.statistic#and s.type='user' and ername is not null and ='session pga memory'and t.value>30000;SQL>select sid,event from v$session_wait where wait_time=0;SQL>select name,parameter1,parameter2,parameter3from v$event_name;SQL>select sid,event,total_Waits,average_wait from v$session_event where sid=10;SQL>select sid,seq#,event,wait_time,state from v$session_wait;wait_time{>0(the session's last wait time);=0(the session is currently waiting)=-1(the value was less than1/100of a second)=-2(the system cannot provide timing information)}SQL>select event,total_waits,total_timeouts,time_Waited,average_wait from v$system_event order by time_waited desc; Troubleshooting and tuning viewsInstance/Databasev$databasev$instancev$optionv$parameterv$backupv$px_process_sysstat:parallel query system statisticsv$process:information about currently active processv$waitstat:connection statisticsv$system_event:total waits for particular eventsDiskv$datafilev$filestat:data file read/write statisticsv$logv$log_historyv$dbfilev$tempfilev$tempstat:information about file read/write statistics for temporary tablespace data filesv$segment_statistics:offers statistics on I/O segmentConnectionv$lockv$rollnamev$rollstat:statistics for all online rollback segmentsv$waitstat:block contention statistics(the timed_statistics parameter should be set to true)v$latch:statistics for each types of latchMemoryv$buffer_pool_statistics:buffer pools allocation on the instancev$db_object_cache:database objects cached in the library cachev$librarycache:library cache performance and activity statisticsv$rowcache:data dictionary hits and misses activityv$sysstat:basic instance statisticsv$sgastatUser/Sessionv$lock:locks currently held by the server and outstanding requests for a lock or latchv$open_cursor:cursors currently opened and parsed by each sessionv$processv$transactionv$px_sesstat:information about the session executing SQL statements in parallelv$px_sessionv$sesstat:user session statisticsv$session_event:information on waits for an event by a sessionv$sort_usage:seze of temporary segment and sessions creating them;identification of process doing disk sortsv$session_waitv$sessionv$session_object_cachetestSQL>show parameter timed_statisticsSQL>altere system set timed_statistics=true;SQL>alter session set SQL_TRACE=true;SQL>select count(*)from dba_tables;SQL>alter session set SQL_TRACE=false;$cd$HOME/admin/udump$ls-l$sqlplus hr/hr$sqlplus sys/oracle as sysdbaSQL>select username,sid,serial#from v$session where username='hr';SQL>begindbms_system.set_sql_trace_in_session(&SID,&SERIALNUM,true);end;/SQL>select*from employees;SQL>begindbms_system.set_sql_trace_in_session(&SID,&SERIALNUM,false);end;/$cd$HOME/admin/udump$ls-lSQL>connect sys/oracle as sysdbaSQL>create tablespace tools datafile'$HOME/oradata/u05/tools.dbf'size100M extent management dictionary;SQL>select tablespace_name,sum(types)from dba_free_space where tablespace_name='tools'group by tablespace_name; SQL>@$HOME/student/labs/spcreate.sqlSQL>@$HOME/student/labs/snap.sqlSQL>@$HOME/student/labs/spauto.sqlSQL>select job,next_date,next_sec,last_sec from user_jobs;SQL>select sanp_id,to_char(startup_time,'dd Mon"at"HH24:mi:ss')instart_fm,to_char(snap_time,'dd Mon YYYY HH24:mi') snapdat,snap_level"level"from stats$snapshot order by snap_id;SQL>@$HOME/student/labs/spreport.sql$vi sp_x_y.1stwhere x is the starting snapshot,and y is the ending snapshot(this is true if the default report filename was used)SQL>connect sys/oracle as sysdbaSQL>select event,total_waits,time_waited from v$system_event;SQL>select sid,event,p1text,wait_time,state from v$session_wait;SQL>connect perfstat/perfstatSQL>select job,log_user from user_jobs;SQL>execute dbms_job.remove($job);SQL>alter session set sql_trace=true;SQL>select sid,serial#,username from v$session;SQL>execute dbms_system.set_sql_trace_insession(16.167.true);statspack install先阅读/u010g/oracle/rdbms/admin/spdoc.txt这文档SQL>create tablespace perfstat datafile'/u01/oradata/pitts/perfstat_01.dbf'size512M;SQL>@?/rdbms/admin/spcreate.sqlSQL>execute statspack.snap;SQL>execute statspack.snap;SQL>@?/rdbms/admin/spreport********************************************************************************德哥statspack讲解SQL>drop user perfstat cascade;SQL>drop tablespace perfstat including contents and datafiles;SQL>create tablespace perfstat datafile'/oradata/clonedb/perfsata01.dbf'size500M autoextend on;SQL>@?/rdbms/admin/spcreate.sql如过运行出错SQL>@?/rdbms/admin/spdrop.sql然后在安装SQL>@?/rdbms/admin/spcreate.sql查看相关文档cat spcusr.listSQL>connect perfstat/perfstatSQL>execute statspack.snap;SQL>select*from stats$statspack_parameter;SQL>select*from stats$snapshot;然后在执行一次SQL>execute statspack.snap;vi spauto.sqlvariable jobno number;variable instno number;beginselect instance_number into:instno from v$instance;dbms_job.submit(:jobno,'statspack.snap;',trunc(sysdate+1/24,'HH'),'trunc(SYSDATE+1/24,''HH'')',TRUE,:instno);commit;end;/SQL>execute dbms_job.interval(62,'sysdate+1/(24*60)');SQL>select*from user_jobs;report1、instance reportspreport.sqlsprepins.sql(multi-instance)2、sql reportsprepsql.sqlsprsqins.sql(multi-instance)vi$HOME/rdbms/admin/sprepcon.sqldefine num_days='';SQL>@?/rdbms/admin/spreport.sql(生成报告)SQL>@?/rdbms/admin/sprepins.sqlSQL>@?/rdbms/admin/sprepsql.sqlConfigure1database parameters2snapshot parameters3instance report parameters4sql report parametersSQL>desc stats$statspack_parameter;SQL>select SNAP_LEVEL from stats$statspack_parameter;SQL>execute statspack.snap<i_snap_level=>7>;SQL>execute statspack.snap<i_snap_level=>7,i_modify_parameter=>'true'>;使用包更改SQL>execute statspack.modify_statspack_parameter<i_snap_level=>6>;SQL>select SNAP_LEVEL from stats$statspack_parameter;停止脚步执行SQL>execute dbms_job.remove(62);SQL>select*from user_jobs;maintenanceMake_baseline&clear_baselinePurge snapshot except baselineTruncate all tables with perfstat schemaDrop perfstat schema;SQL>define i_begin_snap=1SQL>define i_end_snap=16SQL>execute statspacl.make_baseline(i_begin_snap=>1,i_end_snap=>16);SQL>execute statspack.purge(i_begin_snap=>1,i_end_snap=>73);SQL>execute statspace.clear_baseline(i_begin_snap=>1,i_end_snap=>16,i_snap_range=>false);SQL>execute statspack.purge(i_begin_snap=>1,i_end_snap=>16);SQL>select snap_id from stats$snapshot;********************************************************************************Chapter3Database Configuration and I/O IssuesUsing the v$filestat viewSQL>select phyrds,phywrts, from v$datafile d,v$filestat f where d.file#=f.file#order by ;I/O statisticsSQL>select d.tablespace_name tablespace,d.file_name,f.phyrds,f.phywrts from v$filestat f,dba_data_files d where f.file#=d.file_id; Table Scan statisticsSQL>select name,value from v$sysstat where name like'table scan%';Determine the progress of long operations usingSQL>select sid,serial#,opname,to_char(start_time,'HH24:MI:SS')as"start",(sofar/totalwork)*100as percent_complete from v$session_longops;Use set_session_longops to populate v$session_longopsdbms_application_info.set_session_longops(rindex,slno,"Operation X",obj,0,sofar,totalwork,"table","tables");Monitoring full table scan operationsdeclarerindex binary_integer;slno binary_integer;totalwork number;sofar number;obj binary_integer;beginrindex:=dbms_application_info.set_session_longops_nohint;sofar:=0;totalwork:=10;while sofar<10loop--update obj based on sofar and perform task on object targetsofar:=sofar+1;dbms_application_info.set_session_longops(rindex,slno,"Operation X",obj,0,sofar,totalwork,"table","tables");end loop;end;DB_FILE_MULTINLOCK_READ_COUNT:是指oracle一次IO读出的最大块数,同时也受操作系统限制如:oracle一次IO读64K,但是,操作系统只能读32K,这样就受到限制。
Oracle系统表大全
数据字典dict总是属于Oracle用户sys的。
、用户:select username from dba_users;改口令alter user spgroup identified by spgtest;2、表空间:select * from dba_data_files;select * from dba_tablespaces;//表空间select tablespace_name,sum(bytes), sum(blocks)from dba_free_space group by tablespace_name;//空闲表空间select * from dba_data_fileswhere tablespace_name='RBS';//表空间对应的数据文件select * from dba_segmentswhere tablespace_name='INDEXS';3、数据库对象:select * from dba_objects;CLUSTER、DATABASE LINK、FUNCTION、INDEX、LIBRARY、PACKAGE、PAC KAGE BODY、PROCEDURE、SEQUENCE、SYNONYM、TABLE、TRIGGER、TYPE、UNDEFINED、VIEW。
4、表:select * from dba_tables;analyze my_table compute statistics;>dba_tables后6列select extent_id,bytes from dba_extentswhere segment_name='CUSTOMERS' and segment_type='TABLE'order by extent_id;//表使用的extent的信息。
segment_type='ROLLBACK'查看回滚段的空间分配信息列信息:select distinct table_namefrom user_tab_columnswhere column_name='SO_TYPE_ID';5、索引:select * from dba_indexes;//索引,包括主键索引select * from dba_ind_columns;//索引列select i.index_name,i.uniqueness,c.column_namefrom user_indexes i,user_ind_columns cwhere i.index_name=c.index_nameand i.table_name ='ACC_NBR';//联接使用6、序列:select * from dba_sequences;7、视图:select * from dba_views;select * from all_views;text 可用于查询视图生成的脚本8、聚簇:select * from dba_clusters;9、快照:select * from dba_snapshots;快照、分区应存在相应的表空间。
Oracle数据字典
8. 如果利用VB提供的开发工具,则能创造丰富多彩的界面。进一步的 学习可参考有关VB数据库编程方面的书籍。
PPT文档演模板
Oracle数据字典
5. 利用Microsoft Excell访问Oracle 数据表
1. 进入Microsoft Excell 2. 建立数据源
点击:
[数据] [获取外部数据] [新建查询] 在“选择数据源”窗口中,选择〈新数据源〉,[确定],并依次进行下列输入
5.结束Oracle ODBC 测试
PPT文档演模板
Oracle数据字典
4. 通过Visual Basic访问Oracle数据表
n 设置好ODBC数据源以后,就可以利用Visual Basic 提供的数据管理 器来访问数据库了。步骤如下:
1.启动 Visual Basic 2.选择:
[外接程序] [可视化数据管理器] 3.弹出数据库管理器(VisData)的主窗口 4.选择: [文件] [打开数据库] ODBC
Oracle数据字典
PPT文档演模板
2020/11/3
Oracle数据字典
1. Oracle数据字典
n 数据字典(data dictionary)是存储在数据库中的所有对象信息的知识 库。
n Oracle RDBMS使用数据字典获取对象信息和安全信息,而用户和DBA用它 来查阅数据库信息。
PPT文档演模板
2.出现测试窗口 选择Connect连接,从[机器数据源]选择欲测试的数据名称。
PPT文档演模板
Oracle数据字典
3. Oracle ODBC 测试…
3. 进行Oracle联结 输入: 用户名称: scott 密码:tiger 服务器:Oracle10
oracle练习题(打印版)
oracle练习题(打印版)### Oracle数据库练习题#### 一、选择题1. Oracle数据库中,哪个命令用于创建表?- A. CREATE TABLE- B. CREATE DATABASE- C. DROP TABLE- D. ALTER TABLE2. 以下哪个不是Oracle数据库的数据类型?- A. NUMBER- B. CHAR- C. DATE- D. IMAGE3. 在Oracle数据库中,哪个命令用于删除表?- A. DELETE FROM- B. DROP TABLE- C. REMOVE TABLE- D. ERASE TABLE4. Oracle数据库中,如何查看当前用户?- A. SELECT USER FROM DUAL;- B. SELECT CURRENT_USER FROM DUAL;- C. SELECT USERNAME FROM ALL_USERS;- D. SELECT CURRENT_USER FROM ALL_USERS;5. 以下哪个命令用于在Oracle数据库中创建索引?- A. CREATE INDEX- B. CREATE KEY- C. CREATE CONSTRAINT- D. CREATE UNIQUE#### 二、填空题1. 在Oracle数据库中,使用____命令可以查看表结构。
2. Oracle数据库中,使用____命令可以查看当前数据库的所有表。
3. 要删除Oracle数据库中的行,可以使用____命令。
4. Oracle数据库中,____用于存储二进制数据。
5. Oracle数据库中,____命令用于查看数据库中所有的索引。
#### 三、简答题1. 描述Oracle数据库中事务的ACID属性。
2. 解释Oracle数据库中的锁定机制。
3. 说明Oracle数据库中视图的作用。
#### 四、操作题1. 创建一个名为`Employees`的表,包含以下字段:- `EmployeeID` NUMBER(10) PRIMARY KEY,- `FirstName` VARCHAR2(50),- `LastName` VARCHAR2(50),- `HireDate` DATE,- `Salary` NUMBER(10, 2),- `DepartmentID` NUMBER(10).2. 向`Employees`表中插入以下数据:- `EmployeeID`: 1001, `FirstName`: 'John', `LastName`:'Doe', `HireDate`: '2023-01-01', `Salary`: 70000,`DepartmentID`: 101.- `EmployeeID`: 1002, `FirstName`: 'Jane', `LastName`:'Smith', `HireDate`: '2023-02-15', `Salary`: 50000,`DepartmentID`: 102.3. 编写一个查询,显示所有员工的姓名和工资,按工资从高到低排序。
DBA的职责和要求
不用说和用户,就是和程序员和管理人员打交道,也需要你足够老练。一个一点不会处事的DBA不会为你做什么好事,只会在你的部门点燃敌对情绪的烈火。老练是这样一种能力,你劝告某个人到地府去,哈哈,最后这个人怀着渴望的心情去了。很多时候,开发者、管理者、用户,他们会提出毫无道理的需求,DBA们需要老练地引导、修正它们的要求,说服他们。在应试时,你的应对就很能说明你是否老练。
DBA的一些职责:
安装和升级数据库服务器(如Oracle、Microsoft SQL server),以及应用程序工具。
数据库设计系统存储方案,并制定未来的存储需求计划。
一旦开发人员设计了一个应用,就需要DBA来创建数据库存储结构(tablespaces)。
一旦开发人员设计了一个应用,就需要DBA来创建数据库对象(tables,views,indexes)。
自信心
好奇心
坚韧的意志力
老练
自我驱动
注意细节
为什么这些个性特点很重要呢?
我就有几个缺乏自信心的部下,他们反复问我一些事无巨细的问题,他们没有信心哪怕做最小的决定。他们也缺乏工作的主动性。这对于初级DBA来说可能问题不太大,但对于那些高级DBA来说,如果他们缺乏自信心,他们又可以依赖谁帮他们决策呢?在DBA的面试中,即使你不能回答某个技术问题,你也要表现出足够的自信心。最致命的不是不知道问题的答案,而是不知道从哪儿得到答案。
DBA常常会碰到棘手的问题。寻找答案是一个需要坚韧意志力、可以经受摔打的个性特点。我常常在一些讨论组或者论坛上看到DBA们提出的问题,这些问题往往是提问者自己可以解决的,如果他们具有坚韧的个性特点,并努力寻求问题的答案。
自我驱动对每个人都是很重要的,对DBA尤其如此。DBA要能想办法使问题出现,而不是等待问题的出现。自驱力强的DBA常常设法取得或者自己写一些必要的脚本(Script)来监控包括数据表大小(Table Size)、表空间使用(Tablespace Usage)等项目,这些项目如果被忽视,他们将遇到麻烦。应试的时候DBA们常常被问及在PL/SQL、SQL或者SQL*PLUS方面的经验,这些问题将把你从从来没有编写过自己需要的脚本的那些DBA们区分开。
DBA(数据库管理员)
数据库管理员编辑DBA(数据库管理员(DatabaseAdministrator))即数据库管理员。
数据库管理员(Database Administrator,简称DBA),是一个负责管理和维护数据库服务器的人。
数据库管理员负责全面管理和控制数据库系统。
这个职位对不同的人意味着不同的意义。
目录1简介一个小的软件开发工作室和一个分工高度明细的大公司相比,DB A的职责来得更加宽泛一些。
一个公司,不管它是自己开发应用软件,还是购买第三方的应用软件,只要涉及到数据库(有多少不涉及数据库的应用软件呢?数据库是商业的灵魂和大脑啊),就需要确定是否雇佣一个或几个DBA。
知道DBA这个职位有哪些要求,对于企业内部这个职位的定义或者对于那些未来的DBA将是至关重要的。
任务安装和升级数据库服务器(如Oracle、Microsoft SQL server),以及应用程序工具。
数据库设计系统存储方案,并制定未来的存储需求计划。
一旦开发人员设计了一个应用,就需要DBA来创建数据库存储结构(tablespaces)。
一旦开发人员设计了一个应用,就需要DBA来创建数据库对象(tables,views,indexes)。
根据开发人员的反馈信息,必要的时候,修改数据库的结构。
登记数据库的用户,维护数据库的安全性。
保证数据库的使用符合知识产权相关法规。
[1]控制和监控用户对数据库的存取访问。
监控和优化数据库的性能。
制定数据库备份计划,灾难出现时对数据库信息进行恢复。
维护适当介质上的存档或者备份数据。
备份和恢复数据库。
联系数据库系统的生产厂商,跟踪技术信息。
特点很多时候管理人员都忽视了DBA的个性特点,他们只关注DBA的技术能力。
实际上,上面谈到的每个职责都意味着:DBA需要跟各种人员打交道,这些人员可能是销售商、用户、开发人员或者管理人员。
这说明:DBA必须具有下面的个性特点:自信心、好奇心、坚韧的意志力、老练、自我驱动、注意细节,为什么这些个性特点很重要呢?我就有几个缺乏自信心的部下,他们反复问我一些事无巨细的问题,他们没有信心哪怕做最小的决定。
第三章 数据字典视图
3
ORACLE
数据字典的内容
数据字典提供以下的信息:
• 数据库的逻辑与物理结构 • 数据库对象的定义与空间分配 • 数据库的完整性约束 • 数据库的用户 • 数据库的角色 • 数据库的权限 • 数据库的其它的信息
Copyright © Sinobest Technology Holdings Ltd. 2006. All rights reserved.
4
ORACLE
基本表与数据字典视图
数据字典包含两个部分:
• •
基本表:
– 在最底层存放数据库信息的表
–
–
通过运行脚本 sql.bsq创建(创建数据库时自动运行)
用来简化基本表信息
数据字典视图:
–
–
用户通过公共同义词来访问
通过运行脚本 catalog.sql创建(创建数据库时自动运行)
Copyright © Sinobest Technology Holdings Ltd. 2006. All rights reserved.
Copyright © Sinobest Technology Holdings Ltd. 2006. All rights reserved.
2
ORACLE
数据字典(Data Dictionary)
• Oracle数据库的一个重要的部分 • 描述一个数据库及其对象 • 包含只读的表及视图 • 当执行以下 SQL命令的时候,其内容被更新
ORACLE
第三章
数据字典视图
Copyright © Sinobest Technology Holdings Ltd. 2006. All rights reserved.
1
数据字典
数据字典数据字典定义数据字典(Data dictionary)是一种用户可以访问的记录数据库和应用程序元数据的目录。
主动数据字典是指在对数据库或应用程序结构进行修改时,其内容可以由DBMS自动更新的数据字典。
被动数据字典是指修改时必须手工更新其内容的数据字典。
数据字典是一个预留空间,一个数据库,这是用来储存信息数据库本身。
数据字典可能包含的信息,例如:数据库设计资料储存的SQL程序用户权限用户统计数据库的过程中的信息数据库增长统计数据库性能统计数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果.数据字典通常包括数据项\数据结构\数据流\数据存储和处理过程五个部分.数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合.数据字典还有另一种含义,是在数据库设计时用到的一种工具,用来描述数据库中基本表的设计,主要包括字段名、数据类型、主键、外键等描述表的属性的内容。
数据字典的作用数据字典最重要的作用是作为分析阶段的工具。
任何字典最重要的用途都是供人查询对不了解的条目的解释,在结构化分析中,数据字典的作用是给数据流图上每个成分加以定义和说明。
换句话说,数据流图上所有的成分的定义和解释的文字集合就是数据字典,而且在数据字典中建立的一组严密一致的定义很有助于改进分析员和用户的通信。
数据字典的组成数据字典的组成:1、数据项2、数据结构3、数据流4、数据存储5、处理过程数据字典数据库的重要部分是数据字典。
它存放有数据库所用的有关信息,对用户来说是一组只读的表。
数据字典内容包括:1、数据库中所有模式对象的信息,如表、视图、簇、及索引等。
2、分配多少空间,当前使用了多少空间等。
3、列的缺省值。
4、约束信息的完整性。
5、用户的名字。
6、用户及角色被授予的权限。
7、用户访问或使用的审计信息。
8、其它产生的数据库信息。
数据库数据字典是一组表和视图结构。
它们存放在SYSTEM表空间中。
dba 案例
dba 案例DBA(数据库管理员)案例通常涉及数据库的管理、维护、诊断和恢复等方面。
以下是一个典型的DBA案例:假设某企业拥有一台Oracle数据库,数据库管理员(DBA)负责监控和维护数据库。
在某一天,DBA发现数据库性能下降,查询响应时间变长,于是开始进行故障排查。
1. 分析现象:DBA首先查看数据库的性能指标,如CPU利用率、内存使用情况、I/O吞吐量等,发现并无明显异常。
然而,在检查数据库日志时,发现有大量ORA错误日志,提示可能存在数据文件损坏。
2. 诊断问题:DBA根据日志信息,定位到可能损坏的数据文件,并使用Oracle提供的诊断工具,如ADMIN_EXPORT和ADMIN_IMPORT 等,对损坏的数据文件进行诊断。
诊断结果显示,数据文件存在物理损坏。
3. 制定恢复方案:DBA根据诊断结果,制定数据文件恢复方案。
在此案例中,可以选择以下几种方法:-手动恢复:通过Oracle的备份和恢复工具,如RMAN(远程管理工具),手动恢复损坏的数据文件。
-自动恢复:如果数据库配置了自动备份和恢复机制,可以触发自动恢复过程。
-紧急恢复:在数据文件无法恢复的情况下,可以选择紧急恢复,通过重建数据文件或使用备用数据文件等方式,尽快恢复数据库正常运行。
4. 实施恢复:DBA根据恢复方案,执行数据文件恢复操作。
在此过程中,需要密切关注数据库的运行状况,确保恢复成功。
5. 验证恢复结果:恢复完成后,DBA需要对数据库进行验证,确保数据完整性和正确性。
可以使用Oracle提供的数据校验工具,如ANALYZE TABLE、CHECK TABLE等,对数据库进行校验。
6. 优化数据库:为了防止类似问题再次发生,DBA需要对数据库进行优化。
这包括调整数据库参数、优化表结构和索引、调整查询性能等。
通过以上步骤,DBA成功解决了数据库性能下降的问题,确保了企业数据的稳定和安全性。
需要注意的是,这里提供的案例仅供参考,实际工作中的DBA案例可能涉及更多技术和工具,具体操作需要根据实际情况进行。
sqlserver2005 DBA入门教程
SQLServer2005 DBA入门技术一、SQL Server 2005简述1、Sql Server 各个版本SQL Server 2005 Enterprise Edition(32 位和64 位)Enterprise Edition 达到了支持超大型企业进行联机事务处理(OLTP)、高度复杂的数据分析、数据仓库系统和网站所需的性能水平。
Enterprise Edition 的全面商业智能和分析能力及其高可用性功能(如故障转移群集),使它可以处理大多数关键业务的企业工作负荷。
Enterprise Edition 是最全面的SQL Ser ver 版本,是超大型企业的理想选择,能够满足最复杂的要求。
该版本还推出了一种适用于32 位或64 位平台的120 天Evaluation Edition。
SQL Server 2005 Standard Edition(32 位和64 位)Standard Edition 是适合中小型企业的数据管理和分析平台。
它包括电子商务、数据仓库和业务流解决方案所需的基本功能。
Standard Edition 的集成商业智能和高可用性功能可以为企业提供支持其运营所需的基本功能。
Standard Edition 是需要全面的数据管理和分析平台的中小型企业的理想选择。
SQL Server 2005 Workgroup Edition(仅适用于32 位)对于那些需要在大小和用户数量上没有限制的数据库的小型企业,Workgroup Edition 是理想的数据管理解决方案。
Workgroup Edition 可以用作前端Web 服务器,也可以用于部门或分支机构的运营。
它包括SQL Server 产品系列的核心数据库功能,并且可以轻松地升级至Standard Edition 或Enterprise Edition。
Workgroup Edition 是理想的入门级数据库,具有可靠、功能强大且易于管理的特点。
LogMiner工具使用说明
LogMiner 工具使用说明logminer 对于数据库管理员(DBA) 来讲是个功能特别强盛的工具,也是在平时工作中常常要用到的一个工具,借助于该工具,能够获得大批的对于数据库活动的信息。
本文介绍了logminer 工具的用途,安装及使用过程。
一、 logminer的用途日记文件中寄存着所有进行数据库恢复的数据,记录了针对数据库构造的每一个变化,也就是对数据库操作的所有 DML语句。
logminer工具即能够用来剖析在线,也能够用来剖析离线日记文件,即能够剖析自己自己数据库的重作日记文件,也能够用来剖析其余数据库的重作日记文件。
总的说来, logminer工具的主要用途有:1.追踪数据库的变化:能够离线的追踪数据库的变化,而不会影响在线系统的性能。
2.回退数据库的变化:回退特定的变化数据,减少point-in-time recovery的履行。
3.优化和扩容计划:可经过剖析日记文件中的数据以剖析数据增加模式。
二、安装 logminer要安装 logminer工具,一定第一要运转下边这样两个脚本,l 、 $ORACLE_HOME/rdbms/admin/ dbmslm.sql2、 $ORACLE_HOME/rdbms/admin/ dbmslmd.sql3、 $ORACLE_HOME/rdbms/admin/ dbmslms.sql这两个脚本一定均以SYS 用户身份运转。
此中第一个脚本用来创立DBMS_LOGMNR 包,该包用来剖析日记文件。
第二个脚本用来创立DBMS_LOGMNR_D包,该包用来创立数据词典文件。
三、使用logminer工具下边将详尽介绍怎样使用logminer工具。
1 、创立数据词典文件(data-dictionary)前方已经谈到,logminer工具其实是由两个新的PL/SQL内建包( DBMS_LOGMNR和DBMS_ LOGMNR_D) 和四个 V$ 动向性能视图( 视图是在利用过程 DBMS_LOGMNR. START_LOGMNR启动logminer时创立)构成。
第十课 数据字典
– gv$instance,gv$log,gv$lock...
数据字典视图--dict(dictionary)
select * from dict;
Oracle数据字典的基表
� 是保存数据的真正的表 � 数据字典视图的数据来自于基表 � Oracle不对基表做支持和解释。
� user_indexes
DBA常用的一些数据字典视图--静态视图
� user_ind_partitions
DBA常用的一些数据字典视图--静态视图
� user_segments
DBA常用的一些数据字典视图--静态视图
� 数据库文件,表空间相关的信息
– dba_data_files
DBA常用的一些数据字典视图--动态视图
� all_*
– all_tables,all_segments,all_indexes...
� user_*
– user_tables,user_segments,user_indexes...
动态数据字典
� v$*---本地(当前实例)的动态视图
– v$instance,v$log,v$lock...
数据库引航 第10课—数据字典
数据字典是干什么的?
� 数据库中所有模式对象的信息,如表、视图、簇、及索引等。 � 分配多少空间,当前使用了多少空间等。 � 列的缺省值。 � 约束信息的完整性。 � Oracle用户的名字。 � 用户及角色被授予的权限。 � 用户访问或使用的审计信息。 � 其它产生的数据库信息。
� 基表里很多信息,不提供给数据字典视图,由 Oracle自己使用。
– 比如,x$bh。
oracledba_data_files视图字段说明
oracledba_data_files视图字段说明table DBA_DATA_FILES is 'Information about database data files';表DBA_DATA_FILES是数据库数据文件信息表;column DBA_DATA_FILES.FILE_NAME is 'Name of the database data file';列DBA_DATA_FILES.FILE_NAME是数据库数据文件的名字,也是物理文件存放地址;column DBA_DATA_FILES.FILE_ID is 'ID of the database data file';列DBA_DATA_FILES.FILE_ID 是数据库文件的ID;column DBA_DATA_FILES.TABLESPACE_NAME is 'Name of the tablespace to which the file belongs';列DBA_DATA_FILES.TABLESPACE_NAME 是所属表空间的名字;column DBA_DATA_FILES.BYTES is 'Size of the file in bytes';列DBA_DATA_FILES.BYTES是文件的大小,以bytes为单位;column DBA_DATA_FILES.BLOCKS is 'Size of the file in ORACLE blocks';列DBA_DATA_FILES.BLOCKS是ORACLE文件的大小;column DBA_DATA_FILES.STATUS is 'File status: "INVALID" or "AVAILABLE"';列DBA_DATA_FILES.STATUS是文件的状态:“无效”或者“有效”;column DBA_DATA_FILES.RELATIVE_FNO is 'Tablespace-relative file number';列column DBA_DATA_FILES.RELATIVE_FNO是表空间相对文件号;column DBA_DATA_FILES.AUTOEXTENSIBLE is'Autoextensible indicator: "YES" or "NO"';列DBA_DATA_FILES.AUTOEXTENSIBLE是否自动扩展;column DBA_DATA_FILES.MAXBYTES is 'Maximum size of the file in bytes';列DBA_DATA_FILES.MAXBYTES是文件的最大多少byte;column DBA_DATA_FILES.MAXBLOCKS is 'Maximum size of the file in ORACLE blocks';列DBA_DATA_FILES.MAXBLOCKS是ORACLE文件的最大数;column DBA_DATA_FILES.INCREMENT_BY is 'Default increment for autoextension';列DBA_DATA_FILES.INCREMENT_BY默认自动增量值;column DBA_DATA_ER_BYTES is 'Size of the useful portion of file in bytes';列DBA_DATA_ER_BYTES是指文件中有用的大小;column DBA_DATA_ER_BLOCKS is 'Size of the useful portion of file in ORACLE blocks';列DBA_DATA_ER_BLOCKS是指ORACLE文件有用的大小;column DBA_DATA_FILES.ONLINE_STATUS is 'Online status of the file';列DBA_DATA_FILES.ONLINE_STATUS是文件的在线状态;。
打印版数据库命令速查
第一章:日志管理1.forcing log switchessql> alter system switch logfile;2.forcing checkpointssql> alter system checkpoint;3.adding online redo log groupssql> alter database add logfile [group 4] sql> ('/disk3/log4a.rdo','/disk4/log4b.rd o') size 1m;4.adding online redo log memberssql> alter database add logfile member sql> '/disk3/log1b.rdo' to group 1,sql> '/disk4/log2b.rdo' to group 2;5.changes the name of the online redo log filesql> alter database rename file 'c:/oracl e/oradata/oradb/redo01.log'sql> to 'c:/oracle/oradata/redo01.log';6.drop online redo log groupssql> alter database drop logfile group 3;7.drop online redo log memberssql> alter database drop logfile member ' c:/oracle/oradata/redo01.log';8.clearing online redo log filessql> alter database clear [unarchived] lo gfile 'c:/oracle/log2a.rdo';ing logminer analyzing redo logfilesa. in the init.ora specify utl_file_dir = ' 'b. sql> execute dbms_logmnr_d.build('oradb.ora','c:\oracle\oradb\log');c. sql> execute dbms_logmnr_add_logfile(' c:\oracle\oradata\oradb\redo01.log',sql> dbms_logmnr.new);d. sql> execute dbms_logmnr.add_logfile(' c:\oracle\oradata\oradb\redo02.log',sql> dbms_logmnr.addfile);e. sql> execute dbms_logmnr.start_logmnr (dictfilename=>'c:\oracle\oradb\log\oradb.ora');f. sql> select * from v$logmnr_contents(v$logmnr_dictionary,v$logmnr_parameterssql> v$logmnr_logs);g. sql> execute dbms_logmnr.end_logmnr;第二章:表空间管理1.create tablespacessql> create tablespace ts_name datafile 'c:\oracle\oradata\file1.dbf' size 100m ,sql>'c:\oracle\oradata\file2.dbf' size 100m minimum extent 550k [logging/nologging]sql> default storage (initial 500k next 500k maxextents 500 pctinccease 0)sql> [online/offline] [permanent/temporary] [extent_management_clause]2.locally managed tablespacesql> create tablespace user_data datafile'c:\oracle\oradata\user_data01.dbf'sql> size 500m extent management local uniform size 10m;3.temporary tablespacesql> create temporary tablespace temp tempfile 'c:\oracle\oradata\temp01.dbf'sql> size 500m extent management local uniform size 10m;4.change the storage settingsql> alter tablespace app_data minimum extent 2m;sql> alter tablespace app_data default storage(initial 2m next 2m maxextents 999);5.taking tablespace offline or onlinesql> alter tablespace app_data offline;sql> alter tablespace app_data online;6.read_only tablespacesql> alter tablespace app_data read only|write;7.droping tablespacesql> drop tablespace app_data including contents;8.enableing automatic extension of data filessql> alter tablespace app_data add datafile 'c:\oracle\oradata\app_data01.dbf' size 200msql> autoextend on next 10m maxsize 500m;9.change the size fo data files manuallysql> alter database datafile 'c:\oracle\oradata\app_data.dbf' resize 200m;10.Moving data files: alter tablespacesql> alter tablespace app_data rename datafile 'c:\oracle\oradata\app_data.dbfsql> to 'c:\oracle\app_data.dbf';11.moving data files:alter databasesql> alter database rename file 'c:\oracle\oradata\app_data.dbf' to 'c:\oracle\app_data.dbf';第三章:表1.create a tablesql> create table table_name (column datatype,column datatype]....)sql> tablespace tablespace_name [pctfreeinteger] [pctused integer]sql> [initrans integer] [maxtrans integer]sql> storage(initial 200k next 200k pctincrease 0 maxextents 50)sql> [logging|nologging] [cache|nocache]2.copy an existing tablesql> create table table_name [logging|nologging] as subquery3.create temporary tablesql> create global temporary table xay_temp as select * from xay;on commit preserve rows/on commit deleterows4.pctfree = (average row size - initial row size) *100 /average row sizepctused = 100-pctfree- (average row size*100/available data space)5.change storage and block utilization parametersql> alter table table_name pctfree=30 pctused=50 storage(next 500k minextents 2 maxextents 100);6.manually allocating extentssql> alter table table_name allocate extent(size 500k datafile 'c:/oracle/data.dbf');7.move tablespacesql> alter table employee move tablespaceusers;8.deallocate of unused spacesql> alter table table_name deallocate unused [keep integer]9.truncate a tablesql> truncate table table_name;10.drop a tablesql> drop table table_name [cascade constraints];11.drop a columnsql> alter table table_name drop column comments cascade constraints checkpoint 1000;alter table table_name drop columns continue;12.mark a column as unusedsql> alter table table_name set unused column comments cascade constraints;alter table table_name drop unused columns checkpoint 1000;alter table orders drop columns continuecheckpoint 1000data_dictionary : dba_unused_col_tabs第四章:索引1.creating function-based indexessql> create index summit.item_quantity onsummit.item(quantity-quantity_shipped);2.create a B-tree indexsql> create [unique] index index_name on table_name(column,.. asc/desc) tablespacesql> tablespace_name [pctfree integer] [i nitrans integer] [maxtrans integer] sql> [logging | nologging] [nosort] stora ge(initial 200k next 200k pctincrease 0 m axextents 50);3.pctfree(index)=(maximum number of rows-initial number of rows)*100/maximum numbe r of rows4.creating reverse key indexessql> create unique index xay_id on xay(a) reverse pctfree 30 storage(initial 200k next 200k pctincrease 0 maxextents 50) ta blespace indx;5.create bitmap indexsql> create bitmap index xay_id on xay(a) pctfree 30 storage( initial 200k next 20 0k pctincrease 0 maxextents 50) tablespace indx;6.change storage parameter of index sql> alter index xay_id storage (next 400 k maxextents 100);7.allocating index spacesql> alter index xay_id allocate extent(s ize 200k datafile 'c:/oracle/index.dbf');8.alter index xay_id deallocate unused;第五章:约束1.define constraints as immediate or defe rredsql> alter session set constraint[s] = im mediate/deferred/default;set constraint[s] constraint_name/all imm ediate/deferred;2. sql> drop table table_name cascade con straints sql> drop tablespace tablespace_name including contents cascade constraints3. define constraints while create a tablesql> create table xay(id number(7) constraint xay_id primary key deferrablesql> using index storage(initial 100k next 100k) tablespace indx);primary key/unique/references table(column)/check4.enable constraintssql> alter table xay enable novalidate constraint xay_id;5.enable constraintssql> alter table xay enable validate constraint xay_id;第六章:LOAD数据1.loading data using direct_load insertsql> insert /*+append */ into emp nologgingsql> select * from emp_old;2.parallel direct-load insertsql> alter session enable parallel dml;sql> insert /*+parallel(emp,2) */ into emp nologgingsql> select * from emp_old;ing sql*loadersql> sqlldr scott/tiger \sql> control = ulcase6.ctl \sql> log = ulcase6.log direct=true第七章:reorganizing dataing expoty$exp scott/tiger tables(dept,emp) file=c:\emp.dmp log=exp.log compress=n direct=ying import$imp scott/tiger tables(dept,emp) file=emp.dmp log=imp.log ignore=y3.transporting a tablespacesql>alter tablespace sales_ts read only;$exp sys/.. file=xay.dmp transport_tablespace=y tablespace=sales_tstriggers=n constraints=n$copy datafile$imp sys/.. file=xay.dmp transport_tablespace=y datafiles=(/disk1/sles01.dbf,/disk2/sles02.dbf)sql> alter tablespace sales_ts read write;4.checking transport setsql> DBMS_tts.transport_set_check(ts_list=>'sales_ts' ..,incl_constraints=>true);在表transport_set_violations 中查看sql> dbms_tts.isselfcontained 为true 是,表示自包含第八章: managing password security and resources1.controlling account lock and passwordsql> alter user juncky identified by oracle account unlock;er_provided password functionsql> function_name(userid in varchar2(30),password in varchar2(30),old_password in varchar2(30)) return boolean3.create a profile : password settingsql> create profile grace_5 limit failed_login_attempts 3sql> password_lock_time unlimited password_life_time 30sql>password_reuse_time 30 password_verify_function verify_functionsql> password_grace_time 5;4.altering a profilesql> alter profile default limitsql> failed_login_attempts 3sql> password_life_time 60;5.drop a profilesql> drop profile grace_5 [cascade];6.create a profile : resource limitsql> create profile developer_prof limitsessions_per_user 2sql> cpu_per_session 10000 idle_time 60 connect_time 480;7. view => resource_cost : alter resourcecostdba_Users,dba_profiles8. enable resource limitssql> alter system set resource_limit=true;第九章:Managing users1.create a user: database authenticationsql> create user juncky identified by oracle default tablespace users temporary tablespace temp quota 10m/unlimited on datapassword expire [account lock|unlock] [profile profilename|default];2.change user quota on tablespacesql> alter user juncky quota 0 on users;3.drop a usersql> drop user juncky [cascade];4. monitor userview: dba_users , dba_ts_quotas第十章:managing privileges1.system privileges: view => system_privilege_map ,dba_sys_privs,session_privs2.grant system privilegesql> grant create session,create table tomanagers;sql> grant create session to scott with admin option;with admin option can grant or revoke privilege from any user or role;3.sysdba and sysoper privileges:sysoper: startup,shutdown,alter database open|mount,alter database backup controlf ile,alter tablespace begin/end backup,rec over database,alter database archivelog,r estricted sessionsysdba:sysoper privileges with admin opti on,create database,recover database until 4.password file members: view:=> v$pwfile _users5.O7_dictionary_accessibility =truerestriction access to view or tables in other schema6.revoke system privilegesql> revoke create table from karen; sql> revoke create session from scott; 7.grant object privilegesql> grant execute on dbms_pipe to public;sql> grant update(first_name,salary) on e mployee to karen with grant option;8.display object privilege : view => dba_ tab_privs, dba_col_privs9.revoke object privilegesql> revoke execute on dbms_pipe from sco tt [cascade constraints];10.audit record view :=> sys.aud$11. protecting the audit trailsql> audit delete on sys.aud$ by access;12.statement auditingsql> audit user;13.privilege auditingsql> audit select any table by summit by access;14.schema object auditingsql> audit lock on summit.employee by acc ess whenever successful;15.view audit option : view=> all_def_aud it_opts,dba_stmt_audit_opts,dba_priv_audi t_opts,dba_obj_audit_opts16.view audit result: view=> dba_audit_tr ail,dba_audit_exists,dba_audit_object,dba_audit_session,dba_audit_statement第十一章: manager role1.create rolessql> create role sales_clerk;sql> create role hr_clerk identified by bonus;sql> create role hr_manager identified externally;2.modify rolesql> alter role sales_clerk identified bycommission;sql> alter role hr_clerk identified externally;sql>alter role hr_manager not identified;3.assigning rolessql> grant sales_clerk to scott;sql> grant hr_clerk to hr_manager;sql> grant hr_manager to scott with adminoption;4.establish default rolesql> alter user scott default role hr_clerk,sales_clerk;sql> alter user scott default role all;sql> alter user scott default role all except hr_clerk;sql> alter user scott default role none;5.enable and disable rolessql> set role hr_clerk;sql> set role sales_clerk identified by commission;sql> set role all except sales_clerk;sql> set role none;6.remove role from usersql> revoke sales_clerk from scott;sql> revoke hr_manager from public;7.remove rolesql> drop role hr_manager;8.display role informationview: =>dba_roles,dba_role_privs,role_role_privs,dba_sys_privs,role_sys_privs,role_tab_privs,session_roles第十二章: BACKUP and RECOVERY1. v$sga,v$instance,v$process,v$bgprocess,v$database,v$datafile,v$sgastat2. Rman need set dbwr_IO_slaves or backup_tape_IO_slaves and large_pool_size3. Monitoring Parallel Rollback> v$fast_start_servers , v$fast_start_transactions4.perform a closed database backup (noarchivelog)> shutdown immediate> cp files /backup/> startup5.restore to a different location> connect system/manager as sysdba> startup mount> alter database rename file '/disk1/../user.dbf' to '/disk2/../user.dbf';> alter database open;6.recover syntax--recover a mounted database>recover database;>recover datafile '/disk1/data/df2.dbf';>alter database recover database;--recover an opened database>recover tablespace user_data;>recover datafile 2;>alter database recover datafile 2;7.how to apply redo log files automatically>set autorecovery on>recover automatic datafile 4;plete recovery:--method 1(mounted databae)>copy c:\backup\user.dbf c:\oradata\user.dbf>startup mount>recover datafile 'c:\oradata\user.dbf;>alter database open;--method 2(opened database,initially opened,not system or rollback datafile)>copy c:\backup\user.dbf c:\oradata\user.dbf (alter tablespace offline)>recover datafile 'c:\oradata\user.dbf' or>recover tablespace user_data;>alter database datafile 'c:\oradata\user.dbf' online or>alter tablespace user_data online;--method 3(opened database,initially closed not system or rollback datafile)>startup mount>alter database datafile 'c:\oradata\user.dbf' offline;>alter database open>copy c:\backup\user.dbf d:\oradata\user.dbf>alter database rename file 'c:\oradata\user.dbf' to 'd:\oradata\user.dbf'>recover datafile 'e:\oradata\user.dbf' or recover tablespace user_data;>alter tablespace user_data online;--method 4(loss of data file with no backup and have all archive log)>alter tablespace user_data offline immediate;>alter database create datafile 'd:\oradata\user.dbf' as 'c:\oradata\user.dbf''>recover tablespace user_data;>alter tablespace user_data online5.perform an open database backup> alter tablespace user_data begin backup;> copy files /backup/> alter database datafile '/c:/../data.dbf' end backup;> alter system switch logfile;6.backup a control file> alter database backup controlfile to 'c ontrol1.bkp';> alter database backup controlfile to tr ace;7.recovery (noarchivelog mode)> shutdown abort> cp files> startup8.recovery of file in backup mode>alter database datafile 2 end backup;9.clearing redo log file>alter database clear unarchived logfile group 1;>alter database clear unarchived logfile group 1 unrecoverable datafile;10.redo log recovery>alter database add logfile group 3 'c:\o radata\redo03.log' size 1000k;>alter database drop logfile group 1;>alter database open;or >cp c:\oradata\redo02.log' c:\oradata\ redo01.log>alter database clear logfile 'c:\oradata \log01.log';。
oracle小记:dba_data_files
oracle⼩记:dba_data_files今天给表空间扩展的时候,使⽤了dba_data_files进⾏查询。
查阅了⽹上的资料。
该系统系统中含有以下字段每个字段的含义如下:2019/11/22号更新:今天发现了⼀个问题。
我查阅表空间的时候,发现MAXBYTES ⽐ BYTES 的空间要⼩。
字段含义的翻译:MAXBYTES 为‘如果可以扩展,最⼤可以到多⼤’。
然后我发现了BYTES 的容量已经⽐MAXBYTES⼤很多了。
如下图:这时候,难道不是违背了字段的含义了吗?这是我查阅了资料和⽹上的博客,我发现了⼀个解答很多⼈的博客上⾯都是这样⼀句话:‘DBA_DATA_FILES中bytes的值要⽐maxbytes的值要⼤来源于:Value in BYTES Column Greater than MAXBYTES Column in DBA_DATA_FILES (⽂档 ID 197244.1)’拜托这么写,谁知道是啥来源。
这是来⾃oracle官⽅的⼀篇⽂章。
⽂章⾥⾯有这样的⼀句话‘The BYTES column in DBA_DATA_FILES has a value greater than MAXBYTES column when a datafile was manually resized to a value GREATER than MAXSIZE (MAXBYTES).’描述:当⼀个datafile ⼿⼯resize到⼀个⼤于maxsize(maxbytes)的值之后,DBA_DATA_FILES中bytes的值要⽐maxbytes的值要⼤,当该datafile被设置为autoextend on之后,dba_data_files中的maxbytes 值被⾃动结算为⼀个⾮零值。
dba_data_files中的bytes是该datafile的当前的⼤⼩(以bytes为单位)⼿动resize数据⽂件会导致这⼀现象。
法语-英语词缀转换规律不完全归纳表
-ar (regular)
形容词
-er (approcher)
- (approach)
动词
-quer (indiquer)
-cate (indicate)
动词
-ter (imiter)
-tate (imitate)
动词
-duire (introduire)
-duce (introduce)
形容词
-ent (confident)
-ent (confident)
形容词
-aire (dictionnaire)
-ary (dictionary)
名词
-oire (obligatoire)
-oire (territoire)
-ory (obligatory)
-ory(territory)
形容词
名词
动词
-é (excité)
-ed (excited)
过去分词(表形容词)
-ant (excitant)
-ing (exciting)
现在分词(表形容词)
-eux (séeux)
-ous (serious)
形容词
-eur (professeur)
-or (professor)
名词(表职业)
-esse (hôtesse)
-al (national)
形容词
-el (culturel)
-al (cultural)
形容词
-ance (indépendance)
-ence (independence)
名词
-ence (confidence)
-ence (confidence)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• Data dictionary tables • Dynamic performance tables
Data files
Control files Redo log files
Database
Data Dictionary Tables Dynamic Performance Tables
5-3
Dynamic performance views record current database activity.
• • • • •
Views are continually updated while the database is operational Information is accessed from:
Data Dictionary
The data dictionary is a set of read-only tables and views that record, verify, and provide information about its associated database.
5-6
Data Dictionary View Categories
The data dictionary consists of three main sets of static views distinguished from each other by their scope: • DBA: What is in all the schemas • ALL: What the user can access • USER: What is in the user's schema
• •
Describes the database and its objects Includes two types of objects:
– Base tables
– Store description of database – Created with CREATE DATABASE
–
Data Dictionary views
•
•
The Oracle server modifies it when a DDL statement is executed. Users and DBAs can use it as a read-only reference for information about the database.
Data dictionary and dynamic performance views can be queried for information.
• • •
A listing of views available can be retrieved by querying the DICTIONARY view. A listing of the columns and its contents can be accessed using DESCRIBE and SELECT. Column comments are available to retrieve more insight into what a column content means within a particular view.
5-5
How the Data Dictionary Is Used
The data dictionary has three primary uses:
•
The Oracle server uses it to find information about:
–
– –
Users
Schema objects Storage structures
5-13
5-16
5-10
Data Dictionary Examples
• • • •
General Overview
– DICTIONARY, DICT_COLUMNS
Schema objects
– DBA_TABLES, DBA_INDEXES, DBA_TAB_COLUMNS, DBA_CONSTRAINTS
– – Memory Control file
DBA uses dynamic views to monitor and tune the database Dynamic views are owned by SYS user DML is not allowed
5-9
Querying the Data Dictionary and Dynamic Performance Views
• •
Use the data dictionary views to get information about the database and instance Obtain information about data dictionary views from DICTIONARY and DICT_COLUMNS
Space allocation
– DBA_SEGMENTS, DBA_EXTENTS
Database structure
– DBA_TABLESPACES, DBA_DATA_FILES
5-11Biblioteka SummaryIn this lesson, you should have learned how to:
dictionary
•
Query the data dictionary
5-2
Data Dictionary
During database creation, the Oracle server creates additional object structures within the data files.
– Summarize base table information – Created using catalog.sql script
5-4
Data Dictionary Contents
The data dictionary provides information about:
• Logical and physical database structure • Definitions and space allocations of objects • Integrity constraints • Users • Roles • Privileges • Auditing
5-12
Practice 5 Overview
This practice covers the following topics:
•
•
Identify the components and contents of the data dictionary
Query the data dictionary
Data Dictionary Contents and Usage
Objectives
After completing this lesson, you should be able to do the following:
• Identify key data dictionary components • Identify the contents and uses of the data
DBA_xxx All of the objects in the database ALL_xxx Objects accessible by the current user USER_xxx Objects owned by the current user
5-7
Dynamic Performance Tables