windows下,process设置过小,数据库启动不了

process设置过小,用sqlplus执行startup时提示:ORA-03113: 通信通道的文件结束.再执行任意命令,提示:oracle not aviable.其实就是oracle实例没启动起来.打开alert_orcl.log,可以看到ORA-00020: maximum number of processes (150) exceeded.

既然知道了问题,就开始解决.

1.重新用sqlplus登录一次,关闭数据 shutdown abort 

2.修改initorcl.ora文件,将process改为300,保存.

3.用initorcl.ora启动数据库

SQL>startup pfile=D:\APP\ORACLE\db_home1\dbs\initorcl.ora

SQL> startup
ORA-00444: background process "DBW0" failed while starting
ORA-00020: maximum number of processes () exceeded

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用Qt的QProcess类来备份Oracle数据库。以下是大致的步骤: 1. 创建一个QProcess对象,并设置要执行的命令和参数。例如,可以使用expdp命令来备份Oracle数据库。 2. 设置QProcess对象的工作目录和环境变量。例如,可以设置工作目录为Oracle客户端的安装目录,并设置环境变量ORACLE_HOME和PATH。 3. 启动QProcess对象,并等待备份完成。可以使用waitForFinished()函数来等待进程结束。 4. 处理备份结果。可以使用QProcess的readAllStandardOutput()和readAllStandardError()函数来获取备份过程中产生的输出和错误信息。 下面是一个简单的示例代码,演示如何使用QProcess备份Oracle数据库: ```C++ QString oracleHome = "/opt/oracle/client"; QString backupDir = "/backup"; QString username = "scott"; QString password = "tiger"; QString serviceName = "orcl"; QString backupFile = "backup.dmp"; QProcess process; process.setWorkingDirectory(oracleHome); process.setEnvironment(QStringList() << "ORACLE_HOME=" + oracleHome << "PATH=" + oracleHome + "/bin:" + qgetenv("PATH")); QStringList arguments; arguments << "expdp" << username + "/" + password << "directory=" + backupDir << "dumpfile=" + backupFile << "schemas=" + username << "service_name=" + serviceName; process.start("cmd", QStringList() << "/c" << arguments.join(' ')); if (!process.waitForStarted()) { qDebug() << "Failed to start process"; return; } if (!process.waitForFinished()) { qDebug() << "Failed to finish process"; return; } qDebug() << "Backup finished with exit code" << process.exitCode(); qDebug() << "Standard output:" << process.readAllStandardOutput(); qDebug() << "Standard error:" << process.readAllStandardError(); ``` 注意,上述代码中使用了Windows的cmd命令来执行expdp命令。如果在Linux或其他类Unix系统下运行,需要使用相应的Shell命令来代替cmd。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值