oracle数据库
概述
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)设置环境变量
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 表名
---------大批量导入导出(通过客户端工具导出59万数据就会卡)
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) ---取六位小数
示例: select lpad('abcde',10,'x') from dual;
3、创建一个序列
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/qq_33195791/article/details/99067889
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/xuliq/article/details/50520208 固定范围随机数