zoukankan      html  css  js  c++  java
  • Oracle创建表空间、用户名、密码步骤教程

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

    cmd 进入命令行

    登录方式一:

    C:Documents and SettingsAdministrator>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 SettingsAdministrator>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 SettingsAdministrator>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 SettingsAdministrator>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 SettingsAdministrator>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:Javaworkoracle10gproductdoradataorcl b_nanc.dbf'

    size 50M

    autoextend on next 50m maxsize 2048m

    extent management local;

    创建表空间 名为:tb_nanc,

    存放文件地址为 C:Javaworkoracle10gproductdoradataorcl

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

    2、创建临时表空间

    create temporary tablespace tb_nanc_temp

    tempfile

    'C:Javaworkoracle10gproductdoradataorcl b_nanc_temp.dbf'

    size 32m

    autoextend on next 32m maxsize 1024m

    extent management local;

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

    存放文件地址为 C:Javaworkoracle10gproductdoradataorcl

    临时表空间大小为 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: ancheshenyang b_nanc2010-05-29.DMP log=d:logte%.log

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

    户 file=d: est.dmp

    如果全点就是,

    IMP hr/hr BUFFER=64000 full=y FILE=D: zgncehr.dmp

    2、导出数据库

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

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

    6

    【其中 orc_nanc 是自己给起的服务名,即 etworkadmin nsnames.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 网络组件,数据库与客户端的连接主机

    串使用

  • 相关阅读:
    同台电脑 多Git账号同时使用
    netty对http协议解析原理解析(转载)
    Netty 线程模型与Reactor 模式
    增量/存量数据按时间维度分组
    网易技术分享:Nginx缓存引发的跨域惨案
    全面剖析Redis Cluster原理和应用
    聊聊阿里社招面试,谈谈“野生”Java程序员学习的道路
    美团点评基于 Flink 的实时数仓建设实践
    美团技术分享:大众点评App的短视频耗电量优化实战
    美团技术分享:美团深度学习系统的工程实践
  • 原文地址:https://www.cnblogs.com/dream2060/p/10545819.html
Copyright © 2011-2022 走看看