English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Oracle 12cのインストール方法およびいくつかの使用上の問題

Linux Centos6.5 64bit下でoracleをインストール12c:

groupadd oinstall
groupadd dba
mkdir -p /u01/oracle
useradd -g oinstall -G dba -d /u01/oracle oracle
(ここでは、homeディレクトリを変更する必要はありません/u01/oracle、デフォルトでも可。)
以下の3つのファイルを以下にコピーします /u01/oracleディレクトリ下
[root@oracle /]# cd /etc/skel/
[root@oracle skel]# ll -a
-rw-r--r--. 1 root root 18 7月 18 2013 .bash_logout
-rw-r--r--. 1 root root 176 7月 18 2013 .bash_profile
-rw-r--r--. 1 root root 124 7月 18 2013 .bashrc
注:useraddでユーザーを追加すると、自動的にこのディレクトリのファイルがユーザーのホームディレクトリにコピーされます
password oracle
chown -R oracle:oinstall /u01
chmod -R 775 /u01/

/*vncのインストール*/

yum -y install tigervnc-server
vncserver Enterキーを押す
パスワードを入力してください
ps -ef | grep vnc
vncクライアントの接続:ip:1

以下プログラムがインストールされているか確認してください:

binutils-2.17.50.0.6
compat-libstdc++-33-3.2.3 -
elfutils-libelf-0.125
elfutils-libelf-devel-0.125 -
elfutils-libelf-devel-static-0.125 -
gcc-4.1.2 -
gcc-c++-4.1.2 -
glibc-2.5-24
glibc-common-2.5
glibc-devel-2.5
glibc-headers-2.5
kernel-headers-2.6.18
ksh-20060214 -
libaio-0.3.106
libaio-devel-0.3.106 -
libgcc-4.1.2
libgomp-4.1.2
libstdc++-4.1.2
libstdc++-devel-4.1.2 -
make-3.81
sysstat-7.0.2 
unixODBC-2.2.11 -
unixODBC-devel-2.2.11 -

修正 /etc/sysctl.confファイルに以下のパラメータを追加します

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586

システム再起動せずに上記の設定を有効にするには、以下のコマンドを実行します
# /sbin/sysctl -p

ユーザー制限を修正します

rootユーザー:以下を修正します /etc/security/limits.confファイルに以下のパラメータを追加します

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

ユーザー認証オプションを修正します
rootユーザー下で:以下を修正します/etc/pam.d/loginファイルに以下のパラメータを追加します

session required pam_limits.so

ユーザー設定ファイルを修正します
rootユーザー下で:以下を修正します/etc/profileファイルに以下のパラメータを追加します:

if [ $USER = "oracle" ]; then
  if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
  else
    ulimit -u 16384 -n 65536
  fi
fi

oracleユーザーのbash_profileを修正します:
$ vi .bash_profile
以下の内容を追加します、主に以下を修正します:

export ORACLE_BASE=/u01 
export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1
export ORACLE_SID=hxw168 
export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin

Oracleをインストールします:

Oracleをインストールするとコマンドを使用できません/usr/bin/xdpyinfoが自動的にディスプレイの色をチェックします:

[root@oracle /]# xdpyinfo | grep "name of display"
ディスプレイの名前: :1.0
[root@oracle /]# 
Oracleユーザー下でコマンドを実行します:
export DISPLAY=:1.0 (上記name of display:の後の :1.0)

prvf-0002: ローカルノード名を検索できません

hostファイル ipと名称が対応しています
192.168.198.188 oracle

SQL> create user admin identified by zerostudy;
create user admin identified by zerostudy
*
ERROR at line 1:
ORA-65096: 一般的なユーザーやロール名が無効です


SQL> !oerr ora 65096
65096, 00000, "一般的なユーザーやロール名が無効です"
// *原因: 名前がC##またはc##で始まり、ASCII文字のみで構成されている一般的なユーザーやロールを作成しようとしました。
// が、一般的なユーザーやロールには有効ではありません。さらに、
// 一般的なユーザーやロール名、一般的なユーザーやロールの通常のルール
// 名前はC##またはc##で始まり、ASCII文字のみで構成される必要があります
// 文字。
// *アクション: 有効な一般的なユーザーやロール名を指定します。
//

解決策:https://ja.oldtoolbag.com/article/92720.htm

仮想マシンのメモリを調整して600多M(元々1G多),Oracleを起動するときに:
SQL> startup
ORA-00845: このシステムではMEMORY_TARGETはサポートされていません

SQL> !oerr ora 00854
00854, 00000, "ASM IOServerインスタンスFenceモニタプロセスが終了しました。"
// *原因: ASM IOServer Fenceモニタプロセスが死亡しました。
// *アクション: インスタンスをウォームスタートします。

原因は、LinuxシステムのshmのサイズがSGA設定よりも小さいためです。
shmのサイズを調整することができます:
vi /etc/fstab
以下行の設定を変更してください
tmpfs /dev/shm tmpfs defaults 0 0
に変更
tmpfs /dev/shm tmpfs defaults,size=6G 0 0
shmを再mountして有効にします
mount -o remount /dev/shm

TNS-12514TNS:listenerは現在、コネクタディスクリプタでリクエストされたサービスを知りません

listener.oraファイルを変更する必要があります($ORACLE_HOMEのパス)/network/admin),それからlsnrctlを再起動

# Oracleの構成ツールで生成されました。
# LISTENER =
# (DESCRIPTION_LIST =
# (DESCRIPTION =
# (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)
# (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.198.188)(PORT = 1521)
# )
# )
hxw168 =
 )(DESCRIPTION_LIST =
 )(DESCRIPTION =
  )(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.198.188)(PORT = 1521)
 )
 )
 SID_LIST_hxw168=
 (SID_LIST =
 (SID_DESC =
  (ORACLE_HOME = /u01/app/product/12.1.0/db_1)
  (SID_NAME = hxw168)
 )
 )

oracleの簡単な起動スクリプト:

[root@oracle ~]# cat /etc/init.d/oracle 
su - oracle <<EOF
lsnrctl start
sqlplus / as sysdba
startup
EOF

この記事は「誤りを死に至るまで誤り続けよう!」ブログから出ています

おすすめ