2.在创建用户之前,先要创建表空间:
其格式为:格式: create tablespace 表间名 datafile '数据文件名' size 表空间大小;
如:
SQL> create tablespace news_tablespace datafile 'F:\oracle\product\10.1.0\oradata\news\news_data.dbf' size 500M;
其中'news_tablespace'是你自定义的表空间名称,可以任意取名;'F:\oracle\product\10.1.0\oradata\news\news_data.dbf'是数据文件的存放位置,'news_data.dbf'文件名也是任意取;'size 500M'是指定该数据文件的大小,也就是表空间的大小。
3.现在建好了名为'news_tablespace'的表空间,下面就可以创建用户了:
其格式为:格式: create user 用户名 identified by 密码 default tablespace 表空间表;
如:
SQL> create user news identified by news default tablespace news_tablespace;
默认表空间'default tablespace'使用上面创建的表空间。
4.接着授权给新建的用户:
SQL> grant connect,resource to news; --表示把 connect,resource权限授予news用户
SQL> grant dba to news; --表示把 dba权限授予给news用户
授权成功。
注:分配Oracle系统权限时通常可以为用户选择3种角色之一,而不需要逐一地选择权限:
1、CONNECT:允许用户登录数据库,并可以执行数据库查询和操作 2、RESOURCE:允许用户建立数据库对象3、DBA:允许用户管理数据库,例如对用户执行授权操作、建表以及对数据进行操纵等
四、数据库登录的常见问题
1.、ORA-12560: TNS: 协议适配器错误
造成ORA-12560: TNS: 协议适配器错误的问题的原因有三个:
1).监听服务没有起起来。windows平台个一如下操作:开始---程序---管理工具---服务,打开服务面板,
启动oraclehome92TNSlistener服务。
2).database instance没有起起来。windows平台如下操作:开始---程序---管理工具---服务,打开服务
面板,启动oracleserviceXXXX,XXXX就是你的database SID.
3).注册表问题。regedit,然后进入HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0将该环境变量ORACLE_SI
D设置为XXX,XXX就是你的database SID.或者右几我的电脑,属性--高级--环境变量---系统变量--新建
,变量名=oracle_sid,变量值=XXX,XXX就是你的database SID.或者进入sqlplus前,在command line下
输set oracle_sid=XXX,XXX就是你的database SID.
经过以上步骤,就可以解决问题。
注1:win7下 点击开始菜单,在搜索框中输入regedit 回车即可查看注册表,也可按windows键+R调出运行框,输入regedit回车
五、数据库管理的常用命令
1、su – oracle 不是必需,适合于没有DBA密码时使用,可以不用密码来进入sqlplus界面。
2、sqlplus /nolog 或sqlplus sys/password 或./sqlplus system/manager@oral;
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%';
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
17、查看当前用户的角色
select * from user_role_privs;
select * from session_privs;
18、查看当前用户的系统权限和表级权限
select * from user_sys_privs;
select * from user_tab_privs;
19、查询用户表
select username from dba_users;
20、显示当前用户
show user;
21、表空间
(1)创建表空间
CREATE TABLESPACE data01 DATAFILE '/oracle/oradata/db/tablespace_name.dbf' SIZE 500M;
(2)删除表空间
DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES;
(3)修改表空间大小
alter database datafile '/path/tablespace_name.dbf' resize 3000M;
(4)增加表空间
alter tablespace Name add datafile '/path/tablespace_name_add.dbf' size 3000M;
(5)查询数