代码改变世界

oracle数据库不常用指令大全

2018-10-22 14:37  小花儿鹿  阅读(280)  评论(0编辑  收藏  举报

1.oracle数据库导出dmp文件

exp test/test@127.0.0.1/orcl file=E:\1225.dmp owner=test

test/test --用户名、密码
127.0.0.1 --IP
orcl --数据库实例名称
file --导出的dmp路径
owner     --所有者(这些对象是由谁创建的,谁就是他们的所有者)

 2.oracle数据库导入dmp文件

imp test/test@127.0.0.1/orcl  file=e:\1225.dmp full=y

full=y --这个貌似是全部导入,我再查查核实一下!

3.按表注释查找表名称

select * from user_tab_comments t where t.comments like '%地址字典表%'

4.查看表中的触发器

select * from all_triggers where table_name='表名'

5.查看某用户下刚执行完的存储过程

select * from etl_load_his_log t  order by t.start_date desc ;
select * from etl_load_his_log_detail t  order by t.start_date desc ;

注:没记错的话,一个是查看执行成功的存储过程,另一个是查看未成功的存储过程

6.查询表和表中数据总条数

select t.table_name,t.num_rows from user_tables t

7.查询字段名称以及字段类型

select COLUMN_NAME,DATA_TYPE from user_tab_columns 

8.1创建用户和表空间

/*分为四步 */
/*第1步:创建临时表空间  */
create temporary tablespace yuhang_temp 
tempfile 'D:\oracledata\yuhang_temp.dbf' 
size 50m  
autoextend on  
next 50m maxsize 20480m  
extent management local;  
 
/*第2步:创建数据表空间  */
create tablespace yuhang_data  
logging  
datafile 'D:\oracledata\yuhang_data.dbf' 
size 50m  
autoextend on  
next 50m maxsize 20480m  
extent management local;  
 
/*第3步:创建用户并指定表空间  */
create user yuhang identified by yuhang  
default tablespace yuhang_data  
temporary tablespace yuhang_temp;

 
/*第4步:给用户授予权限  */
grant connect,resource,dba to yuhang;

8.2删除用户和表空间(尽量不使用)

drop user ×× cascade;
DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;

9.复制表

create table sys_funinfo as select * from sys_funinfo_0417

10.将指定用户下的所有表的查询权限赋权给查询用户

1.select 'grant select on '|| tname ||' to  rptuser ;' from tab;  
  (当前用户有dba权限如system或者sysdba,执行输出脚本)
2.select 'grant select on user.' || tname || ' to rptuser;' from tab;  
  (当前用户无dba权限也就是scott用户,用system或者sysdba用户执行输出脚本)

11.删除某用户下所有表数据(尽量不使用)

SELECT 'DELETE FROM '|| table_name || ';' FROM USER_TABLES ORDER BY TABLE_NAME;

12.查看正在执行的存储过程

select name,locks,pins from v$db_object_cache where locks > 0 and pins > 0 and type='PROCEDURE';

13.获取第一条信息

select * from tab_name where rownum = 1 

14.时间问题

1.获取系统当前时间
select m.dayTime from (select  to_char(sysdate, 'yyyy-mm-dd' ) dayTime from dual) m

2.时间类型转字符串类型
to_char(t.bengin_time,'yyyy-mm-dd')

15.命令模式下导入sql文件

@E:\ods.sql
回车

注意中间不能有空格!

16.新增字段注释、表注释

comment on column sc_set_worknode.MONITORFLAG is '0:已监测,1:未监测'

COMMENT ON table test1 IS '个人信息';

17.表空间扩容

---查询本地数据库文件
SELECT D.FILE_NAME, D.TABLESPACE_NAME, D.AUTOEXTENSIBLE
  FROM DBA_DATA_FILES D
 WHERE D.TABLESPACE_NAME = 'HEALTH'

--增加实际表空间文件
ALTER TABLESPACE HEALTH ADD DATAFILE 'D:\ORADATA\TBS_HEALTH_06.DBF' SIZE 31G AUTOEXTEND ON;