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 immediateRMAN> 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 immediaterm -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;