表操作

-- 截断表

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;

最新文章

  1. tomcat:there is no resources that can be added or removed from server
  2. Linux 常用服务总结
  3. Struts2框架之-注解开发
  4. nginx配置多域名映射方法(本地hosts)
  5. 在Html中使用Requirejs进行模块化开发
  6. tinyXml直接解析XML字符串
  7. JAVA WEB新进展
  8. xunsearch迅搜体验
  9. lseek()函数
  10. (mac)Android Studio安装以及Fetching android sdk component information超时的解决方案
  11. 用Ant实现Java项目的自动构建和部署(转)
  12. JSP中的include的两种用法
  13. HTMLConverter使用实例(转)
  14. 常用 Linux 命令的基本使用
  15. 转载-HashMap1.8源码分析
  16. Linux 下配置 Git 操作免登录 ssh 公钥
  17. 【小白的CFD之旅】22 好网格与坏网格
  18. Selenium如何定位动态id的元素?
  19. Android-开关机的广播
  20. 【BZOJ 4171】 4171: Rhl的游戏 (高斯消元)

热门文章

  1. WINDOWS下对NIGNX日志文件进行限制
  2. 1. scrapy 框架应该怎么学习(前言)
  3. linux学习相关资料整理
  4. 详记apache-poi的使用,将word,excel,ppt转换为html
  5. CountDownLatch闭锁源码解析(基于jdk11)
  6. java调用python脚本 并传参(根据配置文件获取python文件地址)
  7. ORM数据库查询优化only与defer(select_related与prefetch_related)
  8. AcWing786.第k个数
  9. [python]《Python编程快速上手:让繁琐工作自动化》学习笔记4
  10. Spring项目中用了这种解耦模式,经理对我刮目相看