oracle-plsql初步使用

    xiaoxiao2021-12-14  26

    之前使用Oracle数据库都是通过jdbc接口调用oracle。最近由于工作的关系需要通过tns操作Oracle数据库,于是把最近学习和收集的一点内容记录下来,以便以后再次使用时参考。

    概念先行概念落地登陆常用sql利用PLSQL导入Excel文件到表中


    概念先行

    数据库–文件 表空间 表数据库实例–进程+内存空间

    概念落地

    表空间 select * from dba_tablespaces;查询数据库名 select name,dbid from v$database;查询实例名 select instance_name from v$instance;查询数据库域名 select value from v$parameter where name='db_domain' 数据库服务名:此参数是数据库标识类参数,用service_name表示。数据库如果有域,则数据库服务名就是全局数据库名;如果没有,则数据库服务名就是数据库名。 select * from v$parameter where name='service_names'

    登陆

    sqlplus path>sqlplus username/password@dbname as [sysdba,sysoper];SQL>sqlplus 、`conn username/password as [sysdba,sysoper];plsql 设置%ORACLE_HOME%\network\ADMIN\tnsnames.oraXE = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = acer)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCL) ) )其中,XE为下图中的登陆数据库名称(这里的数据库名称不是真实的数据库名称,可以随意设定,只是登陆时用的一个名称而已,其实叫listener_name),SERVICE_NAME = ORCL为oracle服务OracleServiceORCL中的末尾部分。

    常用sql

    SELECT a.tablespace_name "表空间名",total "表空间大小",free "表空间剩余大小",( total - free ) "表空间使用大小", Round(( total - free ) / total, 4) * 100 "使用率 %" FROM (SELECT tablespace_name, Sum(bytes) free FROM DBA_FREE_SPACE GROUP BY tablespace_name) a, (SELECT tablespace_name, Sum(bytes) total FROM DBA_DATA_FILES GROUP BY tablespace_name) b WHERE a.tablespace_name = b.tablespace_name;

    表空间名 表空间大小 表空间剩余大小 表空间使用大小 使用率 %


    SYSAUX 692060160 40239104 651821056 94.19 UNDOTBS1 398458880 381026304 17432576 4.38 USERS 104857600 102170624 2686976 2.56 SYSTEM 377487360 5963776 371523584 98.42

    利用PLSQL导入Excel文件到表中

    坑: 1、表名和字段名中的字母必须是大写,否则导入时会报错。 2、导入时提示主键为空,通过设置主键默认值为sys_guid()解决。

    转载请注明原文地址: https://ju.6miu.com/read-970492.html

    最新回复(0)