表操作

-- 截断表

TRUNCATE TABLE TABLE_NAME;

-- 删除表

DROP TABLE TABLE_NAME;

-- 查询表

SELECT * FROM TABLE_NAME;

-- 添加一条记录

INSERT INTO TABLE_NAME(COLUMN) VALUES(VALUE);

-- 删除记录

DELETE FROM TABLE_NAME WHERE COLUMN=VALUE;

-- 修改记录

UPDATE TABLE_NAME SET COLUMN1='VALUE1' WHERE COLUMN2=VALUE2;

-- 锁表查询

SELECT SESS.SID,SESS.SERIAL#,LO.ORACLE_USERNAME,LO.OS_USER_NAME,AO.OBJECT_NAME,LO.LOCKED_MODE FROM V$LOCKED_OBJECT LO,DBA_OBJECTS AO,V$SESSION "SESS" WHERE AO.OBJECT_ID=LO.OBJECT_ID AND LO.SESSION_ID=SESS.SID;

-- 解除锁表

ALTER SYSTEM KILL SESSION 'XXX,XXX';

时间

-- 查询系统时间

SELECT SYSDATE FROM DUAL;
SELECT CURRENT_DATE FROM DUAL;
SELECT SYSTIMESTAMP FROM DUAL;

-- 字符串转时间

SELECT TO_DATE('1970-01-01 01:00:00','SYYYY-MM-DD HH24:MI:SS') FROM DUAL;

-- 拼接当天第一秒和当天最后一秒

SELECT TO_DATE(TO_CHAR(SYSDATE,'yyyy-mm-dd') || ' 00:00:01','yyyy-mm-dd hh24:mi:ss') FROM DUAL; -- 当天第一秒
SELECT TO_DATE(TO_CHAR(SYSDATE,'yyyy-mm-dd') || ' 23:59:59','yyyy-mm-dd hh24:mi:ss') FROM DUAL; -- 当天最后一秒

-- 查询系统数据库时区

SELECT DBTIMEZONE FROM DUAL;

-- 修改系统数据库时区为 +8:00

ALTER DATABASE SET TIME_ZONE='+8:00';

-- 查看session所属时区

SELECT SESSIONTIMEZONE FROM DUAL;

-- 修改session所属时区

ALTER SESSION SET TIME_ZONE='+8:00'; --原本为-UTC

系统

-- 查询数据库版本

SELECT * FROM V$VERSION;

-- 系统游标修改

ALTER SYSTEM SET OPEN_CURSORS =2000 SCOPE=BOTH; --改为2000

-- 查询当前SID

SELECT NAME FROM V$DATABASE;

-- 查看连接数

SELECT COUNT(*) FROM V$PROCESS;

-- 查看最大连接数

SELECT VALUE FROM V$PARAMETER WHERE NAME = 'processes';

-- 修改最大连接数 sqlplus 需要重启

ALTER SYSTEM SET PROCESSES = 650 SCOPE = SPFILE;

用户

-- 查询用户信息

SELECT * FROM DBA_USERS;
SELECT * FROM DBA_USERS WHERE ACCOUNT_STATUS='OPEN';
SELECT USERNAME FROM DBA_USERS WHERE ACCOUNT_STATUS='OPEN';

-- 查看当前登录用户

-- SHOW USER;

-- 创建用户

CREATE USER USERNAME IDENTIFIED BY USERPASSWORD;

-- 用户授权

GRANT CONNECT,RESOURCE,DBA TO USERNAME; --连接权限,资源访问权限,DBA权限

-- 存储过程授权

GRANT CREATE ANY PROCEDURE TO USERNAME; --创建权限
GRANT EXECUTE ANY PROCEDURE TO USERNAME; --执行权限
GRANT DEBUG ANY PROCEDURE,DEBUG CONNECT SESSION TO USERNAME; --DEBUG权限
GRANT SELECT ON SYS.V_$SESSION TO USERNAME; --对单一用户打开
GRANT SELECT ON SYS.V_$SESSTAT TO USERNAME; --对单一用户打开
GRANT SELECT ON SYS.V_$STATNAME TO USERNAME; --对单一用户打开
GRANT SELECT ANY DICTIONARY TO PRACTICE; --不采用
GRANT SELECT ON V$SESSION TO PUBLIC; --对所有用户打开,所有用户生效
GRANT SELECT ON V$SESSTAT TO PUBLIC; --对所有用户打开,所有用户生效
GRANT SELECT ON V$STATNAME TO PUBLIC; --对所有用户打开,所有用户生效
SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE='USERNAME'; --查询角色权限
SELECT * FROM ROLE_SYS_PRIVS; ----系统权限
SELECT * FROM ROLE_TAB_PRIVS; --对象权限
SELECT * FROM ROLE_ROLE_PRIVS; --角色权限

