Oracle数据库之完全Oracle安装建库手册
小标 2019-06-24 来源 : 阅读 2604 评论 0

摘要:本文主要向大家介绍了Oracle数据库之完全Oracle安装建库手册,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助。

本文主要向大家介绍了Oracle数据库之完全Oracle安装建库手册,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助。

Oracle数据库之完全Oracle安装建库手册

Oracle12C R2 for Centos 7

背景介绍
安装配置这东西吧,真没啥可写的,但是你说不写详细点吧,真的好多学员搞不懂,所以呢,熊熊思前想后,打算把自己从头到尾怎么安装的,完全写一下,希望能让大家有个全面的基础认知

准备工作
安装Xmanager
这个软件功能很强大,熊熊安装他主要是用于把远程服务器的屏幕共享到本地桌面上
软件在官网或者很多地方都有下载,这里就不详细给出链接地址了(也许后期熊熊会把所有需要的软件都放在百度云盘上,谁知道呢)

双击Xmanager安装程序,在欢迎页面点击下一步继续

必须接受许可协议,下一步继续

主要是输入产品密钥(网上有很多,能找到,也有专门的注册机),点击下一步继续

安装路径可以根据自己实际情况,下一步继续

典型安装就够了,下一步继续

开始菜单里的程序文件夹,这个默认即可,下一步继续

选择中文语言,点击安装

安装完成

下载安装包
说在前面:其实,对于绝对的新手来讲,强烈建议下载一个OEL7.6安装最踏实,因为里面对Oracle内核有优化,该有的包和参数也都提前给设置好了,省心

https://edelivery.oracle.com/osdc/faces/SoftwareDelivery#! 下载链接在这里,需要注册一个Oracle官网用户并登陆,通常选择第七个包,就是最后一个即可,如果不用OEL,就自己下载Centos 7.6也可以
Oracle安装包下载

先把database的包下了就行了,想练习的,就把下面的example包也下了
链接如下:https://www.oracle.com/technetwork/database/enterprise-edition/downloads/oracle12c-linux-12201-3608234.html
同样需要注册一个Oracle官网用户并登录

参数配置
创建组和账户(root账号)

groupadd -g 501 oinstall
groupadd -g 502 dba
useradd -g oinstall -G dba oracle

创建一些目录和权限(root账号)

mkdir -p /orasetup /home/app/oraclechmod -R 775 /orasetup /home/appchown -R oracle:oinstall /orasetup /home/app

上面具体的路径,需要根据自己的实际情况来定,比如通常默认为/u01/app/oracle
切换到Oracle账号,编辑一些必要的环境变量

[oracle@svn ~]$ pwd
/home/oracle
[oracle@svn ~]$ vi .bash_profile

具体内容如下

alias rm='rm -i'alias cp='cp -i'alias mv='mv -i'alias vi='vim'alias sqlplus='rlwrap sqlplus'alias rman='rlwrap rman'export ORACLE_BASE=/home/app/oracleexport ORACLE_HOME=$ORACLE_BASE/product/12.2.0/db_1export ORACLE_SID=bearexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:/lib/usr/libexport PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:$ORACLE_HOME/jdk/binexport NLS_DATE_FORMAT=""YYYY-MM-DD HH24:MI:SS""export NLS_LANG=""Simplified Chinese_China"".AL32UTF8

ORACLE_BASE是Oracle基目录(这里可以包括所有Oracle产品都可以装在这个目录下)
ORACLE_HOME是Oracle数据库软件目录
ORACLE_SID是数据库唯一标示(在单实例尤其重要)
下面的LD_LIBRARY_PATH和PATH分别是bin操作路径和字典库路径
NLS_DATA_FORMAT是日期显示格式(这里是年月日 时分秒)
NLS_LANG是数据库显示字符集及国家字符集显示
(中文是Simplified_Chinese_China.AL32UTF8)
这里需要安装一个rlwrap的软件,我们来看一下它的作用以及如何安装
如果没有rlwrap,默认sqlplus是不支持上下左右的键盘滚动以及历史记录快速查询的(list命令可以查询历史记录,但是很不方便)
因此我们来安装这个软件(网上有很多下载地址,这里就不给链接了)

[root@svn tmp]# pwd/tmp
[root@svn tmp]# ll -h总用量 248K
-rw-r--r-- 1 root root 246K 2月  14 2011 rlwrap-0.37.tar.gz
[root@svn tmp]# tar -zxvf rlwrap-0.37.tar.gz[root@svn tmp]# cd rlwrap-0.37/[root@svn rlwrap-0.37]# pwd/tmp/rlwrap-0.37[root@svn rlwrap-0.37]# ./configure

