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/[email protected]: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/[email protected]: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;
相关推荐
傻啦嘿哟31 分钟前
Python正则表达式:用“模式密码“解锁复杂字符串
linux·数据库·mysql
辰哥单片机设计2 小时前
JW01三合一传感器详解(STM32)
数据库·mongodb
小刘同学++2 小时前
Qt使用 SQLite 数据库的基本方法
数据库·qt·sqlite
施嘉伟5 小时前
Oracle 11g RAC ASM磁盘组剔盘、加盘实施过程
数据库·oracle
橘猫云计算机设计6 小时前
springboot基于hadoop的酷狗音乐爬虫大数据分析可视化系统(源码+lw+部署文档+讲解),源码可白嫖!
数据库·hadoop·spring boot·爬虫·python·数据分析·毕业设计
卓怡学长7 小时前
w304基于HTML5的民谣网站的设计与实现
java·前端·数据库·spring boot·spring·html5
冰^7 小时前
MySQL VS SQL Server:优缺点全解析
数据库·数据仓库·redis·sql·mysql·json·数据库开发
电商数据girl7 小时前
产品经理对于电商接口的梳理||电商接口文档梳理与接入
大数据·数据库·python·自动化·产品经理
Spring小子8 小时前
黑马点评商户查询缓存--缓存更新策略
java·数据库·redis·后端
溜溜刘@♞9 小时前
数据库之mysql优化
数据库·mysql