Red Hat Enterprise Linux 7.0 x86_64下安装Oracle 12c R1
2016-09-02 12:05
956 查看
操作步骤:
一.安装Linux.
1.系统环境需求
内存:最小1GB,推荐2GB或以上
交换空间: 内存大小是1-2GB时,交换空间是内存的1.5倍,内存大小2-16GB时,交 换空间等于内存大小,内存大小16G以上时,交换空间为16GB.
(CP:由于我的windows系统是8G内存,我给虚拟机2.5G,在装Linux系统时分了三个区:虚拟内存SWAP:4G 安装oracle内存:21G 根目录内存:15G)
2.安装Linux
使用安装光盘安装Redhat Enterprise Linux 7.0 x86_64,为方便测试,可以使用VMware Workstation虚拟一台机器,在虚拟机上安装。
3.设置主机域名解析
安装Linux后需使用静态IP地址,并在/etc/hosts文件中设置主机域名解析(ip地址主机 名称)
# vi /etc/hosts
192.168.1.66 hostname (点击ESC,输入:cq,即可保存退出)
4.检查内存
# grep MemTotal /proc/meminfo
# grep SwapTotal /proc/meminfo
# free -g
二.配置linux系统下的Oracle环境
1. 检查和更新所需软件包.(方法一中的缺少的包后面安装),如果系统有软件包没有安装,可以在Redhat Enterprise Linux 7.0的光盘Packages目录中找到,安装这些包
检查方法一: 以root身份登录到linux操作系统,检查和更新需要安装的软件包
#rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libgcc libstdc++ libstdc++-devel
# rpm -q libaio libaio-devel libXext libXtst libX11 libXau libxcb libXi make sysstat
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/cd6e3c3466aef3eef55ebd9b1ef1adec)
检查方法二::#rpm -qa binutils compat-libcap1 gcc gcc-c++ glibc glibc-develksh libaio libaio-devel libgcc libstdc++ libstdc++-devellibXi libXtst make sysstat unixODBC unixODBC-devel
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/0050e050e9505c24ccf5fdd5bfefd130)
# rpm -qabinutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-staticgcc gcc-c++ glibc glibc-common glibc-devel glibc-headers glibc-statickernel-headers pdksh libaio libaio-devel libgcc libgomp libstdc++libstdc++-devel
libstdc++-static make numactl-devel sysstat unixODBCunixODBC-devel
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/1cc5728e1bc4d930b84847d461d0c203)
2.如果缺少包就去Redhat EnterpriseLinux 7.0的光盘Packages目录中找到,并且安装。找不到的去(http://rpmfind.net/linux/rpm2html/search.php?query=compat-libstdc++)下载所需要的包,通过WinScP连接虚拟机IP传到linux系统文件夹下(我是传到home文件夹下面),然后点击安装,下面是解决包缺少的效果图
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/c2b526b3a77d4fd523e8fecd34d8d92c)
3.一般缺少的包如下(安装失败截图)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/9ef7dbb144679743ec53848482d014d1)
4.验证系统要求
查看内存大小
# grep MemTotal /proc/meminfo
查看交换空间
# grep SwapTotal /proc/meminfo (swap要求4G以上)
查看磁盘空间,Oracle 12c R1 x64企业版的磁盘空间要求6.4GB以上。
# df –h
5.创建Oracle组和用户帐户
需要创建以下组和用户:
The Oracle Inventory group(typically, oinstall)
The OSDBA group (typically, dba)
The Oracle software owner(typically, oracle)
The OSOPER group (optional.Typically, oper)
# groupadd oinstall
# groupadd dba
# groupadd oper
# useradd -g oinstall -G dba,operoracle
# passwd oracle
6..配置内核参数
以root身份登录系统,根据用户指南配置以下参数:
修改文件/usr/lib/sysctl.conf,添加以下内容:
# vi /usr/lib/sysctl.conf
# for oracle
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 2147483648
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
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/ac7d1474fdadd5195375bb3438a69b24)
7. 登录oracle帐号检查资源限制.
$ ulimit -Sn
$ ulimit -Hn
$ ulimit -Su
$ ulimit -Hu
$ ulimit -Ss
$ ulimit -Hs
修改文件/etc/security/limits.conf,更改资源限制,添加以下内容:
# vi /etc/security/limits.conf
# for oracle
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/60c42ee5b357514cac8d8cd56db1c8d6)
8.创建Oracle Base安装目录:
# mkdir -p /u01/app/
# chown -R oracle:oinstall /u01/app/
# chmod -R 775 /u01/app/
9.编辑Oracle用户环境,编辑.bash_profile文件,配置环境变量
# su - oracle
$ vi .bash_profile
编辑.bash_profile文件,添加以下内容
# For Oracle
export DISPLAY=:0.0
export TMP=/tmp;
export TMPDIR=$TMP;
exportORACLE_BASE=/u01/app/oracle;
exportORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1;
export ORACLE_SID=sales;
export ORACLE_TERM=xterm;
export PATH=/usr/sbin:$PATH;
export PATH=$ORACLE_HOME/bin:$PATH;
exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
exportCLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
运行命令使配置生效
$ source .bash_profile
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/045541c8d7b917a3fab028f026a11866)
三.安装Oracle软件与数据库
1.通过WinScp将oracle压缩包传到linux系统的Tmp目录下
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/494dce07b9fb0bb22bf373c68ca16a1d)
2.切换用户,以oracle用户登录,在Tmp目录下解压oracle压缩包,进行安装
$ unzip linuxamd64_12102_database_1of2
$ unzip linuxamd64_12102_database_2of2
以oracle用户身份登录系统安装Oracle12c,为避免出现中文乱码,安装前可以执行export LANG="",显示英文,
$ export LANG=""
$ cd database
$ ./runInstaller
3.运行./runInstaller后出现oracle12c的图形安装界面
步骤截图
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/35f083543496fdfc6b7e608e96ec806b)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/07538cf88d90c070a8e2ea87b369cd7a)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/60768d64fede4f30b4893ed58bc0993c)
这一步我们选择第一个,数据库和oracle软件一起安装
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/6cc2672643cad0bddba485f5bcf45cd6)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/f5cdc1bca5bb5015eb45167a8b555150)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/8debcb1804325d9a8a52e02efbc32803)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/5e64ec033d4f50a324f99c8900580af7)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/7b30b288cc39c7fb52a73face470559f)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/41941b545a6091b3a9ed299bbf38bb5d)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/86243f99c3aca930964631c0906055f9)
在这一步时,无法继续,因为oracle账户无法创建oraInventory目录,所以必须先创建该用户并授权
[root@getoraclelnx01~]# mkdir -p /u01/app/oraInventory
[root@getoraclelnx01~]# chown -R oracle:oinstall /u01/app/oraInventory
[root@getoraclelnx01~]# chmod -R 775 /u01/app/oraInventory
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/ba8e2c3393617dac1c7005e5a951d739)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/e4f68564ef39a2f1d3161cf52f355e85)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/559e5f47216671da149644c0de82d10f)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/d8dc9efb9efd05e5745a5512f9aef02e)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/19528ef8ed7db0da5ec574c575b3c5cb)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/5b5c2ca20d89fddd20855152afbb4b64)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/2f25140c2a2be719a844c39f42c80dbe)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/b4b6acef2fe3aafeea75d90293fd79a4)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/fb6af441bfc99937906975c6a64b5a21)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/9c4d817b070799c068560ca74a4d9947)
验证参数时,fs.file-max设置为65536,但是ORACLE推荐使用68157744,net.core.wmem_max大小为262144,oracle 推荐使用1048576,修改内核参数,运行sysctl -p使之生效。然后重新验证通过
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/d568f1b3af83c09f846716b9b1fa92cb)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/1b258fabe66bba851c6145be253958ed)
1.提示:安装到大约快80%的时候,会弹出一个窗口,显示两个脚本,复制要执行的脚本,切换到root权限去执行脚本
# /u01/app/oraInventory/orainstRoot.sh
#/u01/app/oracle/product/12.1.0/db_1/root.sh
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/06c313dc801abe558e787a7211da4a30)
2.执行完毕后,漫长的等待,30分钟后出现安装100%进度条,点击finesh,即已完成Oracle database的安装
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/67af686ba91a69826064ac2f5eae68c2)
第四步:执行oracle启动服务,监听命令
1.执行以下命令
第一步:打开Oracle监听
$lsnrctl start
第二步:进入sqlplus
$sqlplus /nolog
SQL》
第三步:使用sysdab角色登录sqlplus
SQL》 conn /as sysdba
第四步:启动数据库
SQL》startup
问题1:执行到第四步start时提示你不能够打开:/opt/app/oracle/product/12.1.0_1s/initafcsc.ora这个命令
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/7660a7003b95d49c83af06a8b74623af)
报错解析:
报错是因为发现在 /opt/app/oracle/product/12.1.0/db_1/dbs/下找不到initepps.ora文件,于是去/opt/app/oracle/admin/orcl/pfile下,找到文件init.ora.1242014234024,然后将文件拷贝到/opt/app/oracle/product/12.1.0/db_1/dbs/目录下,并重命名为initepps.ora后,重启数据,问题解决!
解决方案:
命令演示如下:
[oracle@gettestlnx01 dbs]$ cd /opt/app/oracle/admin/orcl/pfile
[oracle@gettestlnx01 pfile]$ ls
init.ora.1242014234024
[oracle@gettestlnx01pfile]$ cp init.ora.1242014234024 /opt/app/oracle/product/12.1.0/db_1/dbs/initepps.ora
SQL> startup
问题二:当你解决完上面的问题一时,再次启动oracle数据库时,会报以下错误
MEMORY_TARGET not support on this system
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/facc79ecb2aae0b89307cdd2e9c7f4ba)
报错解析:
现象
Oracle 12C数据库修改pfile参数后启动数据库报错ora-00845
SQL> startup
ORA-00845:MEMORY_TARGET not supported on this system
查找资料后发现问题如下,见metalinikID460506.1
在oracle 12C中新增的内存自动管理的参数MEMORY_TARGET,它能自动调整SGA和PGA,这个特性需要用到/dev/shm共享文件系统,而且要求/dev/shm必须大于MEMORY_TARGET,如果/dev/shm比MEMORY_TARGET小就会报错
解决方案:
1.初始化参数MEMORY_TARGET或MEMORY_MAX_TARGET不能大于共享内存(/dev/shm),为了解决这个问题,可以增大/dev/shm
如:
# mount -t tmpfsshmfs -o size=7g /dev/shm或者
#mount -o size=1500m-oremount /dev/shm(根据自身系统内核的内存大小设定)
2.为了确保操作系统重启之后能生效,需要修改/etc/fstab文件
shmfs /dev/shmtmpfs size=7g 0
3.如果/dev/shm没有挂载也会报上面的错,所认需要确保已经挂载
oracle@aaaprod-db~]$ df -h
……
tmpfs 16G 8.9G 7.2G 56% /dev/shm
下面为一次操作的记录
[root@aaaprod-db~]# cat /etc/fstab | grep tmpfs
tmpfs /dev/shm tmpfs defaults,size=8g 0 0
[root@aaaprod-db~]#
[root@aaaprod-db~]# mount -o remount,size=16G /dev/shm
[root@aaaprod-db~]#
[root@aaaprod-db~]# cat /etc/fstab | grep tmpfs
tmpfs /dev/shm tmpfs defaults,size=8g 0 0
[root@aaaprod-db~]# vi /etc/fstab
/dev/rootvg/LogVol02 / ext3 defaults 1 1
/dev/rootvg/LogVol01 /tmp ext3 defaults 1 2
/dev/rootvg/lvol0 /ebao ext3 defaults 1 2
/dev/rootvg/lvol1 /backup ext3 defaults 1 2
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults,size=16g 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/rootvg/LogVol00 swap swap defaults 0 0
"/etc/fstab"10L, 769C written
[root@aaaprod-db~]# df -h|grep shm
tmpfs 16G 0 16G 0% /dev/shm
SQL> startup
ORACLE instancestarted.
Total SystemGlobal Area 9420095488 bytes
Fixed Size 2236248 bytes
VariableSize 2315255976 bytes
DatabaseBuffers 7046430720 bytes
RedoBuffers 56172544 bytes
Databasemounted.
Database opened.
SQL> exit
第五步:创建一个oracle数据库的表空间和用户
(CP:创建oracle用户时,经过多次创建,都是无效的用户,失败了,通过了解,发现最新版oracle12c和以往旧版的数据库创建用户时命令有细微的差别在创建用户时要加上C##)
旧版:create user C## zhangsan identified by password
Oracle12C:create userC## zhangsan identified by password
账号:zhangsan 密码:password
注意:oracle12c创建用户时有两种,一种是以CDM创建的公用用户,这种创建必须以C##开头,否则所创建的用户无效
如以下就是标准的创建CDM用户:
表空间:CREATE TABLESPACE AFC datafile '/opt/app/oracle/oradata/orcl/AFC.dbf'
size 600M autoextend on next 50m maxsize unlimited;
用户:CREATE USER C##afcdb IDENTIFIED BY 111111 DEFAULT TABLESPACE AFC;
赋予权限:grant connect,resource,dba to C##afcdb;
还有一种是创建本地用户,以PDM创建本地用户,和以往旧版的命令一样,要另外安装配置本地用户,这是oracle12c的一个特性。
一.安装Linux.
1.系统环境需求
内存:最小1GB,推荐2GB或以上
交换空间: 内存大小是1-2GB时,交换空间是内存的1.5倍,内存大小2-16GB时,交 换空间等于内存大小,内存大小16G以上时,交换空间为16GB.
(CP:由于我的windows系统是8G内存,我给虚拟机2.5G,在装Linux系统时分了三个区:虚拟内存SWAP:4G 安装oracle内存:21G 根目录内存:15G)
2.安装Linux
使用安装光盘安装Redhat Enterprise Linux 7.0 x86_64,为方便测试,可以使用VMware Workstation虚拟一台机器,在虚拟机上安装。
3.设置主机域名解析
安装Linux后需使用静态IP地址,并在/etc/hosts文件中设置主机域名解析(ip地址主机 名称)
# vi /etc/hosts
192.168.1.66 hostname (点击ESC,输入:cq,即可保存退出)
4.检查内存
# grep MemTotal /proc/meminfo
# grep SwapTotal /proc/meminfo
# free -g
二.配置linux系统下的Oracle环境
1. 检查和更新所需软件包.(方法一中的缺少的包后面安装),如果系统有软件包没有安装,可以在Redhat Enterprise Linux 7.0的光盘Packages目录中找到,安装这些包
检查方法一: 以root身份登录到linux操作系统,检查和更新需要安装的软件包
#rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libgcc libstdc++ libstdc++-devel
# rpm -q libaio libaio-devel libXext libXtst libX11 libXau libxcb libXi make sysstat
检查方法二::#rpm -qa binutils compat-libcap1 gcc gcc-c++ glibc glibc-develksh libaio libaio-devel libgcc libstdc++ libstdc++-devellibXi libXtst make sysstat unixODBC unixODBC-devel
# rpm -qabinutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-staticgcc gcc-c++ glibc glibc-common glibc-devel glibc-headers glibc-statickernel-headers pdksh libaio libaio-devel libgcc libgomp libstdc++libstdc++-devel
libstdc++-static make numactl-devel sysstat unixODBCunixODBC-devel
2.如果缺少包就去Redhat EnterpriseLinux 7.0的光盘Packages目录中找到,并且安装。找不到的去(http://rpmfind.net/linux/rpm2html/search.php?query=compat-libstdc++)下载所需要的包,通过WinScP连接虚拟机IP传到linux系统文件夹下(我是传到home文件夹下面),然后点击安装,下面是解决包缺少的效果图
3.一般缺少的包如下(安装失败截图)
4.验证系统要求
查看内存大小
# grep MemTotal /proc/meminfo
查看交换空间
# grep SwapTotal /proc/meminfo (swap要求4G以上)
查看磁盘空间,Oracle 12c R1 x64企业版的磁盘空间要求6.4GB以上。
# df –h
5.创建Oracle组和用户帐户
需要创建以下组和用户:
The Oracle Inventory group(typically, oinstall)
The OSDBA group (typically, dba)
The Oracle software owner(typically, oracle)
The OSOPER group (optional.Typically, oper)
# groupadd oinstall
# groupadd dba
# groupadd oper
# useradd -g oinstall -G dba,operoracle
# passwd oracle
6..配置内核参数
以root身份登录系统,根据用户指南配置以下参数:
修改文件/usr/lib/sysctl.conf,添加以下内容:
# vi /usr/lib/sysctl.conf
# for oracle
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 2147483648
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
7. 登录oracle帐号检查资源限制.
$ ulimit -Sn
$ ulimit -Hn
$ ulimit -Su
$ ulimit -Hu
$ ulimit -Ss
$ ulimit -Hs
修改文件/etc/security/limits.conf,更改资源限制,添加以下内容:
# vi /etc/security/limits.conf
# for oracle
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
8.创建Oracle Base安装目录:
# mkdir -p /u01/app/
# chown -R oracle:oinstall /u01/app/
# chmod -R 775 /u01/app/
9.编辑Oracle用户环境,编辑.bash_profile文件,配置环境变量
# su - oracle
$ vi .bash_profile
编辑.bash_profile文件,添加以下内容
# For Oracle
export DISPLAY=:0.0
export TMP=/tmp;
export TMPDIR=$TMP;
exportORACLE_BASE=/u01/app/oracle;
exportORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1;
export ORACLE_SID=sales;
export ORACLE_TERM=xterm;
export PATH=/usr/sbin:$PATH;
export PATH=$ORACLE_HOME/bin:$PATH;
exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
exportCLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
运行命令使配置生效
$ source .bash_profile
三.安装Oracle软件与数据库
1.通过WinScp将oracle压缩包传到linux系统的Tmp目录下
2.切换用户,以oracle用户登录,在Tmp目录下解压oracle压缩包,进行安装
$ unzip linuxamd64_12102_database_1of2
$ unzip linuxamd64_12102_database_2of2
以oracle用户身份登录系统安装Oracle12c,为避免出现中文乱码,安装前可以执行export LANG="",显示英文,
$ export LANG=""
$ cd database
$ ./runInstaller
3.运行./runInstaller后出现oracle12c的图形安装界面
步骤截图
这一步我们选择第一个,数据库和oracle软件一起安装
在这一步时,无法继续,因为oracle账户无法创建oraInventory目录,所以必须先创建该用户并授权
[root@getoraclelnx01~]# mkdir -p /u01/app/oraInventory
[root@getoraclelnx01~]# chown -R oracle:oinstall /u01/app/oraInventory
[root@getoraclelnx01~]# chmod -R 775 /u01/app/oraInventory
验证参数时,fs.file-max设置为65536,但是ORACLE推荐使用68157744,net.core.wmem_max大小为262144,oracle 推荐使用1048576,修改内核参数,运行sysctl -p使之生效。然后重新验证通过
1.提示:安装到大约快80%的时候,会弹出一个窗口,显示两个脚本,复制要执行的脚本,切换到root权限去执行脚本
# /u01/app/oraInventory/orainstRoot.sh
#/u01/app/oracle/product/12.1.0/db_1/root.sh
2.执行完毕后,漫长的等待,30分钟后出现安装100%进度条,点击finesh,即已完成Oracle database的安装
第四步:执行oracle启动服务,监听命令
1.执行以下命令
第一步:打开Oracle监听
$lsnrctl start
第二步:进入sqlplus
$sqlplus /nolog
SQL》
第三步:使用sysdab角色登录sqlplus
SQL》 conn /as sysdba
第四步:启动数据库
SQL》startup
问题1:执行到第四步start时提示你不能够打开:/opt/app/oracle/product/12.1.0_1s/initafcsc.ora这个命令
报错解析:
报错是因为发现在 /opt/app/oracle/product/12.1.0/db_1/dbs/下找不到initepps.ora文件,于是去/opt/app/oracle/admin/orcl/pfile下,找到文件init.ora.1242014234024,然后将文件拷贝到/opt/app/oracle/product/12.1.0/db_1/dbs/目录下,并重命名为initepps.ora后,重启数据,问题解决!
解决方案:
命令演示如下:
[oracle@gettestlnx01 dbs]$ cd /opt/app/oracle/admin/orcl/pfile
[oracle@gettestlnx01 pfile]$ ls
init.ora.1242014234024
[oracle@gettestlnx01pfile]$ cp init.ora.1242014234024 /opt/app/oracle/product/12.1.0/db_1/dbs/initepps.ora
SQL> startup
问题二:当你解决完上面的问题一时,再次启动oracle数据库时,会报以下错误
MEMORY_TARGET not support on this system
报错解析:
现象
Oracle 12C数据库修改pfile参数后启动数据库报错ora-00845
SQL> startup
ORA-00845:MEMORY_TARGET not supported on this system
查找资料后发现问题如下,见metalinikID460506.1
在oracle 12C中新增的内存自动管理的参数MEMORY_TARGET,它能自动调整SGA和PGA,这个特性需要用到/dev/shm共享文件系统,而且要求/dev/shm必须大于MEMORY_TARGET,如果/dev/shm比MEMORY_TARGET小就会报错
解决方案:
1.初始化参数MEMORY_TARGET或MEMORY_MAX_TARGET不能大于共享内存(/dev/shm),为了解决这个问题,可以增大/dev/shm
如:
# mount -t tmpfsshmfs -o size=7g /dev/shm或者
#mount -o size=1500m-oremount /dev/shm(根据自身系统内核的内存大小设定)
2.为了确保操作系统重启之后能生效,需要修改/etc/fstab文件
shmfs /dev/shmtmpfs size=7g 0
3.如果/dev/shm没有挂载也会报上面的错,所认需要确保已经挂载
oracle@aaaprod-db~]$ df -h
……
tmpfs 16G 8.9G 7.2G 56% /dev/shm
下面为一次操作的记录
[root@aaaprod-db~]# cat /etc/fstab | grep tmpfs
tmpfs /dev/shm tmpfs defaults,size=8g 0 0
[root@aaaprod-db~]#
[root@aaaprod-db~]# mount -o remount,size=16G /dev/shm
[root@aaaprod-db~]#
[root@aaaprod-db~]# cat /etc/fstab | grep tmpfs
tmpfs /dev/shm tmpfs defaults,size=8g 0 0
[root@aaaprod-db~]# vi /etc/fstab
/dev/rootvg/LogVol02 / ext3 defaults 1 1
/dev/rootvg/LogVol01 /tmp ext3 defaults 1 2
/dev/rootvg/lvol0 /ebao ext3 defaults 1 2
/dev/rootvg/lvol1 /backup ext3 defaults 1 2
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults,size=16g 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/rootvg/LogVol00 swap swap defaults 0 0
"/etc/fstab"10L, 769C written
[root@aaaprod-db~]# df -h|grep shm
tmpfs 16G 0 16G 0% /dev/shm
SQL> startup
ORACLE instancestarted.
Total SystemGlobal Area 9420095488 bytes
Fixed Size 2236248 bytes
VariableSize 2315255976 bytes
DatabaseBuffers 7046430720 bytes
RedoBuffers 56172544 bytes
Databasemounted.
Database opened.
SQL> exit
第五步:创建一个oracle数据库的表空间和用户
(CP:创建oracle用户时,经过多次创建,都是无效的用户,失败了,通过了解,发现最新版oracle12c和以往旧版的数据库创建用户时命令有细微的差别在创建用户时要加上C##)
旧版:create user C## zhangsan identified by password
Oracle12C:create userC## zhangsan identified by password
账号:zhangsan 密码:password
注意:oracle12c创建用户时有两种,一种是以CDM创建的公用用户,这种创建必须以C##开头,否则所创建的用户无效
如以下就是标准的创建CDM用户:
表空间:CREATE TABLESPACE AFC datafile '/opt/app/oracle/oradata/orcl/AFC.dbf'
size 600M autoextend on next 50m maxsize unlimited;
用户:CREATE USER C##afcdb IDENTIFIED BY 111111 DEFAULT TABLESPACE AFC;
赋予权限:grant connect,resource,dba to C##afcdb;
还有一种是创建本地用户,以PDM创建本地用户,和以往旧版的命令一样,要另外安装配置本地用户,这是oracle12c的一个特性。
相关文章推荐
- 在Red Hat Enterprise Linux 7.0 x86_64下安装Oracle 11g R2
- Red Hat Enterprise Linux 7.0 安装 oracle 12c
- 01 VMware Workstation 12 + Red Hat Enterprise Linux 7.2-x86-64-bit 安装
- Linux(Red Hat Enterprise Linux 6)安装Oracle(12c Release 2)数据库
- 在Red Hat Enterprise Linux 5.3 x86_64 安装 mongod 1.8.1
- Installing Oracle 10g Release 2 Standard Edition on Red Hat Enterprise Linux 6.0 (x86_64)
- Installing Oracle 9i on Red Hat Enterprise Linux Advanced Server 4, 3, 2.1, and on Red Hat 9, 8.0, 7.3, 7.2, 7.1 (x86)
- Red Hat Enterprise Linux 5 下安装 Oracle 10g
- Oracle 11g for Red Hat Enterprise Linux 6安装
- 详解在Red Hat Enterprise Linux 5上安装Oracle
- Red Hat Enterprise Linux 5(32Bit/64Bit)安装Oracle(10g/11g)
- Red Hat Enterprise Linux 5(32Bit/64Bit)安装Oracle(10g/11g)
- Red Hat Enterprise Linux AS 安装 Oracle 9i过程整理
- Oracle 11g for Red Hat Enterprise Linux 6安装(64位)
- Red Hat Enterprise Linux 5(32Bit/64Bit)安装Oracle(10g/11g)!!!
- Red Hat Enterprise Linux 5安装Oracle(10g/11g)
- Red Hat Enterprise Linux 4 下安装 Oracle 10g [转]
- Red Hat Enterprise Linux 4 下安装 Oracle 10g
- 在 Red Hat Enterprise Linux AS 3 (x86)上安装 Oracle10g(10.1.0.2.0)
- Red Hat Enterprise Linux 5安装Oracle