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. http://codeforces.com/contest/845

    A. Chess Tourney time limit per test 1 second memory limit per test 256 megabytes input standard inp ...

  2. Island Perimeter

    You are given a map in form of a two-dimensional integer grid where 1 represents land and 0 represen ...

  3. 关于xamarin.forms 中 list 的loadmore

    前言 最近几天在研究上拉加载啊,下拉刷新啊什么的.然而坑爹的事情总是那么多.在xamarin.forms中,list自带的,并没有上拉加载的这个属性(难道当初他们封装方法时,就不会想到数据多了会咋整吗 ...

  4. jQuery点击按钮实现div的隐藏和显示切换效果

    <script type="text/javascript"> $(function(){ $('#click_event').click(function(){  i ...

  5. JS在可编辑的div中的光标位置插入内容或表情

    <input type="button" value="插入字符" onclick="document.getElementById('test ...

  6. 一些精妙的sql语句收集

    --1.说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用) --法一: select * into b from a where 1<>1 --法二: select ...

  7. 实现LAMP

    实现LAMP 1.LAMP工作原理 LAMP是一个强大的Web应用程序平台,其中L是指linux系统:A是指apache也就是http;M一般是mysql/mariadb数据库;P一般是php, pe ...

  8. commons-pool与commons-pool2连接池(Hadoop连接池)

    commons-pool和commons-pool2是用来建立对象池的框架,提供了一些将对象池化必须要实现的接口和一些默认动作.对象池化之后可以通过pool的概念去管理其生命周期,例如对象的创建,使用 ...

  9. python批量修改word文件名

    最近不小心把硬盘给格式化了,由于当时的文件没有备份,所以一下所有的文件都没有了,于是只能采取补救措施,用文件恢复软件恢复了一部分的数据出来,但是恢复完毕的文件的文件名全丢了,所有的文件只有代号,如下面 ...

  10. $http设置headers来实现IE不缓存url请求的资源

    var getOrders = function(){    var deferred = $q.defer();    $http({    method:'get',    url:'/getOr ...