概述

oracle数据库和其他数据库不同,需要安装oracle开发工具SLQ Developer 或PL/SQL Developer、和客户端; 命令行也有自己的规则;性能中监控数据库工具用awr工具。

详情

安装

常用的oracle客户端有SQL Developer和PL/SQL Developer,前者占用资源大、跨平台,后者占用资源小不能跨平台。安装详情如下:

1)win10环境;

2)官网安装PL/SQL Developer开发工具和oracle客户端

3)将解压得到的两个文件放到同一目录下PLSQL Developer V11.0.6、instantclient_12_2;

4)PLSQL Developer开发工具设置客户端配置 Tools->preferences->connection>

Oracle Home(empty is autodetect):D:\PLSQL Developer\instantclient_12_2、

Oracle Home(empty is autodetect):D:\PLSQL Developer\instantclient_12_2;

5)在D:\PLSQL Developer\instantclient_12_2目录下新建sqlnet.ora和tnsnames.ora两个文件;

sqlnet.ora文件内容:

----------------------------------------------------------------

SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)


tnsnames.ora文件内容:
----------------------------------------------------------------- orcl= (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST =192.168.1.107)(PORT =1521)) ) (CONNECT_DATA = (SERVICE_NAME =orcl) ) )

--注:下划线内容是需要替换的内容。

6)设置环境变量

oracle数据库-LMLPHP

7)登录

Username:XXX

Password:XXX

Database:SERVICE_NAME

Connect as: Normal

8)乱码

查看服务端编码>查看客户端编码>添加环境变量>重启PLSQL Developer开发工具

常用命令行

----------超级管理员登录

>sqlplus admin/password as sysdba;

----------查看当前用户

>show user 

----------查看所有表名

select * from tab;

----------查看表中数据

Set  linesize 300;         每行展示300个字符

Col列名          for  a[数字],某一列占几个字符

Col sal for 9999

Select * from emp;

---------超级用户查看某用户表

select * from [用户名].[表名] 

---------查看表结构

Desc 表名

sql

1.数据备份

--备份数据
create table tbluser_bak as select * from tbluser; --此处不加as也行

--删除备份表的数据
truncate table tbluser_bak;

--还原表数据
insert into tbluser_bak select * from tbluser ;

--查看数据是否恢复
select * from tbluser_bak;

---删除备份表

drop table USER_BAK;

2、函数

DBMS_RANDOM.STRING('U',6)    ---6位随机大写字母值函数

ABS(MOD(DBMS_RANDOM.RANDOM, 900000))   ---返回6位数字

ABS(CHECKSUM(NEWID())%90000) ---返回6位数字绝对值

sys_guid()             ---生成全球唯一标识

DBMS_RANDOM.VALUE()*100   ---固定范围随机数
实例:

select ABS(CHECKSUM(NEWID())%90000) ---取六位小数

3、创建一个序列

oracle数据库-LMLPHP

 4、循环插入语句

DECLARE
       i number:=0;
BEGIN
    for i in 1..100 loop
    insert into EMP (ID, NAME, PASSWORD, AGE)values (SEQ_ID.NEXTVAL, 'test', '54321', 22);
    commit;
           dbms_output.put_line(i);
       end loop;
END;

监控

1、公司开发平台的监控工具;

2、oralce自带监控工具如awr;

3、命令行查询慢sql。 

数据库调优

请参照我的 数据库&调优 博客 

参考链接

https://www.jianshu.com/p/940622266aa9   安装

https://jingyan.baidu.com/album/bea41d43cb5a05b4c51be6dd.html?picindex=3  客户端使用

https://jianshu.com/p/ec517b2a6056          命令行

https://jingyan.baidu.com/album/90808022217c34fd90c80f7f.html?picindex=3   客户端使用

https://blog.csdn.net/weixin_41547486/article/details/80392854              命令行

https://blog.csdn.net/weixin_30484739/article/details/99063284               乱码

https://www.cnblogs.com/wuhanjackh/p/12341797.html                 sql备份

https://blog.csdn.net/u013047660/article/details/24882779            循环语句

https://blog.csdn.net/a406502972/article/details/83783105        随机函数

https://www.cnblogs.com/Marydon20170307/p/10008483.html     删除备份表

https://blog.csdn.net/qq_42031653/article/details/97807341  数字函数 返回数值

https://blog.csdn.net/weixin_34347651/article/details/92061851  返回值实例

https://blog.csdn.net/q12344566789/article/details/53671050?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~baidu_landing_v2~default-1-53671050.nonecase    唯一标识函数

https://blog.csdn.net/xuliq/article/details/50520208      固定范围随机数

07-22 20:13