Oracle新建数据库实例和新建用户
一、新建数据库实例
ORACLE创建实例是我们最常用的操作之一,下面就为您详细介绍 ORACLE
创建实例的全过程,希望对您能够有所帮助。
1、安装好ORACLE服务端。
2、ORACLE创建实例,使用ORAHOME目录下的"Configuration and Migration Tools"下的"Database Configuration Assistant"工具。
3、步骤2:选择"创建数据库"。
4、步骤3:选择数据库模板。
5、步骤4:选择"专用服务器模式"。
6、步骤5:设置初始化参数。
7、其它默认,点击"完成"。
ps:创建一个数据库实例,在系统服务里会增加一个服务,名为:"OracleServer"+所创建的数据库实例的SID,该服务需要启动。
创建完数据库后,并不能立即在数据库中建表,必须先创建该数据库的用户,并且为该用户指定表空间。
下面是创建数据库用户的具体过程:
1.假如现在已经建好名为'orcl1'的数据库,此时在F:\oracle\product\10.1.0\oradata\目录下已经存在orcl1目录(注意:我的Oracle10g安装在F:\oracle下,若你的Oracle安装在别的目录,那么你新建的数据库目录就在*\product\10.1.0\oradata\目录下)。
2.在创建用户之前,先要创建表空间和临时表空间:
其格式为:格式: create tablespace 表间名 datafile '数据文件名' size 表空间大小;
如:
SQL> create tablespace news_tablespace datafile ‘c:\orcl_data.dbf' size 500M;
<strong>创建表空间</strong>:
eg:
SQL> create temporary tablespace ORCL_TEST tempfile 'c:\tablespace\path' size 200m autoextend on next 32m maxsize 512m extent management local;
SQL> create tablespace ORCL_INDEX logging datafile 'c:\orcl_index.dbf' size 200m autoextend on next 32m maxsize 512m extent management local;
其中'news_tablespace'是你自定义的表空间名称,可以任意取名;'orcl_data.dbf'是数据文件的存放位置,'orcl_data.dbf'文件名也是任意取;'size 500M'是指定该数据文件的大小,也就是表空间的大小。
临时表空间:
临时表空间主要用来做查询和存放一些缓冲区数据。临时表空间消耗的主要原因是需要对查询的中间结果进行排序。重启数据库可以释放临时表空间,如果不能重启实例,而一直保持问题sql语句的执行,temp表空间会一直增长
Oracle临时表空间主要用来做查询和存放一些缓冲区数据。临时表空间消耗的主要原因是需要对查询的中间结果进行排序。
重启数据库可以释放临时表空间,如果不能重启实例,而一直保持问题sql语句的执行,temp表空间会一直增长。直到耗尽硬盘空间。
网上有人猜测在磁盘空间的分配上,oracle使用的是贪心算法,如果上次磁盘空间消耗达到1GB,那么临时表空间就是1GB。也就是说当前临时表空间文件的大小是历史上使用临时表空间最大的大小。
临时表空间的主要作用:
索引create或rebuild
Order by 或 group by
Distinct 操作
Union 或 intersect 或 minus
Sort-merge joins
analyze
将当前临时表空间指定为新的临时表空间:
SQL> alter database default temporary tablespace TEMP1;
Database altered
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 orcl; --表示把 connect,resource权限授予orcl用户
SQL> grant dba to orcl; --表示把 dba权限授予给orcl用户
授权成功。
PS:可以通过SQL DEVELOPER工具新建用户,分配表空间和角色权限等操作。
具体图文信息我就不做具体描述,网上有参考的博客。
新建用户:http://blog.csdn.net/xw13106209/article/details/6594738
三、异常情况使用命令说明
查看监听状态:
lsnrctl states
SQLPlus 登录:
sqlplus sys/sys as sysdba
表空间查看:
select * from v$tablespace;
在线用户连接数:
select count(*) from sys.v_$session;
查看当前用户:
show user
新建用户
SQL> create user tkp1 identified by tkp1;
授权
SQL> grant connect,resource to tkp1;
退出sqlplus
SQL> quit
以tkp1用进入到sqlplus
c:\> sqlplus tkp1/tkp1
查看所有用户
SQL> select * from all_users;
关闭oracle数据库
SQL>shutdown immediate;
开启oracle数据库
SQL>startup
用户
scott解锁:
alter user scott account unlock;
删除用户
drop user “username” cascade;
注:cascade 参数是级联删除该用户所有对象,经常遇到如用户有对象而未加此参数则用户删不了的问题,所以习惯性的加此参数
授权
grant connect,resource,dba to "username" ;
查看当前用户的角色
select * from user_role_privs;
select * from session_privs;
查看当前用户的系统权限和表级权限
select * from user_sys_privs;
select * from user_tab_privs;
查询用户表
select username from dba_users;
修改用户口令
alter user "username" identified by "password";
查询数据库文件
select * from dba_data_files;
查看表结构
desc table;
待续.......