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

طريقة تثبيت Oracle 12c وكذلك بعض المشاكل التي قد تواجهها أثناء الاستخدام

تثبيت oracle12c تحت نظام التشغيل Linux Centos6.5 64bit:

groupadd oinstall
groupadd dba
mkdir -p /u01/oracle
useradd -g oinstall -G dba -d /u01/oracle oracle
هنا ليس من الضروري تغيير دليل home إلى /u01/oracle، يمكن أيضًا استخدام الإعداد الافتراضي.)
انسخ الثلاثة ملفات التالية إلى دليل /u01/oracle
[root@oracle /]# cd /etc/skel/
[root@oracle skel]# ll -a
-rw-r--r--. 1 root root 18 يوليو 18 2013 .bash_logout
-rw-r--r--. 1 root root 176 يوليو 18 2013 .bash_profile
-rw-r--r--. 1 root root 124 يوليو 18 2013 .bashrc
ملاحظة: عند إضافة مستخدم باستخدام useradd، سيتم نسخ الملفات تلقائيًا من هذا الدليل إلى دليل مستخدم المنزل
password oracle
chown -R oracle:oinstall /u01
chmod -R 775 /u01/

/*تثبيت vnc*/

yum -y install tigervnc-server
vncserver إدخال
أدخل كلمة المرور
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 وإضافة المعلمات التالية

الجلسة تتطلب pam_limits.so

تعديل ملف تكوين المستخدم
في مستخدم root: تعديل ملف /etc/profile وإضافة المعلمات التالية:

إذا كان $USER = "oracle"؛
  إذا كان $SHELL = "/bin/ksh"؛
    حدود المستخدم -p 16384
    حدود المستخدم -n 65536
  else
    حدود المستخدم -u 16384 -n 65536
  fi
fi

تعديل ملف bash_profile للمستخدم oracle:
$ vi .bash_profile
إضافة النص التالي، وهو لتعديل

تصدير ORACLE_BASE=/u01 
تصدير ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1
تصدير ORACLE_SID=hxw168 
تصدير PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin

تثبيت oracle:

تعذر تثبيت oracle واستخدام الأمر /usr/bin/xdpyinfo للتحقق تلقائيًا من لون الشاشة:

[root@oracle /]# xdpyinfo | grep "اسم العرض"
اسم العرض: :1.0
[root@oracle /]# 
تنفيذ الأوامر تحت مستخدم Oracle:
تصدير عرض الشاشة: :1.0 (الاسم الموجود بعد name of display: :1.0)

prvf-0002: لا يمكن استرجاع اسم النقطة المحلية

ملف الـ host يحتوي على عنوان IP واسم المكان
192.168.198.188 oracle

SQL> إنشاء مستخدم admin مع كلمة المرور zerostudy;
إنشاء مستخدم admin مع كلمة المرور zerostudy
*
خطأ في السطر 1:
ORA-65096: غير صالح اسم المستخدم أو الدور العام


SQL> !oerr ora 65096
65096, 00000, "invalid common user or role name"
// *Cause: An attempt was made to create a common user or role with a name
// that wass not valid for common users or roles. In addition to
// the usual rules for user and role names, common user and role
// names must start with C## or c## and consist only of ASCII
// characters.
// *Action: Specify a valid common user or role name.
//

解决方法:https://ar.oldtoolbag.com/article/92720.htm

调整虚拟机的内存到600多M(原来1G多),启动oracle时提示:
SQL> startup
ORA-00845: MEMORY_TARGET not supported on this system

SQL> !oerr ora 00854
00854, 00000, "ASM IOServer Instance Fence monitor process terminated."
// *Cause: The ASM IOServer Fence monitor process died.
// *Action: Warm start the instance.

原因就是Linux系统的shm的大小比SGA设置的小造成的。
可以调整shm的大小:
vi /etc/fstab
修改如下行的设置
tmpfs /dev/shm tmpfs defaults 0 0
改成
tmpfs /dev/shm tmpfs defaults,size=6G 0 0
重新mount下shm使其生效
mount -o remount /dev/shm

TNS-12514: TNS:الملقم لا يعرف حاليًا الخدمة المطلوبة في وصف الاتصال

إذا كنت بحاجة إلى تعديل ملف 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

هذا المقال من “حتى أكون ميتاً على الخطأ!” المدونة

أنت قد تحب