日期:2014-05-16  浏览次数:20502 次

登录oracle数据库时常用的操作命令整理
oracle系统默认的用户和密码是
创建数据库是创建的用户

scott   密码是 tiger
sys     密码是 change_on_install
system  密码是 manager
sysman  密码是 oem_temp
也可以

sqlplus / as sysdba
不用密码登录!!

1、su – oracle 不是必需,适合于没有DBA密码时使用,可以不用密码来进入sqlplus界面。

2、sqlplus /nolog 或sqlplus system/manager 或./sqlplus system/manager@ora9i;

3、SQL>connect / as sysdba ;(as sysoper)或

connect internal/oracle AS SYSDBA ;(scott/tiger)

conn sys/change_on_install as sysdba;

4、SQL>startup; 启动数据库实例

5、 查看当前的所有数据库: select * from v$database;

select name from v$database;

desc v$databases; 查看数据库结构字段

7、怎样查看哪些用户拥有SYSDBA、SYSOPER权限:

SQL>select * from V_$PWFILE_USERS;

Show user;查看当前数据库连接用户

8、进入test数据库:database test;

9、查看所有的数据库实例:select * from v$instance;

如:ora9i

10、查看当前库的所有数据表:

SQL> select TABLE_NAME from all_tables;

select * from all_tables;

SQL> select table_name from all_tables where table_name like '%u%';

TABLE_NAME

------------------------------

_default_auditing_options_

11、查看表结构:desc all_tables;

12、显示CQI.T_BBS_XUSER的所有字段结构:

desc CQI.T_BBS_XUSER;

13、获得CQI.T_BBS_XUSER表中的记录:

select * from CQI.T_BBS_XUSER;

14、增加数据库用户:(test11/test)

create user test11 identified by test default tablespace users Temporary TABLESPACE Temp;

15、用户授权:

grant connect,resource,dba to test11;

grant sysdba to test11;

commit;

16、更改数据库用户的密码:(将sys与system的密码改为test.)

alter user sys indentified by test;

alter user system indentified by test;

下面说下权限等等

权限(privileges)
权限是用户能否执行一个pl_sql语句或访问一个其它用户定义的object,Oracle中有两种权限,system privileges & object privileges.
权限能被assign给一个用户或者角色。
权限是一个固定的集合,没有一个如下语句如 create privilege abc ....

系统权限(system privileges)
系统权限是不特定到某个具体的object上面的权限,大家可以从system view: system_privilege_map 里查找。
重要的几种系统权限罗列如下:
create session
create table
create procedure
sysdba
sysoper

Object privileges
对象权限能被制定到如下数据库对象(database objects):

Tables
select, insert, update, delete, alter, debug, flashback, on commit refresh, query rewrite, references, all
Views
select, insert, update, delete, under, references, flashback, debug
Sequence
alter, select
Packeges, Procedures, Functions (Java classes, sources...)
execute, debug
Materialized Views
delete, flashback, insert, select, update
Directories
read, write
Libraries
execute
User defined types
execute, debug, under
Operators
execute
Indextypes
execute
如果一用户想访问另外一个用户的schema,那么他必须拥有相应的对象权限。

public
如果一个权限被分配一个特殊的角色(role) public ,那么所有用户都会拥有这个权限,但是sysdba不能分配给public。

用户Users
待完善
角色Roles
当数据库安装的,即当创建数据库时就会创建一系列的预定义的角色:

是为了让授权更容易!!

connect, resource, dba
delete_catalog_role, execute_catalog_role, select_catalog_role
exp_full_database, imp_full_database
aq_user_role, aq_administrator_role, global_aq_user_role(?)
。。。。。。
查询角色的权限!
Select GRANTED_ROLE from ROLE_ROLE_PRIVS where ROLE=&ROLE

输入 role= 'DBA'
输出....


权限的分配于收回
给用户或角色分配权限语句: GRANT privilege_name to users/roles
具体如: GRANT CRATE TABLE TO hr
GRANT ALL ON employees TO hr
收回权限的的方法:
利用REVOKE .... FROM ... 替代上面的 GRANT .... TO ...就行了,在此就不多说了