oracle数据库DBA管理手册1
ORACLE操作手册范本
DOC.NO. TIMESON-SM-2002-11-0001ANormal(公开)本地电信业务计费帐务系统ORACLE操作手册Version 1.0.02002.11.05TIMESON天辰科技 2000,2001,2002All Rights Reserved前言41.数据库的创建41.1.以下为ORACLE启动初始文件INITORA.ORA41.2.以下是建库脚本62.数据库基本操作112.1.数据库的正常启动112.2.安装启动与非安装启动122.3.独占和共享启动132.4.约束启动132.5.强制启动142.6.数据库关闭142.7.PL/SQL基本程序的编写152.7.1.SQL语言简介152.7.2.PL/SQL简介223.解决RDBMS问题323.1.性能优化323.1.1.优化存323.1.2.优化输入/输出363.1.3.优化排序403.1.4.优化索引建立403.2.备份和恢复403.2.1.备份提示413.3.O RACLE 8S ERVER诊断特性443.3.1.Oracle跟踪文件443.3.2.设置跟踪事件473.3.3.V$监视视图523.3.4.锁实用程序543.4.O RACLE错误分析和解决方案563.4.1.常见Oracle错误563.4.2.ORACLE部错误713.4.3.优先权1/优先权2问题分类和诊断操作73 3.5.常见问题78前言为了加强计费系统数据库的操作安全及更有效的管理计费系统数据库,编写该操作手册。
在该手册若有错误及遗漏的地方还望各位读者不吝指出与谅解。
1.数据库的创建以下仅为数据库创建的样例脚本,在实际系统中应根据数据库设计要与系统实际配置而改变参数:1.1.以下为ORACLE启动初始文件initora.ora#this sampale init file writen by wzy 2002/11/15db_name = "jf"instance_name = ora8#service_names = ora#db_files = 1024control_files = ("/home/oracle/OraCtl/control01.ctl", "/home/oracle/OraCtl/control02.ctl","/home/oracle/OraCtl/control03.ctl")open_cursors = 100max_enabled_roles = 50db_file_multiblock_read_count = 8db_block_buffers = 4096shared_pool_size = 52428800large_pool_size = 78643200java_pool_size = 20971520log_checkpoint_interval = 10000log_checkpoint_timeout = 1800 processes = 115parallel_max_servers = 5log_buffer = 32768max_dump_file_size = 10240global_names = true#oracle_trace_collection_name = ""db_block_size = 16384#remote_login_passwordfile = exclusive #os_authent_prefix = ""job_queue_processes = 4job_queue_interval = 60open_links = 10#large_pool_size = 614400java_pool_size = 20971520distributed_transactions = 10mts_dispatchers = "(PROTOCOL=TCP)(PRE=oracle.aurora.server.SGiopServer)"mts_dispatchers = "(protocol=TCP)"#compatible = 8.1.0sort_area_size = 65536sort_area_retained_size = 65536# log_archive_start = true1.2.以下是建库脚本#!/bin/shORACLE_SID=ora8export ORACLE_SIDsvrmgrlconnect internalstartup nomount pfile = $ORACLE_HOME/dbs/initora.oraCREATE DATABASE "app1"controlfile reusemaxdatafiles 500maxinstances 8maxlogfiles 32character set ZHS16GBKnational character set ZHS16GBKDATAFILE '/oradata/app1/system01.dbf' SIZE 200Mlogfile group 1 ('/opt/oracle/oradata/app1/app1_redo01.log', '/oradata/app1/app1_redo01.log') SIZE 20M,group 2 ('/opt/oracle/oradata/app1/app1_redo02.log', '/oradata/app1/app1_redo02.log') SIZE 20M,group 3 ('/opt/oracle/oradata/app1/app1_redo03.log','/oradata/app1/app1_redo03.log') SIZE 20M;/opt/oracle/product/8.1.7/rdbms/admin/catalog.sql;CREATE ROLLBACK SEGMENT r0 TABLESPACE SYSTEMSTORAGE (INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS 20); ALTER ROLLBACK SEGMENT r0 ONLINE;REM ************ TABLESPACE FOR OEM_REPOSITORY ***************CREATE TABLESPACE OEM_REPOSITORY DATAFILE '/oradata/app1/oemrep01.dbf' SIZE 5M REUSEAUTOEXTEND ON NEXT 25M MAXSIZE 80MMINIMUM EXTENT 128kDEFAULT STORAGE ( INITIAL 128k NEXT 128k MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0);REM ************** TABLESPACE FOR ROLLBACK *****************CREATE TABLESPACE RBS DATAFILE '/oradata/app1/rbs01.dbf' SIZE 200M REUSE DEFAULT STORAGE ( INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED PCTINCREASE 0);REM ************** TABLESPACE FOR TEMPORARY *****************CREATE TABLESPACE TEMP DATAFILE '/oradata/app1/temp01.dbf' SIZE 200M REUSE DEFAULT STORAGE ( INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITEDPCTINCREASE 0) TEMPORARY;REM ************** TABLESPACE FOR USER *********************CREATE TABLESPACE USERS DATAFILE '/oradata/app1/users01.dbf' SIZE 50M REUSE DEFAULT STORAGE ( INITIAL 128k NEXT 128k MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0);REM ************** TABLESPACE FOR INDEX *********************CREATE TABLESPACE INDX DATAFILE '/oradata/app1/indx01.dbf' SIZE 50M REUSE DEFAULT STORAGE ( INITIAL 128k NEXT 128k MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0);REM **** Creating four rollback segments **************add rollback segment to 20***CREATE ROLLBACK SEGMENT r01 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);CREATE ROLLBACK SEGMENT r02 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);CREATE ROLLBACK SEGMENT r03 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);CREATE ROLLBACK SEGMENT r04 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);CREATE ROLLBACK SEGMENT r05 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);CREATE ROLLBACK SEGMENT r06 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);CREATE ROLLBACK SEGMENT r07 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);CREATE ROLLBACK SEGMENT r08 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimalCREATE ROLLBACK SEGMENT r09 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);CREATE ROLLBACK SEGMENT r10 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);CREATE ROLLBACK SEGMENT r11 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);CREATE ROLLBACK SEGMENT r12 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);CREATE ROLLBACK SEGMENT r13 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);CREATE ROLLBACK SEGMENT r14 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);CREATE ROLLBACK SEGMENT r15 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);CREATE ROLLBACK SEGMENT r16 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);CREATE ROLLBACK SEGMENT r17 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);CREATE ROLLBACK SEGMENT r18 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);CREATE ROLLBACK SEGMENT r19 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimalCREATE ROLLBACK SEGMENT r20 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);ALTER ROLLBACK SEGMENT r01 ONLINE;ALTER ROLLBACK SEGMENT r02 ONLINE;ALTER ROLLBACK SEGMENT r03 ONLINE;ALTER ROLLBACK SEGMENT r04 ONLINE;ALTER ROLLBACK SEGMENT r05 ONLINE;ALTER ROLLBACK SEGMENT r06 ONLINE;ALTER ROLLBACK SEGMENT r07 ONLINE;ALTER ROLLBACK SEGMENT r08 ONLINE;ALTER ROLLBACK SEGMENT r09 ONLINE;ALTER ROLLBACK SEGMENT r10 ONLINE;ALTER ROLLBACK SEGMENT r11 ONLINE;ALTER ROLLBACK SEGMENT r12 ONLINE;ALTER ROLLBACK SEGMENT r13 ONLINE;ALTER ROLLBACK SEGMENT r14 ONLINE;ALTER ROLLBACK SEGMENT r15 ONLINE;ALTER ROLLBACK SEGMENT r16 ONLINE;ALTER ROLLBACK SEGMENT r17 ONLINE;ALTER ROLLBACK SEGMENT r18 ONLINE;ALTER ROLLBACK SEGMENT r19 ONLINE;ALTER ROLLBACK SEGMENT r20 ONLINE;ALTER ROLLBACK SEGMENT r0 OFFLINE;REM **** SYS and SYSTEM users ****************alter user sys temporary tablespace TEMP;alter user system temporary tablespace TEMP;/opt/oracle/product/8.1.7/rdbms/admin/catproc.sql;/opt/oracle/product/8.1.7/rdbms/admin/caths.sql;/opt/oracle/product/8.1.7/rdbms/admin/otrcsvr.sql;/opt/oracle/product/8.1.7/rdbms/admin/catexp.sql;/opt/oracle/product/8.1.7/rdbms/admin/catdbsyn.sql;/opt/oracle/product/8.1.7/rdbms/admin/catdefer.sql;/opt/oracle/product/8.1.7/rdbms/admin/catrep.sql;/opt/oracle/product/8.1.7/rdbms/admin/dbmspool.sql;/opt/oracle/product/8.1.7/rdbms/admin/catparr.sql;/opt/oracle/product/8.1.7/rdbms/admin/catblock.sql;connect system/manager/opt/oracle/product/8.1.7/sqlplus/admin/pupbld.sql;--create the product_profile and user_profile--CATALOG.SQL, ---加载数据库本身的数据字典视图--CATPROC.SQL, ---加载PL/SQL使用的PACKAGE--CATEXP.SQL ---加载EXPORT/IMPORT工具使用的数据字典disconnectspool offexit在数据库建立完后,可用以下语句(也可以在建库脚本中直接增加)对对tablespace增加数据文件:ALTERTABLESPACE"tablespace_name" ADD DATAFILE 'data_file_path/data_file_name' SIZE<the data file size you designed> <REUSE > <AUTOEXTEND ON NEXT{size you designed to exednd};>2.数据库基本操作2.1.数据库的正常启动正常启动数据库的选项是normal,这也是数据启动的缺省选项。
Oracle DBA 数据库日常维护手册 常用SQL 脚本
Oracle数据库日常维护【版本整理日期:2011/02/26 】版本整理人:1634068400@本文档包含以下内容:1.Oracle数据库日常维护2.Oracle DBA 常用管理脚本3.Oracle DB 常用SQL 语句/******************************************************** (若跳转不成功,请复制到浏览器或联系Q) /item.htm?id=7437120468Metalink Sharing ********************************************************/在Oracle数据库运行期间,DBA应该对数据库的运行日志及表空间的使用情况进行监控,及早发现数据库中存在的问题。
一、Oracle警告日志文件监控Oracle在运行过程中,会在警告日志文件(alert_SID.log)中记录数据库的一些运行情况:l数据库的启动、关闭,启动时的非缺省参数;l数据库的重做日志切换情况,记录每次切换的时间,及如果因为检查点(checkpoint)操作没有执行完成造成不能切换,会记录不能切换的原因;l对数据库进行的某些操作,如创建或删除表空间、增加数据文件;l数据库发生的错误,如表空间不够、出现坏块、数据库内部错误(ORA -600)DBA 应该定期检查日志文件,根据日志中发现的问题及时进行处理问题处理 启动参数不对 检查初始化参数文件因为检查点操作或归档操作没有完成造成重做日志不能切换 如果经常发生这样的情况,可以考虑增加重做日志文件组;想办法提高检查点或归档操作的效率;有人未经授权删除了表空间 检查数据库的安全问题,是否密码太简单;如有必要,撤消某些用户的系统权限出现坏块 检查是否是硬件问题(如磁盘本生有坏块),如果不是,检查是那个数据库对象出现了坏块,对这个对象进行重建表空间不够增加数据文件到相应的表空间 出现ORA-600 根据日志文件的内容查看相应的TRC文件,如果是Oracle 的bug ,要及时打上相应的补丁二、数据库表空间使用情况监控(字典管理表空间)数据库运行了一段时间后,由于不断的在表空间上创建和删除对象,会在表空间上产生大量的碎片,DBA 应该及时了解表空间的碎片和可用空间情况,以决定是否要对碎片进行整理或为表空间增加数据文件。
DBA I 实战手册
Oracle数据库基础管理(一)实战手册互联网行业资深顾问李杰斌实战成就梦想 ■ 专业铸造品质实战成就梦想 ■ 专业铸造品质ORACLE 体系结构 (3)一、 Oracle 服务器的组成 (3)二、 oracle 内存结构 (4)三、 进程结构 (5)四、 Oracle 实例管理 (6)五、 服务器进程和数据库缓冲区高速缓存 (7)六、 物理数据库结构 (8)七、 表空间和数据文件 (9)八、 Oracle 段,区,块 (10)九、 逻辑和物理数据库结构.........................................................................................10 管理oracle 实例. (13)一、 管理 oracle 初始化参数 (13)二、 数据库的关闭和启动 (16)三、 查看oracle 警告日志............................................................................................19 数据库存储结构.. (19)一、 存储结构 (19)二、 表在数据库里的存储 (20)三、 数据块 (21)四、 表空间和数据文件 (23)五、 Oracle 管理文件OMF (23)六、 表空间的管理 (24)七、 查看oracle 表表空间的使用率 (25)八、 预配置的数据库表空间 (26)九、 更改表空间大小和状态 (27)实战成就梦想 ■ 专业铸造品质ORACLE 体系结构一、 Oracle 服务器的组成ORACLE 服务器由两部分组成:实例和数据库实例由以下组成:内存结构和后台进程数据库由物理文件组成,其中必须有的文件是:数据文件,控制文件,重做日志另外还有:参数文件,口令文件,归档日志文件(这三个不是必须的)Oracle 启动以后,系统会自动分配一部分内存区,这部分内存区是锁定的,只给oracle 用的,这部分内存区叫SGA,SGA 和后台进程组成oracle 实例,既是我们常说的instance 数据库即是一堆文件。
oracle数据库管理员手册
Oracle数据库管理员(DBA)手册涵盖了广泛的主题,包括数据库安装、配置、性能调优、备份和恢复、安全性等方面。
以下是一个简要的Oracle数据库管理员手册的大纲,其中包含了一些主要的主题:1. 数据库基础知识和架构:- Oracle数据库的体系结构-数据库实例和数据库-表空间和数据文件2. 数据库安装和配置:- Oracle数据库软件的安装-创建数据库-配置监听器-网络配置3. 数据库对象管理:-表和索引的创建、修改和删除-视图、存储过程和触发器的管理-序列的创建和管理-同义词的使用4. 用户和权限管理:-用户账号的创建和管理-角色和权限管理-访问控制和安全性5. 性能调优:- SQL调优技术-索引优化-表分区和分表-优化查询计划6. 备份和恢复:-数据库备份策略-使用RMAN进行备份和恢复-数据库点恢复和时间点恢复7. 监控和诊断:-使用AWR和ADDM进行性能分析-查询V$视图和动态性能视图-警告和错误日志的管理8. 高可用性和容灾:-数据库复制和数据保护- RAC(Real Application Clusters)配置-数据库故障转移和恢复9. 安全性:-用户身份验证和访问控制-安全审计和监视-数据加密和解密10. 数据库升级和迁移:- Oracle版本升级-数据库迁移和导入/导出11. 常规维护任务:-统计信息收集和重建索引-表空间管理-定期任务和计划任务12. 实用工具:- SQL*Plus和SQLcl- Oracle Enterprise Manager(OEM)-数据库配置助手(DBCA)和其他实用工具13. 文档和资源:- Oracle文档和在线资源-社区和论坛这个大纲只是一个简单的概述,实际的Oracle数据库管理员手册可能更为详细,根据组织的需求和数据库的规模可能会有所不同。
要深入了解每个主题,建议参考Oracle官方文档和相应版本的手册。
Oracle的文档通常提供了详细的指导和最佳实践。
oracle赋dba权限
oracle赋dba权限如何给Oracle数据库用户赋予DBA权限Oracle数据库的DBA(Database Administrator)权限是指最高级别的数据库管理权限,具有该权限的用户可以对数据库进行全面的管理和控制。
在某些情况下,给予用户DBA权限是必要的,例如需要进行数据库维护、性能优化或者进行一些故障排除等任务。
下面将详细介绍如何给Oracle数据库用户赋予DBA权限的步骤。
1. 连接到Oracle数据库首先,使用管理员账号连接到Oracle数据库。
这个管理员账号通常是sys 或system用户,拥有sysdba权限。
连接到Oracle数据库的命令可以使用SQL*Plus工具或者命令行界面。
例如,在Windows系统上可以使用以下命令连接到数据库:sqlplus / as sysdba2. 创建新的数据库用户接下来,需要创建一个新的数据库用户来赋予DBA权限。
使用以下SQL 语句创建一个新用户,例如,创建一个名为new_user的用户:SQL> CREATE USER new_user IDENTIFIED BY password;在这里,new_user是新用户的用户名,password是新用户的密码。
3. 授权DBA权限接下来,使用以下SQL命令将DBA角色授予新用户:SQL> GRANT DBA TO new_user;这个命令将DBA角色授予新创建的用户,使其具有DBA权限。
4. 验证DBA权限为了验证新用户是否已成功获得DBA权限,可以先注销当前的数据库连接,然后使用新用户重新连接到数据库。
使用以下命令重新连接到数据库:sqlplus new_user/password as sysdba连接成功后,可以使用以下命令查询用户的权限:SQL> SELECT * FROM session_privs;这个查询将会显示新用户所具有的权限列表,其中应该包含DBA权限。
ORACLE数据库DBA(精华教程)
ORACLE的体系结构
物理结构
日志文件(Log File)记录所有对数据库数 据的修改,以备恢复数据时使用。其特点如下:
• 每一个数据库至少包含两个日志文件组。 • 日志文件组以循环方式进行写操作。 • 每一个日志文件成员对应一个物理文件。
ORACLE的体系结构
物理结构
日志开关(Log Switch)是为实现日志文件 组的循环使用而设臵的。出现日志开关的情况
• DBWR
后台进程
数据库写进程
主要的后台进程有
• LGWR
• CKPT
日志写进程
检查点写进程
• SMON
• PMON • ARCH • RECO • LCKn
系统监控进程
进程监控进程 归档进程 恢复进程 封锁进程
ORACLE的体系结构
后台进程
DBWR(Data Base Writer)
将数据缓冲区中所有修改过的缓
ARCH
存储介质
ORACLE的体系结构
ARCH(Archiver)
后台进程
• LOG_ARCHIVE_DEST ARCH 当数据库在归档模式下操作时, 该参数确定了日志文件的归档目标。 • LOG_ARCHIVE_FORMAT 存储介质 当数据库在归档模式下操作时, 该参数确定了归档日志文件的缺省 文件名格式。
控制文件(Control File)是一个较小的二 进制文件,用于描述数据库结构。 要点注意: 描述信息如下: • 数据库建立的日期。 • 在打开和存取数据 库时都要访问该文件。 • 数据库名。 • 数据库中所有数据 • 镜像控制文件。 • 记录控制文件名及 文件和日志文件的文 路径的参数为: 件名及路径。 CONTROL_FILES • 恢复数据库时所需 的同步信息。
《DBA团队管理手册》
为了给公司及开发团队提供更高更好的服务,我们就需要不断的学习新知识,积累所必 需的基础技能和技术,并不断的壮大队伍。基于这样的思想,我们确定了自己的培训培养计 划。主要分两部分,对内培养和对外培训。
对外培训:目标对象主要是新进的开发人员,可以提高他们的数据库设计及 SQL 的使 用能力,更好更快的投入工作。培训方式是集中人员以授课方式进行,还有就是在平时以 Share Session 方式共享和交流当前流行及成熟的数据库相关技术。
3. 加班不包括: a) 因为员工自身能力不足导致无法在规定时间内完成开发任务。 b) 员工利用非工作时间学习项目相关或不相关技术知识。 c) 员工希望早于规定时间完成开发任务而占用非工作时间。 d) 员工因私人原因占用工作时间,而利用非工作时间补足。
请假制度细则
1. 员工需要根据实际项目情况申请年假,DBA 经理在得到员工请假申请时,需和项目经理 或相关的开发经理协商,如果项目紧张,DBA 经理可根据实际情况拒绝员工年假申请。
4.会议记录: 会议开始前填写参会人员的登记表。 每次会议都需要将会议内容记录起来。 主要记录如下内容: a) 会议所有讨论过的任务列表 b) 通过或已经完成的任务 c) 会议的结果,达到的目的
第 6 页 共 16 页
第三章 人才培养、培训制度
人才培养
为了发挥 DBA 团队的作用,更好的为公司开发团队服务,就需要我们不断的壮大队伍, 提高每个成员的技术能力,专业技能及分析问题、解决问题的能力,同时也要提高和开发人 员或客户的沟通能力,积极、严谨、有调理、有责任的工作态度。我们就需要对各成员进行 培养及培训。
比较有兴趣。我们可以重点培养,使之加入我们团队。 2、初级 DBA 成员,刚接触数据库管理,一年左右的数据库使用经验。 3、DBA 成员,需要了解和使用数据库的一些高端技术,但目前内部其他成员也缺少这
Oracle数据库维护手册范本
数据库维护手册目录1前言 (3)2ORACLE维护方法 (3)2.1 数据库启动 (3)2.2 数据库停止 (3)2.3 监听器的启停 (4)2.4 用户管理 (4)2.5 数据库参数文件 (5)2.6 数据库概况的查询 (6)2.7 常用对象的创建和使用 (7)2.8 失效数据库对象的检测和编译 (7)2.9 数据备份的技巧 (8)2.10 数据库命中率的监测 (10)2.11 最消耗资源进程的检测 (11)2.12 锁的监测及处理 (12)2.13 SQL语句执行技巧 (12)2.14 表空间的管理 (13)2.15 数据文件I/O的统计优化 (14)2.16 错误号的跟踪出理 (14)3日常问题处理流程 (15)3.1 ORACLE数据库日常检查 (15)3.2 会话连接日志的清理 (15)3.3 数据库hang住时的停止和方法 (15)3.4 扩表空间方法 (16)3.5 死锁会话的杀死 (16)3.6 未决两阶段事务的回滚............................. 错误!未定义书签。
4相关通用工具介绍. (17)4.1 EM工具.......................................... 错误!未定义书签。
1前言本文主要是简单介绍和总结日常Oracle数据在运行维护方面的一些方法和技巧。
通过该手册以便于相关技术人员的日常运维工作。
2ORACLE DB维护方法2.1数据库启动1、以oracle用户用户登录,sqlplus ‘/as sysdba’sqlplus> startup2、以oracle用户或ora816用户登录sqlplus ‘/as sysdba’sqlplus >startup nomuntsqlplus >alter database mount;sqlplus >alter database open;3、第一种启动方式是最常用的手工启动方式,第二种启动方式是数据库有故障时常用的逐步启动方式,可以观察故障点。
详细版oracle配置手册.doc.doc
1 安装oracle1.1安装服务1)双击oracle安装程序,开始安装,单击下一步2)选择安装路径,单击下一步3)选择安装的产品(此处选Oracle Database 9.2.0.1.0),单击下一步4)选择安装的版本(默认选企业版),单击下一步5)选择数据库配置(默认选择通用),单击下一步6)设置端口号(默认2030),单击下一步7)设置数据库名及SID名称,单击下一步(sywebserver)8)选择数据库文件目录的路径,单击下一步9)设置数据库字符集(默认),单击下一步10)单击“安装”,开始安装数据库11)安装过程中会提示插入磁盘2,选择磁盘2的路径,单击“确定”继续安装12)之后还会提示插入磁盘3,选择磁盘3的路径,单击“确定”继续安装13)安装程序对数据库进行配置并创建数据库14)设置数据库的管理员SYS、System的密码,此处分别设为sys、system。
1.2创建用户及数据库1)在开始->程序->Ora92->Enterprise Manager Console打开oracle的管理界面2)选择独立启动,单击确定3)打开数据库,输入用户名、口令(system、system)登陆4)打开安全性->用户,右键单击,在菜单中选择创建5)在弹出的窗口输入名称及口令(syportal、syportal)6)切换到角色选项卡,选择DBA角色,单击下箭头添加7)将DBA的管理选项勾选,单击创建8)提示用户创建成功9)重复步骤4)~8),分别创建用户syprivilege(用户/密码:syprivilege/syprivilege)、usm(用户/密码:usm/usm)1.3 导入数据1)开始菜单——运行——cmd2)进入到数据文件的存放路径3)执行数据恢复语句imp syportal/syportal fromuser=hljportal touser=syportal file=portaldata0115.dmp (imp 登陆用户/密码fromuser=原数据库用户名touser=现数据库用户file=数据数据文件名log=log.text)4)执行imp syprivilege/syprivilege fromuser=hljsyprivilege touser=sysyprivilege file=portaldata0115.dmp5)执行imp ums/ums fromuser=ums touser=ums file=portaldata0115.dmp。
ORACLE数据库部署手册范本
ORACLE数据库部署手册1.Oracle简介Oracle Database,又名Oracle RDBMS,或简称Oracle。
是甲骨文公司的一款关系数据库管理系统。
它是在数据库领域一直处于领先地位的产品。
可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。
它是一种高效率、可靠性好的适应高吞吐量的数据库解决方案。
2.Oracle安装医院部署数据库要求使用Oracle 11G R2(64Bit)正版数据库,建议使用医院采购的正版oracle11g数据库软件。
本文档详细介绍Oracle11gR2的安装步骤、常用服务、日常使用等。
本文档主要介绍Oracle11gR2数据库的安装步骤,关于不同应用程序的具体数据库配置,则在对应的应用程序的产品手册中详细描述。
2.1.安装环境的要求2.2.安装步骤1)运行安装文件打开安装包后,双击setup.exe文件;稍等片刻后,出现如下所示的安装界面;如下图1所示:图 12)配置安全更新等oracle安装程序启动以后,第二步就进入了【配置安全更新】环节,这一步可将自己的电子信息填写进去点击“下一步”;如下图2所示:图 23)选择安装选项安装选项有三种选择:新部署数据库时选择“创建和配置数据库”,点击下一步;当安装完毕数据库管理软件后,系统会自动创建一个数据库实例,点击“下一步”;如下图3所示:图 34)系统类选项设置进入“系统类选项设置”,系统类选项设置分为桌面类和服务器类两种;如下图4所示:桌面类:使用桌面类系统安装。
使用WINDOWS系统则使用此类典型安装。
服务器类:适合linux服务器环境下的高级安装。
图 45)典型安装配置选择桌面类之后,默认为典型安装,填写完成后,点击“下一步”继续;如下图5所示:Oracle基目录:目录路径不要含有中文或其它的特殊字符软件位置:也即是实例存储的目录数据库文件位置:放置数据库文件的位置数据库版本:这里选择使用企业版字符集:选择默认值ZHS16GBK字符集(此处字符集一定要选择这个)全局数据库名称(即实例名称)和口令:全局数据库名(数据库名称):orcl,管理口令(密码):根据需要设置注:此处实例名称和口令十分重要(相当于SQL数据库的登录名和密码),请单独记录保存。
关于oracle 用户去DBA权限的管理
为了规范数据库用户的操作,特制订如下规范:一、每个系统建立自己的数据库文件和索引文件,每个文件不允许超过2G,不支持自动扩展,系统根据自己的情况申请相应大小的数据文件;创建文件系统的命令为:(1)创建表空间Create tablespace coredb_data logging datafile'/home/oracle/oracle/product/10.2.0/oradata/orcl/coredb_data01.dbf'size 2G autoextend off(2)创建索引空间Create tablespace coredb_idx logging datafile'/home/oracle/oracle/product/10.2.0/oradata/orcl/coredb_idx01.dbf'size 1G autoextend off(3)增扩表空间alter tablespace coredb_idx add datafile'/home/oracle/oracle/product/10.2.0/oradata/orcl/coredb_idx02.dbf' size 2Gautoextend off(4)查看表空间select dbf.tablespace_name,dbf.totalspace "总量(M)",dbf.totalblocks as 总块数,dfs.freespace "剩余总量(M)",dfs.freeblocks "剩余块数",(dfs.freespace / dbf.totalspace) * 100 "空闲比例"from (select t.tablespace_name,sum(t.bytes) / 1024 / 1024 totalspace,sum(t.blocks) totalblocksfrom dba_data_files tgroup by t.tablespace_name) dbf,(select tt.tablespace_name,sum(tt.bytes) / 1024 / 1024 freespace,sum(tt.blocks) freeblocksfrom dba_free_space ttgroup by tt.tablespace_name) dfswhere trim(dbf.tablespace_name) = trim(dfs.tablespace_name)二、创建用户的命令使用ORACLE用户执行如下命令(无DBA权限):sqlplus '/as sysdba' <<!drop user <user> cascade;create user <user> identified by <user> default tablespace coredb_data temporary tablespace temp;grant connect to <user>;grant resource to <user>;grant create session to <user>;grant create view to <user>;alter user <user> quota unlimited on coredb_idx;alter user <user> quota unlimited on coredb_data;!三、检查用户是否有DBA权限select * from sys.dba_role_privs where granted_role='DBA';GRANTEE GRANTED_ROLE ADM DEF------------------------------ ------------------------------ --- ---------------------- SYSTEM DBA YES YESGLSDB DBA YES YESSHENG DBA YES YESSYS DBA YES YES COREDB DBA YES YES四、去除DBA权限1)Sqlplus “/as sysdba”2)revoke dba from <user>;3)exit;五、用户的权限(1)查看用户权限;(2)增加用户权限;当系统报错:ORA-01031: 权限不足grant create any synonym to dhrep;//增加同义词权限(3)解除用户权限;五、异常情况的处理(1)ora-01045:user system lacks create session privilege; logon denied 解决办法:1)使用oracle 用户执行sqlplus “/as sysdba”2)grant create session,resource to <user>;3)exit;(2)ORA-1536:space quota exceeded for tablespace解决办法:1)使用oracle 用户执行sqlplus “/as sysdba”2)Grant unlimited tablespace to <user>;3)Exit;(3)ORA-01950: 对表空间'USERS' 无权限解决办法:1)使用oracle 用户执行sqlplus “/as sysdba”2)Conn <user>/<passwd>;3)select * from user_sys_privs;USERNAME PRIVILEGE ADM-----------------------------------------------------coredb CREATE SESSION NO4)grant connect,resource,create session,create view to glsdb_hn;5)select * from user_sys_privs;USERNAME PRIVILEGEADM------------------------ ---------------------------------------- ---coredb_HN CREATE VIEW NOcoredb_HN CREATE SESSION NOcoredb_HN UNLIMITED TABLESPACE NO 6)Exit;(4)没有DBA权限后,如果涉及跨db_user访问其他用户的,需要以下方法:1)创建存储过程将两个用户名作为参数传给存储过程:/*把用户(From_user)所有表的读写权限赋给用户(To_user)的存储过程为*/create or replace procedure grantUser(From_user in varchar2, To_user in varchar2) isretval number;scursor int;v_tablename VARCHAR2(60);sqlstr varchar2(200);cursor c_tablename is select table_name from dba_tables where owner=From_user; BEGINfor v_tablename in c_tablenameloopsqlstr := 'grant select,delete,update,insert on '|| From_user||'.'||v_tablename.table_name || ' to '||To_user;scursor := dbms_sql.open_cursor;dbms_sql.parse(scursor,sqlstr, dbms_sql.native);retval := dbms_sql.execute(scursor);dbms_sql.close_cursor(scursor);end loop;exceptionWHEN NO_DATA_FOUND THENDBMS_OUTPUT.PUT_LINE('你需要的数据不存在!');WHEN TOO_MANY_ROWS THENDBMS_OUTPUT.PUT_LINE('程序运行错误!请使用游标');WHEN OTHERS THENDBMS_OUTPUT.PUT_LINE('发生其它错误!');END grantUser;//*把用户(From_user)所有表的读写权限从用户(To_user)收回的存储过程为*/ create or replace procedure revokeUser(From_user in varchar2, To_user in varchar2) isretval number;scursor int;v_tablename VARCHAR2(60);sqlstr varchar2(200);cursor c_tablename is select table_name from dba_tables where owner=From_user; BEGINfor v_tablename in c_tablenameloopsqlstr := 'revoke select,delete,update,insert on '||From_user||'.'||v_tablename.table_name || ' from '||To_user;scursor := dbms_sql.open_cursor;dbms_sql.parse(scursor,sqlstr, dbms_sql.native);retval := dbms_sql.execute(scursor);dbms_sql.close_cursor(scursor);end loop;exceptionWHEN NO_DATA_FOUND THENDBMS_OUTPUT.PUT_LINE('你需要的数据不存在!');WHEN TOO_MANY_ROWS THENDBMS_OUTPUT.PUT_LINE('程序运行错误!请使用游标');WHEN OTHERS THENDBMS_OUTPUT.PUT_LINE('发生其它错误!');END revokeUser;2)执行存储过程(注意,存储过程的名称不能一样,否则会被替换)Execute grantUser / revokeUser;3)如果增加新的表,还需要充分执行同样的操作;。
oracle中文使用手册
oracle中文使用手册Oracle是一款功能强大的关系型数据库管理系统,广泛应用于企业数据管理和应用开发领域。
本手册将详细介绍Oracle数据库的基本概念、常用命令和操作方法,以帮助初学者快速上手和熟练使用Oracle。
1. Oracle简介Oracle是美国Oracle公司开发的一种关系型数据库管理系统。
它是目前企业级应用系统首选的数据库产品之一,被广泛应用于各个行业的数据管理和应用开发中。
Oracle具有可靠性高、性能优异、安全性强等特点,成为大型企业数据处理的首选。
2. 安装与配置在开始使用Oracle之前,首先需要进行安装和配置。
可以从Oracle官方网站下载安装程序,根据提示进行安装。
安装完成后,需要进行一些基本的配置,如创建数据库实例、设置监听器等。
详细的安装和配置过程可以参考Oracle官方提供的文档或手册。
3. 数据库连接与登录使用Oracle数据库前,需要先进行数据库连接和登录。
可以使用SQL*Plus命令行工具或Oracle SQL Developer等图形化界面工具来进行连接和登录。
在连接时需要提供数据库的主机名、端口号和SID等信息,以及合法的用户名和密码。
连接成功后,即可开始对数据库进行操作。
4. SQL基本操作SQL是结构化查询语言,用于在关系型数据库中进行数据的增删改查等操作。
下面介绍一些常用的SQL命令:- 创建表: 使用CREATE TABLE语句可以创建数据表,并指定表的字段、数据类型、约束等信息。
- 插入数据: 使用INSERT INTO语句可以向表中插入数据。
- 更新数据: 使用UPDATE语句可以更新表中的数据。
- 删除数据: 使用DELETE FROM语句可以删除表中的数据。
- 查询数据: 使用SELECT语句可以查询表中的数据。
5. 数据库事务和锁机制数据库事务是指对数据库进行的一系列操作,要么全部执行成功,要么全部不执行。
Oracle提供了事务管理机制,可以确保数据库的一致性和完整性。
Oracle Database 19c RAC 管理工作坊模块 1-6说明书
Oracle Database 19c: RAC Administration WorkshopModule 1: Grid Infrastructure: Overview•Grid Infrastructure: Overview•Clusterware Architecture and Cluster Services•Oracle Clusterware Initialization•Grid Naming Service (GNS)Module 2: RAC Databases Overview and Architecture•RAC Databases Overview and Architecture•Cluster-Aware Storage Solutions•Levels of Scalability•Parallel Execution with RACModule 3: Installing with Configuring Oracle RAC•Installing with Configuring Oracle RAC•Installing the Oracle Database Software•Database Content•Background Processes Specific to Oracle RACModule 4: Oracle RAC Administration•Oracle RAC Administration•Redo Log Files and RAC•Local Temporary Tablespaces•Switch between Automatic and Manual Policies•Parameters That Require Unique SettingsModule 5: Upgrading and Patching Oracle RAC•Upgrading and Patching Oracle RAC•OPatch: OverviewModule 6: Managing Backup and Recovery for RAC•Managing Backup and Recovery for RAC•Media Recovery in Oracle RAC•Oracle Recovery Manager•Distribution of BackupsModule 7: Managing High Availability of Services•Managing High Availability of Services•Default Service Connections•Using Service with Client Applications•Using Service with the Resource Manager•Service Aggregation and TracingModule 8: High Availability for Connections and Applications•High Availability for Connections and Applications•Implementing FAN Events•Server-Side Callout Filter: Example•TAF Basic Configuration on Server-Slide: Example•What Is Application Continuity?Module 9: Multitenant Architecture and RAC•Multitenant Architecture and RAC•Containers•Connection to a Non-RAC CDB•Creating a RAC CDB•Adding a PDB to a RAC CDBModule 10: Quality of Service Management•Quality of Service Management•Qos Management Policy Sets•Performance Objectives。
Oracle DBA成功的必备手册
DBA不是纯技术活Oracle DBA成功的几个要素Oracle DBA成功的必备手册本系列文章由三部分组成,为Oracle数据库管理员(DBA)面试成功的必备手册。
本专题内容囊括从DBA最初的面试开始,从写“杀手简历”到求职信、到面试过程到Oracle认证再到上升到公司高层最后到你成为公司里的明星DBA。
专家为你一一指点迷津,最终让你登上成功的宝座。
DBA面试技巧现在DBA这类人才的确很缺乏,但是这并不意味你只需要简单地提交简历,等待着安排工作。
你还需要遵循一些基本的商务规则。
Michael Hillenbrand总结了他20多年的工作经验,他聘用过50名DBA,面试、评审过上万份求职者。
让我们一起阅读他给出的在面试过程中基础知识、了解大多数到底主管需要找到什么样的DBA。
工作中DBA应具备的两大技能在第一个章节中,我们谈到了DBA如何才能找到一份好工作。
本节主要讲述DBA在获得了工作之后你需要做什么。
因为持续要求减少IT成本,DBA们不能再被看作是主要的成本负担。
相反,他们必须努力于被公司认可和证明他们的价值。
本节将集中讲述两方面内容:你作为一个DBA需要具备的技术(硬性)实力和非技术(软性)实力。
专家还提出了关于怎样同管理层打交道和通过不断的增加基础价值来保证工作的安全性的建议。
所以准备好步出传统的DBA角色,超越基本的数据库管理工作,证明你自己是公司的无价资产。
Oracle认证本系列的最后一个章节侧重介绍Oracle DBA认证的益处。
为什么是否经过认证是数据库管理员和主管们一直广泛争论的话题、怎样衡量获得Oracle认证的成本和获得益处。
Hillenbrand还详细解释OCA、OCP以及OCM认证之间的不同、获得认证的好、坏理由等等。
DBA面试:回归根本(一)你可能觉得很奇怪,许多DBA和大部分与IT职位相关的职位都会有很高的要求。
这就好像他们生活在网络时代里。
现在是人才缺乏的时代。
我们说的“人才缺乏”是由很多因素造成的,包括后来的生育节制和后来IT领域里拥有大学学历人才的减少。
DBA日常维护工作手册参考
Oracle DBA日常维护工作手册参考概述 (2)第一章 . 事前阶段 (3)一、日常工作-每天应做工作内容 (3)1、工作内容-日常环境监控 (3)1.1系统运行环境监控 (3)1.2数据库运行状况监控 (3)2、工作内容-日常性能监控 (4)2.1 间隔一段时间使用操作系统top等工具监控系统资源动态运行状况 (4)2.2间隔一段时间对数据库性能进行监控 (4)3、工作内容-日常数据库管理 (13)3.1一天内间隔一定时间运行 (13)3.2 每天工作结束后、系统空闲时运行 (25)二、日常工作-每隔一周工作内容 (45)1. 文件整理工作 (45)2. 数据库全量备份 (45)2.1 Oracle 9i RMAN自动化脚本方式全量备份 (45)2.2 Oracle 10g OEM 图形方式创建RMAN全量备份数据库任务 (46)3. 根据一周数据增长率分析预留数据文件下一周所需增长空间 (46)3.1 SQL脚本方式查看 (46)3.2 Oracle 9i OEM 数据文件管理 (47)3.3 Oracle 10g OEM 数据文件管理 (48)4. 索引使用情况及碎片分析 (48)4.1表包含的索引及相关列检查............................................ 错误!未定义书签。
4.2自动化脚本方式对索引进行碎片分析 ............................ 错误!未定义书签。
4.3打开索引自动监控开关.................................................... 错误!未定义书签。
5. 对用户所有表、索引进行统计分析 (49)5.1 查询EAS用户所有表、索引的最新统计分析时间 (49)5.2 自动化脚本方式对所有表、索引统计分析 (49)5.3 Oracle 10g OEM图形化自定义对所有表、索引统计分析的自动化调度任务 (49)6. 导出表、索引最新统计分析数据 (55)7. 性能报告分析 (56)三 、 日常工作-每月应做工作内容 (56)1. 性能全面分析 (56)全面分析一次STATSPACK报告 (56)空间使用增长的全面分析 (56)2. 备份数据转备 (56)四 日常工作-数据库第一次安装部署后需做的工作 (56)1. Statspack-系统快照采集工具初始化 (56)2. 创建统计信息导出表 (57)3. 运行EAS用户下所有表、索引统计分析,导出基准统计信息 (57)4. 创建Oracle10g 逻辑备份dump文件存放目录 (57)第二章 事中阶段 (58)一、Oracle数据库出现问题时需掌握的相关信息 (58)1. 问题症状描述 (58)2. 问题在什么地方出现 (58)3. 问题在什么时间出现 (58)4. 问题在什么条件下出现 (58)5. 问题涉及的范围 (59)6. 问题是否能重现 (59)7. 数据库运行环境软、硬件基本信息 (59)8. Oracle性能相关 (59)二、Oracle数据库问题的解决途径 (60)概述该文档主要目的是降低现场实施人员及用户Oracle数据库的管理难度,提高Oracle数据库技术能力,文档针对Oracle9i、10g两个版本提供了一套完整的Oracle数据库监控、管理的思路、方法步骤,依照该手册进行Oracle数据库的日常工作,能有效的把握Oracle后台数据库的整体运行健康状况,通过收集相关重要信息分析,能很好的防范即将出现的系统风险,系统出现问题后尽快的定位问题,现场解决一部分常规数据库问题。
oracle 数据库管理员日常操作手册
Oracle数据库管理员日常操作手册===================一、用户管理------### 1.1 创建用户1. 打开Oracle数据库管理工具(如SQL*Plus或SQL Developer)。
2. 使用管理员账户(如sys)登录。
3. 执行以下SQL语句创建用户:```sqlCREATE USER username IDENTIFIED BY password;```其中,`username`为用户名,`password`为密码。
4. 可选:为新用户分配表空间。
例如,执行以下语句将用户分配到默认的表空间:```sqlALTER USER username DEFAULT TABLESPACE tablespace_name;```其中,`tablespace_name`为要分配给用户的表空间的名称。
### 1.2 修改用户密码1. 打开Oracle数据库管理工具。
2. 使用管理员账户登录。
3. 执行以下SQL语句修改用户密码:```sqlALTER USER username IDENTIFIED BY new_password;```其中,`username`为要修改密码的用户名,`new_password`为用户的新密码。
### 1.3 删除用户1. 打开Oracle数据库管理工具。
2. 使用管理员账户登录。
3. 执行以下SQL语句删除用户:```sqlDROP USER username;```其中,`username`为要删除的用户名。
二、数据库备份与恢复----------### 2.1 执行完整备份1. 打开Oracle数据库管理工具(如Enterprise Manager)。
2. 选择要进行备份的数据库。
3. 执行备份命令。
通常使用类似以下的命令:```bashRMAN> RUN {2> ALLOCATE CHANNEL c1 DEVICE TYPE DISK;3> BACKUP DATABASE FORMAT '/path/to/backup/location/backup_date' PLUS ARCHIVELOG;4> }```其中,`/path/to/backup/location/`为备份文件的存储路径,`backup_date`为备份日期和时间。
数据库管理员操作手册
数据库管理员操作手册摘要:1.数据库管理员操作手册概述2.数据库管理员的职责3.数据库管理员的基本操作4.数据库管理员的进阶操作5.数据库管理员的维护和管理工作6.数据库管理员的注意事项正文:【数据库管理员操作手册概述】数据库管理员操作手册是一本针对数据库管理员(DBA)的工作指南,旨在帮助他们更好地管理和维护数据库系统。
本文将详细介绍数据库管理员的职责、基本操作、进阶操作以及维护和管理工作等方面的内容,以帮助数据库管理员更加高效地完成任务。
【数据库管理员的职责】数据库管理员主要负责以下职责:1.数据库的创建、维护和删除;2.数据库性能优化和调整;3.数据库安全管理,包括用户权限设置和数据加密等;4.数据库备份和恢复;5.数据库日志管理和分析;6.数据库监控和故障排除;7.数据库文档编写和维护。
【数据库管理员的基本操作】数据库管理员的基本操作包括:1.登录数据库管理系统(DBMS),例如MySQL、Oracle 等;2.创建数据库,包括设置数据库名称、字符集、存储选项等;3.创建表空间,用于存储数据;4.创建表,包括定义表名、字段、数据类型、主键和外键等;5.插入、更新和删除数据;6.查询和筛选数据;7.创建和管理索引,以提高查询效率。
【数据库管理员的进阶操作】数据库管理员的进阶操作包括:1.数据库性能优化,包括SQL 优化、索引优化、内存管理和I/O 优化等;2.数据库安全管理,包括用户权限设置、角色管理、数据加密和审计等;3.数据库备份和恢复策略制定,包括全备份、增量备份和差异备份等;4.数据库复制和分布式管理,包括主从复制、多主复制和数据分片等。
【数据库管理员的维护和管理工作】数据库管理员的维护和管理工作包括:1.定期监控数据库性能,如CPU 使用率、内存使用率、I/O 使用率等;2.定期检查数据库日志,确保日志记录完整且无异常;3.定期备份数据库,并检查备份文件的完整性和可恢复性;4.及时处理数据库故障,如死锁、表空间不足等;5.编写和更新数据库文档,包括数据字典、操作手册等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4 第一部分 数据库体系结构
下载
• 序列。 • 过程、函数、软件包和触发器。 • 同义词。 • 权限及角色。 • 数据库链接。 • 段、盘区和块。 • 回滚段。 • 快照与显形图。 下面对上述每一种元素进行详细介绍。
1.4.1 表、列和数据类型
表是数据在一个 Oracle数据库中的存储机制,如图 1-1所示,它包含一组固定的列。表中 的列描述该表所跟踪的实体的属性,每个列都有一个名字及各自的特性。
1.2.2 文件
每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据文件 (datafile)。一个数 据文件只能属于一个表空间。在 Oracle 7.2中,数据文件创建后可改变大小。创建新的表空间 需要创建新的数据文件。
数据文件一旦加入到表空间中,就不能从这个表空间中移走,也不能与其他表空间发生 联系。
1.1 数据库概述及实例
要了解 Oracle体系结构,必须先了解两个基本概念:数据库和实例。下面两节将详细描述 这两个基本概念及其在 Oracle中的实现。
1.2 数据库
数据库(database)是一个数据集合。 Oracle能够提供按照一致性方式定义的定义模型 (称作 关系模型 )存储和访问数据的方法,因此 Oracle被认为是一种关系数据库管理系统 (RDBMS)。 对“数据库”一词的大多数引用不仅是指物理的数据,也指本章中描述的物理、内存及进程 对象的组合。
下载
3 第1章 Oracle体系结构
1.3 实例
为了访问数据库中的数据, Oracle使用一组所有用户共享的后台进程。此外,还有一些存 储结构(统称为System Global Area,即SGA)用来存储最近从数据库查询的数据。数据块缓存 区和SQL共享池(Shared SQL Pool)是SGA中的最大部分,一般占分配给 SGA的内存95%以上。 通过减少对数据文件的 I/O次数,这些存储区域可以改善数据库性能。
表1-1列出了可用的数据类型。
数据类型 CHAR NCHAR VA R C H A R 2 N VA R C H A R 2 DATE
NUMBER
LONG R AW LONG RAW MLSLABEL BLOB CLOB NCLOB BFILE R据类型
描述
CHECK(检查)约束条件确保指定列中的值符合一定的条件 (如本例中, Salary列的值小于 1 0 0 0 0 0 0 )。C H E C K列约束条件不能引用一个独立表。非空值约束条件被数据库看作是一个 CHECK约束条件。
另一个约束条件是 UNIQUE(唯一性),用于保证应具有唯一性而又不是主键的一部分的那 些列的唯一性。在这个例子中, Soc_Sec_Num列拥有 UNIQUE约束条件,所以表中的每个记 录都必须有该列的唯一值。
除了表1-1所列的数据类型外, Oracle还提供可作为 ANSI标准数据类型的替代类型。对于 ANSI数据类型 CHARACTER及CHAR ,使用 Oracle的CHAR数据类型;对于 ANSI数据类型 CHARACTER VARYING及CHAR VARYING,使用 Oracle的VARCHAR2数据类型;对于
表通过其共用的列相互关联。可以要求数据库通过引用完整性 (referential integrity)实施这 些关联。如果使用 Oracle面向对象的特征,就可以通过称作对象 ID(OID)的内部引用使行相互 关联。引用完整性通过约束条件在数据库级实施。
1.4.2 约束条件
可以在一个表的列上创建约束条件 (constraint),当一个约束条件应用于一个表时,表中的 每一行都必须满足约束条件定义所规定的条件。在下面的 create table命令中,表 EMPLOYEE 就是由多个约束条件创建的。
下载
第一部分 数据库体系结构
第1章 Oracle体系结构
每一种新版本的 Oracle,都要增加一些新的性能或对原有性能进行某些改善。在 Oracle8i 中,除了增加许多新的性能外,还改进了原版本的许多功能。同时 Oracle增加了许多新的工具 以简化数据库管理任务。在本书的第一部分,你不仅能看到对 Oracle体系结构及其实现的综合 介绍,而且还将看到创建 Oracle数据库所需要采取的步骤。
决定实例的大小及组成的参数存储在 init.ora文件中。实例启动时需要读这个文件,并且 在运行时可以由数据库管理员修改。对该文件的任何修改都只有在下一次启动时才起作用。 实例的init.ora文件名通常包含该实例的名字;如果一个实例名为 ORCL,则init.ora文件通常将 被命名为 initorcl.ora。另一个配置文件 config.ora存放一些在数据库创建后就不再改变的变量 值(如数据库的块大小 )。实例的 config.ora文件名通常也包含该实例的名字;如果实例名字为 ORCL,则config.ora文件一般将命名为 configorcl.ora。为便于使用 configorcl.ora设置值,在实 例的init.ora文件中,该文件必须通过 IFILE参数作为包含文件列出。
固定长度字符域,最大长度可达 2 000 个字节 多字节字符集的固定长度字符域,长度随字符集而定,最多为2 000个字符或2 000个字节 可变长度字符域,最大长度可达 4 000 个字符 多字节字符集的可变长度字符域,长度随字符集而定,最多为 4 000个字符或4 000个字节 用于存储全部日期的固定长度 (7个字节)字符域,时间作为日期的一部分存储其中。除非 通过设置init. ora文件的NLS_DATE_FORMAT参数来取代日期格式,否则查询时,日期以 DD-MON-YY格式表示,如 13-APR-99表示1999.4.13 可变长度数值列,允许值为 0、正数和负数。 NUMBER值通常以 4个字节或更少的字节存 储 可变长度字符域,最大长度可到 2GB 表示二进制数据的可变长度字符域,最长为 2 000 个字节 表示二进制数据的可变长度字符域,最长为 2GB 只用于Trusted Oracle,这个数据类型每行使用 2至5个字节 二进制大对象,最大长度为 4GB 字符大对象,最大长度为 4GB 多字节字符集的 CLOB数据类型,最大长度为 4GB 外部二进制文件,大小由操作系统决定 表示RowID的二进制数据,Oracle 8 RowID的数值为10个字节,在 Oracle7中使用的限定 RowID格式为6个字节 用于数据寻址的二进制数据,最大长度为 4 000 个字节
本书的第二部分介绍管理 Oracle数据库的具体方针,例如回滚段的管理及口令的建立。第 三部分描述Oracle在网络环境中的使用方法。最后一部分介绍最常用的 SQL命令的语法,并含 有一个不同 Oracle版本初始化参数变化的导引。
这一部分提供 Oracle体系结构的基本框架和创建数据库所要遵循的步骤。第 1章向你介绍 Oracle数据库的组件和实现其用途的基本原理。管理 Oracle数据库需要了解这些不同组件之间 的相互关系、它们在框架中的位置以及如何以最佳方式定制系统以满足用户需要。总之,本 章宛如其他章节深入讨论数据库管理的一个向导。
如果数据库对象存储在多个表空间中,那么可以通过把它们各自的数据文件存放在不同 磁盘上来对其进行物理分割。在规划和协调数据库处理 I/O请求的方法中,数据分割是一种很 重要的工具。数据库、表空间和数据文件之间的关系如图 1-2所示。
数据库
表空间
表空间
第二表 空间
第三表 空间
数据文件 图1-2 数据库、表空间和数据文件之间的关系
首先,表被赋予了表名 (EMPLOYEE),表中的每个列都有各自的列名 (EmpNo、Name等), 每个列都有指定的数据类型及长度。 EmpNO列被定义为 NUMBER数据类型,没有小数位 (等 同于一个整数 )。Name列被定义为 VARCHAR2(40),表示Name是一个可变长度列,其最大长 度可以达到 40个字符。
2 第一部分 数据库体系结构
表名 列名
下载
数据行
列 图1-1 表结构样例
无论是采用关系结构还是面向对象的结构, Oracle数据库都将其数据存储在文件中。在其 内部,数据库结构提供数据对文件的逻辑映射,允许不同类型的数据分开存储。这些逻辑划 分被称作表空间。下面两小节介绍表空间和文件。
1.2.1 表空间
表中的主键 (Primary Key)是表中的一个列或多个列,它们决定表中每个行的唯一性,数 据库中的主键列必须是非空值 (NOT NULL),表示存储在表中的每一行必须有这个列的一个 值;它不能为空值 (NULL)。非空值约束条件可用于表中的其他列 (如上例中的 Name列)。
一个列可以有一个 DEFAULT(缺省)约束条件,这种约束条件使得在往表中插入一个行但 没有为列指定值时生成一个值。
从Oracle 8起可以创建用户自己的抽象数据类型。也可以使用特定的 REF数据类型,这些 REF数据类型引用数据库其他地方的行对象 (参见第5章)。
用户SYS和SYSTEM所拥有的表被称为数据字典表 (data dictionary table),数据字典表提 供一个数据库用来管理自己的系统目录。数据字典由 Oracle提供的一组目录脚本文件创建。每 当安装或升级一个数据库时,都需要使用创建或修改数据字典表的的脚本文件。当在数据库 中安装一个新的选项时,可能要运行另外一些附加的目录脚本文件。
数据库实例 (instance)也称作服务器 (server),是用来访问数据库文件集的存储结构及后台 进程的集合。一个数据库可以被多个实例访问 (这是Oracle的并行服务器选项 )。实例与数据库 之间的关系如图 1-3所示。
实例1 (SGA+进程)
实例2 (SGA+进程)
数据库文件
图1-3 Oracle中的实例和数据文件
下载
5 第1章 Oracle体系结构
ANSI NUMERIC、DECIMAL、DEC、INTEGER、INT和SMALLINT数据类型,使用 Oracle 的NUMBER数据类型;对于 ANSI标准的 FLOAT、REAL和DOUBLE PRECISION数据类型, Oracle支持PL/SQL中的一个FLOAT数据类型。