Oracle 一些基本命令

--创建表空间
--DATAFILE: 表空间数据文件存放路径
--SIZE: 起初设置为200M
--空间名称MOF_TEMP与数据文件名称不要求相同,可随意命名.
--AUTOEXTEND ON/OFF 表示启动/停止自动扩展表空间
create tablespace 表空间 
logging 
datafile 'E:appJohnoradatamyMY_TEST.dbf' 
size 200m 
autoextend on next 100m 
maxsize 20480m 
extent management local; 

--手动修改数据文件大小为500M 
alter database datafile 'E:appJohnoradatamyMY_TEST.dbf' resize 500m; 

--查询表空间名称、id,文件存储位置,初始大小
select tablespace_name,file_id,file_name,bytes
from dba_data_files
order by file_id;

--创建用户 
create user 用户名
identified by 密码
default tablespace 表空间;
-- 给权限
grant dba to 用户名;

--查看所有用户
select * from dba_users;

--删除表空间
--tablespace:指定要删除的表空间的名称
--INCLUDING CONTENTS:删除表空间内的所有段
--AND DATAFILES:删除关联的操作系统文件
--CASCADE CONSTRAINTS:如果要删除的表空间之外的表引用了该表空间内表的主键和唯一键,则删除这种引用完整性约束。
DROP TABLESPACE 表空间名 INCLUDING CONTENTS AND DATAFILES;

--导入数据库 在cmd中执行
imp 用户名/密码@orcl file=文件路径 full=y fromuser=导出时的用户名 touser=建立的用户名

--导出数据库 在cmd中执行
--导出ORCL数据库的所有表
exp 用户名/密码@orcl file=d:daochu.dmp full=y
--导出ORCL数据库中test_name用户的表
exp 用户名/密码@orcl file=d:	est_daochu.dmp log=d:	est_daochu.log owner=(test_name)

--impdp、expdp创建目录
create or replace directory expdir as 'D:dmpTemp';
grant read,write on directory expdir to public;
--expdp导出数据库
expdp test/test@orcl directory=expdir dumpfile=test.dmp logfile=testexpdp.log;
--impdp导入数据库
impdp test/test@orcl directory=expdir dumpfile=test.dmp logfile=testimpdp.log schemas=导出时的用户 remap_schema=导出时的用户:test;

-- 查看锁表
select b.owner,b.object_name,a.session_id,c.serial#,a.locked_mode,logon_time from v$locked_object a
inner join dba_objects b on b.object_id = a.object_id
inner join v$session c on a.session_id = c.sid
--解锁 13为SESSION_ID 40691为SERIAL#
alter system kill session '13,40691'

--查看程序最近执行的语句
SELECT sql_text,t.SQL_FULLTEXT,t.LAST_ACTIVE_TIME, t.MODULE FROM v$sql t  WHERE     t.MODULE='w3wp.exe'and  t.PARSING_SCHEMA_NAME='' ORDER BY LAST_ACTIVE_TIME DESC;

--修改表结构时提示:ora-01440:要减小精度或标度,则要修改的列必须为空
--创建临时表
create table BUZ_OPTIMIZATION_BAK as select * from BUZ_OPTIMIZATION;
--删除productinfo表内的数据
delete  from BUZ_OPTIMIZATION;
--修改表结构
alter table BUZ_OPTIMIZATION modify ORDER_RATIO NUMBER(18,4);
--还原表结构
insert into BUZ_OPTIMIZATION select * from BUZ_OPTIMIZATION_BAK;
--删除备份表
drop table BUZ_OPTIMIZATION_BAK;

--Oracle数据误删回复
--as of timestamp sysdate-1/24,查询当前日期-1小时前的时间点该表数据
select * from base_material as of timestamp sysdate-1/24;
--查询两个结果集缺失的部分(1小时前存在,现在不存在的数据) 查出来后insert into到原表即可
select * from base_material as of timestamp sysdate-1/24 
minus
select * from base_material;
对字段操作 操作方法
更新字段名 alter table TABLE_NAME rename column column_old to column_new;
添加字段 alter table TABLE_NAME add COLUMN_NAME varchar(10);
删除字段 alter table TABLE_NAME drop column COLUMN_NAME;
添加字段并附值 alter table TABLE_NAME ADD COLUMN_NAME NUMBER(1) DEFAULT 1;
修改字段值 update TABLE_NAME set filedname=value where filedname=value;
修改字段数据类型 alter table tablename modify filedname varchar2(20);
 
原文地址:https://www.cnblogs.com/gaozejie/p/5541699.html