下载oracle19c https://www.oracle.com/database/technologies/oracle-database-software-downloads.html 找到对应版本下载 然后上传到服务器/opt目录下
进入opt目录
下载依赖包:
wget http://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
安装包 yum localinstall 方式 从本机目录安装软件包 并自动安装相关依赖
yum localinstall -y oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
yum localinstall -y oracle-database-ee-19c-1.0-1.x86_64.rpm
安装完成:
总计:6.9 G
安装大小:6.9 G
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : oracle-database-ee-19c-1.0-1.x86_64 1/1
[INFO] Executing post installation scripts...
[INFO] Oracle home installed successfully and ready to be configured.
To configure a sample Oracle Database you can execute the following service configuration script as root: /etc/init.d/oracledb_ORCLCDB-19c configure
验证中 : oracle-database-ee-19c-1.0-1.x86_64 1/1
已安装:
oracle-database-ee-19c.x86_64 0:1.0-1
完毕!
此时 安装完了之后现在只是安装上了oracle软件,但是还没有数据库 我们要创建数据库 在这里创建数据库有两种方式一种是它安装完给的方法执行这个脚本 还有一种是在桌面环境下的终端里执行输入dbca会弹出可视化的安装界面 我们用脚本安装数据
修改配置文件
vim /etc/init.d/oracledb_ORCLCDB-19c
创建并启动oracle实例 等待Oracle数据库执行初始化操作即可
/etc/init.d/oracledb_ORCLCDB-19c configure
增加环境变量
vim /etc/profile.d/oracle19c.sh
export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
export PATH=$PATH:/opt/oracle/product/19c/dbhome_1/bin
export ORACLE_SID=ORCLCDB
source /etc/profile
修改oracle 用户密码
passwd oracle
使用Oracle登录进行相关的处理
su oracle
登入oracle 进行相关操作
sqlplus / as sysdba
查看pdb信息
show pdbs
如果重启服务器 启动oracle服务
SQL> startup
启动监听器
cd $ORACLE_HOME/bin
lsnrctl start
如果报错:
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 30-MAR-2022 14:46:36
Copyright (c) 1991, 2019, Oracle. All rights reserved.
Starting /opt/oracle/product/19c/dbhome_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 19.0.0.0.0 - Production
NL-00280: error creating log stream /opt/oracle/product/19c/dbhome_1/network/log/listener.log
NL-00278: cannot open log file
SNL-00016: snlfohd: error opening file
Linux Error: 13: Permission denied
Listener failed to start. See the error message(s) above...
查看目录 /opt/oracle/product/19c/dbhome_1/network/log 是否有权限 修改权限:
chmod -R 777 /opt/oracle/product/19c/dbhome_1/network/log
配置开机自启 需要先修改一下 oracle 的启动脚本配置:
vi /etc/oratab
ORCLCDB:/opt/oracle/product/19c/dbhome_1:N
ORCLCDB:/opt/oracle/product/19c/dbhome_1:Y
然后设置一下 数据库的启动命令
vi /usr/bin/oracle.sh
增加的内容为:
/opt/oracle/product/19c/dbhome_1/bin/lsnrctl start
/opt/oracle/product/19c/dbhome_1/bin/dbstart /opt/oracle/product/19c/dbhome_1
然后设置这个文件的读写权限
chmod 777 /usr/bin/oracle.sh
设置一个 oracle19c.service
vi /etc/systemd/system/oracle19c.service
[Unit]
Description=Oracle19c
After=syslog.target network.target
[Service]
LimitMEMLOCK=infinity
LimitNOFILE=65535
Type=oneshot
RemainAfterExit=yes
User=oracle
Environment="ORACLE_HOME=/opt/oracle/product/19c/dbhome_1"
ExecStart=/usr/bin/oracle.sh
[Install]
WantedBy=multi-user.target
设置开机自动启动
systemctl enable oracle19c
重启测试
reboot
systemctl status oracle19c
创建用户: 确保再CDB环境下
select name,cdb from v$database;
建用户
create user C
配置权限
SQL> grant connect,resource,create indextype,create job,create sequence,create session,create table,create view,create procedure,unlimited tablespace,insert any table,select any table,update any table,delete any table to C
删除用户
drop user C
如果删除报 ORA-01940提示 “无法删除当前已连接用户” 处理方式:
alter user C
select saddr,sid,serial
alter system kill session'391,2314';
drop user C
注意: 使用navicat链接 sid 添加 ORCLCDB
权限介绍: (1)Connect 角色,是授予最终用户的典型权利,最基本的权利,能够连接到ORACLE数据库中 (2)Resource 角色,是授予开发人员的,能在自己的方案中创建表、序列、视图等。 (3)DBA角色,是授予系统管理员的,拥有该角色的用户就能成为系统管理员了,它拥有所有的系统权限。 unlimited tablespace 如果不给此权限 则不能使用表空间报下边的异常 对于普通用户,如果操作表时报错“[Err] ORA-01950: 对表空间 ‘xxx’ 无权限”,需要执行一下语句
alter user c
expdb数据泵方式备份数据
mkdir -p /opt/databack/expdp_dmp
chmod -R 777 databack
su oracle
sqlplus / as sysdba
create directory expdp_dmp as '/opt/databack/expdp_dmp'
select * from dba_directories
grant read,write on directory expdp_dmp to C
exit;
expdp C
impdp C
全库导出 使用system用户操作 需在oracle用户下进行
su oracle
ALTER USER SYSTEM IDENTIFIED BY "123456789";
sqlplus system/123456789@ORCLCDB
导出可有多种方式 1、“full=y”,全量导出导入数据库
expdp system/123456789@ORCLCDB dumpfile=full.dmp directory=expdp_dmp full=y logfile=full.log
impdp system/123456789@ORCLCDB dumpfile=full.dmp directory=expdp_dmp full=y
2、schemas按用户导出 导入
expdp system/123456789@ORCLCDB schemas=C
impdp system/123456789@ORCLCDB schemas=C
3、按表空间导出
select username,default_tablespace from user_users;
select tablespace_name from dba_tablespaces;
select username from dba_users;
expdp system/123456789@ORCLCDB tablespaces=USERS dumpfile=USERS_tablespace220332.dmp directory=expdp_dmp logfile=USERS220332.log
impdp system/123456789@ORCLCDB tablespaces=USERS directory=expdp_dmp dumpfile=USERS_tablespace220332.dmp logfile=impdp.log
导出表 多个表用逗号 table1,table2
expdp C
|