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;
相关推荐
冉冰学姐3 小时前
SSM足球爱好者服务平台i387z(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·ssm 框架·足球爱好者服务平台
大飞记Python3 小时前
部门管理|“编辑部门”功能实现(Django5零基础Web平台)
前端·数据库·python·django
清风6666664 小时前
基于单片机的智能收银机模拟系统设计
数据库·单片机·毕业设计·nosql·课程设计
资深低代码开发平台专家5 小时前
PostgreSQL 18 发布
数据库·postgresql
与衫6 小时前
在 VS Code 里看清你的数据流向:Gudu SQL Omni 实测体验
数据库·sql
Element_南笙6 小时前
吴恩达新课程:Agentic AI(笔记2)
数据库·人工智能·笔记·python·深度学习·ui·自然语言处理
长安城没有风6 小时前
从入门到精通【Redis】Redis 典型应⽤ --- 分布式锁
数据库·redis·分布式
Ytadpole6 小时前
MySQL 数据库优化设计:优化原理和数据库表设计技巧
数据库·mysql·优化·索引·查询·检索·表设计
christine-rr7 小时前
数据库基础概念体系梳理
数据库·oracle