Oracle创建表空间、用户名、密码步骤教程

第一步,以最高级别 SYSDBA 身份登录数据库

cmd 进入命令行

登录方式一:

C:\Documents and Settings\Administrator>sqlplus sys/sys as sysdba

SQL*Plus: Release 10.2.0.1.0 – Production on 星期六 5 月 2916:08:00 2010

Copyr ight (c) 1982, 2005, Oracle. All rights reserved.

连接到:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – Production

With the Partitioning, OL AP and Data Mining options

SQL>

登录方式二:

C:\Documents and Settings\Administrator>sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 – Production on 星期六 5 月 2916:27:31 2010

Copyr ight (c) 1982, 2005, Oracle. All rights reserved.

SQL> conn sys/sys@orcl as sysdba

已连接。

SQL>

登录方式三:

C:\Documents and Settings\Administrator>sqlplus

SQL*Plus: Release 10.2.0.1.0 – Production on 星期六 5 月 2916:28:45 2010

Copyr ight (c) 1982, 2005, Oracle. All rights reserved.

请输入用户名: sys@orcl as sysdba

输入口令:

连接到:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – Production

With the Partitioning, OL AP and Data Mining options

SQL>

登录方式四:

C:\Documents and Settings\Administrator>sqlplus

SQL*Plus: Release 10.2.0.1.0 – Production on 星期六 5 月 2916:31:18 2010

Copyr ight (c) 1982, 2005, Oracle. All rights reserved.

请输入用户名: scott

输入口令:

连接到:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – Production

With the Partitioning, OL AP and Data Mining options

SQL> conn sys/sys@orcl as sysdba;

已连接。

SQL>

登录方式五:

C:\Documents and Settings\Administrator>sqlplus sys/sys@orcl as sysdba

SQL*Plus: Release 10.2.0.1.0 – Production on 星期六 5 月 2916:37:18 2010

Copyr ight (c) 1982, 2005, Oracle. All rights reserved.

连接到:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – Production

With the Partitioning, OL AP and Data Mining options

SQL>

============================================================================================

第二部:创建表空间

1、创建表空间

create tablespace tb_nanc

datafile ‘C:\Javawork\oracle10g\productd\oradata\orcl\tb_nanc.dbf’

size 50M

autoextend on next 50m maxsize 2048m

extent management local;

创建表空间 名为:tb_nanc,

存放文件地址为 C:\Javawork\oracle10g\productd\oradata\orcl\

表空间大小为 50M,超过了就自动增加 50M,最大 2G,

2、创建临时表空间

create temporary tablespace tb_nanc_temp

tempfile

‘C:\Javawork\oracle10g\productd\oradata\orcl\tb_nanc_temp.dbf’

size 32m

autoextend on next 32m maxsize 1024m

extent management local;

创建临时表空间 名为:tb_nanc_temp,

存放文件地址为 C:\Javawork\oracle10g\productd\oradata\orcl\

临时表空间大小为 32M,超过了就自动增加 32M,最大 1G

3、删除表空间及数据

drop tablespace tb_nanc including contents and datafiles;

drop tablespace tb_nanc_temp including contents and datafiles;

DROP TABLESPACE TBS01 INCLUDING CONTENTS AND DATAFILES

select * from dba_data_files

alter database default tablespace system;(更改默认表空间)

============================================================================================

第三部:创建用户并授权

1、创建用户

create user tb_nanc identified by tb_nanc default tablespace tb_nanc

temporary tablespace tb_nanc_temp;

创建了用户 tb_nanc 密码是 tb_nanc

默认在表空间 tb_nanc 和临时表空间 tb_nanc_temp 里面。

2、给用户授权

1,grant connect,resource to tb_nanc;

将 connect,resource 角色权限授权给 tb_nanc

2,grant dba to tb_nanc;

将 dba 角色权限授权给 tb_nanc

3、撤销权限

revoke dba on table1 from zhangch //收回权限

revoke dba from zhangch

数据库特权 说明

DBA 数据库创建者/所有者。能够授予数据库中的其他对象上的特权。

Resource 能够连接到数据库并创建其他对象。

Connect 能够连接到数据库执行查询。

3、如果用户被锁住了,就用语句给解开

alter user tb_nanc account unlock;

============================================================================================

