centos7安装oracle12c 三

来源:互联网 发布:周振兴 mysql 编辑:程序博客网 时间:2024/05/23 13:13

场景描述:我在自己电脑的虚拟机上linux环境下安装oracle11g数据库。

Linux版本为CentOS release 6.8 (Final),Oracle版本为:linux.x64_11gR2

问题描述:在oracle安装到Prerequisite Checks这一步的时候,出现两个问题。一个是swap size检查失败,一个是Packages检查失败。关于Packages依赖包检查失败的问题将在下一篇博客进行细述。

错误截图

由错误截图可知,oracle在安装过程中进行检查系统环境的时候,关于swap(交换分区)的大小预期为3.74G,而系统实际上只有1.94G。

因此我们需要增加大约2G的系统swap才符合oracle的要求。


-----------------------百度百科关于 swap的解释----------------------------------------

swap:Linux中Swap(即:交换分区),类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。Android是基于Linux的操作系统,所以也可以使用Swap分区来提升系统运行效率。
交换分区,英文的说法是swap,意思是“交换”、“实物交易”。它的功能就是在内存不够的情况下,操作系统先把内存中暂时不用的数据,存到硬盘的交换空间,腾出内存来让别的程序运行,和Windows的虚拟内存(pagefile.sys)的作用是一样的。

----------------------------------------------------------------------------------------------------

解决办法:增加大约2G左右的swap!

步骤如下

1、使用root用户,在/tmp(随意),下执行下面语句
dd if=/dev/zero of=swapfree bs=32k count=65515

(增加swap大小为bs*count,bs为block,count为数量)


上图可以看出,通过这个语句创建了一个2G的文件swapfree
2、将创建的文件用做交换分区
执行语句:mkswap swapfree


3、开启这个交换空间
执行语句:swapon swapfree
4、通过free命令查看,交换空间在原来交换空间的基础上增加了2G


5、在/etc/fstab中加入下面两行,设置此交换分区开机启动
/dec/hdb5 swap swap defaults 0 0
/tmp/swapfree swap swap defaults 0 0

设置完成后,在oracle安装界面点击check again,错误提示消失。




安装界面如果出现乱码

export LANG="en_US"  
 
系统创建用如果出现ora-65096
ORACLE 12C创建用户之ORA-65096 2016-02-26 12:40:56

分类: Oracle


ORACLE 12C创建用户之ORA-65096

  2016225日,一北京北方人瑞教育咨询公司的同事遇到以.sql文件导入数据时遇到ORA-65096报错,如下图所示:   

  出现上图导入报错,原因初步定为创建数据库用户AJAO的方法不正确,经过查询发现DBA_USERS视图中已有C###AJAO用户,AJAO用户并不存在,所以在.sql导入时报ORA65096;错误原因是用户想在PDBORCL中创建AJAO用户,却未设置会话containerPDB,而在CDB中创建公有用户因无法通过名称或角色验证出错。

  ORA65096的相关处理流程如下:

  1、查看数据库CDB

         select name,cdb from v$database;


  2、查看数据库PDB

col pdb_name for a30
select pdb_id,pdb_name,dbid,status,creation_scn from dba_pdbs;
select con_id,dbid,NAME,OPEN_MODE from v$pdbs;


3、设置会话PDB指定的容器库

alter session set container=pdborcl;

4、创建PDBORCL库用户

--注意需要先确定数据库中有users表空间、temp临时表空间

create user ajao identified by ajao default tablespace users temporary tablespace temp;

5、授权

grant create user,drop user,alter user,create any view,connect,resource,dba,create session,create any sequence to AJAO;

至此,ORACLE 12C PDBPDBORCL中创建AJAO用户完成!


如果用PLSQL创建后找不到用户,以及Sqldevelpoer能连接,PLSQL却连不上的问题解决:
有可能就是监听重名:红色位置是需要看的地方
listener.ora
# Generated by Oracle configuration tools.


SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME =  orcl)
      (ORACLE_HOME =  /home/orcl/app/oracle/product/12.1.0/db_1)
      (SID_NAME = orcl)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = 
pdborcl)
      (ORACLE_HOME =  /home/orcl/app/oracle/product/12.1.0/db_1)
      (SID_NAME = orcl)
    )
  )




LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.8.53)(PORT = 1529))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )
tnsnames.ora

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl.localdomain)
    )
  )


PDBORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = pdborcl)
    )
  )