oracle基础语法和备份恢复

Oracle总结

sql命令分类

1.DDL,数据定义语言,create创建/drop销毁

2.DCL,数据库控制语言,grant授权/revoke撤销

3.DML,数据操纵语言,insert/update/delete等sql语句

4.DQL,数据查询语言,select等查询语句

sql基础命令

1.创建用户

复制代码
create user csy identified by csy default tablespace animal;

2.赋予用户权限

复制代码
grant connect,resource,dba to csy;

3.删除用户

复制代码
drop user animal;

4.查看当前所有数据库

复制代码
SELECT * FROM dba_tablespaces;

5.查看用户角色

复制代码
select * from session_privs

6.查看当前用户权限

复制代码
select * from session_privs

7.创建表空间

复制代码
create tablespace animal datafile 'animal.dbf' size 10M;

8.删除表空间

复制代码
drop tablespace animal;

9.修改表空间大小

复制代码
alter tablespace animal datafile 'animal.dbf' size 20M;

10.查询当前用户拥有的所的有表空间

复制代码
select tablespace_name from user_tablespaces;

11.创建表

复制代码
create table dog(name varchar(12),age varchar(12)) tablespace animal;

12.查看animal空间下的所有表

复制代码
select tablespace_name, table_name from user_tables
where tablespace_name = 'ANIMAL';

13.查看表结构

复制代码
desc dog;

14.修改表

复制代码
RENAME dog to cat;

15.删除表

复制代码
drop table dog;

16.插入表数据

复制代码
INSERT INTO dog(name,age) VALUES ('aaa',20);

17.查看表内容

复制代码
select * from dog;

18.修改表内容

复制代码
update dog set name = 'xiaoxiong' where age = 20;

19.追加新的列

复制代码
ALTER TABLE DOG ADD (shengri VARCHAR(12));

20.修改列名

复制代码
alter table dog rename column shengri to date;

21.删除列

复制代码
alter table dog drop column daxiao;

22.删除表内容

复制代码
delete from dog where age = 20;

oracle数据库备份

数据导出

exp命令
复制代码
system是登陆用户,123456是登陆密码,file是存放要导出文件的目录,log是存放导入的日志

owner=test_user 表示导出的表的所属用户是test_user ,full=y表示全部导出


exp system/123456@127.0.0.1:1521/orcl file=/home/oracle/imp_test.dmp log=/home/oracle/imp_test.log owner=test_user full=y

expdp 命令

复制代码
创建逻辑目录(目录必须存在)

create directory dpdata as '/home/oracle/dump';

按用户导出

expdp system/123456@orcl schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata;


导出整个数据库

expdp system/123456 DIRECTORY=dpdata DUMPFILE=full.dmp FULL=y;


按表名导出

expdp system/123456@orcl TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dpdata;


按查询条件导出
expdp system/123456@orcl directory=dpdata dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20';

数据导入

imp命令

复制代码
system是登陆用户,123456是用户密码,orcl是数据库名称,file是存放要导入文件的目录

imp system/123456@127.0.0.1:1521/orcl file=/home/oracle/imp_test.dmp full=y

impdp 命令

复制代码
导入到指定用户

impdp scott/tiger DIRECTORY=dpdata DUMPFILE=expdp.dmp SCHEMAS=scott;

导入表空间

impdp system/123456 DIRECTORY=dpdata DUMPFILE=tablespace.dmp TABLESPACES=example;

导入数据库

impdp system/123456 DIRECTORY=dpdata DUMPFILE=full.dmp FULL=y;

rman工具

rman备份

复制代码
创建备份目录

mkdir /home/oracle/dump

查看归档状态

SQL> select name,log_mode from v$database;

NAME	  LOG_MODE
--------- ------------
ORCL	  NOARCHIVELOG  # 表示数据库处于非归档模式


查看数据库状态,确保数据库为关闭状态
rman target /

RMAN> select status from v$instance;


关闭数据库,启动至mount状态
RMAN> shutdown immediate

RMAN> startup mount

执行全库备份
RMAN> backup format '/home/oracle/dump/full_%d_%s_%T_%p.bak' database;

检查备份结果
RMAN> list backup;


恢复至open状态

RMAN> alter database open;

rman恢复

复制代码
找到数据文件的位置
RMAN> select name from v$datafile;


关闭数据库并删除数据文件

RMAN> shutdown immediate

rm -rf /home/oracle/app/oracle/oradata/ORCL/system01.dbf
rm -rf /home/oracle/app/oracle/oradata/ORCL/sysaux01.dbf
rm -rf /home/oracle/app/oracle/oradata/ORCL/undotbs01.dbf
rm -rf /home/oracle/app/oracle/oradata/ORCL/users01.dbf

启动数据库

rman target /

RMAN> startup

还原数据文件
RMAN> restore database;


对数据库进行介质恢复
RMAN> recover database;



打开数据库

RMAN> alter database open;
相关推荐
DashVector15 分钟前
如何通过Java SDK分组检索Doc
java·数据库·面试
Olrookie1 小时前
XXL-JOB GLUE模式动态数据源实践:Spring AOP + MyBatis 解耦多库查询
java·数据库·spring boot
苏婳6661 小时前
【最新版】怎么下载mysqlclient并成功安装?
数据库·python·mysql
Tapdata3 小时前
《实时分析市场报告 2025》上线 | 从批处理到实时洞察,2025 年全球实时分析市场全景解读
数据库
海梨花3 小时前
【从零开始学习Redis】项目实战-黑马点评D2
java·数据库·redis·后端·缓存
代码的余温4 小时前
SQL性能优化全攻略
数据库·mysql·性能优化
手把手入门6 小时前
★CentOS:MySQL数据备份
数据库·mysql·adb
SelectDB7 小时前
5000+ 中大型企业首选的 Doris,在稳定性的提升上究竟花了多大的功夫?
大数据·数据库·apache
路多辛7 小时前
Golang database/sql 包深度解析(二):连接池实现原理
数据库·sql·golang
SimonKing7 小时前
Mybatis批量插入,形式不同性能也不同
数据库·后端·程序员