Oracle 12c安装方法及一些使用问题

linux centos6.5 64bit下安装oracle12c:

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 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 回车
输入密码
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"
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: invalid common user or role name

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.
//

解决方法:

调整虚拟机的内存到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 does not currently know of service requested in connect descriptor

需要更改listener.ora文件(跟径在$oracle_home/network/admin),然后重启lsnrctl

# generated by oracle configuration tools.
#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

本文出自 “尽管错,让我错到死!” 博客

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