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;
相关推荐
Lucifer三思而后行11 小时前
最近折腾了一下金仓数据库的备份恢复
数据库·备份恢复
草莓熊Lotso12 小时前
【C++ 基于微服务的即时通讯系统】文件存储子服务实战:UUID生成、文件IO封装与全接口单元测试
开发语言·网络·数据库·c++·微服务·架构·单元测试
进击的荆棘13 小时前
MySQL——库的操作
数据库·mysql
2601_9679801113 小时前
“小程序·云开发”上线 助力开发者的高效利器
数据库·存储管理·小程序云开发·云函数·开发者工具
zhangjw3413 小时前
1-9 SELECT 查询基础:where、group by、having、order by、limit offset
数据库·postgresql·pg数据库
唐老板13 小时前
Postgres 慢查询,先取证再动手
数据库·ai编程
笃行35020 小时前
数据库性能优化的五处内核改造,KingbaseES 配了四件诊断工具
数据库
非优秀程序员1 天前
第02章 杭电的英语老师与一台服务器|《互联网产品恩仇录》
数据库·node.js·代码规范
SelectDB1 天前
SelectDB 是哪个公司的?是国产数据库吗?一篇讲清飞轮科技与 Apache Doris 的关系
数据库
这个DBA有点耶1 天前
库内计算推理:一条SQL背后的算子融合,和外挂方案差了几次网络往返
数据库·人工智能·sql