配置

启动Oracle

  1. #切换到oracle用户
  2. su - oracle
  3. #进入sqlplus
  4. sqlplus /nolog
  5. #以超级管理员权限登录
  6. conn / as sysdba
  7. #启动数据库实例
  8. startup
  9. #退出
  10. quit
  11. #启动监听
  12. lsnrctl start
  13. 参数说明:
  14. #不带任何参数,启动数据库实例并打开数据库,一般选择这种启动方式
  15. startup
  16. #只启动数据库实例,不打开数据库,一般用于创建新的数据库时使用
  17. startup nomount
  18. #启动数据库实例,并加载数据库,但不打开数据库,一般用于修改数据库名称等管理时使用
  19. startup mount

关闭Oracle

  1. #切换到oracle用户
  2. su - oracle
  3. #关闭监听器
  4. lsnrctl stop
  5. #进入sqlplus
  6. sqlplus /nolog
  7. #以超级管理员权限登录
  8. conn /as sysdba
  9. #关闭数据库实例
  10. shutdown immediate
  11. #退出
  12. quit
  13. #shutdown参数说明:
  14. #等待所有的用户断开连接,执行命令后不允许新连接
  15. normal
  16. #等待用户完成当前的语句后,再断开用户连接,不允许新用户连接
  17. immediate
  18. #等待用户完成当前的事务后断开连接,不允许新用户连接
  19. transactional
  20. #强行断开连接并直接关闭数据库
  21. abort
  22. #前面三种方法不会导致数据库出错,最后一种方法非特殊状况不建议使用,
  23. #一般使用shutdown immediate关闭数据库
  24. #备注:如果执行shutdown immediate出现ORA-01012: not logged on错误
  25. #请先执行以下语句
  26. ps -ef|grep ora_dbw0_$orcl
  27. #pid为进程号
  28. kill -9 pid
  29. #注:其中orcl 是数据库的SID

函数

SUBSTR

  1. substr(String str, int a, int b);

string 需要截取的字符串
a 截取字符串的开始位置(注:当a等于0或1时,都是从第一位开始截取)
b 要截取的字符串的长度

  1. #返回结果:Hel,截取从“H”开始3个字符
  2. select substr('HelloWorld',0,3) value from dual;
  3. #返回结果:Hel,截取从“H”开始3个字符
  4. select substr('HelloWorld',1,3) value from dual;
  5. #返回结果:ell,截取从“e”开始3个字符
  6. select substr('HelloWorld',2,3) value from dual;
  7. #返回结果:HelloWorld,100虽然超出预处理的字符串最长度,但不会影响返回结果,系统按预处理字符串最#大数量返回。
  8. select substr('HelloWorld',0,100) value from dual;
  9. #返回结果:oWo
  10. select substr('HelloWorld',5,3) value from dual;
  11. #返回结果:o W (中间的空格也算一个字符串,结果是:o空格W)
  12. select substr('Hello World',5,3) value from dual;
  13. #返回结果:d (从后面倒数第一位开始往后取1个字符,而不是3个。原因:下面红色 第三个注解)
  14. select substr('HelloWorld',-1,3) value from dual;
  15. #返回结果:ld (从后面倒数第二位开始往后取2个字符,而不是3个。原因:下面红色 第三个注解)
  16. select substr('HelloWorld',-2,3) value from dual;
  17. #返回结果:rld (从后面倒数第三位开始往后取3个字符)
  18. select substr('HelloWorld',-3,3) value from dual;
  19. #返回结果:orl (从后面倒数第四位开始往后取3个字符)
  20. select substr('HelloWorld',-4,3) value from dual;
  1. substr(String str, int a) ;

    string 需要截取的字符串
    a 可以理解为从第a个字符开始截取后面所有的字符串。

    1. #返回结果:HelloWorld,截取所有字符
    2. select substr('HelloWorld',0) value from dual;
    3. #返回结果:HelloWorld,截取所有字符
    4. select substr('HelloWorld',1) value from dual;
    5. #返回结果:elloWorld,截取从“e”开始之后所有字符
    6. select substr('HelloWorld',2) value from dual;
    7. #返回结果:lloWorld,截取从“l”开始之后所有字符
    8. select substr('HelloWorld',3) value from dual;
    9. #返回结果:d,从最后一个“d”开始 往回截取1个字符
    10. select substr('HelloWorld',-1) value from dual;
    11. #返回结果:ld,从最后一个“d”开始 往回截取2个字符
    12. select substr('HelloWorld',-2) value from dual;
    13. #返回结果:rld,从最后一个“d”开始 往回截取3个字符
    14. select substr('HelloWorld',-3) value from dual;

    注:当只有两个参数时;不管是负几,都是从最后一个开始 往回截取

TO_NUMBER

转换为数字

导出

数据泵

expdp username/password@ip:端口/orcl schemas=username directory=DATA_PUMP_DIR dumpfile=文件名.dmp logfile=文件名.log

数据泵条件导出

expdp username/password@ip:端口/orcl directory=DATA_PUMP_DIR dumpfile=文件名.dmp logfile=文件名.log query='"WHERE 语句"'