第01课-Oracle数据库介绍
文档位置: Concepts->11.1 Introduction to Physical Storage Structures
什么是 Oracle 数据库
1.1 Oracle 介绍
网址,下载
docs.oracle.com
查看系统版本:
[oracle@ouzy ~]$ lsb_release -id
Distributor ID: CentOS
Description: CentOS Linux release 7.6.1810 (Core)
检查启动情况
lsnrctl status 查看状态
lsnrctl start 启动监听
sqlplus / as sysdba
SQL> startup 手动启动数据库
SQL> select status from v$instance; 查看实例状态
1.2 Oracle 数据库
oracle 数据库是永久存储在磁盘上的一系列文件的集合,包括:
所在路径:/u01/app/oracle/oradata/prod
数据文件
临时文件
控制文件
Redo 日志文件,联机重做日志文件。
Undo 文件
https://192.168.230.100:5500/em
1.3 Oracle 实例
oracle 实例是一组内存的集合,用来管理数据库文件
https://docs.oracle.com/en/database/oracle/oracle-database/19/cncpt/physical-storage-structures.html#GUID-56DFECE5-FB81-494F-9AB8-25F120A1BDDC
第02课-配置Linux系统参数
下载Oracle软件:
使用 cksum 检验是否损坏
2.1检查硬件环境:
内存需求
查看:free、cat /proc/meminfo
grep MemTotal /proc/meminfo
grep SwapTotal /proc/meminfo
[root@ouzy ~]# free
total used free shared buff/cache available
Mem: 2895444 821764 1279052 18960 794628 1963788
Swap: 4194300 0 4194300
2.2自动存储管理(AMM, Automatic Memory Management)
AMM 需要共享内存和文件描述符。
/dev/shm 的值要比 MEMORY_MAX_TARGET 和 MEMORY_TARGET 大。
查看共享内存大小: df -h /dev/shm/
增加共享内存大小:(一般比物理内存小一点)
cat /etc/fstab
mount -o remount /dev/shm
2.3系统架构(看是32位还是64位,以便安装对应软件)
uname –m
2.4检查软件环境:(版本)
操作系统要求
cat /etc/redhat-release 或 lsb_release –id
CentOS 7.3(本视频使用)
2.5安装包需求
等到安装的时候再检查
2.6创建用户和组
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
2.7配置内核参数
touch /etc/sysctl.d/97-oracledatabase-sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152(物理内存*90%/4096)
kernel.shmmax = 536870912(物理内存*90%)
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
sysctl --system(立即生效)
sysctl -a|grep shmmax
sysctl -a|grep shmall
2.8 配置资源限制
/etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 3145728
oracle hard stack 3145728
2.9创建目录
mkdir -p /u01/app/oracle/product/12.2.0.1/db_1
chown -R oracle:oinstall /u01
chmod -R 775 /u01
2.10设置环境变量
export ORACLE_SID=prod
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0.1/db_1
export PATH=$PATH:$ORACLE_HOME/bin
2.11修改/etc/hosts 文件
在文件最后添加如下设置:
192.168.230.100 ouzy ouzy
2.12关闭 selinux
/etc/selinux/config
SELINUX=disabled
关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
1.13关闭透明大页
cat /sys/kernel/mm/transparent_hugepage/enabled
[always]代表启用
[never]代表禁用
vi /etc/default/grub
GRUB_CMDLINE_LINUX=“crashkernel=auto rhgb quiet
transparent_hugepage=never”
重新加载:grub2-mkconfig -o /boot/grub2/grub.cfg
重启系统
cat /proc/cmdline
第03课-虚拟机环境说明
Root:Oracle123
oracle 密码:Oracle123
sys 密码:Oracle123
虚拟机 IP:192.168.230.100
第04课-Linux系统上安装Oracle12c
执行/database目录下的runInstaller
./runInstaller
第05课-使用DBCA安装数据库使用 DBCA 安装数据库
1 使用 netca 创建监听器
2 使用 dbca 创建数据库
安装完数据库取消密码过期问题:
alter profile default limit password_life_time unlimited;
alter profile default limit failed_login_attempts unlimited;
取消段延迟特性:
alter system set deferred_segment_creation=false scope=both;
设置大小写忽略(12c 已经废弃这个参数,但是兼容):
alter system set sec_case_sensitive_logon=false scope=both;
注意事项:12c不设置大小写忽略,否则导致普通用户无法登陆。
第06课-实例和监听的启动关闭
6.1 实例的启动关闭
sqlplus / as sysdba
startup 启动
shutdown immediate 干净关闭
select status from v$instance 查看实例状态
6.2 监听启动关闭
lsnrctl status 查看状态
lsnrctl start 启动监听
lsnrctl stop 关闭监听
alter system register; 手工注册监听(sqlplus下执行)
注意:
如果监听关闭了,原有已经连接的客户端不会断开。
第07课-EM Express的启动关闭
EM Express 的启动关闭
在 Oracle 12c 的版本中,引入了简化的 EM 版本,这一版本被称为:
EM Database Express 12c。 Express 版本的 EM 对之前的 EM 做出了大
量的简化,使之更加轻量级。12c 不再支持 database control。
1 EM Express 启动关闭
企业管理器 Enterprise Manager Database Express(Oracle 12c)
使用 EM Express:
打开 em:
exec dbms_xdb_config.sethttpsport(5500); – https
exec dbms_xdb_config.sethttpport(5505); – http
关闭 em:
exec dbms_xdb_config.sethttpsport(0); – https
exec dbms_xdb_config.sethttpport(0); – http
查看 em 端口:
select dbms_xdb_config.gethttpsport from dual; – https
select dbms_xdb_config.gethttpport from dual; – http
使用浏览器连接到 EMS Express:
https://192.168.230.100:5500/em
http://192.168.230.100:5505/em
第08-10课-参数文件spfile和pfile
参数文件 spfile 和 pfile
文档位置: Concepts->13.5 Overview of Parameter Files
https://docs.oracle.com/en/database/oracle/oracle-database/12.2/cncpt/oracle-database-instance.html#GUID-2F760754-174C-4A30-800C-8A147561B64C
当启动一个数据库实例的时候,oracle 会读取服务器参数文件(server
parameter file,spfile,二进制文件)或者文本初始化参数文件(text
initialization parameter file,pfile,文本文件)。
位置:/u01/app/oracle/product/12.2.0.1/db_1/dbs
初始化参数分为 2 类:基本参数和高级参数。
Xxx=xxx
调整大约 30 个基本参数就可以获得很好的性能。
基本参数例如:
CONTROL_FILES
DB_BLOCK_SIZE
DB_NAME
UNDO_TABLESPACE
服务器参数文件也叫做spfile,此文件只有1个,且存在于数据库服务器
上。Spfile 只能被数据库服务器读取,而不能被客户端读取。Spfile 是
一个二进制文件,不能被文本编辑器编辑。
文本初始化参数文件也叫做 pfile,是基于文本的,可以被文本编辑器编
辑。Vi,gedit
8.1 参数文件命名规则
spfile 命名规则:spfileSID.ora
pfile 命名规则:initSID.ora
位置:
ORACLE_HOME/dbs (Linux)
ORACLE_HOME/database (windows)
举例,修改操作系统最大进程数:alter system set processes=500 scope=spfile;
shutdown immediate
startup (重启)
[oracle@ouzy dbs]$ strings spfileprod.ora (查看文件spfile,路径:/u01/app/oracle/product/12.2.0.1/db_1/dbs)
8.2 修改参数:
参数有静态和动态之分,动态参数又分为:会话级别参数和系统级别参数,静态
的参数修改需要重启实例生效。
会话级别参数:影响当前用户会话。(NLS_DATE_FORMAT)
系统级别参数:影响数据库和所有用户会话。(MEMORY_TARGET)
Alter system set key=value scope=memory|spfile|both(默认模式)
alter session set nls_date_format = ‘yyyy-mm-dd hh24:mi:ss’;
2.1 动态参数:
undo_retention
open_cursors
v p a r a m e t e r . i s s y s m o d i f i a b l e = ′ I M M E D I A T E ′ ( s e l e c t ∗ f r o m v parameter.issys_modifiable='IMMEDIATE' (select * from v parameter.issysmodifiable=′IMMEDIATE′(select∗fromvparameter t where t.NAME=‘open_cursors’)
2.2 静态参数:
processes
db_unique_name
control_files
v$parameter.issys_modifiable=‘FALSE’
2.3 spfile 和 和 pfile 相互创建
create spfile from pfile;
create pfile from spfile;
create pfile=’/u01/p.ora’ from spfile;
2.4 参数文件启动顺序
1.spfileORACLE_SID.ora
2.spfile.ora
3.initORACLE_SID.ora
实验:
a.将spfile更名
mv spfileprod.ora spfile.ora
s