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定义要从中复制数据或将数据复制到的平面文件。
- -ffilename将输出定向到指定文件,而不是标准输出设备。
- -h显示此函数的帮助。
- -r读取当前目录中的数据库,并将特定数据复制到平面文件filename中。
- -s使用Privileged Identity Manager服务器从数据库读取信息,而不是直接读取数据库。 此选项仅在与 -r 开关参数一起使用时有效。您必须对终端具有管理员权限 R(读取)和 W(写入)才能使用该选项。如果您未指定此选项,该函数将从当前目录中的数据库进行读取或写入到此数据库。
- -vversionNumber读取由先前版本创建的平面文件。 该选项仅对 -w 命令有效。 在文件名后输入此选项,并提供版本号。
- -w读取平面文件filename并将数据复制到当前目录的数据库中。
示例:将数据从现有数据库复制到新的数据库
下列步骤说明如何将数据从现有数据库复制到新的数据库。 假定旧数据库位于目录 /tmp/old_db 中。 假定新数据库位于目录
ACInstallDir/seosdb
(其中 ACInstallDir
是 Privileged Identity Manager
的安装目录)中。注意:
此过程使用 UNIX 路径名编写,但可以根据需要修改这些路径名,以便在 Windows 上执行。- 以超级用户身份登录。
- 如果Privileged Identity Manager后台进程正在运行,请使用以下命令将其关闭:secons -s
- 通过将旧数据库的备份复制到不同位置或备份介质来进行备份。
- 将数据库复制到 /tmp/old_db 中,然后针对旧数据库运行 dbmgr 实用程序,从而创建复制旧数据库的脚本:cd /tmp/old_db /opt/CA/AccessControl/bin/dbmgr -export -l -f lang_script
- 创建新数据库:cd /opt/CA/AccessControl/seosdb /opt/CA/AccessControl/bin/dbmgr -c -cq
- 执行在前一步骤中生成的脚本,并创建新数据库:cd /opt/CA/AccessControl/seosdb /opt/CA/AccessControl/bin/selang -l /tmp/old_db/lang_script
- 执行 dbmgr 实用程序以创建包含旧数据库中数据的平面文件:cd /tmp/old_db /opt/CA/AccessControl/bin/dbmgr -migrate -r flat_file
- 将数据从平面文件加载到新的数据库:cd /opt/CA/AccessControl/seosdb /opt/CA/AccessControl/bin/dbmgr -migrate -w /tmp/old_db/flat_file