dbmgr -migrate 函数:将数据复制到平面文件

dbmgr migrate 函数可以将现有数据库中用户和程序记录的数据复制到平面文件(二进制格式)。 它还可以将数据从平面文件复制到新的数据库。 从中导入数据的数据库必须是 1.21 版或更高版本。
cminder12901cn
dbmgr migrate 函数可以将现有数据库中用户和程序记录的数据复制到平面文件(二进制格式)。 它还可以将数据从平面文件复制到新的数据库。 从中导入数据的数据库必须是 1.21 版或更高版本。
将平面文件复制到新数据库时,请使用创建该平面文件时所用的该函数的同一版本。 如果您有多个版本,强烈建议您使用最新的版本。
注意:
为了更好地保证安全,在将数据从旧数据库复制到新数据库以后,请删除旧数据库、用于生成新数据库的脚本,以及此函数创建的平面文件。
重要说明!
始终在使用此函数之前创建数据库的备份。
此命令格式如下:
dbmgr {migrate|-m} {-r|-w|-h} [-s] filename \
[-v versionNumber] [-f fileName]
  • -migrate|-m
    执行 dbmgr 实用程序的数据库迁移函数。
  • filename
    定义要从中复制数据或将数据复制到的平面文件。
  • -f
    filename
    将输出定向到指定文件,而不是标准输出设备。
  • -h
    显示此函数的帮助。
  • -r
    读取当前目录中的数据库,并将特定数据复制到平面文件
    filename
    中。
  • -s
    使用
    Privileged Identity Manager
    服务器从数据库读取信息,而不是直接读取数据库。 此选项仅在与 -r 开关参数一起使用时有效。
    您必须对终端具有管理员权限 R(读取)和 W(写入)才能使用该选项。
    如果您未指定此选项,该函数将从当前目录中的数据库进行读取或写入到此数据库。
  • -v
    versionNumber
    读取由先前版本创建的平面文件。 该选项仅对 -w 命令有效。 在文件名后输入此选项,并提供版本号。
  • -w
    读取平面文件
    filename
    并将数据复制到当前目录的数据库中。
示例:将数据从现有数据库复制到新的数据库
下列步骤说明如何将数据从现有数据库复制到新的数据库。 假定旧数据库位于目录 /tmp/old_db 中。 假定新数据库位于目录
ACInstallDir/seosdb
(其中
ACInstallDir
Privileged Identity Manager
的安装目录)中。
注意:
此过程使用 UNIX 路径名编写,但可以根据需要修改这些路径名,以便在 Windows 上执行。
  1. 以超级用户身份登录。
  2. 如果
    Privileged Identity Manager
    后台进程正在运行,请使用以下命令将其关闭:
    secons -s
  3. 通过将旧数据库的备份复制到不同位置或备份介质来进行备份。
  4. 将数据库复制到 /tmp/old_db 中,然后针对旧数据库运行 dbmgr 实用程序,从而创建复制旧数据库的脚本:
    cd /tmp/old_db /opt/CA/AccessControl/bin/dbmgr -export -l -f lang_script
  5. 创建新数据库:
    cd /opt/CA/AccessControl/seosdb /opt/CA/AccessControl/bin/dbmgr -c -cq
  6. 执行在前一步骤中生成的脚本,并创建新数据库:
    cd /opt/CA/AccessControl/seosdb /opt/CA/AccessControl/bin/selang -l /tmp/old_db/lang_script
  7. 执行 dbmgr 实用程序以创建包含旧数据库中数据的平面文件:
    cd /tmp/old_db /opt/CA/AccessControl/bin/dbmgr -migrate -r flat_file
  8. 将数据从平面文件加载到新的数据库:
    cd /opt/CA/AccessControl/seosdb /opt/CA/AccessControl/bin/dbmgr -migrate -w /tmp/old_db/flat_file