ORACLE数据库开发设计禁止项
- 格式:docx
- 大小:17.11 KB
- 文档页数:2
Oracle数据库1 数据对象的命名规范1.1 通用规范1.1.1 使用英文:要用简单明了的英文单词,不要用拼音,特别是拼音缩写。
主要目的很明确,让人容易明白这个对象是做什么用的;1.1.2 一律大写,特别是表名:有些数据库,表的命名乃至其他数据对象的命名是大小写敏感的,为了避免不必要的麻烦,并且尊重通常的习惯,最好一律用大写;1.2 数据库对象命名规范1.2.1 表的命名1.2.1.1 表名的前缀:前缀_表名_T。
为表的名称增加一个或者多个前缀,前缀名不要太长,可以用缩写,最好用下划线与后面的单词分开;其目的有这样几个:1.2.1.1.1 为了不与其他项目或者其他系统、子系统的表重名;1.2.1.1.2 表示某种从属关系,比如表明是属于某个子系统、某个模块或者某个项目等等。
表示这种从属关系的一个主要目的是,从表名能够大概知道如何去找相关的人员。
比如以子系统为前缀的,当看到这个表的时候,就知道有问题可以去找该子系统的开发和使用人员;1.2.2 视图命名:相关表名_V(或者根据需要另取名字);1.2.3 程序包命名:程序包名_PKG(用英文表达程序包意义);1.2.4 存储过程命名:存储过程名_PRO(用英文表达存储过程意义);1.2.5 函数命名:函数名称_FUN(用英文表达函数作用);1.2.6 触发器命名:触发器名称_TRI(用英文表达触发器作用);1.2.7 索引命名:表名_字段名_IDX(如果存在多字段索引,取每字段前三个字符加下划线组合,如在 custom, cutting, curtail 上建立联合索引,命名为表名_cus_cut_cur_IDX,如果前三个截取字符相同,就从字段名称中不同的字符开始取三个字符加下划线组合,如在 custid, custom,custname上建立联合索引,就命名为表_tid_tom_tna_IDX;1.2.8 唯一索引命名:表名_字段名_UNI(如果存在多字段唯一索引,取每字段前三个字符加下划线组合,如在 custom, cutting, curtail上建立唯一索引,命名为表名_ cus_cut_cur_UNI,如果前三个截取字符相同,就从字段名称中不同的字符开始取三个字符加下划线组合,如:在 custid, custom,custname上建立唯一索引,命名:表_tid_tom_tna_UNI;1.2.9 主键命名:表名_字段名_PK(如果存在多字段主键,取每字段前三个字符加下划线组合,如在 custom, cutting, curtail上建立主键,命名为表名_cus_cut_cur_PK,如果前三个截取字符相同,就从字段名称中不同的字符开始取三个字符加下划线组合,如在 custid, custom,custname上建立主键,命名:表_tid_tom_tna_PK;1.2.10 外键命名:表名_主表名_字段名_FK;1.2.11 Sequence命名:表名_列名_SEQ(或者根据需要另取名字);1.2.12 Synonym命名:与对应的数据库对象同名;1.2.12 JAVA命名:遵守公司相应的JAVA命名规范;2 SQL的设计和使用2.1 Sql 书写规范2.1.1 尽量不要写复杂的SQL:过于复杂的S QL可以用存储过程或函数来代替,效率更高;甚至如果能保证不造成瓶颈的话,把条SQL拆成多条也是可以的。
Oracle数据库规划设计和运行维护方案(V1。
0)目录1。
前言 (6)1。
1. 编写目的 (6)1。
2。
方案说明 (6)1.3. 预期读者 (7)2。
数据库部署模式 (7)2.1. 单机模式 (7)2.2. 双机热备模式(HA模式) (8)2.3。
集群模式(RAC) (9)2。
4. 主从模式(DataGuard) (10)2.5。
混合模式(DataGrard+RAC) (10)2。
6。
数据库运行模式选择 (11)3。
系统特点和数据库类型 (11)3。
1。
业务系统的特点 (11)3。
1.1。
OLTP特点 (12)3.1.2。
OLAP特点 (13)3。
2。
数据库的规模 (13)3.3。
数据库版本建议 (13)4. 数据库运行环境规划 (14)4.1。
主机规划 (14)4。
2. 网络规划 (15)4.3. 存储规划 (17)5。
数据库安装部署规划 (19)5.1。
软件安装路径 (19)5。
2. 表空间设计 (19)5.2.1. 业务数据量估算 (19)5。
2。
2。
表空间使用规则 (21)5.2.3。
表空间的概念和分配原则 (25)5。
2.4。
表空间的参数配置 (26)5.2。
5. Undo/temp表空间的估算 (30)5.2。
6. 表的参数设置 (30)5.2。
7. 索引的使用原则 (31)5。
3. 文件设计 (32)5.3。
1. RAC配置文件 (32)5.3。
2. 参数文件 (33)5。
3。
3. 控制文件 (34)5。
3.4。
重做日志文件 (35)6。
数据库应用规划 (37)6。
1。
数据库用户设计 (37)6。
1。
1。
用户权限规划 (37)6.1.2。
用户安全实现 (39)6。
1。
3. 用户类型及角色命名规范 (41)6.2. 数据库分区 (44)6.2。
1. 数据库分区介绍 (44)6。
2.3. 物理分割 (45)6。
2。
4. 数据分区的优点 (45)6.2.5. 数据分区的不足 (45)6.2。
(1)基本方针・查询表时,所有的字段前面都要加表的别名・用WHERE代替HAVING○SELECT A.REGION,AVG(A.LOC_SI ZE) F ROM L OCATI ON AWHERE A.REGION !=’SYDNEY’ GROUP BY A.REGION;×SELECT A.REGI ON,AVG(A.L OC_SIZE) FROM LOCATION AGROUP BY A.REGI ON HAVING A.REGION !=’SYDNEY’・NOT EXISTS代替NOT IN○SELECT ……FROM EMP E WHERE NOT EXISTS(SELECT ‘X’FROM DEPT DWHERE D.DEPT_NO = E.DEPT_NO AND D.DEPT_CAT=’A’);×SELECT ……FROM EMP E WHERE E.DEPT_NO NOT IN(SELECT D.DEPT_NO FROM DEPT DWHERE D.DEPT_CAT=’A’);・使用联接查询推荐使用表的结合,而不是子查询(2)为使SQL共享的方针为避免SQL语句在重复调用时的多余解析,制定规则如下:・同一内容的SQL文要统一全部大写或者全部小写→本系统统一大写・使用半角空格・换行也统一例)SELECT ……FROM EMP;≠SELECT ……FROM EMP;・只有比较符号右边不相等的SQL语句,要把右边来作为绑定变量例)SELECT ……FROM EMP E WHERE E.EMP_NO = 10;SELECT ……FROM EMP E WHERE E.EMP_NO = 50;↓SELECT ……FROM EMP E WHERE E.EMP_NO = :BIND; (3)使用索引时的SQL语句的方针・部在索引列使用NOT例)○SELECT ……FROM AAAA A WHERE A.DEPT_CODE <= 0;×SELECT ……FROM AAAA A WHERE A.DEPT_CODE NOT >0;・基本上不用OR作为替代,可用IN、UNION。
编程规范1:所有数据库关键字和保留字都大写;字段、变量的大小写2:程序块采用缩进风格书写,保证代码清晰易读,风格一致,缩进格数统一为2/4个。
必须使用空格,不允许使用【tab】键。
3:当同一条语句暂用多于一行时,每行的其他关键字与第一行的关键字进行右对齐。
4:不允许多个语句写到一行,即一行只写一条语句。
5:避免把复杂的SQL语句写到同一行,建议要在关键字和谓词处换行。
6:相对独立的程序块之间必须加空行。
BEGIN、END独立成行。
7:太长的表达式应在低优先级操作符处换行,操作符或关键字应放在新行之首。
不同类型的操作符混合使用时,用括号隔离,使得代码清晰。
8: 不同类型的操作符混合使用时,应使用括号明确的表达运算的先后关系。
9:运算符以及比较符左边或者右边只要不是链接的括弧,则空一格。
10:if 后的条件要用括号括起来,括号内每行最多两个条件。
11:减少控制语句的检查次数,如在else( if..else)控制语句中,对最常用符合条件,尽量往前被检查到。
尽量避免使用嵌套的if 语句,在这种情况应使用多个if 语句来判断其可能。
命名规范1:不使用数据库关键字和保留字,为了避免不必要的冲突和麻烦。
2:严禁使用带空格的名称来给字段和表命名,会出错误而终止。
3:用户自定义数据库对象:表,视图,主外键,索引,触发器,函数,存储过程,序列,同义词,数据库连接,包,包体风格要保持一致。
数据库名称1-8个字符,其他对象1-30个字符,数据库连接不操过30个字符。
使用英文字母、数字、下划线。
除表外,其他对象命名最好用不同的前缀来区别。
表tbl_/t_视图v_序列seq_簇c_触发器trg_存储过程sp_/p_函数f_/fn_物化视图mv_包和包体pkg_类和类体typ_主键pk_外键fk_唯一索引uk_普通索引idx_位图索引bk_4:PL/SQL对象和变量命名规则输入变量i_输出变量o_输入输出变量io_普通变量v_全局变量gv_常量大写游标cur_用户自定义类型type_保存点spt_不允许使用中文和特殊字符用户对象命名应全部为小写,且不允许使用控制符号强制转换对象为小写字符变量命名,要有具体含义,能表明变量类型。
Oracle数据库安全配置基线
简介
本文档旨在提供Oracle数据库的安全配置基线指南,以帮助确保数据库的安全性。
通过按照以下步骤进行配置,可以减少潜在的安全威胁和风险。
配置步骤
以下是Oracle数据库安全配置的基线步骤:
1. 安装最新的数据库补丁:确保在安装数据库之前,先安装最新的补丁程序,以修复已知的安全漏洞。
2. 禁用默认的系统帐户:在部署数据库之前,禁用默认的系统帐户(如SYSTEM、SYS、SYSMAN等),并创建自定义的管理员帐户。
3. 启用密码复杂性检查:使用强密码策略,确保数据库用户的密码具备足够的复杂性和强度。
4. 实施账户锁定策略:设置账户锁定策略,限制登录失败的次数,以防止暴力。
5. 限制数据库访问权限:核实数据库用户的访问权限,仅赋予他们所需的最低权限,以限制潜在的恶意操作。
6. 启用审计功能:启用Oracle数据库的审计功能,记录和监控数据库的所有活动,便于发现潜在的安全威胁。
7. 启用网络加密:使用SSL/TLS等加密协议,确保数据库与客户端之间的通信是安全和加密的。
8. 实施备份和恢复策略:定期备份数据库,并测试恢复过程,以防止数据丢失和灾难恢复。
9. 定期审查和更新安全配置:定期审查数据库的安全配置,并根据最新的安全标准和最佳实践的推荐,更新配置以提高安全性。
总结
通过遵循以上基线配置步骤,可以帮助提高Oracle数据库的安全性。
然而,在实际应用中,还应根据具体情况进行定制化的安全配置,并持续关注新的安全威胁和漏洞,及时进行更新和升级。
数据库安全规范1概述1.1适用范围本规范明确了Oracle数据库安全配置方面的基本要求。
1.2符号和缩略语2 ORACLE安全配置要求本规范所指的设备为ORACLE数据库。
本规范提出的安全配置要求,在未特别说明的情况下,均适用于ORACLE数据库。
本规范从ORACLE数据库的认证授权功能和其它自身安全配置功能提出安全要求。
2.1账号ORACLE应提供账号管理及认证授权功能,并应满足以下各项要求。
2.1.1按用户分配帐号2.1.2删除或锁定无关帐号2.1.3用户权限最小化要求内容在数据库权限配置能力内,根据用户的业务需要,配置其所需的最小权限。
grant 权限to user name; revoke 权限 from user name;2、补充操作说明用第一条命令给用户赋相应的最小权限用第二条命令收回用户多余的权限业务测试正常4、检测操作业务测试正常5、补充说明2.1.4使用ROLE 管理对象的权限1. 使用Create Role 命令创建角色。
2.使用用Grant 命令将相应的系统、对象或 Role 的权限赋予应用用户。
2、补充操作说明对应用用户不要赋予 DBA Role 或不必要的权限。
4、检测操作 1.以DBA 用户登陆到 sqlplus 中。
2.通过查询 dba_role_privs 、dba_sys_privs 和 dba_tab_privs 等视图来检查 是否使用ROLE 来管理对象权限。
5、补充说明操作指南1、参考配置操作检测方法3、判定条件要求内容使用数据库角色(ROLE )来管理对象的权限。
操作指南1、参考配置操作检测方法 3、判定条件2.1.5控制用户属性可通过下面类似命令来创建 Profile ,并把它赋予一个用户CREATE P ROFILE <p rofile_name>LIMIT FAILED_LOGIN_ATTE MPTS 6PASSWORD REUSE TIME 60P ASSWORD_REUSE_MAX 5P ASSWORD_VERIFY_FUNCTIONvenfy_fu nctionP ASSWORD_LOCK_TIME 1/24;ALTER USER<user_name> P ROFILE <p rofile_ name 〉; 2、补充操作说明4、检测操作2.查询视图dba_profiles 和dba_usres 来检查profile 是否创建。
数据库设计规范、技巧与命名规范一、数据库设计过程数据库技术是信息资源管理最有效的手段。
数据库设计是指:对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。
数据库设计的各阶段:A、需求分析阶段:综合各个用户的应用需求(现实世界的需求)。
B、在概念设计阶段:形成独立于机器和各DBMS产品的概念模式(信息世界模型),用E-R图来描述。
C、在逻辑设计阶段:将E-R图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式。
然后根据用户处理的要求,安全性的考虑,在基本表的基础上再建立必要的视图(VIEW)形成数据的外模式。
D、在物理设计阶段:根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。
1. 需求分析阶段需求收集和分析,结果得到数据字典描述的数据需求(和数据流图描述的处理需求)。
需求分析的重点:调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。
需求分析的方法:调查组织机构情况、各部门的业务活动情况、协助用户明确对新系统的各种要求、确定新系统的边界。
常用的调查方法有:跟班作业、开调查会、请专人介绍、询问、设计调查表请用户填写、查阅记录。
分析和表达用户需求的方法主要包括自顶向下和自底向上两类方法。
自顶向下的结构化分析方法(Structured Analysis,简称SA方法)从最上层的系统组织机构入手,采用逐层分解的方式分析系统,并把每一层用数据流图和数据字典描述。
数据流图表达了数据和处理过程的关系。
系统中的数据则借助数据字典(Data Dictionary,简称DD)来描述。
2. 概念结构设计阶段通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,可以用E-R图表示。
概念模型用于信息世界的建模。
概念模型不依赖于某一个DBMS支持的数据模型。
概念模型可以转换为计算机上某一DBMS 支持的特定数据模型。
ORA-02201: 此处不允许序列(号)ORA-02202: 此群集中不允许添加其它表ORA-02203: 不允许的INITIAL 存储选项ORA-02204: 不允许ALTER, INDEX 和EXECUTE 用于视图ORA-02205: 只有SELECT 和ALTER 权限对序列有效ORA-02206: 重复的INITRANG 选项说明ORA-02207: 无效的INITRANS 选项值ORA-02208: 重复的MAXTRANS 选项说明ORA-02209: 无效的MAXTRANS 选项值ORA-02210: 未指定ALTER TABLE 的选项ORA-02211: 无效的PCTFREE 或PCTUSED 值ORA-02212: 重复的PCTFREE 选项说明ORA-02213: 重复的PCTUSED 选项说明ORA-02214: 重复的BACKUP 选项说明ORA-02215: 重复的表空间名子句ORA-02216: 需要表空间名ORA-02217: 重复的存储选项说明ORA-02218: 无效的INITIAL 存储选项值ORA-02219: 无效的NEXT 存储选项值ORA-02220: 无效的MINEXTENTS 存储选项值ORA-02221: 无效的MAXEXTENTS 存储选项值ORA-02222: 无效的PCTINCREASE 存储选项值ORA-02223: 无效的OPTIMAL 存储选项值ORA-02224: EXECUTE 权限对于表不允许ORA-02225: 只有EXECUTE 和DEBUG 权限对过程有效ORA-02226: 无效的MAXEXTENTS 值(最大允许为: )ORA-02227: 无效的群集名ORA-02228: 重复的SIZE 说明ORA-02229: 无效的SIZE 选项值ORA-02230: 无效的ALTER CLUSTER 选项ORA-02231: 缺少或无效的ALTER DATABASE 选项ORA-02232: 无效的MOUNT 模式ORA-02233: 无效的CLOSE 模式ORA-02234: 已经记录对此表的更改ORA-02235: 此表已将更改记录在另一表中ORA-02236: 无效的文件名ORA-02237: 无效的文件大小ORA-02238: 文件名列表具有不同的文件数ORA-02239: 存在引用此序列的对象ORA-02240: 无效的OBJNO 或TABNO 值ORA-02241: 必须是EXTENTS (FILE <n> BLOCK <n> SIZE <n>,...) 格式ORA-02242: 未指定ALTER INDEX 的选项ORA-02243: ALTER INDEX 或ALTER MATERIALIZED VIEW 选项无效ORA-02244: 无效的ALTER ROLLBACK SEGMENT 选项ORA-02245: 无效的ROLLBACK SEGMENT 名ORA-02246: 缺少EVENTS 文本ORA-02247: 未指定ALTER SESSION 的选项ORA-02248: 无效的ALTER SESSION 选项ORA-02249: 缺少或无效的MAXLOGMEMBERS 值ORA-02250: 缺少或无效的约束条件名ORA-02251: 此处不允许子查询ORA-02252: 检查未正确结束的约束条件ORA-02253: 此处不允许约束条件说明ORA-02254: 此处不允许DEFAULT <表达式>ORA-02255: obsolete 7.1.5ORA-02256: 要引用的列数必须与已引用道感数匹配ORA-02257: 超出最大列数ORA-02258: 重复或冲突的NULL 和(或)NOT NULL 说明ORA-02259: 重复的UNIQUE/PRIMARY KEY 说明ORA-02260: 表只能具有一个主键ORA-02261: 表中已存在这样的唯一关键字或主键ORA-02262: 对列默认值表达式进行类型检查时, 出现ORA- ORA-02263: 需要指定此列的数据类型ORA-02264: 名称已被一现有约束条件占用ORA-02265: 无法推导引用列的数据类型ORA-02266: 表中的唯一/主键被启用的外部关键字引用ORA-02267: 列类型与引用的列类型不兼容ORA-02268: 引用的表不具有主键ORA-02269: 关键字列不能是LONG 数据类型ORA-02270: 此列列表的唯一或主键不匹配ORA-02271: 表没有这样的约束条件ORA-02272: 约束条件列不能是LONG 数据类型ORA-02273: 此唯一/主键已被某些外部关键字引用ORA-02274: 重复的引用约束条件说明ORA-02275: 此表中已经存在这样的引用约束条件ORA-02276: 默认值类型与列类型不兼容ORA-02277: 无效的序列名ORA-02278: 重复或冲突的ORDER/NOORDER 说明ORA-02279: 重复或冲突的ORDER/NOORDER 说明ORA-02280: 重复或冲突的ORDER/NOORDER 说明ORA-02281: 重复或冲突的ORDER/NOORDER 说明ORA-02282: 重复或冲突的ORDER/NOORDER 说明ORA-02283: 无法改变起始序号ORA-02284: 重复的INCREMENT BY 说明ORA-02285: 重复的START WITH 说明ORA-02286: 未指定ALTER SEQUENCE 的选项ORA-02287: 此处不允许序号ORA-02288: 无效的OPEN 模式ORA-02289: 序列(号)不存在ORA-02290: 违反检查约束条件(.)ORA-02291: 违反完整约束条件(.) - 未找到父项关键字ORA-02292: 违反完整约束条件(.) - 已找到子记录日志ORA-02293: 无法验证(.) - 违反检查约束条件ORA-02294: 无法启用(.) - 约束条件在验证过程中更改ORA-02295: 找到约束条件的多个启用/禁用子句ORA-02296: 无法启用(.) - 找到空值ORA-02297: 无法禁用约束条件(.) - 存在依赖关系ORA-02298: 无法验证(.) - 未找到父项关键字ORA-02299: 无法验证(.) - 未找到重复关键字ORA-02300: 无效的OIDGENERATORS 值ORA-02301: OIDGENERATORS 的最大数为255ORA-02302: 无效或缺少类型名ORA-02303: 无法使用类型或表的相关性来删除或取代一个类型ORA-02304: 无效的对象标识文字ORA-02305: 只有EXECUTE, DEBUG 和UNDER权限对类型有效ORA-02306: 无法创建已具有有效相关性的类型ORA-02307: 无法使用REPLACE 选项改变无效类型ORA-02308: 无效的对象类型列选项ORA-02309: 违反原子NULLORA-02310: 超出表中允许的最大列数ORA-02311: 无法使用COMPILE 选项改变具有类型或表相关性的有效类型ORA-02313: 对象类型包含不可查询的类型属性ORA-02315: 默认构造符的参数个数错误ORA-02320: 无法创建嵌套表列的存储表ORA-02322: 无法访问嵌套表列的访问表ORA-02324: THE 子查询的SELECT 列表中存在多列ORA-02327: 无法以数据类型的表达式创建索引ORA-02329: 数据类型的列不能是唯一关键字或主键ORA-02330: 不允许的数据类型说明ORA-02331: 无法创建数据类型为的列的约束条件ORA-02332: 无法对此列的属性创建索引ORA-02333: 无法对此列的属性创建约束条件ORA-02334: 无法推断列类型ORA-02335: 无效的群集列数据类型ORA-02336: 无法访问列属性ORA-02337: 不是对象类型列ORA-02338: 缺少或无效的列约束条件说明ORA-02339: 无效的列说明ORA-02340: 无效的列说明ORA-02342: 取代类型具有编译错误ORA-02344: 无法撤消执行具有表相关性的类型ORA-02345: 无法创建具有基于CURSOR 运算符的列的视图ORA-02347: 无法授权给对象表列ORA-02348: 无法创建具有嵌入LOB 的VARRAY 列ORA-02349: 无效的用户自定义类型- 类型不完整ORA-02351: 记录: 被拒绝- 表, 列上出错ORA-02352: 直接路径连接必须在同类间进行ORA-02353: 多字节字符错误ORA-02354: 字段中出现转换初始化错误ORA-02355: CONSTANT 字段中出现转换错误ORA-02356: 数据库空间耗尽。
Oracle数据库规划设计和运行维护方案()目录1.前言.编写目的.......................................................... .方案说明.......................................................... .预期读者..........................................................2.数据库部署模式.单机模式.......................................................... .双机热备模式(HA模式)........................................... .集群模式(RAC)................................................... .主从模式(DataGuard)............................................. .混合模式(DataGrard+RAC)......................................... .数据库运行模式选择................................................3.系统特点和数据库类型.业务系统的特点....................................................OLTP特点.................................................OLAP特点................................................. .数据库的规模...................................................... .数据库版本建议....................................................4.数据库运行环境规划.主机规划.......................................................... .网络规划.......................................................... .存储规划..........................................................5.数据库安装部署规划.软件安装路径...................................................... .表空间设计........................................................业务数据量估算............................................表空间使用规则............................................表空间的概念和分配原则....................................表空间的参数配置..........................................Undo/temp表空间的估算....................................表的参数设置..............................................索引的使用原则............................................ .文件设计..........................................................RAC配置文件..............................................参数文件..................................................控制文件..................................................重做日志文件..............................................6.数据库应用规划.数据库用户设计....................................................用户权限规划..............................................用户安全实现..............................................用户类型及角色命名规范.................................... .数据库分区........................................................数据库分区介绍............................................逻辑分割..................................................物理分割..................................................数据分区的优点............................................数据分区的不足............................................Oracle分区技术...........................................分区使用建议..............................................分区索引.................................................. .数据库实例配置.................................................... .数据库参数设置....................................................必须修改的初始化参数......................................建议修改的初始化参数......................................不可修改的初始化参数......................................建议不可修改的初始化参数..................................与并行有关的参数.......................................... .数据库连接服务....................................................专用服务器连接............................................共享服务器连接............................................连接服务建议.............................................. .数据库安全建议.................................................... .数据库备份和恢复..................................................RMAN备份.................................................EXP/IMP备份..............................................存储级备份................................................数据库恢复................................................ .数据库网络配置....................................................监听器的使用配置原则......................................TNSNAMES的使用配置原则...................................RAC环境下TNSNAMES的配置.................................7.业务系统开发建议.数据库模型设计规范................................................命名规则..................................................数据库对象................................................ .PLSQL开发规则....................................................总体开发原则...............................................SQL语句编写规则..................................................查询语句的使用原则........................................DML语句的调整原则........................................8.数据库体系结构.整体结构.......................................................... .内存结构..........................................................系统全局区(SGA).........................................程序全局区(PGA).........................................后台进程.................................................. .存储结构..........................................................物理结构..................................................逻辑结构..................................................9.数据库基本管理.参数文件管理...................................................... .表空间管理........................................................用户表空间管理............................................临时表空间管理............................................回滚段表空间管理.......................................... .重做日志文件管理..................................................增加重做日志文件组........................................添加重做日志文件组成员....................................改变重做日志文件组成员....................................删除重做日志文件组成员....................................删除重做日志文件组........................................重做日志切换..............................................重做日志清理..............................................重做日志切换次数查询...................................... .归档模式设置......................................................单实例数据库设置归档模式..................................RAC数据库设置归档模式....................................归档路径设置.............................................. .控制文件重建...................................................... .内存参数管理......................................................Oracle内存管理发展阶段...................................自动内存管理AMM..........................................自动共享内存管理ASMM.....................................自动PGA管理.............................................. .其它管理内容......................................................查看数据库版本............................................数据库字符集..............................................创建密码文件..............................................关闭数据库审计功能........................................账号管理..................................................10.数据库集群(RAC)管理.RAC状态检查......................................................检查守护进程..............................................检查资源状态.............................................. .RAC启动与关闭.................................................... .管理OCR..........................................................OCR盘状态查看............................................OCR备份与恢复............................................查看OCR内容..............................................指定OCR盘................................................增加OCR盘................................................删除OCR盘................................................ .管理VOTING DISK..................................................检查Voting Disl盘........................................VOTING DISK备份与恢复....................................添加VOTING DISK盘........................................删除VOTING DISK盘........................................ .CSS管理.......................................................... .SRVCTL管理工具...................................................管理实例..................................................管理监听程序..............................................管理ASM..................................................管理service.............................................. .修改RAC的IP及VIP...............................................修改外网IP和心跳IP......................................修改VIP..................................................查看与删除IP............................................. .管理ASM..........................................................管理DiskGroup............................................ASM兼容性管理............................................ASM中添加disk的方法.....................................ASMCMD管理命令介绍.......................................ASM常用视图..............................................11.数据库备份.备份概念说明......................................................脱机备份..................................................联机备份..................................................RMAN备份................................................. .备份策略规划...................................................... .RMAN备份和恢复案例...............................................归档模式下的完全恢复......................................归档模式下的不完全恢复....................................12.数据库运维管理.运维职责.......................................................... .运维要求.......................................................... .技能要求.......................................................... .运维内容..........................................................检查数据库运行情况........................................检查操作系统和数据库日志文件..............................检查Oracle对象状态.......................................检查数据库相关资源的使用..................................检查数据库备份............................................检查数据库的性能..........................................数据库安全性检查.......................................... 前言编写目的随着以使用Oracle数据库的应用系统不断增加,为了加强应用系统在规划、开发、实施、维护等环节工作的规范化,特编写本文档,力求对实际的设计、实施工作起到规范和指导作用。
Oracle数据库开发设计禁止项
一、版本合规
1、禁止应用的数据库版本不符合公司软件版本要求;
2、禁止数据库的字符集不符合数据库开发设计规范;
二、安全合规
3、禁止应用运行不支持公司数据库权限分离规范;
4、禁止应用连接数据库硬编码在程序代码中;
5、禁止应用将连接到数据库的口令明文写在配置文件中;
三、命名合规
1、禁止数据库对象命名不符合数据库开发设计规范;
四、数据字典合规
1、禁止开发过程中无数据字典的设计;
2、禁止开发过程中数据字典调整不经过开发DBA审核和批准;
五、表设计合规
1、禁止表列数据类型选择低效、过时、不规范的数据类型;
2、禁止交易系统交易表记录的长度超过标准数据块的大小(8K);
3、禁止存放变长字符串值列设计为char类型,char(100)以上使用varchar2代替;
4、禁止大表无分区设计、无数据归档方案设计;(大表定义:记录数超过2千万或表数据占用空间超过10GB);
5、禁止表在交易时间的并行度不为0;
6、禁止程序运行过程中创建正式表和删除正式表,如在批处理中需要用存储过程来truncate 指定的一张表;
六、索引设计合规
1、禁止业务处理表无主键索引;
2、禁止组合索引的列数量超过三个或索引列数量超过三个未经过开发DBA审核;
3、禁止表索引数量超过五个或索引数量超过五个未经过开发DBA审核;
4、禁止索引在交易时间的并行度不为0;
七、SQL语句合规
1、禁止SQL书写大小写和格式不符合规范;
2、禁止SQL语句不使用绑定变量或不使用绑定变量未经过开发DBA审核;
3、禁止用select * from。
select语句中写出必要的要选择的全部列名;
4、禁止使用select * … for update语句;
5、禁止写复杂的SQL语句;(复杂SQL定义标准:1、SQL语句长度大于等于4000字符或SQL 语句中使用到五表及以上的SQL 2、在运维中发现SQL执行时间超过5分钟且执行计划出现异常、出现大表全表扫描而影响应用正常运行的SQL);
6、禁止大表相关的SQL语句未经过开发DBA对执行计划的验证和确认;
7、禁止出现两个以上大表关联的SQL语句,防止索引对象失效或者执行计划改变导致系统的性能直接失控;
8、禁止隐性多表关联,禁止显式多表关联;
八、其他
1、禁止语法允许的前提下,在对对象(如表、索引、试图、同义词,序列等)进行处理时,没有指明对象的属主owner;
2、禁止表及索引设计不指定表空间;
3、禁止禁止直接修改char类型字段的长度,如确实必须将其改成varchar2类型,避免出现
补充空格的情况;
4、禁止无统一出错处理机制;禁止出现程序结束不提交事务;禁止出现程序异常或失败不回滚事务;
5、禁止单条SQL语句一次性实时返回超过20000条以上的数据结果;
6、禁止使用DBLink、触发器、物化视图;。