常用数据库操作

启动数据库监听器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. C语言编程入门题目--No.15

    题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示, 60分以下的用C表示. 1.程序分析:(a>b)?a:b这是条件运算符的基本例子. 2 ...

  2. VScode像Codeblocks一样,不启动调试和Debug直接运行

    要是配置C++ 编译环境,这边走 用了VScode童鞋,都知道,写C++是不保留窗口的,除非打上断点或者: system("pause"); 这里给大家分享一种不需要,F5或者Ct ...

  3. Linux下swap到底有没有必要使用

    周五看到QQ群里在讨论Linux主机上到底需不需要开启swap空间,而且目前公有云主机默认都是把swap关了的,很多公司也是没有开启swap,那到底需不需要开启呢? 我之前在看<鸟哥的Linux ...

  4. System.Linq.Dynamic字符串转委托

    以前一直想着有没有一个方法能够把字符串直接转化成函数的,刚好有需求就找了下,还真有. 微软地址:https://docs.microsoft.com/en-us/previous-versions/b ...

  5. Flutter 1.17版本重磅发布

    Flutter 1.17 是2020年的第一个稳定版本,此版本包括iOS平台Metal支持(性能更快),新的Material组件,新的Network跟踪工具等等! 对所有人来说,今年是充满挑战的一年. ...

  6. Node 内存泄漏排查案例

    背景 在阿里云上看到我运行了一段时间的程序,发现 memory 一项基本是在稳步提升,就知道有内存泄漏的情况出现.如下图 近三日从 35% 升到 40%,缓慢而坚定的提升. 代码 排查此问题需要分析其 ...

  7. Minimum Euler Cycle(找规律+模拟)

    \(给你一个nnn个结点的完全有向图,求其字典序最小的欧拉回路,输出lll到rrr之间的结点为多少.\) 模拟一下n=5的时候 开始肯定是1-2-1-3-1-4-1-5 注意这个时候不能再从5到1,否 ...

  8. WPF客户端自动升级

    实现原理:通过一个辅助程序(更新程序.exe)比较本地版本号和服务器的版本,若服务器版本新则通过更新程序.exe下载服务器上资源(我是把最新的文件压缩成zip放到服务器上)到本地进行替换. 服务器放置 ...

  9. Vue列表实现滚动到指定位置样式改变

    这个需求大概是这样子: 我做的一个聊天Demo,在搜索框搜索用户,可以滚动到指定的用户.然后成选中状态. 这是目前状态,我搜索 南宫仆射 ,想要下面的用户列表直接滚动到 南宫仆射 并改变CSS样式. ...

  10. 【FPGA篇章一】FPGA工作原理:详细介绍FPGA实现编程逻辑的机理

    欢迎大家关注我的微信公众账号,支持程序媛写出更多优秀的文章 FPGA(Field Programmable Gate Array),即现场可编程逻辑门阵列,它是作为专用集成电路(ASIC)领域中一种半 ...