ldap服务器包含上百个对象类型(object class)和属性,这些对象类和属性都可以满足大部分需求,如果你想定义自己的schema,你只能继承扩展现有的schema进行操作。

tip:  

  增加的新的属性要定义在新的class里。
  通过LDAP扩展Schema:
  只能修改带有‘user defined’的X-ORIGIN的域。服务器会拒绝修改其他定义。
  用户自定义的新element的定义和更改,保存在99user.ldif文件当中。

通过用户Schema文件扩展Schema

  Schema文件在服务器启动时读一次。文件contents会被加载到cn=schema下。由于schema定义顺序很重要,因此schema文件的加载由数字和字母顺序决定。在ldif文件中定义schema的时候,X-ORIGIN的值不能是"user defined",这个值已经被系统使用了。不要更改其他的已经存在的ldif文件。

  不能修改已经存在的schema文件,可以增加定义的属性和对象类.将属性和类的定义存放在文件当中,例如98mySchema.ldif,然后复制该文件到每个服务器实例下的schema目录下,重启服务器使更改生效.

  使用自定义schema

  1,定义ldif文件

  2,复制ldif文件到拓扑里的每个服务器上

  3,重启每个ds实例,使更改生效.

  每个schme文件的命名规则[00-99] filename.ldif,数字不能超过99

在创建自定义schema之前:
1,当添加新的schema元素,所有的属性都要在类使用之前定义。可以把属性和类定义在相同的schema文件当中。
2,创建的用户属性和对象要定义在相同的schema文件中,防止服务器加载最近创建的schema时重写之前的定义。
3,当手动定义新的schema的时候,最好把这些定义加到99user.ldif中

使用Schema文件和拓扑扩展schema
1,两个步骤
    1,创建schema定义文件,例如叫98mySchema.ldif
    2,扩展的schema文件添加到99user.dlif中
2,在定义schema的master上执行dsadm start 或则dsadm restart 命令结合--schema-push参数
3,重启master服务器。

服务器默认ldif文件
  00core.dlif:LDAP V3标准用户和组织schema
  50ns-directory.dlif:低版本的目录服务器的schema配置信息
  99user.ldif:用户创建的elements
  OID:Object identifier,

参考连接:docs.oracle.com/cd/E29127_01/doc.111170/e28972/ds-schema.htm

 

  

ldap数据库--ODSEE--schema的更多相关文章

  1. ldap数据库--ODSEE--suffix

    ldap数据库的suffix是建立ldap之间复制协议的基础,suffix的创建也可以通过管理界面进行,也可以通过命令行进行.不同点是通过管理界面创建的suffix会自动创建一条对应该suffix的匿 ...

  2. ldap数据库--ODSEE--安装

    在安装之前最好查看一下服务器硬件是否满足要求,是否需要更改一些系统配置来达到使用ldap数据库的最有性能.实际使用的ldap数据库是oracle的产品,DS70即ODSEE. 安装环境:solaris ...

  3. 定时取数据库的schema,并推送到git服务器

    写了个脚本,定时去数据库取schema,并推送到公司的git里. #daily_schema.py #/usr/bin/env python import os import datetime,tim ...

  4. SaaS模式应用之多租户系统开发(单数据库多Schema设计)

    SaaS是Software-as-a-Service(软件即服务)的简称,这边具体的解释不介绍. 多租户的系统可以应用这种模式的思想,将思想融入到系统的设计之中. 一.多租户的系统,目前在数据库存储上 ...

  5. 树形结构的数据库表Schema设计-基于左右值编码

    树形结构的数据库表Schema设计 程序设计过程中,我们常常用树形结构来表征某些数据的关联关系,如企业上下级部门.栏目结构.商品分类等等,通常而言,这些树状结构需要借助于数据库完 成持久化.然而目前的 ...

  6. 数据库中Schema和Database有什么区别

    在MySQL中创建一个Schema好像就跟创建一个Database是一样的效果,在SQL Server和Orcal数据库中好像又不一样. 目前我只能理解,在mysql中 schema<==> ...

  7. 数据库中Schema(模式)概念的理解

    在学习SQL的过程中,会遇到一个让你迷糊的Schema的概念.实际上,schema就是数据库对象的集合,这个集合包含了各种对象如:表.视图.存储过程.索引等.为了区分不同的集合,就需要给不同的集合起不 ...

  8. 数据库中Schema、Database、User、Table的关系[转]

    数据库的初学者往往会对关系型数据库模式(schema).数据库(database).表(table).用户(user)之间感到迷惘,总感觉他们的关系千丝万缕,但又不知道他们的联系和区别在哪里,对一些问 ...

  9. ldap数据库--ODSEE--复制协议

    简单介绍一下ODSEE的复制拓扑的建立,复制协议可以通过管理界面进行创建,也可以通过命令行创建.在此之前需要了解一些复制协议的相关概念,这里针对OESEE. 1,复制角色 master(提供者,也可以 ...

随机推荐

  1. REST架构概述

    REST概述 REST(英文:Representational State Transfer,简称REST)描述了一个架构样式的网络系统,比如 web 应用程序.它首次出现在 2000 年 Roy F ...

  2. 实现mysql在windows server 2008下自动备份

    环境:MySQL   安装位置:D:\MySQL论坛数据库名称为:Db_Test数据库备份目的地:D:\db_bak\ 1.首先新建一个bat文件 rem ********************** ...

  3. struts2-学习笔记(三)

    Struts2 学习笔记(三) 1.ognl概述: OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目. Struts2框架使用O ...

  4. IDL 字符串

    1.创建字符串 字符串和字符串数组通过赋值或函数方式来创建.在IDL字符串用" "或' '括起来表示. IDL> s1="abcdef" IDL> ...

  5. 初识Hibernate之继承映射

         前面的两篇文章中,我们介绍了两张表之间的各种相互关联映射关系,但往往我们也会遇到两张表甚至多张表之间共有着多个相同的字段.例如: 如图,student表和teacher表共同具有id,nam ...

  6. 简易js模板引擎

    前面 js 模板引擎有很多很多,我以前经常用 art-template ,有时候也会拿 vue 来当模板引擎用. 直到...... 年初的时候,我还在上个项目组,那时候代码规范是未经允许不能使用 [外 ...

  7. Python正则表达计算器

    Python学习笔记(十二): 计算器 利用Python的正则表达式写的简易计算器 # author : Ryoma # time : 17:39 import re def add(string): ...

  8. uva1629,Cake Slicing,记忆化搜索

    同上个题一样,代码相似度极高,或者说可以直接用一个模板吧 dp[i,j,p,q]表示一块长为j-i+1,宽为q-p+1,左上角在位置(i,j)上的蛋糕,dp[]表示当前状态下的最优值,然后对该块蛋糕枚 ...

  9. substance在java swing中使用注意事项

    package org.dgw.uidemo; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.UI ...

  10. 继承“HibernateDaoSupport”后,报“The hierarchy of the type AccoutDaoImpl is inconsistent”的解决方案

    解决办法: 今天写了一段很简单的代码,Eclipse竟然报错 import org.springframework.jdbc.core.support.JdbcDaoSupport; import c ...