一、安装Oracle 12c
1、安装前的注意事项
1、系统及配置要求
安装有 GNOME 中文桌面环境
防火墙的配置选项设置为禁用 。
SELinux设置为禁用 。
默认安装设置为软件开发 。
内核选择3.10.0.54.0.1.e17.x86_64及以上版本
物理内存必须高于1GB,对于VMware 虚拟机建议不少于2GB .
交换空间物理内存为1-2GB时,交换分区为物理内存的1.5-2倍;物理内存为2-16GB时,交换分区与物理内存大小相同;物理内存超过16GB时,交换分区使用16GB就可以了。
2、修改主机名和IP
# vim /etc/hostname # 修改主机名
Oracle
# vim /etc/hosts # 添加主机IP映射
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.10 Oracle
3、软件环境要求
# yum -y install binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
4、内核要求
# 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_max = 4194304
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
# sysctl -p
5、Oracle用户环境要求
创建固定的运行用户oracle,安装组oinstall,管理组dba
# groupadd -g 54321 oinstall # 创建安装组(-g 组ID)
# groupadd -g 54322 dba # 创建管理组
# useradd -u 54321 -g oinstall -G dba oracle # 创建运行用户
# passwd oracle # 设置密码
# mkdir -p /u01/app/oracle # 建立基本目录
# chown -R oracle:oinstall /u01/app/
# chmod -R 755 /u01/app/oracle/
# vim /home/oracle/.bash_profile # 调整oracle用户的环境配置
......
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 DISPLAY=:0.0
export PATH LANG NLS_LANG ORACLE_BASE ORACLE_HOME ORACLE_SID
注意:要保证根分区有15GB的可用磁盘空间。如果当前的磁盘空间不足,可以考虑再添加一块硬盘,格式化为XFS文件系统。同时创建/u01目录,将新创建的分区挂载到/u01目录。还要记得修改/etc/fstab文件,让其开机自动挂载。
6、oracle用户资源限制要求
# vim /etc/pam.d/login
......
session required /lib/security/pam_limits.so
session required pam_limits.so
# 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 # Oracle软堆栈限制
# 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
7、重新启动系统
2、Oracle 12c安装过程
Oracle软件的下载地址是https://edelivery.oracle.com/osdc/faces/SoftwareDelivery,需要登录,然后搜索database 12c即可。
# mkdir /tmp/abc
# cd /media/
# ls
linuxx64_12201_database.zip
# cp linuxx64_12201_database.zip /tmp/abc/
# cd /tmp/abc/
# unzip linuxx64_12201_database.zip
# xhost + # 一 定要以root用户在图形环境中操作
access control disabled, clients can connect from any host
# su - oracle
$ cd /tmp/abc/database/
$ export DISPLAY=:0.0 # 设置DISPLAY环境变量
$ ./runInstaller
1、典型安装过程
如果已购买Oracle 12c数据库的授权且服务器能够连接Internet,建议正确填写电子邮件地址和Oracle Support口令以便及时接收官方的安全更新通知。
配置安全更新
安装选项
系统类
数据库安装选项
安装类型
典型安装配置
创建产品清单
先决条件检查及汇总
在此步骤中,还可以单击“保存响应文件”按钮将本次安装设置保存下来,生成数据库的应答响应文件,该文件可用来免除再次安装过程中的手动交互环节,便于Oracle的重复部署或在文本界面中安装。
安装产品
安装完成
执行配置脚本时切换为root用户并依次执行脚本文件
# /u01/app/oraInventory/orainstRoot.sh
更改权限/u01/app/oraInventory.
添加组的读取和写入权限。
删除全局的读取, 写入和执行权限。
更改组名/u01/app/oraInventory 到 oinstall.
脚本的执行已完成。
# /u01/app/oracle/product/12.2.0/dbhome_1/root.sh # 按照默认值按两次Enter键
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 ...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Do you want to setup Oracle Trace File Analyzer (TFA) now ? yes|[no] :
Oracle Trace File Analyzer (TFA - User Mode) is available at :
/u01/app/oracle/product/12.2.0/dbhome_1/suptools/tfa/release/tfa_home/bin/tfactl
OR
Oracle Trace File Analyzer (TFA - Daemon Mode) can be installed by running this script :
/u01/app/oracle/product/12.2.0/dbhome_1/suptools/tfa/release/tfa_home/install/roottfa.sh
2、安装flash player
wget http://linuxdownload.adobe.com/adobe-release/adobe-release-x86_64-1.0-1.noarch.rpm
rpm -ivh adobe-release-x86_64-1.0-1.noarch.rpm
yum -y install flash-plugin
二、Oracle 12c数据库的创建
1、以oracle用户身份运行命令DBCA
$ dbca
选择数据库操作
填写数据库信息
三、Oracle 12c数据库的启动与关闭
1、启动、 关闭 Oracle 数据库
1、数据库的启动
$ sqlplus / as sysdba # 以sysdba用户登录
SQL> startup nomount # 启动实例但不加载数据库
SQL> startup mount # 启动实例并加载数据库到内存中,但数据库仍然处于 MOUNT 状态,这意味着数据库还没有打开以供用户访问
SQL> startup open # 启动实例,加载数据库,并将其打开以供用户访问。这是最常见的启动方式。
SQL> startup # 等同于 startup open
SQL> startup force # 强制启动实例,即使存在错误或问题
SQL> startup restrict # 启动实例,加载数据库,并打开数据库,但只允许特权用户(如 SYS 和 SYSTEM)访问
需要运行下面的两条命令 , 数据库才能正确启动的方式
ALTER DATABASE MOUNT; # 在实例已经启动并且您想加载数据库到内存中的情况下使用,首先需要使用 startup nomount 或 startup 启动实例
ALTER DATABASE OPEN; # 在数据库已经加载到内存中但还没有打开的情况下使用,需要使用 startup mount 或 ALTER DATABASE MOUNT 加载数据库
2、数据库的关闭
SQL> shutdown normal # 同shutdown,目前连接的所有用户都从数据库中退出后才开始关闭数据库
SQL> shutdown immediate # 安全且相对较快
SQL> shutdown transactional # 计划关闭数据库
SQL> shutdown abort # 立即放弃所有事务立即关闭,会造成数据丢失,并且恢复数据库也需要较长时间
2、管理 Oracle 监听进程
先启动监听, 后启动数据库
1、启动监听
$ lsnrctl start
2、关闭监听
$ lsnrctl stop
3、其他命令
$ lsnrctl status # 查看监听进程状态
$ lsnrctl reload # 重新加载监听进程
$ lsnrctl set # 设置相应参数
$ lsnrctl show # 查看当前参数的取值
$ lsnrctl help # 显示帮助信息
$ lsnrctl version # 显示当前监听进程版本
$ lsnrctl change_password # 改变口令
4、增加新的监听进程
$ vim $ORACLE_HOME/network/admin/listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
LISTENER1 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP) (HOST = Oracle) (PORT = 1522)) # 主机为Oracle,端口为1522
)
)
#静态注册模块
SID_LIST_LISTENER = # SID_LIST_监听名
(SID_LIST =
(SID_DESC =
(SID NAME = orcl) # 实例名
(ORACLE_HOME = /uO1/app/oracle/product/12.2.0/dbhome_1) # 标识服务主目录位置
(GLOBAL_DBNAME = orcl) # 全局数据库名称
)
)
$ netstat -lnupt | grep 1522
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp6 0 0 :::1522 :::* LISTEN 3725/tnslsnr
查询GLOBAL_DBNAME代码
SQL> select global_name from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
ORCL
四、附件
另:关于sqlplus方向键不能用的解决方法
# yum -y install ncurses* readline*
# wget https://fossies.org/linux/privat/rlwrap-0.45.2.tar.gz
# tar zxf rlwrap-0.45.2.tar.gz -C /usr/src/
# cd /usr/src/rlwrap-0.45.2/
# ./configure && make && make install
# vim /home/oracle/.bash_profile
......
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
Oracle 当前数据库版本的发布时间表
Oracle Database 19c是当前的长期版本,它提供最高级别的版本稳定性以及最长的支持和错误修复时间范围。
Oracle 已宣布将不再发布 22c 版本,因此 21c 之后的下一个版本将是 23c,这将是下一个长期版本。
评论区