数据库常用功能

--查询死锁进程

SELECT s.username,l.OBJECT_ID,l.SESSION_ID,s.SERIAL#,
l.ORACLE_USERNAME,l.OS_USER_NAME,l.PROCESS
FROM V$LOCKED_OBJECT l,V$SESSION S WHERE l.SESSION_ID=S.SID;

--解除死锁进程

alter system kill session '1151,13820';

--创建表空间
create tablespace DATA_INDB
datafile 'E:\tablespace\DATA_INDB\DATA_INDB.dbf' size 1G
autoextend on next 100M maxsize unlimited logging
extent management local autoallocate
segment space management auto;

--增加一个字段
alter table 表名 add 字段 VARCHAR2(40);

-- 关联表空间
alter tablespace gsab add datafile 'D:\app\Reginheraht\oradata\orcl\gsab\gsab1.DBF' size 1G
autoextend on next 100M maxsize unlimited;
--logging
--extent management local autoallocate
--segment space management auto;

-- 关联表空间
alter tablespace gsab add datafile 'D:\app\Reginheraht\oradata\orcl\gsab\gsab2.DBF' size 1G
autoextend on next 100M maxsize unlimited;
--logging
--extent management local autoallocate
--segment space management auto;


--创建临时表空间
create temporary tablespace gsab_temp tempfile'D:\app\Reginheraht\oradata\orcl\gsab\gsab_temp.dbf'
size 1024m autoextend on next 100m maxsize 10240m extent management local;

--创建用户
create user indbadmin_test identified by indbadmin_test default tablespace DATA_INDB

--权限
grant connect,resource,dba,exp_full_database,imp_full_database to indbadmin_test

-- 修改用户表空间
alter user indbadmin_test default tablespace DATA_INDB;

-- 解锁用户
alter user indbadmin account unlock;

-- 查看用户属于哪个表空间
select username,default_tablespace from dba_users where username='indbadmin_test'

-- 删除用户下所有对象
drop user ydcx cascade;

-- 撤回drop操作
flashback table table_name to before drop;

--导入表
imp gsab/gsab@127.0.0.1:1521/orcl file=D:\赢时胜\项目资料\国寿安保\dmp\fabxgzzip20180207\DMP\fabxgzdb20180207.dmp full=y ignore=y destroy=y

-- 查询数据库所有用户
select * from all_users;

-- 查询所有表名
select t.table_name from user_tables t ;

-- 查询所有表空间名;
select tablespace_name from dba_tablespaces;

-- 查询所有表空间所对应的路径等
select * from dba_data_files;

--删除表空间
drop tablespace ydcx_temp including contents and datafiles;

-- 删除表空间下所有的表
select 'drop table ' || s.segment_name || ' purge; ' from dba_segments s where s.segment_type='TABLE' and s.tablespace_name = 'ydcx';

-- cmd方式导出dmp文件,数据泵方法(expdp)
expdp [username]/[password]@orcl schemas=[username] directory=DATA_PUMP_DIR dumpfile=test.dmp logfile=test.log version=10.2.0.4

-- 数据恢复
select t.SQL_TEXT, t.FIRST_LOAD_TIME from v$sqlarea t where t.FIRST_LOAD_TIME like '2019-04-17%' order by t.FIRST_LOAD_TIME desc
select * from TP_REP_FUNC_INFO AS OF TIMESTAMP SYSDATE - 18 / 1440

-- 表结构恢复(回收站找表结构)

select * from recyclebin t;
flashback table TABLE_NAME to before drop rename to TABLE_NAME;

--查询锁定用户,解锁

select username,account_status from dba_users where username='INDBADMIN'
alter user INDBADMIN account unlock;
select * from dba_profiles where RESOURCE_NAME='FAILED_LOGIN_ATTEMPTS';
alter profile default limit failed_login_attempts unlimited;

--增加oracle排序缓存,增加效率

alter system set sort_area_size=3000000 scope=spfile


--------------------------------------

导入的命令是:imp 用户名/密码@SID file=xxx.dmp full=y;
加上字句
IGNORE=Y : 忽略已存在的表 默认N
DESTROY=Y : 覆盖已存在的表 默认N

导出的命令是:exp 用户名/密码@SID file=xxx.dmp tables=(表名);
导出多个表时,表名使用逗号隔开如:
tables=(table1,table2,table3)

---------------------------------------
导出:
1,将数据库ORACLE完全导出,用户名system密码manager 导出到c:\daochu.dmp中
exp system/manager@ORACLE file=c:\daochu.dmp full=y

2,将数据库中RFD用户与,JYZGCX用户的表导出
exp system/manager@ORACLE file=d:\daochu.dmp owner=(RFD,JYZGCX)

3,将数据库中的表T_USER、T_ROLE导出
expJYZGCX/JYZGCX@ORACLEfile= d:\data\newsmgnt.dmp tables=(T_USER,T_ROLE)

exp ydcxgz/ydcxgz@ file=C:\Users\xl\Desktop\taoZhao3.dmp tables=(a2016003laccount,a2016003fcwvch,a2016003lbalance,a003mryeb,a003jjhzgzb,a2015003laccount,a2015003fcwvch,a2015003lbalance)

上面的system为用户名,manager为密码,ORACLE为数据库实例名,其实不一定非的用system用户,只要是拥有管理员权限的用户都可以。

 

posted @ 2019-02-19 21:02  菜鸟程序杜  阅读(366)  评论(0)    收藏  举报