-- 撤销用户授权

REVOKE CONNECT,RESOURCE,DBA FROM USERNAME;

-- 用户空间分配

ALTER USER USERNAME QUOTA UNLIMITED ON USERS; --不做用户空间资源限制
ALTER USER USERNAME QUOTA 300M ON USERS; --限制用户最大空间资源为300M

-- 查询用户密码过期策略

SELECT * FROM DBA_PROFILES WHERE PROFILE='DEFAULT' AND RESOURCE_NAME='PASSWORD_LIFE_TIME';

-- 修改用户密码过期策略

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; --设置密码永不过期

-- 查询用户密码失败策略

SELECT * FROM DBA_PROFILES WHERE PROFILE='DEFAULT' AND RESOURCE_NAME='FAILED_LOGIN_ATTEMPTS';

-- 修改用户密码失败策略

ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED; --不限制认证失败次数
ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS 30; --30累计认证失败锁定账户

-- 查询 CONNECT_TIME 所在资源文件名

SELECT RESOURCE_NAME,PROFILE FROM DBA_PROFILES;

-- 修改资源限制

ALTER PROFILE DEFAULT LIMIT CONNECT_TIME UNLIMITED; --不限制连接超时
ALTER PROFILE DEFAULT LIMIT CONNECT_TIME 60; --限制连接60分钟超时
ALTER PROFILE DEFAULT LIMIT IDLE_TIME UNLIMITED; --不限制会话超时
ALTER PROFILE DEFAULT LIMIT IDLE_TIME 20; --限制会话最长连续空闲时间为20分钟

-- 查询资源限制值

SELECT RESOURCE_NAME,LIMIT FROM DBA_PROFILES WHERE PROFILE='DEFAULT';

-- 查询用户使用PROFILE文件

SELECT USERNAME,PROFILE FROM DBA_USERS;

-- 查询用户资源使用监控是否开启

SELECT NAME,VALUE FROM GV$PARAMETER WHERE NAME='resource_limit';

-- 开启用户资源使用监控

ALTER SYSTEM SET resource_limit=TRUE;

存储过程

-- 创建存储过程

CREATE OR REPLACE PROCEDURE PROCNAME
AS
BEGIN
DBMS_OUTPUT.PUT_LINE('STORED PROCEDURE PROCNAME'); --控制台输出
END;

-- 查看存储过程

SELECT TEXT FROM USER_SOURCE WHERE NAME = 'PROCNAME' ORDER BY LINE;

-- 调用存储过程

CALL PROCNAME();
或
BEGIN
PROCNAME;
END;

-- 删除存储过程

DROP PROCEDURE PROCNAME;

视图

-- 创建视图

CREATE VIEW VIEW_NAME AS
SELECT SYSDATE FROM DUAL
WITH READ ONLY;

-- 查看视图

SELECT * FROM VIEW_NAME;

-- 视图授权

GRANT SELECT ON VIEW_NAME TO USERNAME;

-- 撤销视图授权

REVOKE SELECT ON VIEW_NAME FROM USERNAME;

-- 删除视图

DROP VIEW USERNAME;

外部ORACLE连接

-- 创建一个外部ORACLE连接

create database link dblink_name
connect to USERNAME identified BY "USERPASSWORD"
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = "IPADDR")(PORT = "PORT"))
)
(CONNECT_DATA =
(SERVICE_NAME = "ORCL")
)
)';

-- 查询数据库相关连接

SELECT OWNER,OBJECT_NAME FROM DBA_OBJECTS WHERE OBJECT_TYPE='DATABASE LINK';
SELECT * FROM DBA_DB_LINKS;

-- 删除数据库连接

DROP DATABASE LINK dblink_name;

-- 从外部ORACLE连接查询数据

SELECT * FROM USERNAME.TABLENAME@dblink_name;
SELECT * FROM TABLENAME@dblink_name;

