前言
个人oracle自用命令
一、数据泵导入和导出
数据泵导出数据库
select * from dba_directories; 查询下面DUMP_DIR名
GRANT READ,WRITE ON DIRECTORY DUMP_DIR to 数据库用户名;
--dba授权DATA_PUMP_DIR
grant read,write on directory DATA_PUMP_DIR to public;
--导出
expdp user/pwd@IP:PORT/orcl directory=DATA_PUMP_DIR dumpfile=xxx.dmp logfile=xxx.log
--导入
impdp user/pwd@IP:PORT/orcl directory=DATA_PUMP_DIR schemas=导出的库名 dumpfile=xxx.dmp logfile=xxx.i.log remap_schema=导出库名:导入库名 exclude=STATISTICS
--指定数据库
impdp user/pwd@IP:PORT/orcl DIRECTORY=DATA_PUMP_DIR DUMPFILE=xxx.dmp logfile=xxx.log schemas=导入库名
--不指定数据库
impdp user/pwd@IP:PORT/orcl DIRECTORY=DATA_PUMP_DIR DUMPFILE=xxx.dmp logfile=xxx.log FULL=y
二、创建数据库
1.创建库
--登录管理员sys账户
select * from dba_data_files; -- 查询表空间位置
-- 使用sql语句来创建表空间
create tablespace test_data --表空间名
datafile 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\test_data.dbf' --物理文件 表空间数据文件存放路径
size 50m --大小初始值
autoextend on --自动扩展
next 50m maxsize 20480m --每次扩展50m,最大为20480m
extent management local;
-- 创建用户
create user test_data --创建用户名 test_data
identified by "test_data" --创建密码 test_data
default tablespace test_data --表空间 test_data
temporary tablespace TEMP --临时表空间(默认的)
profile DEFAULT --默认权限(下面给分配)
quota unlimited on test_data; --该用户在 db_test 表空间里的配额不限
grant all privileges to test_data; -- 执行该语句给 testdev 用户授权,此时 该 用户就可以登录了
grant create session to test_data;
grant create table to test_data; -- 建表权限
grant unlimited tablespace to test_data; --增删改查权限
grant all privileges to test_data;
2.其它操作
修改所有表表空间
select 'alter table '|| table_name ||' move tablespace test_data;' from all_tables where owner='test_data';
修改所有主键表空间
select 'alter index ' ||index_name|| ' rebuild tablespace test_data;' index_name from all_indexes where owner='test_data'
解锁表
select s.username,s.sid,s.serial#,s.logon_time
from v$locked_object l,v$session s
where l.session_id=s.sid
order by s.logon_time; 查询被锁表的 sid和serial#
alter system kill session 'xx,xxxx' 解锁 'sid, serial#'