Oracle查看版本命令:select * from v$version;

ORACLE_BASE和ORACLE_HOME路径查看
su - oracle
echo $ORACLE_BASE
echo $ORACLE_HOME

SGA参数查看:
sqlplus / as sysdba
show parameter sga
sga_max_size的值写上就好

process参数查看:
sqlplus / as sysdba
show parameter process

是否开启归档:
sqlplus / as sysdba
archive log list

SQL> archive log list
Database log mode                     Archive Mode
Automatic archival                      Enabled
Archive destination                     USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence               26
Next log sequence to archive              28
Current log sequence                    28

Enable既是开启归档的

是否语句空表导出(必改):
show parameter seg
出来是false即算开启,说明空表可以导出

是否密码180天密码过期(必改):
select * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';

Unlimited说明密码永不过期

是否关闭密码大小写敏感(必改):
show parameter logon
出来是FALSE即可,说明密码不区分大小写

是否关闭审计:
show parameter audit
如果出来结果是NONE,证明关闭审计了,这样就可以尽可能的避免SYSTEM爆满

查看datafile路径
Select name from v$datafile

SQL> select name from v$datafile;
NAME
---------------------------------------------
/u01/oracle/oradata/system05.dbf

在Linux下exp的时候,记得先查看echo $NLS_LANG
如果不是ZHS16GBK,那样导出的会造成dmp导入时乱码的,
可以调整oracle用户的环境变量,
vi ~/.bash_profile  在文件里面添加一句export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
然后要生效,
可以重新切换用户到oracle,或者source ~/.bash_profile

Rman路径:
su - oracle
crontab -l
可以看到计划任务里面有个备份脚本,
0 0 * * * /u01/rmanbak/rmanbak.sh>/u01/rmanbak/rmanbak.log2>&1

查看备份脚本,
cat /databak/rmanbak/rmanbak.sh

#!/bin/bash

.~/.bash_profile

echo---------------------start---------------------------;date
rman target/<<EOF
backup as compressed backupset database include current controlfile format
‘/u01/rman/rmanbak/full_%U.bak’;
Delete noprompt obsolete;
exit;
EOF
Echo--------------------------end------------------------------;date

这个就是rman备份路径 /u01/rman/rmanbak

数据库硬盘不够   是可以删除 trace 下文件

参考   rm -f *.trc
      rm  -rf  *.trm

du -sh *
pwd
/u01/oracle/diag/rdbms/orcl/orcl

oracle数据库迁移常用函数

wm_concat()函数,系统自己添加的一个分组聚合函数,作用是把一个字段的多个值合并在一起显示,并用‘,’作为分割符

例1 不分组,取合并后的结果
 select wm_concat(a) from (
 select '123' a,'1' n from dual
 union all
 select '456' a,'2' n from dual
 union all
 select '789' a,'3' n from dual
 union all
 select '10' a,'1' n from dual
 )
 
WM_CONCAT(A)
123,456,789,10

例2:按条件分组后,取每一组的合并后的结果
select wm_concat(a),n from (
 select '123' a,'1' n from dual
 union all
 select '456' a,'2' n from dual
 union all
 select '789' a,'3' n from dual
 union all
 select '10' a,'1' n from dual
 )group by n;
 
WM_CONCAT(A)      N
123,10              1
456                  2
789                  3

lengthb()函数,按字节数统计长度,区别于length()按字符数统计长度
例子:
select length('123') ,lengthb('123'),length('123字'),lengthb('123字') from dual ;

LENGTH('123')    LENGTHB('123')    LENGTH('123字')    LENGTHB('123字')
     3                   3              4                5

----decode(); 类似case when ,decode()函数参数可以随意增加
---具体的实现是decode(a,b,c,d)如果a =b,则结果为c,不然结果为d,
---当参数是decode(a,b,c,d,e,f),如果a =b,则结果为c,如果a<>b,则a和d比,如果a=d ,则结果为e,不然结果为f
---不同的参数个数,依次类推,可自己尝试
--例子:
select decode('aaaaa','123','1','aaa','2','aaaaa','3','4') from dual ;

结果为  3

---substr() substr()是截取函数,主要有三个参数,字符串,起始位置,长度,需要注意的是,
起始长度从1开始计数,且不管起始位置是不是负数,函数都是从左往右截取,
--如果起始位置为负数,其意思是从右往左的位数
--例子:
select substr('12345678',1,5),substr('12345678',-4,3) from dual ;

SUBSTR('12345678',1,5)       SUBSTR('12345678',-4,3)
12345                          567

---instr() instr(str_a,str_b,int_a,int_b)函数主要是查找该字符串str_a中,str_b字符或字符串,从下标第int_a位置开始,第int_b次出现的下标
--例子:
select instr('abcdefabcdef','ab',1,1) ,instr('abcdefabcdef','ab',1,2),instr('abcdefabcdef','ab',3,1) from dual ;

INSTR('ABCDEFABCDEF','AB',1,1)    INSTR('ABCDEFABCDEF','AB',1,2)    INSTR('ABCDEFABCDEF','AB',3,1)
1                                         7                                        7
---可以尝试将substr() 和instr() 结合,具体自己操作