第四部:删除表空间、用户

–//删除表空间

drop tablespace test_temp including CONTENTS and datafiles;

–//修改用户密码:

alter user test identified by new_password;

–//删除用户:

drop user 用户名 cascade; –//执行该语句请小心,会级联删除该用户下所有对象。

–//取消用户权限:

revoke connect,resouce from lqcommunity

===============================================================================

第五部:导入、导出数据库

1 导入数据库

在重新开一个 cmd 命令窗口,直接输入,即在 dos 命令行下,而不是在 sql>下:

imp tb_nanc/tb_nanc@orcl tablespaces=tsp_emr fromuser=tb_nanc touser=tb_nancfile=D:\nancheshenyang\tb_nanc2010-05-29.DMP log=d:\logte%.log

说明:当前用户名 /密码@ 数据库名 fromuser=当初导出时的用户 touser= 导入的新用

户 file=d: \test.dmp

如果全点就是,

IMP hr/hr BUFFER=64000 full=y FILE=D: \zgnc\ehr.dmp

2、导出数据库

在重新开一个 cmd 命令窗口,直接输入,即在 dos 命令行下,而不是在 sql>下:

exp tb_nanc/tb_nanc@orc_nanc owner=tb_nanc file=d:\tb_nancte%.dmplog=d:\logte%.log

6

【其中 orc_nanc 是自己给起的服务名,即\network\admin\tnsnames.ora 下的名称,不是

对方的实例名】

1、 为避免错误,最好,在新创建的表空间,用户名和密码,都是和原来的用户名和密码都一

样的,这样节省很多麻烦事。

第五部:一些常用命令

1、表操作

查看当前用户有哪了些表:

select * from tab;

select table_name from user_tables; //当前用户的表

select table_name from all_tables; //所有用户的表

select table_name from dba_tables; //包括系统表

查看某表的表结构:

desc table_name;

2、用户操作

查看所有用户: select * from all_users;

查看当前用户的角色 select * from user_role_privs;

查看当前用户的系统权限 select * from user_sys_privs

查看当前角色的系统权限 select * from role_sys_privs

3、

select * from all_tab_privs; ——–查看所用的用户的可操作表权限

select * from user_tab_privs; ——–查看当前用户的表可操作权限

创建新用户:

create user abc identified by abc

default tablespace myspace

temporary tablespace myspacetemp;

删除用户: drop user user_name cascade;

为用户授权: grant connect,resource to user_name;

取消用户的授权: revoke connect,resource from user_name;

修改用户密码: alter user user_name identified by user_pwd;

第六部:数据库名、实例名、数据库域名、

全局数据库名、服务名

概念搞得一头雾水。我们现在就来把它们弄个明白。

1、数据库名

什么是数据库名?

数据库名就是一个数据库的标识,就像人的身份证号一样。他用参数 DB_NAME 表示,如果一台

机器上装了多全数据库,那么每一个数据库都有一个数据库名。在数据库安装或创建完成之后,

参数 DB_NAME 被写入

参数文件之中。格式如下:

DB_NAME=myorcl

在创建数据库时就应考虑好数据库名,并且在创建完数据库之后,数据库名不宜修改,即使要修

改也会很麻烦。因为,数据库名还被写入控制文件中,控制文件是以二进制型式存储的,用户

无法修改控制文件的内容。假设用户修改了参数文件中的数据库名,即修改 DB_NAME 的值。

但是在 Oracle 启动时,由于参数文件中的 DB_NAME 与控制文件中的数据库名不一致,导致

数据库启动失败,将返回 ORA-01103 错误。

数据库名的作用

数据库名是在安装数据库、创建新的数据库、创建数据库控制文件、修改数据结构、备份与恢

复数据库时都需要使用到的。有很多 Oracle 安装文件目录是与数据库名相关的,如:

winnt: d:oracleproduct10.1.0oradataDB_NAME…

Unix: /home/app/oracle/product/10.1.0/oradata/DB_NAME/…

pfile:

winnt: d:oracleproduct10.1.0adminDB_NAMEpfileini.ora

Unix:

/home/app/oracle/product/10.1.0/admin/DB_NAME/pfile/init$ORA

CLE_SID.ora

跟踪文件目录:

winnt:

