Dear Deepak,
I am executing it for the second time, as this is obviously the procedure for NetWeaver 2004.
When you choose installing a CI (as in 7.0), here the DB doesn't get installed & created.
I was wondering for 2 days what to do, till I found out yesterday, that the installation of a DB instance is step 2 in the installation process (written in sapinst on the right pane, but someone's gotta read it, right :-P )
I am getting the error right at the phase MaxDB Database installation. Here are the last 500 lines:
# tail -500 /tmp/sapinst_assertion.log
function sapdb_sql_user_sv(db_nm, db_node, sql_s, user, userpasswd) {
var db_host;
if (db_node == undefined || db_node == "") {
db_host = installer.getHostName();
} else {
db_host = db_node;
}
var r_v = "N_OK";
var sh_op = get_dbmcli_app();
var std_in = sh_op.getInputStream();
var out_s = sh_op.getOutputStream();
var ctl_s = sapdb_get_db_user("CONTROL", db_nm, db_host) + "," + sapdb_get_db_user_passwd("CONTROL", db_nm, db_host);
var usr_s = user + "," + userpasswd;
sh_op.setArguments(["-n", db_host, "-d", db_nm, "-u", ctl_s, "-uSQL", usr_s]);
sh_op.setHiddenArguments({5:true, 7:true});
sh_op.start(false);
std_in.putLine("sql_execute " + sql_s);
while (!out_s.fail()) {
var s_ln = out_s.getLine();
if (/OK/.test(s_ln)) {
r_v = "OK";
while (!out_s.fail()) {
s_ln = out_s.getLine();
if (/END/.test(s_ln)) {
r_v = out_s.getLine();
std_in.putLine("exit");
sapdb_complete_output(out_s);
break;
}
if (/---/.test(s_ln)) {
std_in.putLine("exit");
sapdb_complete_output(out_s);
break;
}
}
} else {
if (/---/.test(s_ln)) {
std_in.putLine("exit");
sapdb_complete_output(out_s);
break;
}
}
}
return r_v;
}
function sapdb_sql_user(db_nm, db_node, sql_s, user, userpasswd) {
var sdbInst = new sdbInstance();
sdbInst.dbName = db_nm;
sdbInst.dbHost = (db_node == undefined) ? installer.getHostName() : db_node;
sdbInst.dbUser = (user == undefined) ? "" : user;
sdbInst.dbUserPasswd = (userpasswd == undefined) ? "" : userpasswd;
var r_arr = sdb_sql_query(sql_s, sdbInst);
ASSERT(arguments.callee, r_arr != undefined, "ERROR EXECUTING DBMCLI COMMAND!");
if (r_arr[0] == "false") {
var err_msg = "ERROR EXECUTING SQL QUERY: ";
for (var i_cnt = 1; i_cnt < r_arr.length; i_cnt++) {
err_msg = err_msg + r_arr[i_cnt];
}
ASSERT(arguments.callee, false, err_msg);
}
return (r_arr[0] == "false") ? "N_OK" : "OK";
}
function sapdb_sql_query(db_nm, sql_s, db_node) {
var ret_s = "";
var sdbInst = new sdbInstance();
sdbInst.dbName = db_nm;
sdbInst.dbHost = (db_node == undefined) ? installer.getHostName() : db_node;
var r_arr = sdb_sql_query(sql_s, sdbInst);
ASSERT(arguments.callee, r_arr != undefined, "ERROR EXECUTING DBMCLI COMMAND!");
if (r_arr[0] == "false") {
var err_msg = "ERROR EXECUTING SQL QUERY: ";
for (var i_cnt = 1; i_cnt < r_arr.length; i_cnt++) {
err_msg = err_msg + r_arr[i_cnt];
}
ASSERT(arguments.callee, false, err_msg);
} else {
end_l = new RegExp("END");
for (i_cnt = 0; i_cnt < r_arr.length; i_cnt++) {
if (end_l.test(r_arr[i_cnt])) {
ret_s = r_arr[i_cnt + 1];
break;
}
}
}
return ret_s;
}
function sapdb_sql_query_sv(db_nm, sql_s, db_node) {
var db_host;
if (db_node == undefined || db_node == "") {
db_host = installer.getHostName();
} else {
db_host = db_node;
}
var r_v = "N_OK";
var sh_op = get_dbmcli_app();
var std_in = sh_op.getInputStream();
var out_s = sh_op.getOutputStream();
var ctl_s = sapdb_get_db_user("CONTROL", db_nm, db_host) + "," + sapdb_get_db_user_passwd("CONTROL", db_nm, db_host);
var adm_s = sapdb_get_db_user("ADMIN", db_nm, db_host) + "," + sapdb_get_db_user_passwd("ADMIN", db_nm, db_host);
sh_op.setArguments(["-n", db_host, "-d", db_nm, "-u", ctl_s, "-uSQL", adm_s]);
sh_op.setHiddenArguments({5:true, 7:true});
sh_op.start(false);
std_in.putLine("sql_execute " + sql_s);
while (!out_s.fail()) {
var s_ln = out_s.getLine();
if (/OK/.test(s_ln)) {
r_v = "OK";
while (!out_s.fail()) {
s_ln = out_s.getLine();
if (/END/.test(s_ln)) {
r_v = out_s.getLine();
std_in.putLine("exit");
sapdb_complete_output(out_s);
break;
}
if (/---/.test(s_ln)) {
std_in.putLine("exit");
sapdb_complete_output(out_s);
break;
}
}
} else {
if (/---/.test(s_ln)) {
std_in.putLine("exit");
sapdb_complete_output(out_s);
break;
}
}
}
return r_v;
}
function sapdb_init_config(db_nm, db_host, usr, usr_passwd) {
return sapdb_action(db_nm, db_host, "INIT_CONFIG");
}
function sapdb_init_config_sv(db_nm, db_host, usr, usr_passwd) {
var r_v = true;
var sh_op = get_dbmcli_app(usr, usr_passwd);
var std_in = sh_op.getInputStream();
var std_out = sh_op.getOutputStream();
var ctl_s = sapdb_get_db_user("CONTROL", db_nm, db_host) + "," + sapdb_get_db_user_passwd("CONTROL", db_nm, db_host);
sh_op.setArguments(["-n", db_host, "-d", db_nm, "-u", ctl_s]);
sh_op.setHiddenArguments({5:true});
sh_op.start(false);
std_in.putLine("db_offline");
if (!sapdb_proceed_output(std_out)) {
return false;
}
std_in.putLine("db_start");
if (!sapdb_proceed_output(std_out)) {
return false;
}
std_in.putLine("util_connect");
if (!sapdb_proceed_output(std_out)) {
return false;
}
std_in.putLine("util_execute init config");
if (!sapdb_proceed_output(std_out)) {
return false;
}
std_in.putLine("exit");
sapdb_proceed_output(std_out);
sapdb_complete_output(std_out);
return true;
}
function sapdb_load_systab(db_nm, db_host, usr, usr_passwd) {
var s_cmd = "LOAD_SYSTAB";
var sdb_i = new sdbInstance();
sdb_i.dbName = db_nm;
sdb_i.dbHost = db_host;
sdb_i.Domain = "DOMAIN";
sdb_i.DomainPasswd = "DOMAIN";
var r_arr = sdb_instance_action(s_cmd, sdb_i);
return (r_arr[0] == "true");
}
function sapdb_load_systab_sv(db_nm, db_host, usr, usr_passwd) {
var db_root = sapdb_get_db_root(db_nm);
var sh_op = get_dbmcli_app(usr, usr_passwd);
var std_out = sh_op.getOutputStream();
var ctl_s = sapdb_get_db_user("CONTROL", db_nm, db_host) + "," + sapdb_get_db_user_passwd("CONTROL", db_nm, db_host);
var adm_s = sapdb_get_db_user("ADMIN", db_nm, db_host) + "," + sapdb_get_db_user_passwd("ADMIN", db_nm, db_host);
var dmn_s = sapdb_get_db_user_passwd("DOMAIN", db_nm, db_host);
sh_op.setArguments(["-n", db_host, "-d", db_nm.toUpperCase(), "-u", ctl_s, "load_systab", "-u", adm_s, "-ud", dmn_s]);
sh_op.setHiddenArguments({5:true, 8:true, 10:true});
sh_op.start(false);
var ret_v = false;
while (!std_out.fail()) {
var s_ln = std_out.getLine();
if (/OK/.test(s_ln)) {
ret_v = true;
}
}
return ret_v;
}
function sapdb_db_create(db_nm, db_host, db_ver) {
var dep_root = sapdb_inst_root(db_nm);
var sdb_i = new sdbInstance();
sdb_i.dbName = db_nm;
sdb_i.dbHost = db_host;
sdb_i.dbVer = db_ver[0] + "." + db_ver[1];
sdb_i.ctlUser = sapdb_get_db_user("CONTROL", db_nm, db_host);
sdb_i.ctlUserPasswd = sapdb_get_db_user_passwd("CONTROL", db_nm, db_host);
var actorObj = new SdbExtActor();
actorObj.setSdbInstance(sdb_i);
actorObj.setDbmCmd("DB_CREATE");
actorObj.setExecutable(sapdb_dbmcli_path());
actorObj.setDbRoot(dep_root);
var rv = actorObj.sessionExecute();
ASSERT(arguments.callee, rv == "OK", " SDB: ERROR CREATING DATABASE INSTANCE! Check the XCMDOUT.LOG FILE");
var creation_ok = false;
var i_size = actorObj.outSize();
for (var i = 0; i < i_size; i++) {
var s_line = actorObj.getOutputLine(i);
if (/OK/.test(s_line)) {
creation_ok = true;
}
}
ASSERT(arguments.callee, creation_ok, "SDB: ERROR WHILE DB INSTANCE CREATION! CHECK THE XCMDOUT.LOG FILE! ");
}
function sapdb_db_create_sv(db_nm, db_host, usr, usr_passwd) {
var db_root = sapdb_get_db_root(db_nm);
var sh_op = get_dbmcli_app(usr, usr_passwd);
var std_out = sh_op.getOutputStream();
var ctl_s = sapdb_get_db_user("CONTROL", db_nm, db_host) + "," + sapdb_get_db_user_passwd("CONTROL", db_nm, db_host);
sh_op.setArguments(["-s", "-R", db_root, "db_create", db_nm.toUpperCase(), ctl_s]);
sh_op.setHiddenArguments({5:true, 6:true});
sh_op.start(false);
var ret_v = false;
while (!std_out.fail()) {
var s_ln = std_out.getLine();
if (/OK/.test(s_ln)) {
ret_v = true;
}
}
return ret_v;
}
function sapdb_action(db_nm, db_host, db_action, db_ver, ctl_usr, ctl_passwd) {
var dbversion = (db_ver == undefined) ? "75" : db_ver;
if (ctl_usr == undefined || ctl_passwd == undefined) {
ctl_user = sapdb_get_db_user("CONTROL", db_nm, db_host);
ctl_passwd = sapdb_get_db_user_passwd("CONTROL", db_nm, db_host);
}
var sdb_call = sdb_action_with_info(db_action.toUpperCase(), dbversion, db_nm, db_host, ctl_usr, ctl_passwd);
return (sdb_call[0] == "true");
}
function sapdb_action_sv(db_nm, db_host, db_action, ctl_usr, ctl_passwd) {
var ctl_s;
var sh_op = get_dbmcli_app();
var std_out = sh_op.getOutputStream();
if (ctl_usr == undefined || ctl_passwd == undefined) {
ctl_s = sapdb_get_db_user("CONTROL", db_nm, db_host) + "," + sapdb_get_db_user_passwd("CONTROL", db_nm, db_host);
} else {
ctl_s = ctl_usr + "," + ctl_passwd;
}
if (db_host == installer.getHostName()) {
sh_op.setArguments(["-s", "-d", db_nm, "-u", ctl_s, db_action]);
sh_op.setHiddenArguments({4:true});
} else {
sh_op.setArguments(["-n", db_host, "-d", db_nm, "-u", ctl_s, db_action]);
sh_op.setHiddenArguments({5:true});
}
var b_start = sh_op.start(false);
ASSERT(arguments.callee, b_start, "COULD NOT START THE APPLICATION: " + sh_op.getCommandLine() + "! Check the path!");
var ret_v = false;
while (!std_out.fail()) {
var s_ln = std_out.getLine();
if (/OK/.test(s_ln)) {
ret_v = true;
}
}
return ret_v;
}
function sapdb_put_instance_param(db_nm, db_host) {
var t_param = new Table("tSapdbParameters");
var par_arr = t_param.arraySelect(["fParamName", "fParamValue"], " WHERE fDbName='" + db_nm + "' ");
var sdb_i = new sdbInstance();
sdb_i.dbName = db_nm;
sdb_i.dbHost = db_host;
sdb_param_put(par_arr, sdb_i);
return true;
}
function sapdb_param_put(db_nm, db_host, param_name, param_val, usr, usr_passwd) {
var sdb_i = new sdbInstance();
sdb_i.dbName = db_nm;
sdb_i.dbHost = db_host;
var db_parr = new Array({fParamName:param_name, fParamValue:param_val});
sdb_param_put(db_parr, sdb_i);
return true;
}
function sapdb_param_put_sv(db_nm, db_host, param_name, param_val, usr, usr_passwd) {
var sh_op = get_dbmcli_app(usr, usr_passwd);
var std_out = sh_op.getOutputStream();
var ctl_s = sapdb_get_db_user("CONTROL", db_nm, db_host) + "," + sapdb_get_db_user_passwd("CONTROL", db_nm, db_host);
sh_op.setArguments(["-n", db_host, "-d", db_nm, "-u", ctl_s, "param_directput", param_name, param_val]);
sh_op.setHiddenArguments({5:true});
sh_op.start(false);
var ret_v = false;
while (!std_out.fail()) {
var s_ln = std_out.getLine();
if (/OK/.test(s_ln)) {
ret_v = true;
}
}
return ret_v;
}
function sdb_inst_enum() {
var actn = "SDB_INST_ENUM";
var call_arr = sdb_action_with_info(actn, "75");
var e_arr;
e_arr = new Array();
if (call_arr != undefined && call_arr[0] != "false") {
for (var a_cnt = 1; a_cnt < call_arr.length; a_cnt++) {
e_arr.push(call_arr[a_cnt]);
}
}
return e_arr;
}
function sapdb_inst_root(db_nm) {
var inst_root = "";
var r_call = sdb_inst_enum();
if (r_call != undefined) {
for (var r_cnt = 0; r_cnt < r_call.length; r_cnt++) {
var re = /\s+\t*/;
var re_db = new RegExp(db_nm, "i");
var db_enum = r_call[r_cnt].split(re);
if (re_db.test(db_enum[1])) {
inst_root = db_enum[1];
}
}
}
return inst_root;
}
function sapdb_inst_enum(enum_option, db_nm) {
var dbm_cli = get_dbmcli_app(undefined, undefined);
dbm_cli.setArguments(["-s", "inst_enum"]);
var out_s = dbm_cli.getOutputStream();
dbm_cli.start(false);
var inst_root = "";
while (!out_s.fail()) {
var s_ln = out_s.getLine();
if (/OK/.test(s_ln)) {
while (!out_s.fail()) {
var re = /\s+\t*/;
var re_db = new RegExp(db_nm, "i");
var db_enum = out_s.getLine().split(re);
if (re_db.test(db_enum[1])) {
if (enum_option == "DBROOT") {
inst_root = db_enum[1];
} else {
inst_root = db_enum[0];
}
}
}
}
}
return inst_root;
}
function sapdb_proceed_output(std_out) {
var r_v = true;
var dbmcli_resp = std_out.getLine();
return r_v;
}
function sapdb_complete_output(std_out) {
var r_v = true;
while (!std_out.fail()) {
var dbmcli_resp = std_out.getLine();
}
return r_v;
}
function sapdb_param_init(db_name, db_host, sapdb_version, inst_type) {
var init_s;
if (inst_type == undefined) {
init_s = "OLTP";
} else {
switch (inst_type) {
case "LVC":
init_s = "LVC";
break;
default:
init_s = "OLTP";
break;
}
}
var r_arr = sdb_instance_type(db_name, db_host, init_s, sapdb_version);
ASSERT(arguments.callee, r_arr != undefined, "SDB: ERROR EXECUTING PARAM_INIT!");
ASSERT(arguments.callee, r_arr[0] == "true", "SDB: ERROR EXECUTING PARAM_INIT! CHECK THE XCMDOUT.LOG FILE!");
return (r_arr[0] == "true");
}
function sapdb_param_init_sv(db_name, db_host, os_user, osdbgroup, sapdb_version, inst_type) {
var init_s;
if (inst_type == undefined) {
init_s = "PARAM_INIT OLTP";
} else {
switch (inst_type) {
case "LVC":
init_s = "PARAM_INIT LVC";
break;
default:
init_s = "PARAM_INIT OLTP";
break;
}
}
var r_v = true;
var sh_op = get_dbmcli_app(os_user, osdbgroup);
var std_in = sh_op.getInputStream();
var std_out = sh_op.getOutputStream();
var ctl_s = sapdb_get_db_user("CONTROL", db_name, db_host) + "," + sapdb_get_db_user_passwd("CONTROL", db_name, db_host);
sh_op.setArguments(["-n", db_host, "-d", db_name, "-u", ctl_s]);
sh_op.setHiddenArguments({5:true});
sh_op.start(false);
std_in.putLine("db_offline");
if (!sapdb_proceed_output(std_out)) {
return false;
}
std_in.putLine("param_rmfile");
if (!sapdb_proceed_output(std_out)) {
return false;
}
std_in.putLine("param_startsession");
if (!sapdb_proceed_output(std_out)) {
return false;
}
std_in.putLine(init_s);
if (!sapdb_proceed_output(std_out)) {
return false;
}
std_in.putLine("param_checkall");
if (!sapdb_proceed_output(std_out)) {
return false;
}
std_in.putLine("param_commitsession");
if (!sapdb_proceed_output(std_out)) {
return false;
}
std_in.putLine("exit");
sapdb_proceed_output(std_out);
sapdb_complete_output(std_out);
return true;
}
try {
gui.update("MaxDB: putting database cold ... ");
ASSERT(arguments.callee, sapdb_action(context.get("DatabaseName"), installer.getHostName(), "DB_START", context.get("SAPDB_VERSION")), "SDB: ERROR EXECUTING DB START! CHECK THE XCMDOUT.LOG FILE!");
gui.update("MaxDB: putting database cold ... OK");
} catch (e) {
if (e.getMessage) {
installer.writeErrorWithArray(e.getMessage(), true);
} else {
throw e;
}
}
}
SDB: ERROR EXECUTING DB START! CHECK THE XCMDOUT.LOG FILE!
WARNING 2013-06-07 00:36:22
Installation canceled by user request.