VpsでOraclexeデータベースを作成しようとしています。
VPS OS:CentOS。
実行しようとすると
/etc/init.d/Oracle-xe configure
エラーをスローします。データベースの確認に失敗し、ログを確認しましたが、ログにはORA-01034:Oracleが使用できませんと表示されます。
以下は歴史です...
[root@vmcx-43 Disk1]# rpm -ivh Oracle-xe-11.2.0-1.0.x86_64.rpm
Preparing... ########################################### [100%]
/var/tmp/rpm-tmp.51363: line 186: bc: command not found
1:Oracle-xe /var/tmp/rpm-tmp.51363: line 186: bc: command not fo und########################################### [100%]
Executing post-install steps...
/var/tmp/rpm-tmp.97984: line 76: bc: command not found
/var/tmp/rpm-tmp.97984: line 77: bc: command not found
/var/tmp/rpm-tmp.97984: line 78: [: -gt: unary operator expected
/var/tmp/rpm-tmp.97984: line 82: bc: command not found
You must run '/etc/init.d/Oracle-xe configure' as the root user to configure the database.
[root@vmcx-43 Disk1]# /etc/init.d/Oracle-xe configure
Oracle Database 11g Express Edition Configuration
-------------------------------------------------
This will configure on-boot properties of Oracle Database 11g Express
Edition. The following questions will determine whether the database should
be starting upon system boot, the ports it will use, and the passwords that
will be used for database accounts. Press <Enter> to accept the defaults.
Ctrl-C will abort.
Specify the HTTP port that will be used for Oracle Application Express [8080]:
Specify a port that will be used for the database listener [1521]:
Specify a password to be used for database accounts. Note that the same
password will be used for SYS and SYSTEM. Oracle recommends the use of
different passwords for each database account. This can be done after
initial configuration:
Password can't be null. Enter password:
Password can't be null. Enter password:
Confirm the password:
Do you want Oracle Database 11g Express Edition to be started on boot (y/n) [y]: n
Starting Oracle Net Listener...Done
Configuring database...
Database Configuration failed. Look into /u01/app/Oracle/product/11.2.0/xe/config/log for details
[root@vmcx-43 Disk1]# cd /u01/app/Oracle/product/11.2.0/xe/config/log
[root@vmcx-43 log]# ls
CloneRmanRestore.log cloneDBCreation.log postDBCreation.log postScripts.log
[root@vmcx-43 log]# tail postScripts.log
commit
*
ERROR at line 1:
ORA-01034: Oracle not available
Process ID: 0
Session ID: 0 Serial number: 0
[root@vmcx-43 log]# tail CloneRmanRestore.log
select TO_CHAR(systimestamp,'YYYYMMDD HH:MI:SS') from dual
*
ERROR at line 1:
ORA-01034: Oracle not available
Process ID: 0
Session ID: 0 Serial number: 0
サーバー名とIPを/ etc/hostsファイルに追加します
私も同じ問題を抱えていました。
Oracle-xeをアンインストールしました。 LinuxでOracle 10g xeを再構成する方法 を参照してください。
その後続いた
yum install bc
rpm -i Oracle-xe.rpm
/etc/init.d/Oracle-xe configure
すべてがうまくいった。
yum install bc
その後、再試行してください。
解決策は奇妙に聞こえるかもしれませんが、今日、centosにOracleXeをインストールしているときにまったく同じエラーが発生しました。私は答えを見つけるのに多くの苦労をしましたが、結局のところ問題は私がrpmをインストールする方法でした。
Initailly私はコマンドを使用しました
$rpm -ivh Oracle-xe.rpm
そしてどういうわけかそれはあなたが得ているのと同じエラーを与えていました。
その後、私は試しました
$rpm -i Oracle-xe.rpm
そしてそれは私のために働いた。ハッシュフラグである「h」フラグが問題を引き起こす理由はよくわかりませんが、私にとってはうまくいきました。
debianの場合... rpmからOracle-XEをインストールする方法
データベースを構成しています...データベースの構成に失敗しました。詳細については、/ u01/app/Oracle/product/11.2.0/xe/config/logを参照してください
nano /u01/app/Oracle/product/11.2.0/xe/config/scripts/init.ora
コメント# memory_target=100663296
/etc/init.d/Oracle-xe configure // will work
私もLinuxMint17.3で同様の問題に直面しました。幸いなことに、私はより早く解決策を見つけました。問題は、共有メモリファイルがOracleが期待する場所、つまり/ dev/shmにないことですが、/ run/shmにあり、/ dev/shmがリンクされています。
したがって、この問題を解決するには、データベースを構成する前に、以下の手順を順番に実行する必要があります。
$ Sudo rm -rf /dev/shm
$ Sudo mkdir /dev/shm
$ Sudo mount -t tmpfs shmfs -o size=2048m /dev/shm
私はそれをテストしました、完璧に動作します。
インストールからのログがないことへの不満で「Oraclesucks」をグーグルした後、Hortonworks HDP2.6サンドボックスを実行しているDockerコンテナで構成が失敗する原因となった問題を解決することができました。
vi /etc/fstab
次の行を変更/追加します。
tmpfs /dev/shm tmpfs defaults,size=1024m 0 0
次に、次の方法で構成をリロードします。
mount -a
後でdockerコンテナーを再起動する場合は、コンテナーに設定されているデフォルトの65 mbで開始されるため、「mount-a」をもう一度実行する必要がある場合があることに注意してください。
通常、失敗した構成はリスナーの作成に成功し、構成を再実行する前にこれを強制終了する必要があります。
ps -aux | grep tnslsnr
kill {process identified in the step above}
このページの他の答えのどれも私のために働いていなかったので、これに丸一日を失いました(Ubuntu)。
適切な手順ここで ここ
他のチュートリアルに欠けている主なトリックは、実行することでした
sed -i 's,/var/lock/subsys,/var/lock,' /etc/init.d/Oracle-xe
before
/etc/init.d/Oracle-xe configure