/home/app/oracle/product/10.1.0/admin/DB_NAME/bdump/… 另外,在创建数据

时,careate database 命令中的数据库名也要与参数文件中 DB_NAME 参数的值一致,否

则将产生错误。同样,修改数据库结构的语句 alter database ,当然也要指出要修改的

数据库的名称。

如果控制文件损坏或丢失,数据库将不能加载,这时要重新创建控制文件,方法是以 nomount

8

方式启动实例,然后以 create controlfile 命令创建控制文件,当然这个命令中也是指指

DB_NAME。还有在备份或恢复数据库时,都需要用到数据库名。

总之,数据库名很重要,要准确理解它的作用。

查询当前数据名

方法一:select name from v$database;

方法二:show parameter db

方法三:查看参数文件。

修改数据库名前面建议:应在创建数据库时就确定好数据库名,数据库名不应作修改,因为修

改数据库名是一件比较复杂的事情。那么现在就来说明一下,如何在已创建数据之后,修改数

据库名。步骤如下:

1.关闭数据库。

2.修改数据库参数文件中的 DB_NAME 参数的值为新的数据库名。

3.以 NOMOUNT 方式启动实例,修建控制文件( 有关创建控制文件的命令语法,请参考 oracle

文档)

2、数据库实例名

什么是数据库实例名?

数据库实例名是用于和操作系统进行联系的标识,就是说数据库和操作系统之间的交互用的是

数据库实例名。实例名也被写入参数文件中,该参数为 instance_name,在 winnt 平台中,

实例名同时也被写入注册表。

数据库名和实例名可以相同也可以不同。在一般情况下,数据库名和实例名是一对一的关系,

但如果在 oracle 并行服务器架构( 即 oracle 实时应用集群) 中,数据库名和实例名是一对多

的关系。

查询当前数据库实例名

方法一:select instance_name from v$instance;

方法二:show parameter instance

方法三:在参数文件中查询。

数据库实例名与 ORACLE_SID 虽然两者都表是 oracle 实例,但两者是有区别的。

instance_name 是 oracle 数据库参数。而 ORACLE_SID 是操作系统的环境变量。

ORACLD_SID 用于与操作系统交互,也就是说,从操作系统的角度访问实例名,必须通过

ORACLE_SID。在 winnt 下,ORACLE_SID 还需存在于注册表中。且 ORACLE_SID 必须与

instance_name 的值一致,否则,你将会收到一个错误,在 unix 平台,是“ORACLE not

available”,在 winnt 平台,是 “TNS:协议适配器错误”。数据库实例名与网络连接数

据库实例名除了与操作系统交互外,还用于网络连接的 oracle 服务器标识。当你配置 oracle

主机连接串的时候,就需要指定实例名。当然 8i 以后版本的网络组件要求使用的是服务名

SERVICE_NAME。这个概念接下来说明。

9

3、数据库域名

什么是数据库域名?

在分布工数据库系统中,不同版本的数据库服务器之间,不论运行的操作系统是 unix 或是

windows,各服务器之间都可以通过数据库链路进行远程复制,数据库域名主要用于 oracle

分布式环境中的复制。举例说明

如:

全国交通运政系统的分布式数据库,其中:

福建节点: fj.jtyz

福建厦门节点: xm.fj.jtyz

江西: jx.jtyz

江西上饶:sr.jx.jtyz

这就是数据库域名。

数据库域名在存在于参数文件中,他的参数是 db_domain.

查询数据库域名

方法一:select value from v$parameter where name = ‘db_domain’;

方法二:show parameter domain

方法三:在参数文件中查询。

全局数据库名

全局数据库名=数据库名+ 数据库域名,如前述福建节点的全局数据库名是:oradb.fj.jtyz

4、数据库服务名

什么是数据库服务名?

从 oracle9i 版本开始,引入了一个新的参数,即数据库服务名。参数名是 SERVICE_NAME 。

如果数据库有域名,则数据库服务名就是全局数据库名;否则,数据库服务名与数据库名相同。

查询数据库服务名

方法一:select value from v$parameter where name = ‘service_name’;

方法二:show parameter service_name

方法三:在参数文件中查询。

数据库服务名与网络连接从 oracle8i 开如的 oracle 网络组件,数据库与客户端的连接主机

串使用

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