centos7.8 安装单实例oracle数据库
centos7.8 安装单实例oracle数据库
前置操作
禁用 Transparent HugePages
-
查看是否开启
cat /sys/kernel/mm/transparent_hugepage/enabled出现下图表示开启了
Transparent HugePages![]()
-
禁用
Transparent HugePages-
2.1 在
/etc/default/grub文件增加如下内容transparent_hugepage=never -
2.2 具体列子如图所示
![]()
-
-
重新生成
grub.cfg文件grub2-mkconfig -o /boot/grub2/grub.cfg -
重启系统,让修改永久生效
reboot -
如图所示,表示已经禁用
![]()
-
在
/etc/hosts文件增加如下内容,ip地址根据自己服务器修改192.168.159.141 pinlin
安装rlwrap
-
下载相关工具库
yum install wget yum install automake autoconf libtool yum install readline-devel yum install gcc -
下载安装包
wget https://github.com/hanslub42/rlwrap/archive/refs/tags/v0.45.2.tar.gz -
解压
tar -zxvf v0.45.2.tar.gz -
重命名目录
mv rlwrap-0.45.2/ rlwrap -
进入安装目录
cd rlwrap -
生成
configureautoreconf -vif -
编译
./configure -
安装
make && make install
安装操作
-
停止防火墙
systemctl stop firewalld systemctl disable firewalld -
安装所需依赖
yum -y localinstall oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm -
安装
oracle数据库yum -y localinstall oracle-database-ee-19c-1.0-1.x86_64.rpm -
修改配置文件名(实例名)(可选)
cp oracledb_ORCLCDB-19c.conf oracledb_PINLINCDB-19c.conf -
修改编译脚本名称(可选)
mv oracledb_pinlin-19c oracledb_PINLINCDB-19c -
编辑脚本内容
/etc/init.d/oracledb_PINLINCDB-19c如果没有执行4和5步骤的。这个不用修改的。(可选)export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1 export ORACLE_VERSION=19c # SID名称。上面修改的一致即可 export ORACLE_SID=PINLINCDB export TEMPLATE_NAME=General_Purpose.dbc export CHARSET=AL32UTF8 # PDB数据库名 export PDB_NAME=PINLINPDB1 export LISTENER_NAME=LISTENER export NUMBER_OF_PDBS=1 # 是否创建容器数据库 true:是 false:否 export CREATE_AS_CDB=true要修改的地方
ORACLE_SID:SID名称PDB_NAME:PDB数据库名称 -
创建数据库
./oracledb_PINLINCDB-19c configure
安装后配置
-
配置环境变量
-
1.1 切换到
oracle用户su - oracle -
1.2 编辑
~/.bash_profile增加如下内容umask 022 # 这个值,默认是ORCLCDB。如果有修改的记得修改成一致的。我这里修改成PINLINCDB export ORACLE_SID=PINLINCDB export ORACLE_BASE=/opt/oracle/oradata export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1 export PATH=$PATH:$ORACLE_HOME/bin export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8" alias sqlplus='rlwrap sqlplus' alias rman='rlwrap rman' -
1.3 使配置生效
source ~/.bash_profile
-
-
重置管理员密码
-
2.1 连接数据库实例
sqlplus / as sysdba -
2.2 修改密码
alter user userName identified by password; # 列子 alter user sys identified by pinlin123456;-
2.3 设置用户密码永不过期
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
-
-
创建命名空间
-
3.1 查看数据文件存放路径
select name from v$datafile; -
3.2 创建命名空间
说明
由于安装的是容器数据,所以需要同时创建对应
CDB和PDB的dbf文件,不然用户无法创建成功PINLIN_DB:命名空间名称/opt/oracle/oradata/PINLINCDB/pinlin1.dbf:dbf的存储路径具体路径,根据步骤3.1查询得知,根据安装配置替换即可
可添加多个dbf文件,文件名不能重复。避免单个满了。导致数据写入失败
单个文件上限为32G。但是不能设置成32G,不然会创建失败
-
3.2.1 创建
CDB命名空间CREATE TABLESPACE PINLIN_DB datafile '/opt/oracle/oradata/PINLINCDB/pinlin1.dbf' SIZE 30G AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED; -
3.2.2 切换到
PDB数据库alter session set container=databaseName; # 列子 alter session set container=PINLINPDB1;说明
show con_name;:展示当前连接的数据库名称show pdbs;:展示所有PDB数据库名称 -
3.2.3 创建
PDB数据库命名空间CREATE TABLESPACE PINLIN_DB datafile '/opt/oracle/oradata/PINLINCDB/PINLINPDB1/pinlin1.dbf' SIZE 30G AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED;说明
特别注意该存储路径,比上面多了一级
PINLINPDB1目录。相关的命名空间的名称和
CDB创建要一致
-
-
-
创建用户
-
4.1 创建容器数据库用户
CREATE USER C##PINLIN IDENTIFIED BY pinlin123455 DEFAULT TABLESPACE PINLIN_DB QUOTA 100M ON PINLIN_DB QUOTA 500K ON PINLIN_DB TEMPORARY TABLESPACE TEMP CONTAINER = ALL;说明
C##PINLIN:用户名,因为容器数据库,所有需要添加前缀C##pinlin123455:账号密码PINLIN_DB:命名空间 -
4.2 分配用户权限
GRANT SET CONTAINER,RESOURCE, CREATE SESSION TO C##PINLIN CONTAINER = ALL;说明
C##PINLIN:用户名,根据自己创建的修改 -
4.3 解除命名空间限制
grant unlimited tablespace to C##PINLIN;说明
C##PINLIN:用户名
-
-
创建过程所用到的sql
-- 查询命名空间所在的存储路径 select name from v$datafile; -- 创建CDB命名空间 CREATE TABLESPACE PINLIN_DB datafile '/opt/oracle/oradata/PINLINCDB/pinlin_db1.dbf' SIZE 1G AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED; -- 展示当前连接的数据库名 show con_name; -- 展示所有PDB数据库名称 show pdbs; -- 切换到PDB数据库 alter session set container=PINLINPDB1; -- 创建PDB命名空间 CREATE TABLESPACE PINLIN_DB datafile '/opt/oracle/oradata/PINLINCDB/PINLINPDB1/pinlin_db1.dbf' SIZE 1G AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED; -- 切换到CDB数据库 alter session set container=CDB$ROOT; -- 创建用户并且分配命名空间 CREATE USER C##PINLIN IDENTIFIED BY pinlin123456 DEFAULT TABLESPACE PINLIN_DB QUOTA 100M ON PINLIN_DB QUOTA 500K ON PINLIN_DB TEMPORARY TABLESPACE TEMP CONTAINER = ALL; -- 分配权限 GRANT SET CONTAINER,RESOURCE, CREATE SESSION TO C##PINLIN CONTAINER = ALL; -- 解除命名空间限制 grant unlimited tablespace to C##PINLIN;
修改数据存放路径(可选)
由于默认oracle的数据存放是在根目录,如果该目录足够大,可以不用迁移。
-
创建数据目录
mkdir /home/data/oradata/ -
赋予权限
chown -R oracle:oinstall /home/data/oradata/ -
迁移数据文件
-
3.1 切换`oracle用户
su - oracle -
3.2 停止监听
lsnrctl stop -
3.3 连接数据数据库实例
sqlplus / as sysdba -
3.4 关闭数据库实例
shutdown immediate; -
3.5 启动数据库并挂载
startup mount; -
3.6 退出
exit; -
3.7 拷贝数据文件到新的目录
cp -R /opt/oracle/oradata/* /home/data/oradata/ -
3.8 连接数据库实例
sqlplus / as sysdba -
3.9 修改数据文件目录
alter database rename file '/opt/oracle/oradata/PINLINCDB/sysaux01.dbf' to '/home/data/oradata/PINLINCDB/sysaux01.dbf'; alter database rename file '/opt/oracle/oradata/PINLINCDB/system01.dbf' to '/home/data/oradata/PINLINCDB/system01.dbf'; alter database rename file '/opt/oracle/oradata/PINLINCDB/temp01.dbf' to '/home/data/oradata/PINLINCDB/temp01.dbf'; alter database rename file '/opt/oracle/oradata/PINLINCDB/undotbs01.dbf' to '/home/data/oradata/PINLINCDB/undotbs01.dbf'; alter database rename file '/opt/oracle/oradata/PINLINCDB/users01.dbf' to '/home/data/oradata/PINLINCDB/users01.dbf'; alter database rename file '/opt/oracle/oradata/PINLINCDB/pinlin1.dbf' to '/home/data/oradata/PINLINCDB/pinlin1.dbf'; alter database rename file '/opt/oracle/oradata/PINLINCDB/pinlin_db1.dbf' to '/home/data/oradata/PINLINCDB/pinlin_db1.dbf'; alter database rename file '/opt/oracle/oradata/PINLINCDB/PINLINPDB1/sysaux01.dbf' to '/home/data/oradata/PINLINCDB/PINLINPDB1/sysaux01.dbf'; alter database rename file '/opt/oracle/oradata/PINLINCDB/PINLINPDB1/system01.dbf' to '/home/data/oradata/PINLINCDB/PINLINPDB1/system01.dbf'; alter database rename file '/opt/oracle/oradata/PINLINCDB/PINLINPDB1/temp01.dbf' to '/home/data/oradata/PINLINCDB/PINLINPDB1/temp01.dbf'; alter database rename file '/opt/oracle/oradata/PINLINCDB/PINLINPDB1/pinlin_db1.dbf' to '/home/data/oradata/PINLINCDB/PINLINPDB1/pinlin_db1.dbf'; alter database rename file '/opt/oracle/oradata/PINLINCDB/PINLINPDB1/undotbs01.dbf' to '/home/data/oradata/PINLINCDB/PINLINPDB1/undotbs01.dbf'; alter database rename file '/opt/oracle/oradata/PINLINCDB/PINLINPDB1/users01.dbf' to '/home/data/oradata/PINLINCDB/PINLINPDB1/users01.dbf'; alter database rename file '/opt/oracle/oradata/PINLINCDB/pdbseed/sysaux01.dbf' to '/home/data/oradata/PINLINCDB/pdbseed/sysaux01.dbf'; alter database rename file '/opt/oracle/oradata/PINLINCDB/pdbseed/system01.dbf' to '/home/data/oradata/PINLINCDB/pdbseed/system01.dbf'; # 该临时文件根据安装的时间名称不一样。具体到时自己替换即可 alter database rename file '/opt/oracle/oradata/PINLINCDB/pdbseed/temp012023-01-19_14-02-22-129-PM.dbf' to '/home/data/oradata/PINLINCDB/pdbseed/temp012023-01-19_14-02-22-129-PM.dbf'; alter database rename file '/opt/oracle/oradata/PINLINCDB/pdbseed/undotbs01.dbf' to '/home/data/oradata/PINLINCDB/pdbseed/undotbs01.dbf';记得要一条条的复制。不要全部复制,避免出错
-
3.10 打开数据库
alter database open; -
3.11 查询数据文件状态和存储路径
select file#,ts#,status,name from v$datafile;如图所示标识迁移 成功
![]()
-
3.12 关闭数据库
shutdown immediate; -
3.13 重启启动
startup; -
3.14 退出
exit; -
3.15 启动监听
lsnrctl start
-
其它操作
oracle安装脚本执行数据库启动、停止、重启操作
以下操作都是基于root用户操作
-
启动数据库
/etc/init.d/oracledb_PINLINCDB-19c start -
关闭数据库
/etc/init.d/oracledb_PINLINCDB-19c stop -
重启数据库
/etc/init.d/oracledb_PINLINCDB-19c restart
卸载操作
-
切换到
oracle用户su - oracle -
卸载数据库
$ORACLE_HOME/bin/dbca -
卸载监听
$ORACLE_HOME/bin/netca -
切换
rootexit 或 su - root -
移除数据库(该操作需要使用
root用户)yum -y remove oracle-database-ee-19c





浙公网安备 33010602011771号