一、说明
Oracle数据库数据库名、表名、字段名等不区分大小写,字段值区分大小写。
Oracle单词之间一般用下划线连接;表名最后一般加s字段名最后一般没s。
二、常见数据表
dba_*DBA拥有的或可以访问的所有的对象。
all_*当前用户拥有的或可以访问的所有的对象
user_*当前用户所拥有的所有的对象
dba_users/all_users/user_users--记录用户信息的表
dba_tablespaces--记录表空间信息的表
dba_tables/all_tables/user_tables--记录表信息的表
user_tab_columns--记录列信息的表
三、常用操作命令
查看当前用户用户名及默认表空间:select username,default_tablespace from user_users;
查看当前用户的所有表:select table_name from user_tables;
查看包含某个字符串的字段及其所在的表:select table_name,column_name from user_tab_columns where column_name like '%NAME%';
修改用户密码(sysdba身份执行):alter user USERNAME identified by NEW_PASSWD;
oracle密码文件位置:$ORACLE_HOME/dbs/orapw$SID_NAME(如:/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/orapwlsdb)
查看版本号:select * from v$version;
删除用户及其所有对象(包括表/视图/存储过程/函数等,sysdba身份执行):drop user USERNAME cascade;
查找用户存在会话:select sid,serial# from v$session where username='lsdb';
杀除用户会话:alter system kill session'sid_num,serial#_num';
删除表空间:drop tablespace tbs_name including contents and datafiles;
把表移至另一表空间:alter table tablename move tablespace tablespace_name;
查看实例名:select instance_name from V$instance;
查看表空间名和对应文件位置:select file_name , tablespace_name from dba_data_files;
查看表空间使用情况:
SELECT SUM(bytes) / (1024 * 1024) AS free_space, tablespace_name
FROM dba_free_space
GROUP BY tablespace_name;
SELECT a.tablespace_name,
a.bytes total,
b.bytes used,
c.bytes free,
(b.bytes * 100) / a.bytes "% USED ",
(c.bytes * 100) / a.bytes "% FREE "
FROM sys.sm$ts_avail a, sys.sm$ts_used b, sys.sm$ts_free c
WHERE a.tablespace_name = b.tablespace_name
AND a.tablespace_name = c.tablespace_name;