因为Windows安装oracle桌面版报错很烦人所以整理编辑了此文档。
(把Oracle安装在虚拟机,好处大大的有! 具体好在哪儿,自己脑补😄)
也就本地随便用用
一 软件包下载
夸克网盘:
链接:https://pan.quark.cn/s/eb56ffe7fd3c
提取码:r89t
二 安装Oracle VM VirtualBox、centOS7
VM:自行安装。
Oracle VM VirtualBox ↓
centOS7:↓
Rule1 : 添加端口映射,例如主机端口为22(随便设置),子系统端口为22(必须是这个)
Rule2 : 1521端口是安装oracle后在本地连接时用到的(类似腾讯云等服务器开放端口号)
选择下载好的centOS7
点击启动按钮,运行虚拟主机,然后进入到Linux安装界面,什么都不需要做,等候几分钟。
三 安装oracle
参考文章:https://blog.youkuaiyun.com/weixin_48546276/article/details/130008264
ssh连接我用的是MobaXterm
hostnamectl set-hostname oracledb
ip addr show #查看ip
echo "10.0.2.15 oracledb" >> /etc/hosts #本机ip 10.0.2.15
#关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
#关闭selinux
setenforce 0 #临时关闭
sed 's/^SELINUX=.*/SELINUX=disibled/' /etc/selinux/config #永久关闭
依赖下载
#备份源
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
#下载新的CentOS-Base.repo 到/etc/yum.repos.d/
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#或
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#添加EPEL
curl -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum clean all
yum makecache
#确保oracle所需依赖都安装完成,不然安装时会报错
yum install -y binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33.i686 glibc glibc.i686 glibc-devel glibc-devel.i686 ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libX11 libX11.i686 libXau libXau.i686 libXi libXi.i686 libXtst libXtst.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel libstdc++-devel.i686 libxcb libxcb.i686 make nfs-utils net-tools smartmontools sysstat unixODBC unixODBC-devel gcc gcc-c++ libXext libXext.i686 zlib-devel zlib-devel.i686
sudo yum install unzip #解压oracle用
groupadd -g 10001 oinstall #创建组用户安装数据库,组id:123456
groupadd -g 10002 dba # 创建组dba用于管理数据库
groupadd -g 10003 oper #
useradd -u 10001 -g oinstall -G dba,oper oracle #创建用户oracle,主组为oinstall,其他组为dba,oper
passwd oracle #手动设置oracle用户密码为oracle
mkdir -p /usr/local/products/oracle12c
chown -R oracle:oinstall /usr/local
chmod -R 775 /usr/local/
用MobaXterm找到文件地址直接粘贴吧
# /home/oracle/.bash_profile 粘贴下面的内容
# .bash_profile
# 加载 .bashrc 配置
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# Oracle 环境设置
export PATH=/usr/local/bin:/usr/sbin:/usr/local/sbin:/usr/bin:/root/bin:$ORACLE_HOME/bin
export ORACLE_HOSTNAME=oracledb
export ORACLE_UNQNAME=orcl
export ORACLE_BASE=/usr/local/products
export ORACLE_HOME=/usr/local/products/oracle12c # 使用完整路径
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORACLE_SID=orcl
export TMP=/tmp
export TMPDIR=$TMP
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:$LD_LIBRARY_PATH
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$CLASSPATH
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
#确保 .bash_profile 被加载
source ~oracle/.bash_profile
#验证变量是否生效:
echo $ORACLE_HOME
上传oracle12C到/home/oracle下,解压
cd /home/oracle
unzip Oracle_12C_liunx_64.zip
cd /home/oracle/database
#/home/oracle/database/response/db_install.rsp修改以下参数
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/usr/local/products/oracle12c/oraInventory
ORACLE_HOME=/usr/local/products/oracle12c
ORACLE_BASE=/usr/local/products
cd /home/oracle/database #在此目录下执行安装脚本
su oracle
./runInstaller -ignoreSysPrereqs -ignorePrereq -waitforcompletion \
-showProgress -silent -responseFile /home/oracle/database/response/db_install.rsp
#等待完成
#切换root 必须执行下面两段
su root
/usr/local/products/oracle12c/oraInventory/orainstRoot.sh
/usr/local/products/oracle12c/root.sh
#执行后切换回oracle用户,登录sqlplus成功,证明数据库安装成功
sqlplus / as sysdba
exit
#创建监听程序
netca -silent -responseFile /home/oracle/database/response/netca.rsp
lsnrctl status #查看监听器
#创建数据库
#按需修改/home/oracle/database/response/dbca.rsp以下参数
templateName /usr/local/products/oracle12c/assistants/dbca/templates/General_Purpose.dbc
gdbname orcl #这里要和环境变量一致
sid orcl #这里要和环境变量一致
characterSet AL32UTF8
sysPassword s123456
systemPassword s123456
createAsContainerDatabase true
numberOfPDBs 1
pdbName=orclpdb
pdbAdminPassword p123456
automaticMemoryManagement false
dbca -silent -createDatabase -responseFile /home/oracle/database/response/dbca.rsp -ignorePreReqs
#等待完成
#验证数据库是否创建成功
sqlplus / as sysdba; #以dba身份登录数据库
select status from v$instance;
# 创建表空间my_tablespace01
alter session set container=orclpdb;
ALTER SESSION SET CONTAINER = orclpdb;
CREATE TABLESPACE my_tablespace01
DATAFILE '/usr/local/products/oradata/orcl/orclpdb/my_tablespace01.dbf' SIZE 500M
AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED
LOGGING
ONLINE
PERMANENT;
alter session set container=CDB$ROOT;
CREATE TABLESPACE my_tablespace01
DATAFILE '/usr/local/products/oradata/orcl/my_tablespace01.dbf' SIZE 500M
AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED
LOGGING
ONLINE
PERMANENT;
#创建C##用户 test
CREATE USER C##test IDENTIFIED BY t123456 DEFAULT TABLESPACE MY_TABLESPACE01 TEMPORARY TABLESPACE temp;
#授予连接权限
GRANT CONNECT TO C##test;
# 授予开发权限,允许创建表、视图、存储过程等
GRANT RESOURCE TO C##test;
#允许 C##test 用户管理其他用户的对象(比如:视图、存储过程)
GRANT DBA TO C##test;
#以 C##test 用户创建表
CREATE TABLE C##test.test_table (
id NUMBER PRIMARY KEY,
name VARCHAR2(100)
) TABLESPACE my_tablespace01;
# 授予 C##test 在 my_tablespace01 表空间的使用权限
GRANT UNLIMITED TABLESPACE TO C##test;
四 遇到问题
每次重启linux都需要执行<source ~oracle/.bash_profile>?
把/home/oracle的.bash_profile配置追加到/etc/profile和/root .bash_profile中
将就用吧 只能遇到问题解决问题了
五 linux启动oracle
su oracle
sqlplus / as sysdba
> startup
lsnrctl status#查看监听程序
lsnrctl start