zoukankan      html  css  js  c++  java
  • PLSQL 安装与配置 Oracle

    一、Oracle 数据库/客户端安装方法

    Oracle Instant Client(即时客户端) 安装与配置:https://blog.csdn.net/lanchengxiaoxiao/article/details/39251947

    Oracle 11G Client 客户端安装步骤:https://blog.csdn.net/lanchengxiaoxiao/article/details/39251947

    Oracle 11g数据库详细安装步骤:https://blog.csdn.net/projectNo/article/details/76533921(先卸载客户端再安装服务器,服务器自带客户端连接工具)

    Oracle Net Manager 服务命名配置:https://www.cnblogs.com/kane1990/p/OracleNetManager.html

    二、Window 7 x64 电脑上安装 64 位 Oracle 服务器后,用 PL/SQL Developer 连接 Oracle 时提示 “SQL*Net not properly installed” 错误

    问题原因:因为 PL/SQL Developer 是32位程序,无法连接 Oracle x64 数据库。此时只需要添加 Oracle 32位 客户端即可

    安装步骤:

    1、在 Oracle 官网下载 32 位的客户端(如:11.2.0.1.0),然后将客户端压缩包直接解压到 oracle 11g 的安装目录中的 product 目录下面

        (如:D:appwzlproduct11.2.0,客户端解压就行了,不用点执行文件安装),目录名默认就行(如:instantclient_11_2),完整目录:D:appwzlproduct11.2.0instantclient_11_2

         最后修改 instantclient_11_2 目录中的 tnsnames.ora 文件,设置数据库连接信息:

      ORCL =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.20.162)(PORT = 1521))
        )  
        (CONNECT_DATA = (SERVICE_NAME = orcl))
      )

    2、配置 PLSQL Developer 

          打开 PLSQL,点击 工具→首选项→连接,把“Oracle 主目录名”设置为空,并设置 “OCI 库” 的路径。如 D:appwzlproduct11.2.0instantclient_11_2oci.dll

           

       3、设置字符编码,在 PLSQL Developer 的目录中创建 start.bat 文件并运行

    @echo off 
    set path=D:appwzlproduct11.2.0instantclient_11_2
    set ORACLE_HOME=D:appwzlproduct11.2.0instantclient_11_2
    set TNS_ADMIN=D:appwzlproduct11.2.0dbhome_1NETWORKADMIN
    set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
    start plsqldev.exe

           其中 set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK 的 ZHS16GBK 是你的数据库编码

    三、程序通过 OLEDB 连接 Oracle 数据库时,提示 “未在本地计算机注册“OraOLEDB.Oracle.1”提供程序”、ADODB.Connection (0x800A0E7A) 未找到提供程序” 错误

    问题原因:provider=OraOLEDB.Oracle 是 Oracle 自带的驱动(32位的),需要在32位客户端目录下,即 instantclient_11_2 文件夹下注册 OraOLEDB 数据提供程序

     安装步骤:

     下载 ODAC112030Xcopy_32bit,解压后将其中的 ORAOLEDBxxx.dll 文件复制到 instantclient_11_2 文件夹下,然后注册 ORAOLEDB11.dll

     在 cmd 窗口中执行:regsvr32 “D:appwzlproduct11.2.0instantclient_11_2BINOraOledb11.dll”

     参考链接:https://blog.csdn.net/junoohoome/article/details/79391482

    四、PLSQL 数据库相关

    一、创建物化视图

    --新建表空间
    CREATE TABLESPACE MLOG_TBS   
    LOGGING   
    DATAFILE 'mlog_tbs.dbf'     
    SIZE 32M    
    AUTOEXTEND ON    
    NEXT 32M
    MAXSIZE 2048M
    EXTENT MANAGEMENT LOCAL;  
    
    --新建物化视图对应的日志表(用于增量同步源表的数据)
    CREATE MATERIALIZED VIEW LOG ON UCADM.M_CARD
    TABLESPACE MLOG_TBS
    WITH PRIMARY KEY;
    
    --新建物化视图
    CREATE MATERIALIZED VIEW UCADM.VIEW_M_CARD
    REFRESH force ON DEMAND
    START WITH TO_DATE('15-12-2017 12:00:00', 'dd-mm-yyyy hh24:mi:ss') next trunc(sysdate+1) + 1/24*6;
    AS
    SELECT 
    t.CARDID AS CARDID,
    t.EMPLOYEEID AS EMPLOYEEID,
    t.EMPLOYEENO AS EMPLOYEENO
    FROM UCADM.M_CARD t;
    
    --修改物化视图
    alter materialized view UCADM.VIEW_M_CARD
    refresh force on demand 
    start with to_date('15-12-2017 12:00:00', 'dd-mm-yyyy hh24:mi:ss') next trunc(sysdate+1) + 1/24;
    
    --手动刷新物化视图
    exec dbms_mview.refresh('VIEW_M_CARD')
    close dbms_refresh ;
    
    --创建存储过程来刷新物化视图
    CREATE OR REPLACE PROCEDURE SP_REFRESH_EMPLOYEE
    AS
    BEGIN
    DBMS_REFRESH.refresh('UCADM.VIEW_M_CARD');
    END SP_REFRESH_EMPLOYEE;
    
    --注意:不能通过触发器来刷新物化视图

    二、创建用户

    --Alter the user's password
    ALTER USER 用户名 IDENTIFIED BY 新密码
    
    --Alter the user's password when login
    --ALTER USER UCADM PASSWORD EXPIRE;
    
    --Create new tablespace
    CREATE TABLESPACE 新用户名
      DATAFILE '新文件名.dat'
      SIZE 8M AUTOEXTEND ON;
    
    -- Create the user 
    CREATE USER 新用户名 
        IDENTIFIED BY 新密码
        DEFAULT TABLESPACE HFXFYKT 
        QUOTA UNLIMITED ON HFXFYKT 
        TEMPORARY TABLESPACE TEMP
        QUOTA UNLIMITED ON SYSTEM 
        PROFILE DEFAULT;
    -- PASSWORD EXPIRE;
    -- Grant/Revoke role privileges 
    GRANT CONNECT TO HFXFYKT;
    -- Grant/Revoke object privileges 
    GRANT SELECT, INSERT ON 表名1 TO 新用户名;

      

    官方参考资料:

    物化视图 https://docs.oracle.com/cd/B19306_01/server.102/b14227/rarrefreshpac.htm#g101239

    新建用户 https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_8003.htm

  • 相关阅读:
    shell脚本中echo颜色设置
    整合Spring+Hibernate+Struts2的时候发现json数据一直无法传到页面,提示no-Session
    分页查询——Hibernate Criteria实现一次查询取得总记录数和分页后结果集
    JS,JQ 格式化小数位数
    简单地做一下“回到顶部”按钮,用jQuery实现其隐藏和显示
    二级联动,三级联动,初学者,纯javascript,不含jQuery
    Oracle数据库知识要点
    ParameterizedType理解笔记
    JDBC mysql 相关内容笔记
    在做关于NIO TCP编程小案例时遇到无法监听write的问题,没想到只是我的if语句的位置放错了位置,哎,看了半天没看出来
  • 原文地址:https://www.cnblogs.com/hellowzl/p/8241204.html
Copyright © 2011-2022 走看看