常用数据库操作

启动数据库监听器lsnrctl start
停止数据库监听器
lsnrctl stop
登录oracle
sqlplus / as sysdba
启动oralce
startup;
关闭oracle
shutdown immediate;

数据库因数据文件损坏起不来时
startup mount
alter database datafile 21 offline drop;
alter database recover datafile '/u01/app/oracle/oradata/test.dbf';
alter database datafile '/u01/app/oracle/oradata/test.dbf' online;
alter database open;

创建表空间
CREATE TABLESPACE test
DATAFILE '/u01/app/oracle/oradata/test.dbf'
SIZE 32M
AUTOEXTEND ON
NEXT 32M MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL;
查询表空间数据文件
SELECT tablespace_name, file_id, file_name,bytes
FROM dba_data_files ORDER BY tablespace_name;
为表空间添加数据文件
ALTER TABLESPACE test ADD DATAFILE
'/u01/app/oracle/oradata/test02.dbf' SIZE 1G
AUTOEXTEND ON NEXT 1G MAXSIZE 30G;
创建用户
create user 用户名 identified by 密码 default tablespace 表空间;
赋给用户Connect角色、Resource角色和DBA角色
grant connect,resource,dba to 用户名;
赋给用户远程权限(访问其他用户的表需要此权限)
grant all privileges to 用户名

数据库导出:
expdp 用户名/密码@数据库服务器IP:1521/数据库实例名 schemas=用户名 directory=DATA_PUMP_DIR DUMPFILE=需要导出的备份文件.DMP LOGFILE=导出产生的日志.log
导出某几个表参数
tables=schema1.table1,schema1.table2
DATA_PUMP_DIR目录是使用数据泵导出导入方式的默认存储目录,具体路径为oracle安装路径下的oracle/admin/orcl(实例)/dpdump
数据库导入:
IMPDP 用户名/密码@数据库服务器IP:1521/数据库实例名 directory=DATA_PUMP_DIR DUMPFILE=需要导入的备份文件.DMP LOGFILE=导入产生的日志.log REMAP_SCHEMA=源用户名:目标用户名 remap_tablespace=源表空间:目标表空间 TRANSFORM= OID:N,SEGMENT_ATTRIBUTES:N SKIP_UNUSABLE_INDEXES=Y TABLE_EXISTS_ACTION=truncate
表存在时参数
table_exists_action=skip
table_exists_action=replace

常用sql语句

清除表重复数据
delete from test where rowid in(
select max(rowid) From test group by year,admdivid,expfuncid,expecoid,projectid having count(*)>1)

MERGE 命令,如果数据库中存在数据就update,如果不存在就insert。
MERGE INTO TEST T1
USING (SELECT '2' as ID, 'newtest2' as NAME FROM dual) T2 on (T1.ID=T2.ID)
WHEN MATCHED THEN
UPDATE SET T1.NAME=T2.NAME
WHEN NOT MATCHED THEN
INSERT (T1.ID, T1.NAME) VALUES (T2.ID, T2.NAME );

intersect 是交集,交集就是两个结果集中都有的元素
select uid from tb1
intersect
select uid from tb2
那么既存在tb1 又存在tb2中 相同的UID 就会查出来
minus 是差集
select uid from tb1
minus
select uid from tb2
存在于tb1 但不存在于tb2中的uid 会被查出

--查看被锁的表
select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id;
--查看那个用户那个进程照成死锁
select b.username,b.sid,b.serial#,logon_time from v$locked_object a,v$session b where a.session_id = b.sid order by b.logon_time;
--查看连接的进程
SELECT sid, serial#, username, osuser FROM v$session;
--查出锁定表的sid, serial#,os_user_name, machine_name, terminal,锁的type,mode
SELECT s.sid, s.serial#, s.username, s.schemaname, s.osuser, s.process, s.machine,
s.terminal, s.logon_time, l.type FROM v$session s, v$lock l
WHERE s.sid = l.sid AND s.username IS NOT NULL ORDER BY sid;
/*这个语句将查找到数据库中所有的DML语句产生的锁,还可以发现,
任何DML语句其实产生了两个锁,一个是表锁,一个是行锁。*/
--杀掉进程 sid,serial#
alter system kill session'210,11562';

