oracleDBA的成长日记
DBA工作学习笔记
DBA工作学习笔记李曦目录DBA工作学习笔记 (1)一. Oracle安装与实施 (4)1. ORACLE 常用命令 (4)1. Oracle 11G RAC安装实施与日常管理 (9)oracle 11g rac关闭和启动顺序,状态查看 (10)ORACLE单实例数据库导入RAC环境 (11)2. RAC+单机Dataguard安装实施 (16)Oracle Dataguad规划 (16)Oracle dataguard主库配置(RAC+ASM)关闭节点2 (16)Oracle dataguard备库配置 (22)创建备库 (25)开始备库同步 (27)dataguard数据同步测试 (28)5.Oracle Dataguard日常维护 (28)RAC主库切换到单机备库 (32)DG环境下redo和standby redo的增加和删除 (34)数据库RMAN全备份 (36)数据库异常处理 (43)数据库启动相关 (43)ORA-01940 无法删除当前已连接的用户之解决方案 (45)Oracle修改表和索引的INITIAL初始化大小 (46)移动表和索引所用的表空间 (46)ORA-16000: 打开数据库以进行只读访问 (47)dg环境,主库添加数据文件备库空间不足报错处理方法 (49)ORA-15032,ORA-15075(磁盘组添加磁盘报错) (50)rac+asm:移动数据文件 (51)ORA-03297: 文件包含在请求的RESIZE 值以外使用的数据 (56)Oracle 数据库日常巡检 (61)1. 检查数据库基本状况 (61)2. 检查Oracle相关资源的使用情况 (62)3. 检查Oracle数据库备份结果 (65)4. 检查Oracle数据库性能 (66)5. 检查数据库cpu、I/O、内存性能 (70)6. 检查数据库安全性 (72)7. 其他检查 (73)一. Oracle安装与实施1. ORACLE 常用命令设置显示格式:col colname format a50; -- 设置某个列显示的长度,超过会换行set linesize 200 --一行显示长度set pagesize 20 --一页显示行数windows连接数据在服务器上连接Sqlplus CQMES08/CQMES08@oralSqlplus sys/syspw@oralas sysdba在本地客户端电脑上连接在本地客户端中配置的服务名为:server11、通过服务名连接数据库sqlplus userName/userPassword@netServiceName例:sqlplus testuser/123456@server12、通过IP 连接数据库:sqlplus userName/userPassword@//IP:port/SID例:sqlplus testuser/123456@//192.168.0.1:1521/orcl新增表空间:CREATE TABLESPACE TS_IND_TT_SCAN DATAFILE'+DATADG' SIZE 2048M AUTOEXTEND ON NEXT 100M MAX SIZE 20480M删除表空间:drop tablespace ts_test1 including contents and datafiles;删除redo log group或者memberALTER DATABASE DROP LOGFILE MEMBER '+DGDATA/orcl/onlinelog/group_1.257.984096625';ALTER DATABASE DROP LOGFILE GROUP3;删除temp文件:SQL> alter database tempfile '/ocfs_data/orcl/temp01.dbf' drop;SQL> alter tablespace temp add tempfile '/ocfs_data/orcl/temp1.dbf' size 50m;SQL> alter database tempfile '/ocfs_data/orcl/temp1.dbf' online;同步linux服务器时间:ntpdate 10.16.2.243修改密码:alter user system identified by newpass;分析表和索引analyze table 表名compute statisticsanalyze index 索引ID compute statistics批量分析:select'analyze table CQBOEMES.'||table_name||' compute statistics;' from all_tables WHERE OWNER='CQBOEMES'ORDER BY NUM_ROWS DESC;数据迁移进历史库导出需要迁移进历史库的数据exp system/syspw@orcl file=e:\tt_scan_old.dmp log=e:\tt_scan_old.logtables=(CQBOEMES.tt_scan) query=\"where scan_time<to_date('20180901 000000','YYYYMMDD HH24MISS')\"导出需要保留在正式库的数据exp system/syspw@orcl file=e:\tt_scan_new.dmp log=e:\tt_scan_new.logtables=(CQBOEMES.tt_scan) query=\"where scan_time>=to_date('20180901000000','YYYYMMDD HH24MISS')\"将历史数据导入进历史库imp system/syspw @orcl file=e:\tt_scan_old.dmp log=e:\tt_scan_old.log tables=(tt_scan) feedback=1000000 buffer=40960000 commit=y fromuser=CQBOEMES touser=CQBOEMES ignore=y将正式库原表重命名,需要保留的数据建新表导入。
成就DBA职业生涯
对DBA而言,需要掌握的一个重要内容就是通常被称为“软技术”的东西。
DBA需要在团队中很好的工作,通常团队是在变化的,如系统管理员,网络管理员,应用程序开发人员,项目经理和其他人。
DBA要能够用流利的英语解释复杂的技术概念,让团队中其他人明白。
DBA还要能够在数据库相关问题上指挥团队队员。
你的软技术怎么样?下面不是全部列表,但是包括了DBA的典型职责:•把监视数据库实例当作每日必做工作以保证其可用性。
解决不可用的问题。
•收集系统统计和性能信息以便定向和配置分析。
•配置和调整数据库实例以便在应用程序特定要求下达到最佳性能。
•分析和管理数据库安全性。
控制和监视用户对数据库的访问。
必要时审计数据库的使用。
•监视备份程序。
必要时提供恢复。
测试备份与恢复程序。
•升级RDBMS软件并且在必要时使用补丁。
必要时升级或者迁移数据库实例。
•通过数据库相关动作来支持应用程序开发人员。
•跟随数据库趋向和技术。
当可应用时使用新技术。
安装,测试和评估Oracle新的相关产品。
•执行存储和物理设计。
均衡设计问题以完成性能优化。
•创建,配置和设计信的数据库实例。
•诊断,故障检测和解决任何数据库相关问题。
必要时联系Oracle支持人员以便使问题得到较好的解决。
•确保Oracle网络软件(SQL*Net, Net8, Names, OiD)配置和运行的很好。
•与系统管理员(Unix & NT)一起工作以保证Oracle相关事务得到很好的处理。
•为有效的,定期的维护数据库创建任何必要的脚本。
前面各段的问题是为了使你考虑一名DBA该做些什么,帮助你决定这是不是适合你的职业。
我并非意味着假如你的目标是成为DBA这些会阻止你。
我只是尝试着展现一些事实。
我看到过一些DBA一旦被实际工作打击了就一蹶不振。
他们花费时间,精力和一些金钱获得了他们的第一份DBA工作。
我个人认为这个职业非常有价值。
而且我无法想像现在做任何其他的会怎样。
所以,这一段帮助你决定这是不是你希望从事的。
ORACLE数据库学习心得
ORACLE数据库结课论文一个好的程序,必然联系着一个庞大的数据库网路...今年我们学习了oracle数据库这门课程,起初的我,对这个字眼是要多陌生有多陌生,后来上课的时候听一会老师讲课,偶尔再跟上上机课,渐渐的学会了不少东西,但我感觉,我学到的仍是一些皮毛而已,怀着疑惑和求知的心态,我在网上搜索了关于oracle数据库的一些知识。
1.ORACLE的特点:可移植性ORACLE采用C语言开发而成,故产品与硬件和操作系统具有很强的独立性。
从大型机到微机上都可运行ORACLE的产品。
可在UNIX、DOS、Windows等操作系统上运行。
可兼容性由于采用了国际标准的数据查询语言SQL,与IBM的SQL/DS、DB2等均兼容。
并提供读取其它数据库文件的间接方法。
可联结性对于不同通信协议,不同机型及不同操作系统组成的网络也可以运行ORAˉCLE数据库产品。
2.ORACLE的总体结构(1)ORACLE的文件结构一个ORACLE数据库系统包括以下5类文件:ORACLE RDBMS的代码文件。
数据文件一个数据库可有一个或多个数据文件,每个数据文件可以存有一个或多个表、视图、索引等信息。
日志文件须有两个或两个以上,用来记录所有数据库的变化,用于数据库的恢复。
控制文件可以有备份,采用多个备份控制文件是为了防止控制文件的损坏。
参数文件含有数据库例程起时所需的配置参数。
(2)ORACLE的内存结构一个ORACLE例程拥有一个系统全程区(SGA)和一组程序全程区(PGA)。
SGA(System Global Area)包括数据库缓冲区、日志缓冲区及共享区域。
PGA(Program Global Area)是每一个Server进程有一个。
一个Server进程起动时,就为其分配一个PGA区,以存放数据及控制信息。
(3)ORACLE的进程结构ORACLE包括三类进程:①用户进程用来执行用户应用程序的。
②服务进程处理与之相连的一组用户进程的请求。
oracle笔记四(DBA管理)
1、通常oracle需要启动OracleServiceORCL,OracleStartORCL,OracleTNSListener 任务在NT上至少要启动两个服务oraclestartID和oracleserverID每个数据库都有一个系统标识符(SID),典型安装的数据库使用的系统标识符是ORCL2、启动关闭数据库关闭:svrmgr>connect internal/oracle>shutdown --正常关闭数据库svrmgr>shutdown immediate --立即关闭数据库svrmgr>shutdown abort --一种最直接的关闭数据库的方式,执行之后,重新启动需要花6-8小时启动:svrmgr>startup --正常启动--等价于:startup nomount;alter database mount;alter database open;svrmgr>startup mount; --安装启动:用于改变数据库的归档或执行恢复状态svrmgr>startup nomount; --用于重建控制文件或重建数据库svrmgr>startup restrict; --约束启动,能启动数据库,但只允许具有一定特权的用户访问如果希望改变这种状态,连接成功后alter system disable restricted session;svrmgr>startup force;当不能关闭数据库时,可采用强制启动数据库来完成数据库的关闭操作。
svrmgr>startup pfile=d:\orant\database\initorcl.ora --带初始化参数文件的启动3、缺省用户和密码<1>. Oracle安裝完成后的初始口令?internal/oraclesys/change_on_installsystem/managerscott/tigersysman/oem_temp<2>. OR ACLE9I AS WEB CACHE的初始默认用户和密码?administrator/administrator4、让定义自己的回滚段生效在initorcl.ora中加入rollback_segments=(rb0,rb1,...)其中rb0,rb1为自己定义的回滚段,可使这些回滚段在启动时生效5、查看修改数据库的字符集<1>数据库服务器字符集在表props$中update props$ set value$='ZHS16CGB231280'where name ='NLS_CHARACTERSET'然后重新启动数据库,而不需要重新安装8i以上版本可以通过alter database来修改字符集,但也只限于子集到超集,不建议修改props$表,将可能导致严重错误。
OracleEBS11i-DBA维护笔记
OracleEBS11i--DBA笔记Author:Jarwang(王重东)Create Date:February26,2009Update Date:Control No:Current Edition: 1.0声明:本文可以任意免费转载、复制、传播。
但您务必保持其完整性!If you copy this document,you ought to keep the document completely.Document ControlModify Record日期作者版本更改参考February26,2009jarwang 1.0Approved姓名职位签字Distribute编码姓名地点和位置1234IndexDocument Control2Modify Record2Approved2Index3Preface5Foundation Chapter6EBS Architecture6EBS Installation6EBS Startup6Startup&Shutdown6Startup Enterprise7 Maintenance Chapter8Change APPS pwd8EBS Clone8Apply EBS patch8Apply DB patch9Oracle DB Maitenance9RMAN Backup9ORA-0002010ORA-0981710Move tablespace datafile11Move system tablespace datafile11RMAN Backup12Oracle Application Maitenance12Purge Application logfiles and reports12 Upgrade Chapter14DB Upgrade10g14Preparation14Download Database10g14Install the Release10.2Oracle Software15Install Oracle Database10g Products from the10g Companion CD20Install the Latest Available Patch Set Release and Any Required Patches23Create nls/data/9idata directory23Shut down Applications server processes and database listener23Run the Pre-Upgrade Information Tool23Copy init<SID>.ora to new ORACLE_HOME26Modify new ORACLE_HOME init<SID>.ora26Additional database configuration27Upgrade the Datatabase27Install Oracle Data Mining and OLAP29Start the new database listener29Run adgrants.sql30Grant create procedure privilege on CTXSYS30Apply AutoConfig Patchset31Migrating to AutoConfig on the Database Tier33Migrating to AutoConfig on the Application Tier34Gather statistics for SYS schema35Re-create custom database links36Re-create grants and synonyms36Restart Application Server36Upgraded Troublesome37Config10g EM37Optimization Chapter40Application Optimization40Database Optimization40Move Controlfile40 SQL Optimization40 Query Tablespace Datafiles40 Other Notes41PrefaceOracle EBS DBA是一个很泛的概念,基本上DB与APP两者要负责。
《Oracle DBA 手记》,试读版,盖国强
第1章E y g l e的D B A工作手记写下这一章节的目的源于很多朋友的建议,他们建议我描述一下DBA的日常工作,一方面可以将真实的DBA生活展现给那些将要入行的朋友看,另一方面又可以将工作中遇到的问题真实地描写出来。
前者对初学者有益,后者对大家有参考价值。
于是有了这一章DBA手记,内容,也许有些断断续续、只言片语,但是这就是我们在一直面对的工作与持续的思考。
1.1DBA2.0的时代在2008~2009年,随着Oracle Database 10g的成熟与广泛应用,以及Oracle Database 11g 的改进与推行,Oracle公司开始对DBA(即Database Administrator,数据库管理员)这个词进行了重新界定,进一步推出了DBA2.0的概念。
当然DBA2.0不仅仅是一个概念,更是对我们一直以来进行的长期思考的一个阶段性总结和升华。
那么什么是DBA2.0呢?回忆起来,DBA这个职业从诞生、发展到成熟,其实时间是非常短的,记得2000年左右,DBA的从业人群还非常小,而到了2008、2009年,DBA的圈子已经越来越大,甚至传统意义上的DBA已经成熟得需要革新。
这个行业的发展和变化如此之快,我们甚至举办过一个系列的高校巡回演讲活动,主题是如何成为一个Oracle DBA,类似的很多活动已经进一步将DBA 这个词引入校园(Oracle公司已经在面向高校推进OCP认证),现在的学生能够接触到DBA 这个概念的时间早得超乎我们当年的想象(很多人一毕业就可以加入到DBA行列)。
很多业界朋友都问过自己这样的问题,在数据库软件的自动化程度越来越高,应用越来越普及和简单之后,DBA当何以为生?实际上这也正是DBA2.0时代我们要面对的问题。
说起来,DBA 2.0时代,直接同Oracle Database 10g引入的一个新产品表象相关,这个产品就是Grid / Database Control,这个工具将原来基于客户端的OEM通过Web形式来展现,并且基于后台众多新特性的支持,提供了强大的功能。
dba个人工作总结
dba个人工作总结尊敬的领导和同事们:我很高兴在过去的一年里担任数据库管理员(DBA),并且能够向各位汇报我的工作成果和经验总结。
在这一年里,我在数据库管理方面取得了一些重要的进展和成就,并且在团队中得到了同事们的肯定和认可。
首先,我在过去的一年里致力于提升数据库的性能和稳定性。
通过仔细分析数据库的瓶颈,并在合适的时候进行优化和调整,我成功地提高了数据库的响应速度,并减少了系统的崩溃和故障。
我采取了一系列的措施,包括对数据库进行索引优化、定期清理无用数据、优化查询语句等,以提高数据库的效率和可用性。
其次,我在安全和备份方面也取得了一些重要的进展。
我建立了完善的数据库安全策略,并且定期对数据库进行备份和恢复测试,以确保在意外情况下可以及时恢复数据。
我还加强了对数据库的访问控制,并加密了敏感数据,以保证数据安全。
通过这些措施,我提高了数据库的防护能力,降低了数据泄露和丢失的风险。
另外,我还积极参与了团队的项目和任务,在团队协作和沟通方面得到了很好的锻炼和提高。
我能够与开发人员和其他团队成员紧密合作,及时解决数据库相关的问题,并提供技术支持和指导。
通过与团队的合作,我学会了与人合作、沟通和解决问题的技巧,提高了工作效率和工作质量。
最后,我还积极参加了一些相关的培训和学习,不断提升自己的专业知识和技能。
我参加了数据库管理的培训课程,并通过了相应的认证考试。
我还参加了一些行业会议和研讨会,与行业内的专家和同行交流经验,分享和学习最新的数据库管理技术和趋势。
通过这些学习和培训,我保持了对数据库管理领域的前沿了解,并能够将最新的技术和方法应用到实践中。
总的来说,我在过去的一年里取得了一些可喜的进展和成就。
通过我对数据库的优化与维护,不仅提升了数据库的性能与稳定性,也增强了数据的安全与可靠性。
我还通过与团队的合作与沟通,有效解决了数据库相关问题,提供了良好的技术支持。
我将继续努力学习和提升自己的专业素养,为团队和公司的发展做出更大的贡献。
DBA笔记F I
Fundamentals IChapter1Oracle Architectural Componentsshow sga;alter system set shared_pool_size=64M;alter system set DB_CACHE_SIZE=96M;alter system set large_pool_size=24Mdesc v$db_cache_adviceselect*from v$db_cache_advice;(displayed statistics)Chapter2Getting Started with the Oracle Server1、list the common database administration tools available to a DBAOracle Universal InstallerOracle Database Configuration AssistantPassword File UtilitySQL*PlusOracle Enterprise Manager2、SQL statementscolumn owner format a5;column table_name format a20;column tablespace_name format a15;select owner,table_name,tablespace_name from dba_tables where rownum<10;SQL>!rm$HOME/admin/pfile/orapw$ORACLE_SIDSQL>!orapwd file=$HOME/admin/pflie/orapw$ORACLE_SID password=oracle entries=5SQL>!chmod660$HOME/admin/pfile/orapw$ORACLE_SIDChapter3Managing an Oracle Instance1、create spfile[='spflie-name']from pfile[='pfile-name']for examplecreate spflie='$ORACLE_HOME/dbs/spfilebbk.ora'from pfile='$ORACLE_HOME/dbs/initbbk.ora'; DefaultSQL>create spfile from pfile;SQL>create pflie from spflie;modifying parameters in spfileSQL>alter system set undo_tablespace=undo2;SQL>alter system set undo_tablespace=undo2scope=both;deleting or resetting valuesSQL>alter system reset undo_suppress_errors scope=both sid='*';alter system set parameter_name=parameter_value[comment'text'][scope=memory|spfile|both][sid='sid'|'*'] startup database filestartup pfile=$ORACLE_HOME/dbs/initbbk.orastartup spflie=$ORACLE_HOME/dbs/spfilebbk.orastartup[force][restrict][pfile=filename][open][recover][database][mount][nomount]alter database bbk mount;alter database bbk open read only;alter database{mount|open}alter database open[read write|read only]startup restrictalter system enable restricted session;shutdown[abort|immediate|transactional|normal]alter session set SQL_TRACE=trueChapter4Creating a Databaseorapwd file=$ORACLE_HOME/dbs/orapwU15password=admin entries=5set remote_login_passwordfile=exclusive in initialization parameter fileadd user to the password fileassign appropriate privileges to each userSQL>grant sysdba to heli;Chapter5Using Data Dictionary and Dynamic Performance Viewsselect owner,object_name,object_type from dba_objects;select owner,object_name,object_type from all_objects;select object_name,object_type from user_objects;general overview:dictionary,dict_columnsshcema objects:dba_tables,dba_indexs,dba_tab_columns,dba_constraintsspace allocation:dba_segments,dba_extentsdatabase structure:dba_tablespaces,dba_data_filesdynamic performance examplesv$controlfile:Lists the names of the control filesv$database:Contains database information from the control filev$datafile:Contains data file information from the control filev$instance:Displays the state of the current instancev$parameter:Lists parameter and values currently in effect for the sessioonv$session:Lists session information for each current sessionv$sga:Contains summary information on the system global areav$spparameter:Lists the contents of the SPFILEv$tablespace:Displays tablespace information from the control filev$thread:Contains thread information from the control filev$version:Version numbers of core library components in the Oracle serverselect*from v$fixed_table;7、list of the data dictionary viewsselect table_name from dictionary;8、identify the database name,instance name and size of the database blocksselect name from v$database;select instance from v$thread;select value from v$parameter where name='db_block_size';9、list the name and size the data files,online redo log files,and the name of the control files select name from v$datafile;select member from v$logfile;select name from v$controlfile;10、identify the data file that makes up the system tablespaceselect file_name from dba_data_files where tablespace_name='SYSTEM';11、free space and used spaceselect sum(bytes)/1024"free space in KB"from dba_free_space;select sum(bytes)/1024"used space in KB"from dba_segments;12、list the name and creation date of the database usersselect username,created from dba_users;Chapter6Maintaining the Control Filemultiplexing the control file when using spfilealter system setcontrol_files='$HOME/oracdata/u01/control01.ctl','$HOME/oradata/u02/control02.ctl'scope=spfile;shutdown immediatecp$HOME/oradata/u01/control01.ctl$HOME/oradata/u02/control02.ctlstartup;multiplexing the contril file when using pfileshutdown immediatecp$HOME/oradata/u01/control01.ctl$HOME/oradata/u02/control02.ctlcontrol_files=$HMOE/oradata/u01/control01.ctl,$HOME/oradata/u02/control02.ctlFor exampleSQL>alter system set control_files='/u010g/oradata/bbk/control01.ctl','/u010g/oradata/bbk/control02.ctl','/u010g/oradata/bbk/control03.ctl','/u010g/oradata/bbk/control04.ctl' scope=spfile;SQL>shutdown immediateSQL>!cp/u010g/oradata/bbk/control03.ctl/u010g/oradata/bbk/control04.ctlSQL>!chmod660/u010g/oradata/bbk/control04.ctlSQL>startup;SQL>select*from v$controlfile;4、inital sizing of the data file section in control fileSQL>select records_total from v$controlfile_record_section where type='DATAFILE';Chapter7Maintaining Online Redo Log Files1、forcing a log switchalter system switch logfileSQL>select group#,thread#,sequence#,status from v$log;SQL>select group#,members,archived,status from v$log;SQL>select tablespace_name,contents,extent_management from dba_tablespaces;checkpoint can be forced by:setting fast_start_mttr_target parameterFAST_START_MTTR_TARGET=600alter system checkpoint commandalter system checkpoint;2、add log groupalter database add logfile group3('$HOME/oradata/u01/log03a.rdo','$HOME/oradata/u02/log3b.rdo')size2M;3、adding online redo log file membersalter database add logfile member'$HOME/oradata/u04/log1c.rdo'TO GROUP1,'$HOME/oradata/u04/log2c.rdo'TO GROUP2,'$HOME/oradata/u04/log3c.rdo'TO GROUP3;4、dropping online redo log file groupsalter database drop logfile group3;5、dropping online redo log file membersalter database drop logfile member'$HOME/oradata/u04/log3c.rdo';6、alter database rename file command(1)SQL>shutdown immediate(2)copy the online redo log files to the new location(3)startup the database and mount,but do not open itSQL>connect/as sysdbaSQL>startup mountSQL>alter database rename file'$HOME/oradata/u01/log2a.rdo'TO'$HOME/oradata/u02/log1c.rdo';SQL>alter database open;7、clearing online redo log filealter database clear logfile group2;alter database clear unarchived logfile group2;test3SQL>col group#format99SQL>col member format a40SQL>alter database add logfile member'/u010g/oradata/bbk/redo01b.log'to group1,SQL>'/u010g/oradata/bbk/redo02b.log'to group2,SQL>'/u010g/oradata/bbk/redo03b.log'to group3;SQL>select*from v$logfile;test4alter database add logfile group4('/u010g/oradata/bbk/redo01b.log','/u010g/oradata/bbk/redo01.log')size51M;column group#format99column member format a40select*from v$logfile;select group#,members from v$log;test5SQL>alter system switch logfile;SQL>alter system switch logfile;SQL>alter system switch logfile;SQL>alter system switch logfile;SQL>select group#,members from v$log;SQL>alter database drop logfile group4;SQL>!rm/u010g/oradata/bbk/redo01b.rdoSQL>!rm/u010g/oradata/bbk/redo02b.rdotest6SQL>alter database add logfilegroup3('/u010g/oradata/bbk/redo03a.rdo','/u010g/oradata/bbk/redo03b.rdo')size51M,group4('/u010g/oradata/bbk/redo04a.rdo','/u010g/oradata/bbk/redo04b.rdo')size51M;SQL>select group#,status from v$log;SQL>alter system switch logfile;SQL>alter system switch logfile;SQL>alter system switch logfile;SQL>alter system switch logfile;SQL>alter database drop logfile group1,group2;SQL>select group#,bytes from v$log;Chapter8Managing Tablespaces and Data FilesSQL>select a.tablespace_name,a.bytes bytes_used,rgest,round(((a.bytes- b.bytes)/a.bytes)*100,2)percent_used from(select tablespace_name,sum(bytes)bytes from dba_data_files group by tablespace_name)a,(select tablespace_name,sum(bytes)bytes, max(bytes)largest from dba_free_space group by tablespace_name)b where a.tablespace_name=b.tablespace_name order by((a.bytes-b.bytes)/a.bytes)DESC;configuring ASSMcreate tablespace data02datafile'/u01/oradata/data02.dbf'size5M extent management local uniform szie64K segment space mangement auto;create database dba01logfilegroup1('/$HOME/oradata/bbk/redo01.log')size100M,group2('/$HOME/oradata/bbk/redo02.log')size100M,group3('/$HOME/oradata/bbk/redo03.log')size100M,maxlogfiles5maxlogmembers5maxloghistory1maxdatafiles100maxinstances1datafiles'/$HOME/oradata/bbk/system01.dbf'size325Mundo tablespace undotbsdatafile'/$HOME/oradata/bbk/undotbs01.dbf'size200Mdefault temporary tablespace temptempfile'/$HOME/oradata/bbk/tem01.dbf'size50Mcharacter set US7ASCIIcreating a default temporary tablespacealter database default temporary tablespace default_temp2;To find the default temporary tablespace for the database query database_properties;select*from database_properties;alter tablespace userdata read only;Tablespaces that cannot be taken offline:system,tablespace tablespace with active undo segments,default temporary tablespace.alter tablespace userdata offline;alter tablespace userdata online;changing storage settingsalter tablespace userdata minimum extent2m;alter tablespace userdata default storage(initial2M next2M maxextents999);create tablespace userdata02datafile'/u010g/oradata/bbk/userdata02.dbf'size5Mautoextend on next2M maxsize200M;alter database datafile'/u010g/oradata/bbk/userdata02.dbf'autoextend on next2M;alter database datafile'/u010g/oradata/bbk/userdata02.dbf'resize5M;alter tablespace userdata02add datafile'/u010g/oradata/bbk/userdata03.dbf'szie5m;create tablespace user_data datafile'/u010g/oradata/bbk/user_data.dbf'size200M autoxtend onnext10M maxsize500M;select tablespace_name,file_name,autoextensible from dba_data_files;methods for moving data filesalter tablespace:tablespace must be offline,target data file must existalter tablespace userdata rename datafile'/u010g/oradata/bbk/userdata.dbf'to'/u010g/oradata/bbk/userdata01.dbf';alter database:database must be mounted,target data file must existalter database rename file'/u010g/oradata/bbk/system01.dbf'to'/u110g/oradata/bbk/system01.dbf';droping tablespaceYou cannot drop a tablespace if it:Is the system tablespacehas active segmentsincluding contents drops the segmentsincluding contents and datafiles deletes data filescascade constraints drops all referential integrity constraintsdrop tablespace userdata including contents and datafiles;Obtaining Tablespace Informationtablespace information:dba_tablespacev$tablespacedata file information:dba_data_filesv$datafiletemp file information:dba_temp_filesv$tempfileChapter9Storage Structure and Relationshipscreate tablespace data02datafile'/u01/oradata/data02.dbf'size5M extent management local uniform size64k segment space management auto;obtaining storage information:dba_extents:dba_segments:dba_tablespaces:dba_data_files:dba_free_spaceSQL>select segment_name,tablespace_name,extents,blocks from dba_segments;SQL>select extent_id,file_id,block_id,blocks from dba_extents;SQL>select tablespace_name,count(*),max(blocks),sum(blocks)from dba_free_space group by tablespace_name;test1create table emp(empno number(4),ename varchar2(30),job varchar2(9),mgr number(4),hiredate date,sal number(7,2),comm number(7,2),deptno number(2))tablespace data01storage(initial100knext100kpctincrease0minextents8maxextents10);create table fragment1(a number)tablespace data01storage(initial10K);create table dept(deptno number,dname varchar2(15),loc varchar2(20))tablespace data01storage(initial50k next50k);create table frament2(a number)tablespace data01storage(initial8k);create table big_emp(emp number(4),ename varchar2(30))tablespace data01storage(initial1Mnext1M maxextents10);create index i_e_empno on emp(ename)tablespace indx01storage(initial50K next50K);drop table fragment1;drop table fragment2;test2select distinct segment_type from dba_segments;test3column segment_name format a20column segment_type format a15select segment_name,segment_type,max_extents,extents from dba_segments where extents+5>max_extents and segment_type<>'cache'; test4select distinct f.file_name from dba_extents e,dba_data_file f where e.segment_name='EMP'and e.file_id=f.file_id;test6select tablespace_name,count(*)as fragments,sum(bytes)as total,max(bytes)as largest from dba_free_space group by tablespace_name; test7select s.segment_name,s.segment_type,s.tablespace_name,s.next_extent from dba_segments s wherenot exists(select1from dba_free_space f where s.tablespace_name=f.tablespace_name having max(f.types)>s.next_extent);Chapter10Managing Undo Data:dba_rollback_segs:v$rollname:v$rollstatv$undostatv$sessionv$transactionSQL>select segment_name,owner,tablespace_name,status from dba_rollback_segs;SQL>select ,s.extents,s.rssize,s.hwmsize,s.xacts,s.status from v$rollname n,v$rollstat s where n=n;SQL>select ername,t.xidusn,t.ubafil,t.ubablk,ed_ublk from v$session s,v$transaction t where s.saddr=t.ses_addr;SQL>select max(undoblks/((end_time-begin_time)*24*3600))from v$undostat;SQL>select sum(undoblks)/sum((end_time-begin_time)*24*3600)from v$undostat;SQL>select to_char(begin_time,'hh24:mi:ss')begin_time,to_char(end_time,'hh24:mi:ss')end_time,undoblks from v$undostat where rownum<4;test1list the undo segments in tablespace undotbsSQL>select segment_name from dba_rollback_segs where tablespace_name='UNDOTBS';test2create undo tablespace undo02datafile'/u010g/oradata/bbk/undo02.dbf'size15M;select segment_name from dba_rollback_segs where tablespace_name='UNDO02';test4and5SQL>alter system set undo_tablespace='undo02'scope=both;SQL>drop tablespace undotbs1including contents and datafiles;test6SQL>select segment_name from dba_rollback_segs where tablespace_name='UNDOTBS';SQL>select n,,b.status from v$rollname a,v$rollstat b where in(select segment_name from dba_segments where tablespace_name='UNDOTBS')and n=n;test9SQL>alter system set undo_retention=0scope=memory;SQL>drop tablespace undotbs including contents and datafiles;(tablespace dropped)Chapter11Managing Tablesselect rowid,id,name from t;create tablespace assm datafile'u01/oradata/denver/assm_1.dbf'size100M extent management local uniform size128K segment space management auto;create tablespace mssm datafile'u01/oradata/denver/mssm_1.dbf'size100M extent management local uniform size128K segment space management manual;create user as1identified by as1default tablespace assm;create user ms1identified by ms1default tablespace mssm;grant connect,resource to as1;grant connext,resource to ms1;sqlplus as1/as1SQL>show userSQL>desc user_segment;SQL>col segment_name format a30;SQL>select segment_name,segment_type from user_segments;SQL>create table t(id int,name char(10))storage(initial128k next128k pctincrease0minextents1maxextents5)tablespace assm; SQL>select segment_name,segment_type from user_segments;temporary tablesessionSQL>create global temporary table tmp_session on commit preserve rows as select*from t where1=0;transactionSQL>create global temporary table tmp_transaction on commit delete rows as select*from t where1=0;SQL>insert into t values(0,'name');SQL>insert into t values(1,'name');SQL>insert into tmp_session select*from t;SQL>insert into tmp_transaction select*from t;SQL>select count(*)from tmp_session;SQL>select count(*)from tmp_transaction;SQL>commit;SQL>select count(*)from tmp_session;SQL>select count(*)from tmp_transaction;Setting PCTFREE&PCTUSEDcompute PCTFREE(average row size-initial row size)*100/average row sziecompute PCTUSED100-PCTFREE-(average row size*100)/available data spacelookup create table all informaionSQL>select dbms_metadata.get_addl('TABLE','tablename','schema')from dual;SQL>alter table t move tablespace mssm;SQL>alter table t drop column comments cascade constraints checkpoint1000;SQL>alter table t set unused column name cascade constraints;SQL>alter table t drop unused column;SQL>select segment_name,file_id,block_id,blocks from dba_extents where segment_name='ORDERS'and segment_type='TABLE'; SQL>select count(*)from dba_extents where segment_name='ORDERS'and segment_type='TABLE';SQL>alter table orders allocate extent;SQL>select count(*)from dba_extents where segment_name='ORDERS'and segment_type='TABLE';SQL>truncate table orders reuse storage;SQL>select count(*)from dba_extents where segment_name='ORDERS'and segment_type='TABLE';Chapter12Managing IndexesSQL>create table t(id int,sex char(1),name char(10));SQL>desc user_objects;SQL>col object_name format a20SQL>select object_name,object_type from user_objects;SQL>beginfor i in1..1000loopinsert into t values(i,'M','zhangsan');end loop;commit;end;/SQL>create index t_idx1on t(id);SQL>select object_name,object_type from user_objects;SQL>create index t_idex2on t(sex,name);SQL>select object_name,object_type from user_objects;SQL>create bitmap index my_bit_idx on t(sex);SQL>alter index orders_region_id_idx rebuild tablespace index02;SQL>alter index orders_id_idx rebuild online;SQL>select object_name,object_type from user_objects;SQL>alter index t_idx1rebulid;SQL>alter index t_idx1rebulid online;SQL>alter index orders_id_idx coalesce;analyze indexSQL>analyze table t1compute statistics for table;SQL>analyze table t2compute statistics for all columns;SQL>analyze table t3compute statistics for all indexed columns;SQL>analyze table t4compute statistics;analyze TABLE a COMPUTE statistics FOR TABLE;对表做统计分析,仅仅影响all_tables中的相关数据analyze TABLE b COMPUTE statistics FOR ALL indexed columns;对索引列做统计分析,仅仅影响all_tab_columns中索引列相关数据。
ORACLE_DBA日常笔记
目录第一章数据库启动 (2)第二章表空间 (18)第三章表 (25)第四章索引 (32)第五章备份与恢复 (33)第六章数据库优化 (40)第七章 PL/SQL语言 (44)RedHat Linux AS4安装ORACLE10g (46)第一章数据库启动ORACLE的运行机制我们从一个用户请求开始讲,ORACLE的完整的工作机制是怎样的,首先一个用户进程发出一个连接请求,如果使用的是主机命名或者是本地服务命中的主机名使用的是机器名(非IP地址),那么这个请求都会通过DNS服务器或HOST文件的服务名解析然后传送到ORACLE监听进程,监听进程接收到用户请求后会采取两种方式来处理这个用户请求,下面我们分专用服务器和共享服务器分别采用这两种方式时的情况来讲:专用服务器模式下:一种方式是监听进程接收到用户进程请求后,产生一个新的专用服务器进程,并且将对用户进程的所有控制信息传给此服务器进程,也就是说新建的服务器进程继承了监听进程的信息,然后服务器进程给用户进程发一个RESEND包,通知用户进程可以开始给它发信息了,用户进程给这个新建的服务器进程发一个CONNECT包,服务器进程再以A CCEPT包回应用户进程,致此,用户进程正式与服务器进程确定连接。
我们把这种连接叫做HAND-OFF连接,也叫转换连接。
另一种方式是监听进程接收到用户进程的请求后产生一个新的专用服务器进程,这个服务器进程选用一个TCP/IP端口来控制与用户进程的交互,然后将此信息回传给监听进程,监听进程再将此信息传给用户进程,用户进程使用这个端口给服务器进程发送一个CONNECT包,服务器进程再给用户进程发送一个ACCEPT包,致此,用户进程可以正式向服务器进程发送信息了。
这种方式我们叫做重定向连接。
HAND-OFF连接需要系统平台具有进程继承的能力,为了使WINDOWS NT/2000支持HAND-OFF必须在HKEY_L OCAL_MACHINE>SOFTWARE>ORACLE>HOMEX中设置USE_SHARED_SOCKET。
oracle学习心得
oracle学习心得oracle学习心得目录第一篇:oracle学习心得第二篇:oracle学习心得第三篇:学习心得(安装liunx和oracle) 第四篇:oracle学习入门-- 简单详细-- java培训心得第五篇:如何学习oracle 正文第一篇:oracle学习心得一、sql server的理解sql server服务器就像一栋大楼,大楼里的机房就像服务器的数据库,机房里的电脑如同数据库里的表1、登录用户可以登录服务器——可以进大楼2、登录用户成为数据库用户才能进指定的数据库——进入大楼的人给了某个机房的钥匙才能进入机房3、登录用户有权限使用表——进入机房的人有电脑的密码才能使用电脑二、oracle的理解oracle服务器(全局数据库)就像一个商场,商场的每一家公司是表空间,公司的业务是表1、数据库由多个表空间组成——商场里有多家公司组成2、表空间由段组成——公司要有自己的经营业务,可以只有一个业务,就是一个表空间中只有一个段,可以有多个业务,就是一个表空间有多个段3、段由区组成——单个业务的细分类别。
例如有家公司经营三个业务,卖书,卖家电,卖衣服,则每个业务就是一个段。
而每个业务又有细分,比如卖书的话要进行分类了。
计算机区,人文区,小说区等,每一区都要放上书架存放书籍,则书架就是oracle块,存放数据的三、数据库,表空间,用户(指定默认表空间),表统统由管理员管理四、在oem中管理数据库的步骤1、创建1) 存储——表空间——创建表空间(tomspace)(类似于在sql中创建数据库,通常可以省略,使用默认表空间为users,,临时表空间为temp)2) 首先展开安全性——创建新用户(tom,指定表空间)(类似于在sql中指定数据库用户)3) 创建表——指定方案(用户)和表空间(列名不要带)4) 设置约束5) 输入信息:方案——用户名——表——右击——查看/编辑目录… 2、修改1)方案——用户名——表2)修改表结构,添加约束3、删除:右击表——移去五、注意事项1、刚创建的用户不会出现在方案中,只有创建了一个表指定方案和表空间,该用户的方案名就会出现在方案中,此时就可以方便为该方案创建其他表1)新创建的用户能在sqlplus中登录,为什么不能在企业管理器中登录呢?解答:需要授予select any directory权限才能正常登录企业管理器,但没有其他权限2)可以对创建的用户在安全性中赋予角色权限,如dba,则该用户就是数据库管理员3)sys用户主要用来维护系统信息和管理实例,只能以sysoper或sysdba角色登录4)安装oracle的用户自动为ora-dba权限,自动是sys用户,所以在登录时不需要用户名和密码,只要选中以sysdba登录。
ORACLE实训心得体会
o r a c l e实训总结系别:信管院班级:姓名:浦江峰学号日期: 2012年12月21日实训总结:由于感到oracle实训担子很重,而自己的学识、能力和阅历与其任职都有一定的距离,所以总不敢掉以轻心,总在学习,向书本学习、向周围的同学学习,向老师请教,这样下来感觉自己半年来还是有了一定的进步。
颠末一个星期的oracle数据库实训,让我体会到了日常仄凡是很多课堂上所无法实践知晓的,让人收获颇丰,明白如何去应用。
而本次数据库实训的目标是让我们把握数据库系统的原理。
将理论与实践相结合,利用现有的数据库管理系统硬件、范例、科学地完成一个设计。
这个星期是我们oracle 数据库管理课的实训,经过一个星期的实训,让我领会到了许多平时课堂上所没有接受的课外知识,很让人受益匪浅,懂得如何去运用,而进行的一次分析设计综合的训练。
而本次实训的目的是让我们掌握数据库系统的原理、技术。
将理论与实际相结合,应用现有的数据库管理系统软件,规范、科学地完成一个设计与实现。
这次我们实训的内容是从数据库、数据表的创建和修改开始的,表是建立关系数据库的基本结构,用来存储数据具有已定义的属性,在表的操作过程中,有查看表信息、查看表属性、修改表中的数据、删除表中的数据及修改表和删除表的操作。
从实训中让我更明白一些知识,表是数据最重要的一个数据对象,表的创建好坏直接关系到数数据库的成败,表的内容是越具体越好,但是也不能太繁琐,以后在实际应用中多使用表,对表的规划和理解就会越深刻。
我们实训的另一个内容是数据库的约束、视图、查询。
从中我们了解到查询语句的基本结构,和简单select语句的使用,多表连接查询。
而在视图的操作中,也了解到了视图是常见的数据库对象,是提供查看和存取数据的另一种途径,对查询执行的大部分操作,使用视图一样可以完成。
使用视图不仅可以简化数据操作,还可以提高数据库的安全性,不仅可以检索数据,也可以通过视图向基表中添加、修改和删除数据。
2021年oracle培训心得
oracle培训心得Oracle培训心得201*年x月x日至x月x日,我有幸参加了工业和信息化部软件与集成电路促进中心主办的“ORACLE数据库高级实战培训班”学习交流。
首先感谢学校领导给予了我这次学习机会。
通过短暂的几天培训,我不仅对Oracle知识有了部分的了解,也接受了很多最新的信息。
在这次培训中,上课的老师有非常丰富DBA经验,他结合他自身的DBA工作经历,从Oracle体系结构与网络配置、访问控制、事务处理与日志、闪回特性、数据库的备份与恢复和数据库性能监测与调整优化等几个方面对Oracle进行了讲解。
对课程讲解十分的详细。
通过案例示范以及演示,指导我们一步步操作。
Oracle主要以操作命令行为主,在学习的过程中,对老师的每一步操作都做好了记录。
课堂上按照老师的要求一步步操作,课后按记录的操作步骤和命令反复多次的练习。
以此到达了对Oracle反复学习,熟悉掌握老师所传授的知识。
短短5天的高强度集中学习,我通过“xxxx”考试,取得了“xxxx”的认证。
但是我知道依靠这几天的培训对Oracle学习是不行的,还必须在实践中不断地努力,提升自身的专业技术能力。
只有在不断的实践练习,才能够深刻了解它的原理和方法。
在以后的工作中,我仍会继续学习各种关于Oracle数据库的知识、持之以恒,在今后的工作中不断实践、总结、深入学习,全面掌握Oracle知识。
扩展阅读Oracle培训心得OracleConceptStevenCheng主讲:贾代平著有《OracleDBA核心技术解析》一.OracleDatabasedatabase=instance(inmemory)+database(indisk)callscallscalls1instancecorrespondsto1database.二.SessionOneusercanopenseveralsessions(对话期间)withOracleserver,thelifeofasessionexistsonlyduringthetimewhenitis created.三.Oracle优于传统档案者,在于它能保障一笔资料(transaction)散置在相关个表(table)中数据的完整性,记录则完全记录,删除则完全删除。
一位资深DBA的十年企业数据库管理经历
4. 数据库的表现需要各种软硬件的配合,比如主机、存储、操作系统和应用软件,开发人员了解得越多,越有利于开发高效的软件。数据库应选择能充分利用硬件的版本,比如用64位版本。开发人员应了解技术的发展,了解过去的正确观念在新条件下未必依然正确,比如用磁盘阵列存储就不必人工指定表分区和数据文件对应就可以实现IO在多个磁盘的均衡分布。内存和CPU增加使SQL可以采用HASH连接等获得更好的执行计划。
5. 数据库优化工作应在设计阶段就考虑,这时更改的成本最低,收效最大。系统运行时同时监控性能的状态,及时作出必要的调整,可以利用数据库提供的各种工具。
6. 随着用户业务种类和数量的增长,需要管理的数据库数量也不断增加、环境越来越复杂,管理的难度也提高了,需要数据库开发人员和数据库管理员分工合作。虽然数据库软件在一定程度上能提供帮助,仍然需要经验丰富的专业的人员和完善的数据库管理制度,并严格执行。
针对于数据库未来几年所面临的挑战,卢涛给出了以下几点:
在未来的几年,随着数据大集中的要求进一步提高,系统的在线用户将有较大的增长,对系统应付并发读写访问的能力是一个考验,考虑利用内存数据库等技术提高在线事务处理的能力。
数据库的安全日益重要。同样不能仅依靠数据库提供的功能,比如加密、口令安全策略,而要从物理安全、访问控制、安全网络协议、数据库备份恢复等多方面予以保障,经过实践检验的制度和应急方案必不可少,同时加强开发人员和用户管理,限制应用程序的用户权限,禁止管理员用户执行非管理操作。某些数据库产品提供了审计功能,如果业务有此方面需要,也考虑采用。
▲ITPUB资深版主卢涛(网名:〇〇)
卢涛介绍说,在工作当中首次接触数据库要上溯到上世纪90年代中期,那时,计算机还是以单机为主,应用的主要数据库是FoxPro,这虽然也是一款支持多用户的关系型数据库产品,但主要还是限于单机使用。使用数据库的要方式是编写和运行过程式的,包括界面和业务逻辑的prg程序访问后台的表,用到的数据库功能很有限,数据库管理也仅限于数据库表文件和程序文件的备份。
Oracle数据库学习总结
Oracle数据库学习总结时间过的还真快,不知不觉中就在这里呆了半个月了。
这段时间里都在学习oracle数据库的编程,毕竟这是家软件外包公司。
像我们这样的新员工也就只能接触到些CURD的操作。
废话不多说,赶紧来梳理下这半月来学习的知识点.在来公司之前一直都是使用Sql Server数据库,用Sql Server也开发了3个小型项目。
所以对Sql语句以及在数据库中扮演重要作用的存储过程,触发器,视图,主键/外键约束都很熟。
但Oracle是一个全新的环境,记得刚装上Oracle 的时候,我都不知道在哪查看自己已经建立好的表格。
还好有师傅的帮忙,要不然我还真没这么快就能入门Oracle。
学习东西就要学习些能改变自己思维的东西,只有这样才能让自己的眼光比别人更独到,思维比别人更深邃,Oracle就是这样的东西。
当然做这样的事是要很大的驱动力的呀,如果公司不是都采用Oracle来写程序的话,我估计也就懒得学啦。
对于一位程序员来说并不需要完全掌握Oracle的所有知识,毕竟自己不是DBA。
在日常开发中也用不到那些命令和工具,但是有些知识点我们还是必须得熟练的掌握它们。
比如:一些基本的DDL和DML语句,存储过程,函数,视图,触发器,序列,游标,自定义类型和包。
下面我就把这段时间里学习Oracle获得的知识点罗列出来,一是为了方便以后查阅,二是为了和搭档交流学习经验。
要适应的一些细节从Sql Server转到Oracle进行数据库编程,第一道门槛就是语法问题。
很多很多的问题都是因为语法而产生的,现将它们统统集合起来并将它们一网打尽之。
PL结构。
在Sql Server中,采用的是批处理执行任务的方式,所以可以将多条sql语句选中批量执行,而不用顾忌要在专门的地方声明变量,在专门的地方进行逻辑编码。
在Oracle中采用的是PL编程方式,必须在专门的地方声明变循环结构,要达到循环在Oracle中有3种方式,各有各的好处,你懂的。
DBA日记(第三部)
DBA日记第三部像Oracle一样思考4月1日索引危机(1)不能修改应用的项目4月1日索引危机(1)不能修改应用的项目刚才在会议室里和郭工一起讨论了这个项目,最近一两个月,郭工他们这套系统的CP U使用率增加了20%左右,白天业务高峰的时候,基本上CPU都在90-100%,IDLE基本上都是0。
郭工感觉到系统的风险很大,于是向领导李总做了汇报。
于是李总就急忙叫我过来帮他们分析分析。
听郭工介绍,这套系统2周后将迎来每个月最繁忙的时段,从目前的情况来看,12个CP U 24核的系统,r队列已经达到了40多,如果不做一些优化,可能很难安全渡过几天后的业务高峰。
想要大幅度降低CPU的使用率,最好的办法是优化应用。
于是郭工把开发商负责维护系统的组长也叫到了会议室,商讨修改应用的事情。
开发商一听说要修改SQL,马上把头摇得跟拨浪鼓似地。
在2周时间内完成SQL修改工作,对于开发商来说,确实难度不小。
经过协商,开发商认为索引的修改和PL/SQL存储过程的优化他们马上能够配合我们做,而需要修改程序的变更,他们必须上报给公司,走公司的变更流程,在2周内完成这个工作基本上不可能。
开发商看样子是指望不上了,于是我决定把优化的重点放在索引的调整上。
如果能找到几个buffer get较大的SQL,优化一下SQL,让CPU使用率下降10-15%,基本上能够完成任务了。
我采集了一下10点到11点的statspack报告:Cache Sizes (end)~~~~~~~~~~~~~~~~~Buffer Cache: 8,000M Std Block Size: 8KShared Pool Size: 3,200M Log Buffer: 10,240KLoad Profile~~~~~~~~~~~~ Per Second Per Transaction--------------- ---------------Redo size: 2,596,262.30 60,116.45Logical reads: 572,843.36 13,264.19Block changes: 22,523.53 521.53Physical reads: 2,637.11 61.06Physical writes: 672.75 15.58User calls: 21,920.49 507.57Parses: 6,339.75 146.80Hard parses: 310.56 7.19Sorts: 1,714.43 39.70Logons: 0.44 0.01Executes: 6,434.11 148.98Transactions: 43.19% Blocks changed per Read: 3.93 Recursive Call %: 9.04Rollback per transaction %: 4.01 Rows per Sort: 48.64Instance Efficiency Percentages (Target 100%)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Buffer Nowait %: 99.98 Redo NoWait %: 99.99Buffer Hit %: 99.60 In-memory Sort %: 100.00Library Hit %: 97.61 Soft Parse %: 95.10Execute to Parse %: 1.47 Latch Hit %: 99.36Parse CPU to Parse Elapsd %: 62.06 % Non-Parse CPU: 90.83Shared Pool Statistics Begin End------ ------Memory Usage %: 100.00 100.00% SQL with executions>1: 30.49 31.15% Memory for SQL w/exec>1: 34.11 34.20Top 5 Timed Events~~~~~~~~~~~~~~~~~~ % TotalEvent Waits Time (s) Ela Time-------------------------------------------- ------------ ----------- --------db file sequential read 5,023,080 75,306 41.99CPU time 74,925 41.77global cache cr request 4,851,421 6,662 3.71db file scattered read 181,344 3,582 2.00latch free 4,553,880 3,572 1.99-------------------------------------------------------------从报告上看,CPU TIME在所有的事件中排在第二位,基本上和db file sequential rea d差不多。
OracleDBA学期总结31页word文档
一、简要介绍ORACLE的基本知识,以及做为DBA需要哪些技能和素质。
Oracle整体的认识。
1、物理结构(由控制文件、数据文件、重做日志文件、参数文件、归档文件、口令文件组成)一个数据库中的数据存储在磁盘上物理文件,被使用时,调入内存。
其中控制文件、数据文件、重做日志文件、跟踪文件及警告日志(trace files,alert files)属于数据库文件;参数文件(parameter file)口令文件(password file)是非数据库文件1.1数据文件:存储数据的文件.数据文件典型地代表了根据他们使用的磁盘空间和数量所决定的一个Oracle数据库的容积。
由于性能原因,每一种类型的数据放在相应的一个或一系列文件中,将这些文件放在不同的磁盘中。
1.2控制文件:包含维护和验证数据库完整性的必要信息、例如,控制文件用于识别数据文件和重做日志文件,一个数据库至少需要一个控制文件.控制文件内容。
数据库名。
表空间信息。
所有数据文件的名字和位置。
所有redo日志文件的名字和位置。
当前的日志序列号。
检查点信息。
关于redo日志和归档的当前状态信息控制文件的使用过程控制文件把Oracle引导到数据库文件的其它部分。
启动一个实例时,Oracle 从参数文件中读取控制文件的名字和位置。
安装数据库时,Oracle 打开控制文件。
最终打开数据库时,Oracle 从控制文件中读取数据文件的列表并打开其中的每个文件。
1.3重做日志文件:含对数据库所做的更改记录,这样万一出现故障可以启用数据恢复。
一个数据库至少需要两个重做日志文件.1.4 跟踪文件及警告日志(Trace Files and Alert Files)在instance 中运行的每一个后台进程都有一个跟踪文件(trace file)与之相连。
Trace file 记载后台进程所遇到的重大事件的信息。
警告日志( Alert Log)是一种特殊的跟踪文件,每个数据库都有一个跟踪文件,同步记载数据库的消息和错误.1.5参数文件:包括大量影响Oracle数据库实例功能的设定,如以下设定:。
OracleDBA性能优化8日游笔记
OracleDBA+性能优化8日游笔记——第一天(一)2009-10-12 11:31第一天:11G的优势:自动化(比10G更自动)Ora-600:未知错误数据库名:默认ORCL,11Grad control会在冲突时只选一个,最好不要重名。
基本管理:1. 安装软件2. 建库3. 启动4. 建立用户5. 给用户授权6. 为表设置存储空间7. 创建对象(如表)8. 构建好数据库之后配置网络连接(C与S之间)9. 数据保护(备份,恢复策略)10. 性能优化二1. 关系数据库基础8i ows9internet oas11G R2,9.28发布iasBea,ERP(需要做2次开发,开发工具IDS)网格管理:统一管理,全局监控Oracle提供完整的解决方案:除了游戏和操作系统都有(收购SUN前)8i ows9internet oas9i之后ias现在 Bea,ERP(需要做2次开发,开发工具IDS)主要产品:7.3,8,8i,9i(35%),10g(60%),11g R1(R2在9月28号刚出)5和6(军队可能会有)Elearning(典型应用:交易平台)askTom(Tomcat研发小组)(文档,如函数参数使用)2. DBA职责:高收入,稳定一档 (入门):3,4000~6,7000二档(熟悉):7,8000~12000,15000三档(架构):15000+第一守则:1. 备份升级前,打补丁前,迁移前2. 谨慎例:迁移顺序:导出(备份),清空,导入3. rm是危险的:删文件先确认该不该删,在之前做提示,oracle的做法:删表空间时and datafileOMF:文件创建删除由oracle自己处理ASM:oracle自动存储管理(自己的文件系统,操作系统看不到即删不到)4. 制定规范尽量减少人为错误DBA的工作:1.定期监控每日,每周,每月(空间计划)每日:确认INSTANCE状态正常检查文件系统的使用(剩余空间)检查数据库的跟踪告警文件检查数据库当日备份的有效性,及时调整备份策略检查数据文件的状态记录不是“online”的文件检查空间的使用情况:PPT给出语句列出空间剩余情况收集信息每周:检查数据增幅非常明显的对象(表空间,数据库空间),优化时优先考虑系统健康检查检查无效(一般为被动失效)的对象(视图,过程,包,触发器,索引(表move操作)等,大多因为表)和不起作用(一般为主动禁用)的对象(禁用触发器,约束等)在批量装载合法数据的时候可以禁用约束,装载数据,再启用约束,触发器类似每月:如果使用CBO(10G以后被简化了)收集统计信息计算代价(例:省时间),10G开始系统自动收集统计信息检查表空间碎片寻找数据库性能调整的机会进行性能调整提出下一步空间管理计划10G以后:自监控,自诊断,自调整预警,相关预警,活动意外事件其他工作:备份灾难测试应对领导需求变更根据新需求设计新的数据库架构方案为其他部门提供业务或脚本支持考虑存储的使用OracleDBA+性能优化8日游笔记——第一天(二)2009-10-12 11:32三.安装和新特性OUI安装工具DBCA建库删库DBUA升级库LC监听器OEM基本管理SQL*PLUSR-Man备份恢复Data Dump数据泵(导出,导入)SQL*Loader把文本数据导入到OracleSQL PLUSSQL PLUS FRO WINDOWS (SQLPLUSW)ISQL PLUS11G:SQL PLUS DEVELOPER (JAVA编写)DV数据库安全审计:控制谁可以使用AV操作安全审计:控制怎么使用删除特定的产品或功能支持新的SYSASM角色硬盘空间:3G~5G临时空间至少400M(安装时解压缩用)核心参数:以下2个一定要设共享内存段最大尺寸Shmmax = 4294967295(建议至少设置物理内存的50%,SGA50%~70%)信号量:决定进程数 Semmns 最小不低于100,建议设为proesses*2+10环境变量以下一定要设ORACLE_BASE:所有软件的基目录ORACLE_HOME:特定版本软件的主目录(当前默认的主目录)主要目录:HOME,BIN,NETWORK,RDBMSORACLE_SID:决定当前默认连接的数据库是哪个:set oracle_sid = orcl,show parameterinstance_name以下不一定要设NLS_LANG:决定语言,地区,字符集ORA_ NLS33:10和11指向nls\date目录,指向全球化特性支持文件,用locale bulidee可以看PATH:系统搜索路径,把ORACLE放前面(其实很重要,只是不属于oracle的参数)LD_LIBRARY_PATH:指向java库的路径DISPLAY 工作站名(IP):0.0数据库设置比较重要的初始化参数(建库前确定,建完后不能改或改动会有影响):Db_block_size块大小(数据仓库设小点,块大点I/O就会少点)Db_cache_sizeShared_pool_sizeLog_bufferInsrance_nameDb_nameProcesses静态(需要重启数据库),决定并发会话数其他建库时需要注意的设置:数据库字符集(大部分不能改,除非从子集变超集)数据库名(用特殊工具才能改)安装步骤:1. 检测环境2. 配核心参数(LINUX不用重启)3. 建立用户和组4. 在用户下设置环境变量5. 调OUI安装数据库软件Windows用setup,Linux and UNIX 用runinstaller6. 配置网络以及其他选项11G的升级:提供脚本进行升级前的分析简化升级过程升级速度变快了(并行编译)升级后状态工具OracleDBA+性能优化8日游笔记——第二天(一)2009-11-06 15:17由于出差很忙,每天早9点到晚11点半的工作,而且没有周6,日的休息,所以实在抽不出时间整理笔记和写BOLG,现在开始继续补上出差前的OracleDBA+性能优化笔记第二天的笔记不太好整理,因为这里包括了前4天的OracleDBA阶段的最重要的部分——Oracle体系架构,那一部分我会贴图说明,所以需要花点时间,必要的话还会再细分几部分,敬请期待.-----------------------------------------------------------------------------------------------------------------------------------------第二天Emctl start dbconsoleSqlplus / as sysdbaShow parameter MEMORY设置SGA+PGA的总值8i静态SGA9i动态SGA设置SGA_MAX_SIZE一小段连续内存区,10g SGA自动调整设置参数SGA_TARGET(0为禁用自动管理,有效值为启用自动管理)SGA_TARGET可以超过SGA_MAX_SIZE(重启后SGA_MAX_SIZE会自动调整为超过的SGA_TARGET值,所以实际应用中SGA_TARGET最多等于SGA_MAX_SIZE)Alter system set sga_target=600m;11g 内存自动调整进程:MMANSga:可以自动调整的内存区,只能动态调整的内存区,只能静态调整的内存区,其他(fixed size,查看命令show sga)一.PL/SQL开发的新特性曾经,逻辑上在未受重新定义影响的对象会失效(XX锁),11G以后不会失效Update(同时有独占的行锁和共享表锁),11G后DDL可以等待DML锁定释放DDL_LOCK_TIMEOUT初始化参数,初始为0,NOWAITLOCK TABLE命令新增了WAIT[<timeout>]子句一些命令不在用排他锁而使用共享排他锁不可见索引:no_index查询结果的高速缓存(类似存储用的二级缓存),用内存空间换时间经常使用的查询语句并且查询结果不变临时表空间收缩以前要减少临时表空间就需要删再建注意,临时区会干扰自动收缩临时表的控制临时表不存真正存数据(数据存到临时表空间中),没锁,没日志,没回滚信息,commit后就没,过去数据放在用户所在的临时表空间,11G后可以指定更易于恢复丢失的SPFILE(参数文件)其他高级新特性:ACFS,ADVM代替裸设备,自己的时间同步服务,列式压缩,物化视图的改善,物化视图的效率改善等Sybase用列式存储(用于数据仓库OracleDBA+性能优化8日游笔记——第二天(二)之Oracle体系架构详解"Oracle体系架构"为前4天的OracleDBA课程中最重要的部分,因此特别传上图片供大家理解,不过文字的部分依然是我当初的原版笔记,所以尽管有图,但能从我笔记中理解多少靠各位自己了.-----------------------------------------------------------------------------------------------------------------------------------------二.Oracle体系架构架构图:Oracle由Instance(实例)和database(一堆文件)构成。
oracleDBA学习笔记
第一章数据库概论数据库是用来存储信息。
一、四个基础的概念数据(DAT A):数据是数据库中存储的基本对象描述事物的符号记录。
●数据的种类:文本,图片,图像。
●数据的特点:数据与其语义是不可分数据库(Database DB):是长期存储在计算机内,有组织的大量数据的集合。
数据库的基本特征:⏹数据按一定的数据模型组织,描述和存储。
⏹数据能够共享。
⏹冗余度很小。
⏹数据独立性性高。
⏹易扩展。
数据库管理系统(Database managerment System DBMS)1.位于用户与操作系统之间的一层数据库管理软件。
2.基于软件,是一个大型复杂的软件系统。
DBMS的用途:可以科学的组织和存储数据,高效获取和维护数据。
DBMS的主要功能:◆数据的定义:DDL◆进行数据组织,存储,管理。
◆数据操纵功能:DML◆建立数据库,维护数据库。
◆其它的功能:与其它软件通信。
数据库系统(Database System DBS):计算机系统中引入数据库后的系统构成数据库系统。
数据库数据库管理系统应用系统数据库管理员。
DBA二、目前主流数据库微软:SQL Server Access瑞典AB公司:MysqlIBM: DB2 informixSybase SybaseOralce oracleOracle公司认识:神喻1970数据库起家1980 oracle61990 oracle795 oracle899 oralce8i2002 9i2003 10g11g三、关系型数据库数据模型:是一个用来抽象,表示和处理现实世界的数据和信息的工具。
(是对现实世界的模拟。
)三个方面的要素:●能够比较真实的模拟出现实世界。
●容易为人所理解。
●便于在计算机上实现。
数据模型分两大类:1.概念模型(信息模型)从用户的角度去建模,数据库设计方面。
2.物理模型和逻辑模型逻辑模型:网状模型,层次模型,关系模型,面向对象的模型从计算机角度去建模。
物理模型:是对数据的最底层的抽象。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
初级DBA
第一步:先认识Oracle
1)认识Oracle Database
2)了解Oracle Database的体系结构和工作原理
3)了解管理Oracle Database的常用工具有哪些?
4)了解一般DBA的日常工作内容
第二步:安装你的第一套Oracle
1)选择安装平台和软件
2)快速阅读Installation Guide,了解安装需求
3)安装Oracle相关软件
4)利用DBCA创建、配置你的第一个Oracle数据库
5)利用DBUA升级你的第一个数据库到较高版本
第三步:认识EM
DBA 2.0时代的必备工具
1)创建、配置你的第一个dbcontrol
2)通过EM来管理你的第一个Oracle Database
第四步:配置Oracle网络服务
1)理解Oracle network原理
2)利用netca配置你的第一个监听和服务
3)启动和停止监听
第五步:认识Instance
1)了解Instnace内存结构
2)了解Oracle后台进程
3)了解Oracle初始化参数的作用、并学会管理这些参数4)启动和停止数据库
--了解数据库启动/关闭的过程
第六步:认识Oracle的物理、逻辑结构
1)控制文件
2)数据文件
3)参数文件
4)日志文件
5)密码文件
6)归档文件
7)备份文件
8)其他文件
9)认识表空间
10)了解各种Segment
11)创建、管理、删除你的第一个表空间和Segment
12)创建、管理、删除你的第一个pl/sql Object
第七步:管理Oracle帐户
1)了解Oracle数据库用户的分类
2)了解Oracle权限和角色的概念
3)了解Profile作用
4)创建并管理你的第一个Oracle user
5)删除一个user
第八步:熟悉Oracle数据字典和常用动态性能视图1)了解Oracle的数据字典
2)熟悉常用的Oracle动态性能视图
第九步:了解Oracle备份/恢复的概念
1)了解Oracle备份/恢复的基本原理
2)了解常用的备份/恢复方法及工具
3)完成你的第一个备份
4)完成你的第一个恢复
第十步:学会监控数据库
1)了解被监控的对象和目的
2)熟悉Oracle日常诊断和调优的基本知识
3)配置你的第一个监控
4)诊断你的第一个问题(思路--方法)
5)利用EM查看你的监控和报告。