如果出现readline的报错,那么就执行命令yum -y install *readline*来安装缺失的包
否则正确的话,应该出现下图所示

[root@svn rlwrap-0.37]# make && make install
执行安装即可
编辑好.bash_profile的环境变量文件后,wq退出,执行source .bash_profile来使其生效
[root@svn ~]# vi /etc/profile设置系统级环境变量

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

增加上面的部分,主要是为了解除限制
添加完以后,也要wq保存退出,执行source /etc/profile使其生效
[root@svn ~]# vi /etc/security/limits.conf 编辑一些参数设置

oracle  soft  stack  10240oracle  soft  nproc  2047oracle  hard  nproc  16384oracle  soft  nofile 1024

添加如上设置,主要是允许打开的软硬限制,noproc表示的是每个用户最大的进程数,nofile表示的时最多能同时打开的文件数。
整个这些,真有心的,可以看一下这个链接(https://www.cnblogs.com/galengao/p/5764693.html)

开始安装

在xmanager那个文件夹里,选择passive这个,双击后,右下角会出现一个x的图标

[oracle@svn ~]$ export DISPLAY=192.168.9.179:0.0[oracle@svn ~]$ xhost +
access control disabled, clients can connect from any host

按上面显示设置你的本地IP显示(注意,根据你的本地IP实际情况来设置DISPLAY)

[oracle@svn orasetup]$ pwd
/orasetup
[oracle@svn orasetup]$ ll -h
总用量 0drwxr-xr-x 7 oracle oinstall 117 1月  27 2017 database
drwxr-xr-x 5 oracle oinstall  90 1月  27 2017 examples
[oracle@svn orasetup]$

把Oracle安装包传到/orasetup目录下并解压后,出现database文件夹,切入进去

[oracle@svn database]$ pwd
/orasetup/database
[oracle@svn database]$ ./runInstaller

执行安装

第一步出现配置安全更新,因为没有Metalink账号,所以把Oracle支持的勾打没了,点击下一步继续

先仅安装数据库软件,点击下一步继续

目前只考虑单实例安装,点击下一步继续

选择企业版进行安装,点击下一步继续

这里可以看到,上面是Oracle的基目录,下面是Oracle的产品目录,这两个目录都在Oracle账号下的.bash_profile文件中配置好,这里是直接读取的该文件,点击下一步继续

各种操作所需的权限组,自己学习都给他dba组就得了,省心,点击下一步继续

如果有先决条件需要处理,有个脚本执行,缺包的话,使用yum命令进行安装,为什么让用OEL呢,因为只需要yum -y install oracle就搞定了,特别方便,这里我没有任何问题,点击安装开始安装

用root账号执行上图所示脚本
[root@svn ~]# /home/app/oracle/product/12.2.0/db_1/root.sh

脚本执行完成后,在执行配置脚本窗口点击确定按钮

软件安装完毕,点击关闭即可

静默安装
有些时候,我们经常无法用桌面方式安装(本地or远程都算上),所以远程静默安装就尤其重要了,下面我们来看一下如何操作

在database的response目录下,有个db_install.rsp的文件,先把他备份一下

上面的文件里,都是一些实际参数,根据自己实际情况改一下就好了,这里就不一一解释了,很简单的,如果还有不懂的同学再问我就好了

用上图的命令来调用静默安装,这里就不演示具体安装了,安装后也需要用root账号执行两个脚本,就都ok了

安装监听
NETCA
Oracle用户下在命令行键入netca

选择监听程序配置,点击下一步继续

添加监听程序,下一步继续

默认监听名称listener,下一步继续

默认TCP协议,下一步继续

默认端口1521,下一步继续

无需配置另一个监听,下一步继续

监听程序配置完成,下一步继续

点击完成按钮完成配置

创建数据库
在oracle账号下键入dbca

选择创建数据库,下一步继续

选择高级配置,下一步继续

选择单实例数据库,默认一般用途(OLTP),下一步继续

从12C版本支持CDB与PDB数据库(即容器数据库与可插拔数据库)
CDB全称为Container Database,中文翻译为数据库容器
PDB全称为Pluggable Database,即可插拔数据库
从12C开始,Oracle实例与数据库可以形成一对多的关系

选择存储属性,选择OMF表空间管理,点击下一步继续

设定快速闪回区的存储方式、路径和大小,下一步继续(练习阶段,暂不开启归档)

可以看到,已经加载我们设定好的监听程序,下一步继续

安全选项在练习环境就不设置了,下一步继续

进程我设置为500、字符集选择AL31UTF8,连接模式为专用服务器模式,练习环境示例方案可以打上勾,内存情况请根据实际情况自行设置,点击下一步继续
如果我们的共享内存设置超过总内存的一半,那么需要在Linux系统中设置shm,虚拟内存页大小
[root@svn ~]# vi /etc/fstab 编辑这个文件
tmpfs /dev/shm tmpfs  defaults,size=12288M      0 0
加上上面这行,wq保存退出后,umount /dev/shm再mount /dev/shm即可

为了后期加入到OEM CC中,这里就不设置单机版的OEM了,下一步继续

这里熊熊偷懒使用统一管理口令了,下一步继续

有兴趣的可以查看所有的初始化参数,也可以生成数据库创建脚本来学习(这个脚本主要采用的是RMAN的CLONE技术),点击下一步继续

这里会列出一个详细的配置清单,查证无误后,点击完成开始建库

至此,数据库创建完毕,点击关闭即可

静默建库

编辑dbca.rsp文件可以进行dbca静默建库,该文件具体如何编辑,官网有详细的记录,这里不做具体解释了
[oracle@svn response]$ dbca -silent -createDatabase -responseFile ./dbca.rsp
用上述命令可以进行dbca的静默建库,在此之前,编辑该脚本,把sid、dbname等该设置的都设置好即可

手工建库
写在前面:手工建库坑很多,而且说实话,意义并不大,所以强烈不推荐新手来试验
12C创建CDB的区别在于,要创建CDB,CREATE  DATABASE语句必须包含ENABLE PLUGGABLE  DATABASE子句。当包含此子句时,该语句使用根和种子创建CDB。如果未指定ENABLE PLUGGABLE DATABASE子句  那新创建的数据库是非CDB。该语句不会创建根和种子,非CDB永远不会包含PDB。
下面是具体的建库脚本

create database bearuser sys identified by oracleuser system identified by oraclelogfile group 1 ('$ORACLE_BASE/oradata/bear/disk1/redo01.log') size 200m,        group 2 ('$ORACLE_BASE/oradata/bear/disk2/redo02.log') size 200m,        group 3 ('$ORACLE_BASE/oradata/bear/disk3/redo03.log') size 200mmaxlogfiles 10maxlogmembers 5maxloghistory 5maxdatafiles 1000character set al32utf8national character set al16utf16extent management local  datafile '$ORACLE_BASE/oradata/bear/disk1/system01.dbf' size 1g  sysaux datafile '$ORACLE_BASE/oradata/bear/disk3/sysaux01.dbf' size 1g  default tablespace deftbs     datafile '$ORACLE_BASE/oradata/bear/disk2/deftbs01.dbf' size 1g  default temporary tablespace temp01
    tempfile '$ORACLE_BASE/oradata/bear/disk1/temp01.tmp' size 100m  undo tablespace undotbs     datafile '$ORACLE_BASE/oradata/bear/disk2/undotbs01.dbf' size 2genable pluggable database    seed    file_name_convert = ('$ORACLE_BASE/oradata/bear/', '$ORACLE_BASE/oradata/pdbseed/')    system datafiles size 1g autoextend on next 1m maxsize unlimited    sysaux datafiles size 1g  user_data tablespace usertbs    datafile '$ORACLE_BASE/oradata/pdbseed/disk2/usertbs01.dbf' size 1g;select instance_name, status from v$instance;select open_mode, name from v$database;


12C R2版本建库后,相关执行脚本都集成到了catcdb.pl这个perl脚本中,简单编辑修改一下即可使用,具体请根据实际情况修改,这里就不演示了
总之,手工建库不适合新手,不适合新手,不适合新手,重要事情说三遍!

查看数据库状态
在CDB数据库中,启动CDB数据库并不能直接将其下的pdb启动,我们来看一下
SQL> select con_id, dbid, guid, name , open_mode from v$pdbs;

可以看到,PDB数据库还处于mount状态,即未启动状态,需要将其启动

目前数据库已启动

切换到cdb$root用户下,亦可以看到pdb库已启动
SQL> alter pluggable database all open; 使用该语句可以将cdb库下的所有pdb数据库均启动,我们也可以做个触发器,当启动cdb的时候,自动触发启动所有的pdb

SQL> create or replace trigger open_pdbs  2  after startup on database  3  begin  4  execute immediate 'alter pluggable database all open';  5  end open_pdbs;  6  /

本文由职坐标整理并发布,希望对同学们学习Oracle有所帮助,更多内容请关注职坐标数据库Oracle数据库频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 1
看完这篇文章有何感觉?已经有2人表态,50%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程