工作中oracle常用操作的更多相关文章

  1. Stream流的基本介绍以及在工作中的常用操作(去重、排序以及数学运算等)

    平时工作中,我在处理集合的时候,总是会用到各种流操作,但是往往在处理一些较为复杂的集合时,还是会出现无法灵活运用api的场景,这篇文章的目的,主要是为介绍一些工作中使用流时的常用操作,例如去重.排序和 ...

  2. 转://工作中 Oracle 常用数据字典集锦

    DBA工作中数据字典就等同于我们本和笔,时时刻刻也分不开的,不管是看状态,还是监控,都需要数据字典的支持,本文整理出来常用的数据字典系列,帮助大家来记住和汇总以便查询利用 ALL_CATALOG Al ...

  3. git工作中的常用操作

    上班开始,打开电脑,git pull:拉取git上最新的代码: 编辑代码,准备提交时,git stash:将自己编辑的代码暂存起来,防止git pull时与库中的代码起冲突,否则自己的代码就白敲了: ...

  4. javascript中字符串常用操作整理

    javascript中字符串常用操作整理 字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用 ...

  5. Oracle常用操作——创建表空间、临时表空间、创建表分区、创建索引、锁表处理

    摘要:Oracle数据库的库表常用操作:创建与添加表空间.临时表空间.创建表分区.创建索引.锁表处理 1.表空间 ■  详细查看表空间使用状况,包括总大小,使用空间,使用率,剩余空间 --详细查看表空 ...

  6. Oracle常用操作-----(二)

    Oracle主要类型函数: 单行函数:只能输入一行结果,返回一个结果.常见的单行函数有: 字符函数 数字函数 转换函数 日期函数 2.聚合函数:同时可以对多行数据进行操作,并返回一个结果.(AVG.S ...

  7. javascript中字符串常用操作总结、JS字符串操作大全

    字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用操作做个整理,一者加深印象,二者方便今后温 ...

  8. js--javascript中字符串常用操作总结、JS字符串操作大全

    字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用操作做个整理,一者加深印象,二者方便今后温 ...

  9. 工作中经常用到github上优秀、实用、轻量级、无依赖的插件和库

    原文收录在我的 GitHub博客 (https://github.com/jawil/blog) ,喜欢的可以关注最新动态,大家一起多交流学习,共同进步,以学习者的身份写博客,记录点滴. 按照格式推荐 ...

随机推荐

  1. 数据库SQL语言从入门到精通--Part 6--单表查询(快来PICK)

    数据库从入门到精通合集(超详细,学习数据库必看) 查询操作是SQL语言中很重要的操作,我们今天就来详细的学习一下. 一.数据查询的语句格式 SELECT [ALL|DISTINCT] <目标列表 ...

  2. The 2019 Asia Nanchang First Round Online Programming Contest B Fire-Fighting Hero(阅读理解)

    This is an era of team success, but also an era of heroes. Throughout the ages, there have been nume ...

  3. postman(断言)

    一.断言 1.Code is 200 断言状态码是200 2.contains string 断言respoonse body中包含string 3.json value check (检查JSON值 ...

  4. Nginx模块开发(1)————类helloworld

    Nginx看了一点了,准备写个helloworld试试,觉得只看书的话很多东西都乱乱的,晕晕的,印象不深. 我的helloworld模块的目的就是:能够在浏览器里输入http://你的ip地址/lcw ...

  5. 【Elasticsearch学习】之基础概念

    Elasticsearch是一个近实时的分布式搜索引起,其底层基于开源全文搜索库Lucene:Elasticsearch对Lucene进行分装,对外提供REST API 的操作接口.基于 ES,可以快 ...

  6. 翻转单词顺序 VS 左旋转字符串

    全部内容来自<剑指offer>. 题目一: 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变.为简单起见,标点符号和普通字符一样处理.例如输入字符串“I am a stude ...

  7. HDU1300Pearls

    传送门 描述: 有几种不同的珍珠.每种珍珠都有它的单价.当然质量高的珍珠价格一定也是高的. 为了避免买家只买1个珍珠.就要求不论是买了多少个珍珠都是需要在购买数量上加10.之后乘上单价. 例如:买5个 ...

  8. 闲来无事做个C#小项目——1

    2020-05-10 12:25:47 项目背景就是最近和一些朋友在玩一个游戏,游戏中有一个囤货的东西,就是买进卖出的,然后为了方便计算,所以就先写一个简单的计算器用来算账, 这是界面图(最初形态,没 ...

  9. springDataJPQL实现增删改查及分页,原生sql查询,根据方法命名规则实现查询以及Specification查询

    一.使用方法 1.在dao中定义开一个方法,使用方法的参数设置jpql,并且使用方法的返回值接受查询结果,在方法上添加@query注解,在注解中写jpql语句进行增删改查,测试 2.使用原生的sql语 ...

  10. python--正则表达式|re模块学习

    学习来源:https://www.liaoxuefeng.com/wiki/1016959663602400/1017639890281664 正则表达式是一种用来匹配字符串的一种强大的武器,用一种描 ...