----insert
--插入的时候碰到违反唯一的处理方法
insert into tab_a select * from tab_b
--1.查看违反唯一原因是不是因为已经在a表中存在b表的部分数据,语句如下:
select * from tab_a  a where exists (select 'x' from tab_b b where a.key1=b.key1 and ... );
--2.查看违反唯一原因是不是将tab_b表中,对应tab_a表主键的字段有重复数据,先查看tab_a的主键字段,在看在tab_b中是否有重复数据
select key1,key2... from tab_b group by key1,key2... having count(*)>1;

备注:随笔中内容来源于网上资料整理,仅供参考。

Oracle or Question Solve(一)的更多相关文章

  1. Oracle or Question Solve(二)

    数据库常用语句和函数 ----update update()函数主要注意的是后面的where限制条件--例子:update tab_a a set a.v1 = (select b.v1 from t ...

  2. 一篇分析诊断被&quot;hang&quot;住数据库的资料(Oracle Performance Diagnostic Guide——Hang/Locking)

    该资料已上传至本人QQ群空间,如需该资料,可到本人QQ群空间查找.下面贴表文本: Oracle Performance Diagnostic GuideHang/LockingVersion 3.1. ...

  3. 12 Things Developers Will Love About Oracle Database 12c Release 2

    by Chris Saxon-Oracle It's Here: Oracle Database 12c Release 2 (12.2) Is available on Oracle Cloud. ...

  4. Oracle中的commit详解

    本文转自 : http://blog.csdn.net/hzhsan/article/details/9719307 它执行的时候,你不会有什么感觉.commit在数据库编程的时候很常用,当你执行DM ...

  5. oracle常用的快捷键

    最近在开发过程中,遇到一些麻烦,就是开发效率问题,有时候其他同事使用PLSQL 编程效率明显高于自己,观察了好久,才发现他使用PLSQL 已经很长时间了而且,他自己也在其中添加了好多快捷方式, 1.登 ...

  6. ORACLE动态采样分析

    td {border:solid #9ec9ec; border-width:0px 1px 1px 0px; padding:4px 0px;} table {border:1px solid #9 ...

  7. 如何将EXCEL表导入ORACLE数据库中?【转】

    来源:https://zhidao.baidu.com/question/383828330.html?qbl=relate_question_2&word=excel%20%B1%ED%CA ...

  8. rhel5.8安装oracle 10g ASM

    1.所有的配置和文件系统一样 2.规划: 加了8块小盘,ASM为了实验使用asmlib驱动(rhel6不再支持asmlib驱动),裸设备的2种方法(rowdevice和udev) 三块盘使用asmli ...

  9. win7 ins 30131 oracle 12c

    Cause - Failed to access the temporary location. Action - Ensure that the current user has required ...

随机推荐

  1. SSH 的原理和实践

    最近自己在学习使用SSH,现将自己理解的SSH原理和实践SSH的操作写成一篇博客,以供日后查看. 一.SSH是什么?为什么会出现SSH? SSH英文全称是Secure Shell,即安全外壳.首先SS ...

  2. vue.js + element 搭建后台管理系统 笔记(一)

    此文仅记录本人在搭建后台系统过程中遇到的难点及注意点,如果能帮到各位自然是极好的~~~ 项目主要架构:vueJS.elementUI.scss 一.项目初始化 首先需要安装nodejs,安装方法就不在 ...

  3. (appium+python)UI自动化_02_appium启动手机app

    前提:需先安装配置好appium+python自动化环境,已配置好环境的小伙伴可以参考以下步骤启动Android app,具体步骤如下: 一.USB连接手机 (1)手机USB连接电脑 (2)手机打开开 ...

  4. 常见ORM框架及JDBC操作工具类

    在Java 程序里面去连接数据库,最原始的办法是使用JDBC 的API.我们先来回顾一下使用JDBC 的方式,我们是怎么操作数据库的. // 注册JDBC 驱动 Class.forName(" ...

  5. 【Python—参数】*arg与**kwargs参数的用法

    在python中,这两个是python中的可变参数,*arg表示任意多个无名参数,类型为tuple;**kwargs表示关键字参数,为dict. # *允许你传入0个或任意个参数,这些可变参数在函数调 ...

  6. GNU MAKE 笔记

    最近在调试OJ, 忙了4天多, 最后的问题是judge模块不能正常工作. judge 模块就是两个C++源文件, 它的工作是 从数据库获取用户提交的源码 测评 将测评结果写到数据库 测评部分是与数据库 ...

  7. BZOJ 1588 (treap)

    题面 传送门 分析 语文题,主要是如何理解最小波动值 设当前天的营业额为x,则最小波动值为min(x-最大的<=x的数,最小的>=x的数-x) 然后用Treap维护序列就可以了 时间复杂度 ...

  8. 金蝶云k3 cloud采购入库单校验日期不通过

    新增采购入库单的时候提示单据日期必须大于等于货主组织在核算系统最后关账日期 解决办法:库存系统和存货核算系统的反关账

  9. 【ASE高级软件工程】Alpha 阶段 backend组 scrum1 记录

    本次会议于11月4日,19:10 在微软北京西二号楼13478召开,持续40分钟. 与会人员:Haifeng Chen, Zhikai Chen, Hao Wang, Jia Ning 请假: Xin ...

  10. cookie和session的联系与区别

    Cookie 当你在浏览网站时,WEB服务器会先送一小小的资料放在你的计算机上,Cookie会帮你在网站上所打的文字或是一些选择都记录下来.当你下次再光临同一个网站时,WEB服务器会先看看有没有它上次 ...