oracle-plsql初步使用

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


概念先行

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

概念落地

  1. 表空间 select * from dba_tablespaces;
  2. 查询数据库名 select name,dbid from v$database;
  3. 查询实例名 select instance_name from v$instance;
  4. 查询数据库域名 select value from v$parameter where name='db_domain'
  5. 数据库服务名:此参数是数据库标识类参数,用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.ora
    • XE =
      (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = acer)(PORT = 1521))
      (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORCL)
      )
      )其中,XE为下图中的登陆数据库名称(这里的数据库名称不是真实的数据库名称,可以随意设定,只是登陆时用的一个名称而已,其实叫listener_name),SERVICE_NAME = ORCL为oracle服务OracleServiceORCL中的末尾部分。
      plsql_log_in

常用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()解决。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值