一、启动数据库
1.切换到oracle用户:
[root@hs-uf21 ~]$ su - oracle
Password:
[oracle@hs-uf21 ~]$
2.启动sqlplus,但没有登录:
[oracle@hs-uf21 ~]$ sqlplus /nolog
或者如下:
[oracle@hs-uf21 ~]$ sqlplus / as sysdba
3.登录数据库:
SQL> connect sys/oracle as sysdba
Connected.
4.启动数据库:
SQL> startup
二、数据字典(sys用户下的表和视图)
数据字典的名称是大写的英文字母,数据字典里存有用户信息,用户的权限信息,所有数据对象信息,表的约束条件,统计分析数据库的视图等。
1.dictionary(或者dict):全部数据字典表的名称和解释。
2.dict_columns :全部数据字典表里字段名称和解释。
SQL> select * from dict where table_name ='ALL_TABLES';
TABLE_NAME COMMENTS
--------------------------------------------------------------------------------
ALL_TABLES Description of relational tables accessible to the user
SQL>select * from dict_columns where table_name ='ALL_TABLES';
常用数据字典:
1.用户:
查看当前用户信息,包括状态、缺省表空间,创建时间等:
SQL> select * from user_users;
查看用户的角色信息:
SQL> select * from user_role_privs;
查看用户的系统权限
SQL> select * from user_sys_privs;
查看用户的表权限:
SQL> select * from user_tab_privs;
2.表:
查看当前用户下所有的表:
SQL> select * from user_tables;
查看当前用户下所有对象的大小:
SQL> select * from user_segments;
3.索引:
查看当前用户下所有索引的信息:
SQL> select * from user_indexes;
查看当前用户下所有索引被索引的字段:
SQL> select * from user_ind_columns;
4.视图:
查看当前用户下所有视图信息:
SQL> select * from user_views;
5.源代码:
想看当前用户所有的函数和过程的源代码:
SQL> select * from all_source where owner =upper('hs_user') and name = upper('ap_userpub_rights_check');
6.对象:
查看当前用户下所有的对象信息(表、过程、索引等的类型、状态、创建时间等信息):
SQL> select * from user_objects;
三、常用SQL
1.查看表空间信息:
SQL> select * from dba_tablespaces;
2.查看表空间的数据文件:
SQL> select * from dba_data_files;
3.查看表空间的使用情况(总大小,空休大小、已使用大小、使用率):
SQL>select tablespace_name, sum(total_size) as total_size, sum(free_size) asfree_size,
2 sum(total_size - free_size) used_size,
3 to_char((round(sum(total_size - free_size) / sum(total_size), 4)) * 100,
4 '00.00') || '%' use_rate
5 from (select tablespace_name, round(sum(bytes / (1024 * 1024)))total_size, 0 free_size
6 from dba_data_files group by tablespace_name
7 union
8 select tablespace_name, 0 total_size, round(sum(bytes / (1024 * 1024)))free_size
9 from dba_free_space group by tablespace_name)
10 group by tablespace_name;
4.查看回滚段信息:
5.查看控制文件信息:
SQL> select * from v$controlfile;
6.查看日志文件:
SQL> select * from v$logfile;
7.查看数据库对象:
SQL> select * from all_objects;
8.查看数据库版本:
SQL> select * from product_component_version;
9.查看数据库信息:
SQL> select * from v$database;
四、用户连接(系统管理员)
1.查看当前数据库用户连接信息:
SQL> select * from v$session;
2.停止数据库连接:alter systemkill session 'sid,serial# ';
SQL> alter system kill session '158,269';
3.查询sid的进程号(spid):
SQL> select s.sid,s.serial#,p.pid,p.spid,p.serial#,s.schemaname,
2 s.paddr,s.process,s.osuser,s.machine,s.status,s.module
3 from v$session s, v$process p
4 where s.paddr = p.add;
五、SQL*Plus使用
1.帮助信息:
获取sql*plus所有命令:
SQL> help index
获取sql*plus具体命令的使用信息:help [topic]
SQL> help show
2.显示表结构信息:DESC[RIBE]
SQL> desc v$session;
3.SQL*Plus中编辑命令:
显示SQL缓冲区命令:
SQL> L
修改SQL命令
先定位到当前行:SQL> N
SQL> 4
4* where s.paddr = p.addr
用change命令修改内容:c/旧/新
SQL> c/=/<>
4* where s.paddr <> p.addr
使用input命令给SQL缓冲区中增加一行或者多行信息
SQL>i
SQL>输入内容
4.系统变量SET变量:set 变量名 变量值
利用set变量可以为SQL*Plus建立一个特殊的环境,可以用set命令改系统变量的值,也可以用show查看系统变量的值。
六、权限管理
常用的系统权限集合有包括:connect(基本连接) 、resource(程序开发)、dba(数据库管理)
常用的数据库对象权限包括:all、select、update、insert、delete、alter。
1.赋予权限:GRANT
格式:grant[connect|resource|dba] to db_user
格式:grant[all|,select|,update|,insert|,delete|,alter] on 数据库对象名[to db_user1|,db_user2|,...]
2.回收权限:REVOKE
格式:revoke[connect|resource|dba] from db_user
格式:revoke[all|,select|,update|,insert|,delete|,alter] on 数据库对象名 from [todb_user1|,db_user2|,...]