zoukankan      html  css  js  c++  java
  • oracle笔记

    好久没写博客了,最近这段项目再在迁移所以有点忙.下面是这段时间学习并用到的命令.

      首先查询当前 目录信息 select * from dba_directories ;
    1.导出数据库.首先赋予用户对目录的权限,然后再导出 log为日志.
      Ⅰ: SQL >> create or replace directory exportDIR as '/opt/oracle/oradata';
      Ⅱ: SQL >> grant read,write on directory exportDIR to userX;
      Ⅲ: [cmd] >> expdp userX/userX directory=exportDIR dumpfile=userX_date.dump logfile=userX_date.log;
    2.导入数据库.首先赋予用户对目录的权限,然后再导入.
      Ⅰ: SQL >> create or replace directory importDIR as '/opt/oracle/oradata';
      Ⅱ: SQL >> grant read,write on directory importDIR, exp_full_database to userX;
      Ⅲ: [cmd] >> impdp userX/userX directory=importDIR dumpfile=userX_date.dump;
    3.新建用户并授权.
      Ⅰ: SQL >> create tablespace userSpace datafile '/opt/oracle/tablespace/userSpace.dbf' size 50M reuse autoextend off;
      ------------用户名--------------密码---------------------表空间-------------------临时表空间--
      Ⅱ: SQL >> create user userX identified by userX default tablespace userSpace temporary tablespace TEMP;
      Ⅲ: SQL >> grant create table,drop any table,create sequence,
        alter any trigger, create trigger, drop any trigger,
        alter any type, create type, drop any type,
        create database link,
        create view, drop any view,
        create indextype,
        create procedure,
        create synonym,
        create materialized view,
        unlimited tablespace,
        create session to userX;
    4.用户登录获取sysdba权限.
        linux
          Ⅰ: [cmd] >> su - oracle;
          Ⅱ: SQL >> conn / as sysdba;
        window
          Ⅰ: [cmd] >> sqlplus
          Ⅱ: 按提示输入用户名和口令 用户名为system 口令为建立数据库时设置的口令 1234
          Ⅲ: 当不记得口令是可以尝试
          [cmd] >> sqlplus /nolog;
          SQL >> conn / as sysdba;
    5.常用的 SQL
      Ⅰ.查询表空间
          SQL >> SELECT A.TABLESPACE_NAME "表空间名称",
                100 - ROUND((NVL(B.BYTES_FREE, 0) / A.BYTES_ALLOC) * 100, 2) "占用率(%)",
                ROUND(A.BYTES_ALLOC / 1024 / 1024, 2) "容量(M)",
                ROUND((A.BYTES_ALLOC - NVL(B.BYTES_FREE, 0)) / 1024 / 1024, 2) "使用(M)",
                ROUND(NVL(B.BYTES_FREE, 0) / 1024 / 1024, 2) "空闲(M)",
                ROUND((NVL(B.BYTES_FREE, 0) / A.BYTES_ALLOC) * 100, 2) "空闲率(%)",
                TO_CHAR(SYSDATE, 'yyyy-mm-dd hh24:mi:ss') "采样时间"
                FROM (SELECT F.TABLESPACE_NAME,
                SUM(F.BYTES) BYTES_ALLOC,
                SUM(DECODE(F.AUTOEXTENSIBLE, 'YES', F.MAXBYTES, 'NO', F.BYTES)) MAXBYTES
                FROM DBA_DATA_FILES F
                GROUP BY TABLESPACE_NAME) A,
                (SELECT F.TABLESPACE_NAME, SUM(F.BYTES) BYTES_FREE
               FROM DBA_FREE_SPACE F
                GROUP BY TABLESPACE_NAME) B
              WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME;
      Ⅱ.DBA权限查看导出目录
        SQL >>  select * from dba_directories;

      Ⅲ.数据库启动关闭
        =======================================================
        --查询数据库启动状态
        SQL >> select status from v$instance; || [cmd] >> ps -ef | grep oracle;
        --关闭监听
        [cmd] >> $lsnrctl stop
        --登陆sqlplus
        [cmd] >> $ sqlplus / as sysdba
        --关闭数据库
        SQL >> shutdown immediate;
        --重启数据库
        SQL >> startup;
        --退出sqlplus
        SQL >> exit
        --打开监听
        [cmd] >> lsnrctl start
        =======================================================
      Ⅳ.查看数据库一共有多少条数据
        SQL >> select sum(num_rows) from dba_tables;
      Ⅴ.查看当前用户多少表
        SQL >> select * from user_tables;
      Ⅵ.删除用户
        SQL >> drop user userX cascade;
      Ⅶ.删除表空间
        SQL> drop tablespace userSpace including contents and datafiles cascade constraints;

    6.遇到的问题.
      Ⅰ:存储过程不能debug调试.用户权限不够。
        SQL>> grant debug any procedure,debug connect session to userX;
      Ⅱ:oracle环境变量设置
        export ORACLE_BASE=/opt/oracle/app
        export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.1.0/db_1
        export ORA_CRS_HOME=/opt/oracrs
        export ORACLE_SID=orcl--数据库名字

          Ⅲ:exp导出功能

        查看帮助  exp help=y
        全库导出  exp system/oracle@orcl11     full=y file=d:full_database.dmp  
        按用户导出  exp  system/oracle@orcl11    owner=user  file=d:user_tables.dmp
        按表导出 exp system/oracle@orcl11    tables=table1,table2,..... file=d:full_database.dmp  
    Stay Hungry,Stay Foolish!
  • 相关阅读:
    GAN生成对抗网络-DCGAN原理与基本实现-深度卷积生成对抗网络03
    【我的遇见】
    【笔记汇总贴】
    vtr搭建并使用ipv6免流上校园网教程(CentOs8避坑指南)
    国科大抢课避坑+选课指南+教务系统操作
    论文:Bottom-Up and Top-Down Attention for Image Captioning and Visual Question Answering-阅读总结
    bernoulli, multinoulli distributions 讲解
    论文:Show, Attend and Tell: Neural Image Caption Generation with Visual Attention-阅读总结
    论文:Show and Tell: A Neural Image Caption Generator-阅读总结
    【吴恩达课程使用】pip安装pandas失败-anaconda各种玄学T-T-从新开始搭建环境
  • 原文地址:https://www.cnblogs.com/stay-9527/p/3925283.html
Copyright © 2011-2022 走看看