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;