新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
博文结构
Oracle的手动安装过程
启动,关闭Oracle数据库成都创新互联公司是一家专业提供进贤企业网站建设,专注与网站制作、成都网站设计、HTML5、小程序制作等业务。10年已为进贤众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。
Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。
1)数据的大量性
2)数据的保存的持久性
3)数据的共享性
4)数据的可靠性
2、完备关系的产品:
1)信息准则---关系型DBMS的所有信息都应在逻辑上用一种方法,即表中的值显式地表示;
2)保证访问的准则
3)视图更新准则---只要形成视图的表中的数据变化了,相应的视图中的数据同时变化
4)数据物理性和逻辑性独立准则
3、分布式处理功能:
ORACLE数据库自第5版起就提供了分布式处理能力,到第7版就有比较完善的分布式数据库功能了,一个ORACLE分布式数据库由oraclerdbms、sql*Net、SQL*CONNECT和其他非ORACLE的关系型产品构成。
4、用ORACLE能轻松的实现数据仓库的操作。
优点
■ 可用性强
■ 可扩展性强
■ 数据安全性强
■ 稳定性强
安装前要求
Oracle 12c明确支持的Linux操作系统包括Oracle Linux 7、Oracle Linux 6、Oracle Linux 5、Red Hat Enterprise Linux 7、Red Hat Enterprise Linux 6、Red Hat Enterprise Linux 5等,因为Red Hat Enterprise 和CentOS属于同步并行的操作系统,所以Oracle 12 c同样支持CentOS 7、CentOS 6、CentOS 5操作系统。在其他Linux系统中安装时,个别软件或配置文件可能需要进行适当的调整。
Linux操作系统要求:
物理内存:必须高于1GB,对于VMware虚拟机建议不少于2GB;
交换空间:物理内存为1~2GB时,交换分区为物理内存的1.5~2倍;物理内存为2~16GB时,交换分区于物理内存大小相同;物理内存超过16GB时,交换分区使用16GB就可以了;
[root@localhost /]# vim /etc/hosts
192.168.1.10 Oracle
[root@localhost ~]# yum -y install binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
[root@localhost ~]# vim /etc/sysctl.conf \\添加下面这段
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
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 = 1048576
[root@localhost ~]# sysctl -p \\重新加载配置
[root@localhost ~]# groupadd -g 54321 oinstall \\创建安装组
[root@localhost ~]# groupadd -g 54322 dba \\创建管理组
[root@localhost ~]# useradd -u 54321 -g oinstall -G dba oracle
\\创建运行用户
[root@localhost ~]# passwd oracle
更改用户 oracle 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# mkdir -p /u01/app/oracle \\建立基本组
[root@localhost ~]# chown -R oracle:oinstall /u01/app/
[root@localhost ~]# chmod -R 775 /u01/app/oracle/
Oracle 12c的安装任务应以运行用户oracle的身份执行,需适当调整oracle用户的环境配置以满
足要求。具体操作如下:
[root@localhost /]# vim /home/oracle/.bash_profile \\加入以下这段
umask 022
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1/
ORACLE_SID=orcl
NLS_LANG="SIMPLIFIED CHINESE_CHINA".UTF8
PATH=$PATH:$ORACLE_HOME/bin
LANG=zh_CN.UTF-8
export PATH LANG NLS_LANG ORACLE_BASE ORACLE_HOME ORACLE_SID
export DISPLAY=:0.0
4.oracle用户资源限制要求
分别进入配置文件加入字段
[root@localhost /]# vim /etc/pam.d/login
session required /lib/security/pam_limits.so
session required pam_limits.so
[root@localhost /]# vim /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
[root@localhost /]# vim /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
准备工作完成后重新启动系统。重新启动之后,再次检查之前的配置是否生效。重启
[root@localhost media]# mkdir /tmp/abc
[root@localhost media]# cd /media/
[root@localhost media]# ls
linuxx64_12201_database.zip
[root@localhost media]# cp linuxx64_12201_database.zip /tmp/abc/
[root@localhost abc]# cd /tmp/abc/
[root@localhost abc]# unzip linuxx64_12201_database.zip
[root@localhost abc]# ls
database linuxx64_12201_database.zip
[root@localhost abc]# ls database/
install response rpm runInstaller sshsetup stage welcome.html
[root@localhost abc]# xhost +
//一定要以root用户在图形环境中操作
access control disabled, clients can connect from any host
[root@localhost abc]# cd /
[root@localhost /]# su oracle
[oracle@localhost /]$ cd /tmp/abc/database/
[oracle@localhost database]$ export DISPLAY=:0.0
//设置DISPLAY环境变量
[oracle@localhost database]$ ./runInstaller
输入上面这条命令会出现如图:
安装过程中会弹出如下图,需要打开终端执行一下
[root@localhost ~]# /u01/app/oraInventory/orainstRoot.sh
\\默认回车就行
更改权限/u01/app/oraInventory.
添加组的读取和写入权限。
删除全局的读取, 写入和执行权限。
更改组名/u01/app/oraInventory 到 oinstall.
脚本的执行已完成。
[root@localhost~]#/u01/app/oracle/product/12.2.0/dbhome_1/root.sh
Performing root user operation.
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/product/12.2.0/dbhome_1
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
略.....
首先需要解决sqlplus命令行方向键不能使用的问题,方法如下:
[root@oracle ~]# yum -y install ncurses* readline* //安装软件包所需依赖
[root@oracle ~]# tar zxf rlwrap-0.30.tar.gz.zip -C /usr/src
[root@oracle ~]# cd /usr/src/rlwrap-0.30/
[root@oracle rlwrap-0.30]# ./configure && make && make install
//使用root身份进行编译安装,安装完成后即可使用!
[oracle@oracle ~]$ rlwrap sqlplus "/ as sysdba"
SQL*Plus: Release 12.2.0.1.0 Production on 星期二 11月 26 10:51:44 2019
Copyright (c) 1982, 2016, Oracle. All rights reserved.
连接到:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL>
创建数据库的步骤如下,
。
(1)以oracle用户身份运行命令DBCA。
[oracle@localhost /]$ dbca
要启动和关闭数据库,必须具有Oracle管理员权限的用户登录,通常以具有SYSDBA权限的用户登录。
数据库的启动
启动一个数据库需要三个步骤:①启动oracle实例(非装载阶段);②由实例装载数据库(装载阶段);③打开数据库(打开阶段)。
在startup命令中,可以使用不同的选项来控制数据库的不同启动步骤。
1)startup nomount(该命令不常用)
nomount选项仅仅启动一个oracle实例,读取init.ora初始化参数文件、启动后台进程、初始化SGA。当实例启动后,系统将显示一个SGA内存结构和大小的列表,如下:
[oracle@oracle ~]$ sqlplus / as sysdba //以oracle用户登录数据库
SQL*Plus: Release 12.2.0.1.0 Production on 星期二 11月 26 11:18:36 2019
Copyright (c) 1982, 2016, Oracle. All rights reserved.
连接到:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL> startup nomount
2)startup mount(某些时候会用到该命令)
startup mount 命令启动实例并且装载数据库,但是没有打开数据库。oracle系统读取控制文件中关于数据文件和重做日志文件的内容,但并不打开该文件。这种打开方式常在数据库维护操作中使用,如对数据文件的更名、改变重做日志及打开归档模式等。在这种打开方式下,除了可以看到SGA系统列表以外,系统还会给出“数据库装载完毕”的提示。
SQL> alter database mount;
//由于上面已经执行了startup nomount命令,所以再更改它的状态,就需要使用该命令
3)startup(正常时使用的命令)
startup命令完成启动实例,装载数据库和打开数据库三个步骤。此时,数据库使数据文件和重做日志文件在线,通常还会请求一个或者多个回滚段;系统除了可以看到前面startup mount 方式下的所有提示外,还会给出一个“数据库已经打开”的提示;数据库系统处于正常的工作状态,可以接收用户的请求。
如果采用startup nomount或者startup mount的数据库打开方式,必须采用alter database命令来执行装载或打开数据库的操作。
前面两条命令都执行过了(startup nomount和alter database mount),所以这里再执行下面命令,数据库就可以说是正确启动完成了。如下:
SQL> alter database open;
正常来说,可以直接使用下面一条命令来正常启动数据库,如下:
SQL> startup //在数据库关闭状态下执行该命令,数据库会依次启动、装载、打开。
ORACLE 例程已经启动。
Total System Global Area 1593835520 bytes
Fixed Size 8793256 bytes
Variable Size 1023411032 bytes
Database Buffers 553648128 bytes
Redo Buffers 7983104 bytes
数据库装载完毕。
数据库已经打开。
对于数据库的关闭,有四种不同的关闭选项。
1)shutdown normal
shutdown normal是shutdown命令的默认选项。也就是说,如果用户发出shutdown命令,即执行shutdown normal命令。
发出该命令后,任何新的连接都将不再允许连接到数据库。在数据库关闭之前,oracle将等待目前连接的所有用户都从数据库中退出后才开始关闭数据库。采用这种方式关闭数据库,在下一次启动时不需要进行任何的实例恢复。但需要注意的是,采用这种方式时,也许关闭一个数据库需要几天或更长的时间。
发出该命令后,当前正在被oracle处理的SQL语句立即中断,系统中任何没有提交的事务全部回滚。如果系统中存在一个很长的未提交的事务,那么采用这种方式关闭数据库也需要一段时间(该事务回滚时间)。系统不会等待连接到数据库的所有用户退出系统,而会强行回滚当前所有的活动事务,然后断开所有的连接用户。
3)shutdown transactional
shutdown transactional 命令常用来计划关闭数据库,它会等待当前连接到系统且正在活动的事务执行完毕,运行该命令后,任何新的连接和事务都是不允许的。它所有活动的事务执行完成后,数据库将以和shutdown immediate同样的方式关闭数据库。
数据库处于一种非正常工作状态,不能用shutdown normal或shutdown immediate命令关闭数据库;
需要立即关闭数据库;
在启动数据库实例时遇到问题。
发出该命令后,所有正在运行的SQL语句将立即中止,所有未提交的事务将不回滚,oracle也不等待目前连接到数据库的用户退出系统;下一次启动数据库时需要实例恢复,因此,下一次启动可能比平时需要更多的时间。
在关闭数据库时最好使用shutdown immediate方式,因为这种方式安全且相对较快。不是万不得已不要使用shutdown abort 方式,因为这种方式会造成数据丢失,并且恢复数据库也需要较长时间。
当Oracle数据库实例启动完成后,为了使客户端用户能连接到Oracle实例,数据库管理员还要
在Oracle所在的服务器上使用Inrctl 命令启动监听进程。如果数据库实例关闭,-般也要关闭监听
进程。
[oracle@oracle ~]$ lsnrctl //执行该命令
LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 25-9月 -2019 21:59:04
Copyright (c) 1991, 2016, Oracle. All rights reserved.
欢迎来到LSNRCTL, 请键入"help"以获得信息。
LSNRCTL> start //启动监听
启动/u01/app/oracle/product/12.2.0/dbhome_1//bin/tnslsnr: 请稍候...
TNSLSNR for Linux: Version 12.2.0.1.0 - Production
系统参数文件为/u01/app/oracle/product/12.2.0/dbhome_1/network/admin/listener.ora
写入/u01/app/oracle/diag/tnslsnr/oracle/listener/alert/log.xml的日志信息
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle)(PORT=1521)))
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle)(PORT=1521)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for Linux: Version 12.2.0.1.0 - Production
启动日期 25-9月 -2019 21:59:12
正常运行时间 0 天 0 小时 0 分 0 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 /u01/app/oracle/product/12.2.0/dbhome_1/network/admin/listener.ora
监听程序日志文件 /u01/app/oracle/diag/tnslsnr/oracle/listener/alert/log.xml
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
监听程序不支持服务
命令执行成功
直接命令开启
[oracle@oracle ~]$ lsnrctl start //启动监听
[oracle@oracle ~]$ lsnrctl stop //关闭监听
LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 25-9月 -2019 22:00:31
Copyright (c) 1991, 2016, Oracle. All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle)(PORT=1521)))
命令执行成功