ORACLE数据库相关操作的更多相关文章

  1. python访问Oracle数据库相关操作

    环境: Python版本:3.6.6 win系统:64位 Linux系统:64位 首先安装配置时,版本必须一致!包括:系统版本,python版本,oracle客户端的版本,cx_Oracle的版本! ...

  2. mysq数据库相关操作

    (一)常用SQL语句 1.SELECT USER() 得到登陆的用户 2.SELECT VERSION() 得到mysql的版本信息 3.SELECT NOW() 得到当前的时间 4.SELECT D ...

  3. ORACLE数据库误操作执行了DELETE,该如何恢复数据?

    ORACLE数据库误操作执行了DELETE,该如何恢复数据? 原创 2016年08月11日 17:23:04 10517 作为一个程序员,数据库操作是必须的,但是如果操作失误,一般都会造成比较严重的后 ...

  4. eclipse利用sql语句对Oracle数据库进行操作

    对Oracle数据库执行操作的sql语句中表名和列名都需用英文双引号("")括起来. 注(\为转义符) 1.插入数据 sql = "insert into \" ...

  5. oracle数据库相关知识点

    已知表如下:

  6. ADO.Net对Oracle数据库的操作【转载】

    一 ADO.Net简介 访问数据库的技术有许多,常见的有一下几种:开放数据库互联(ODBC).数据访问对象(DAO).远程数据对象 (RDO). ActiveX数据对象(ADO).我们今天主要要学习A ...

  7. 【转】ADO.Net对Oracle数据库的操作

    一 ADO.Net简介 [转自网络,收藏学习] 访问数据库的技术有许多,常见的有一下几种:开放数据库互联(ODBC). 数据访问对象(DAO).远程数据对象(RDO). ActiveX数据对象(ADO ...

  8. Oracle数据库一些操作信息

    Oracle数据库如何查看当前用户角色权限及默认表空间查看当前用户的一些信息,包括用户拥有的角色权限信息.用户表空间以及用户和默认表空间的关系等--查看用户的角色权限1.查看当前用户拥有的角色权限信息 ...

  9. jmeter实现对Oracle数据库的操作

    实现目的 有时候,根据业务需要,可能需要直接对数据库进行性能测试,此时可利用jmeter对Oracle.MySQL等数据库进行相关测试. 脚本实现 添加JDBC Connection Configur ...

  10. Oracle 数据库简单操作

    现在大型企业一般都用Oracle数据库,Oracle数据库在一般采用expdp,impdp 导出导入数据,但是在操作中经常会遇到一些问题.下面来浅析这些问题. 1. 导出数据 一般导出数据的时候需要建 ...

随机推荐

  1. win7修改开机动画

    开机动画的修改 首先win7的过场动画是存在于C:\Windows\System32\bootres.dll ,而修改过程动画就需要修改这个dll,我不会改,所以只能用工具美化大师,软媒魔方里面的一个 ...

  2. 关于解决linux python3安装gattlib报错

    1. 报错信息 /usr/bin/ld: cannot find -lboost_python36 collect2: error: ld returned 1 exit status error: ...

  3. docker给已存在的容器添加或修改端口映射

    简述: 这几天研究了一下docker, 发现建立完一个容器后不能增加端口映射了,因为 docker run -p 有 -p 参数,但是 docker start 没有 -p 参数,让我很苦恼,无奈谷歌 ...

  4. Java中遇到的常见问题

      一.常用的快捷键 查询对应类:Ctrl+N eclipse的快速生成代码:Alt+Shift+s或sources 加单行注释:Ctrl+/ 运行程序:Ctrl+Shift+F10 搜索:Ctrl+ ...

  5. CBV如何添加装饰器?

    目录 一:CBV如何添加装饰器 1.CBV中django不建议直接给类的方法加装饰器 2.CBC添加装饰器的三种方法 3.CBV添加装饰器实战 一:CBV如何添加装饰器 1.CBV中django不建议 ...

  6. 网络爬虫之requests模块,自动办公领域之openpyx模块

    一.第三方模块的下载与使用 第三方模块:别人写的模块,一般情况下功能都特别强大    我们如果想使用第三方模块,第一次必须先下载,后面才可以反复使用(等同于内置模块) 下载第三方模块的方式 1. pi ...

  7. 第一百一十四篇: JS数组Array(三)数组常用方法

    好家伙,本篇为<JS高级程序设计>第六章"集合引用类型"学习笔记   1.数组的复制和填充 批量复制方法 copyWithin(),以及填充数组方法fill(). 这两 ...

  8. MongoDB 强制使用索引 hint

    转载请注明出处: 虽然MongoDB 查询优化器一般工作的很不错,但是也可以使用 hint() 来强迫 MongoDB 使用一个特定的索引.在这种方法下某些情形下会提升性能. 一个有索引的 colle ...

  9. jmeter 之性能分布式压测

    背景: 当并发量达到一定数量时,单台测试设备不足以支撑,甚至会出现内存溢出等情况,解决这个问题就可用分布式测试,使用多台测试设备来达到更大的用户并发数. 原理: 1.一台设备作为调度机(master) ...

  10. 【转载】github.com访问慢解决办法

    打开网站 IPAddress.com ,找到页面中下方的"IP Address Tools – Quick Links" 分别输入github.global.ssl.fastly. ...