Oracle基本操作(登陆、用户、表空间、exp/imp、权限)

Oracle基本操作(登陆、用户、表空间、exp/imp、权限)

1. 登陆 (在windows上CMD下执行)

1.1. 登陆sys帐户

SQLPLUS sys AS SYSDBA

    1.2. 登陆普通用户

    SQLPLUS 用户名/密码
    SQLPLUS 用户名/密码@111.111.111.111:1521/test
    

      2. 创建用户一般分为四步

      2.1. 创建临时表空间

      CREATE TEMPORARY TABLESPACE --表示创建的是临时表空间
      	SYNCHROMOBILE_TEMP --表空间名称
      	TEMPFILE 'D:\ORACLE\ORADATA\ORCL\SYNCHROMOBILE_TEMP.DBF' --表空间文件(以下简称“文件”)存放位置
      	SIZE 50M --文件的初始大小
      	AUTOEXTEND ON --文件大小是否自动扩展(NO:是)
      	NEXT 50M --文件每次扩展大小
      	MAXSIZE 500M --文件大小上限
      	EXTENT MANAGEMENT LOCAL; --分区分配方案
      

        注释:创建用户之前要先创建临时表空间,若不创建则默认的临时表空间为TEMP,Oracle下路径格式–\home\app\oracle\oradata\ORCL\CEPSP.DBF。

        2.2. 创建(数据)表空间

        CREATE TABLESPACE --表示创建正式表空间
        	SYNCHROMOBILE 
        	DATAFILE 'D:\ORACLE\ORADATA\ORCL\SYNCHROMOBILE.DBF' 
        	SIZE 50M 
        	AUTOEXTEND ON 
        	NEXT 50M 
        	MAXSIZE 500M 
        	EXTENT MANAGEMENT LOCAL;
        

          注释:创建用户之前要先创建数据表空间,若不创建则默认的数据表空间是system

          2.3. 创建用户并指定表空间

          CREATE USER synchromobile --用户名
          	IDENTIFIED BY synchromobile --密码
          	ACCOUNT UNLOCK --解锁用户
          	DEFAULT TABLESPACE SYNCHROMOBILE --指定默认表空间
          	TEMPORARY TABLESPACE SYNCHROMOBILE_TEMP; --指定临时表空间
          

            2.4. 给用户授予权限

            GRANT CONNECT,RESOURCE TO synchromobile;
            

              3. 用户相关操作

              3.1. 查找所有用户名

              SELECT USER * FROM DBA_USERS;
              

                3.2. 修改密码

                ALTER USER 用户名 IDENTIFIED BY 新密码;
                

                  3.3. 撤销权限

                  REVOKE CONNECT, RESOURCE FROM 用户名;
                  

                    3.4. 删除用户

                    DROP USER synchromobile CASCADE;
                    

                      注释:CASCADE表示级联关系也删除掉。

                      4. 表空间相关操作

                      4.1. 查找所有表空间路径

                      SELECT * FROM DBA_DATA_FILES;
                      

                        4.2. 删除表空间,CASCADE CONSTRAINT表示级联关系也删除掉

                        DROP TABLESPACE SYNCHROMOBILE INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINT;
                        

                          5. 使用exp/imp命令导入/导出dmp文件

                          5.1. exp命令 (windows上在CMD下执行)

                          a. 将用户表导出到指定路径 D 盘

                          exp 用户名/密码@ORCL file=d:\testdata.dmp full=y
                          exp 用户名/密码@111.111.111.111:1521/ORCL file=d:\testdata.dmp full=y
                          

                            b. 将用户systemsys用户的表导出到指定路径 D 盘

                            exp system/password@ORCL file=d:\testdata.dmp owner=(system,sys)
                            

                              c. 将用户中的表 table_A、table_B 导出到指定路径 D 盘

                              exp 用户名/密码@ORCL file=d:\testdata.dmp tables=(table_A,table_B)
                              

                                d. 将用户中的表 table1 中的字段 filed1 以"00"打头的数据导出

                                exp 用户名/密码@ORCL filed=d:\testdata.dmp tables=(table1) query=/" where filed1 like '00%'/"
                                

                                  注释:对于压缩可以用winzip进行压缩,也可以在上面命令后面加上compress=y来实现。

                                  5.2. imp命令 (windows上在CMD下执行)

                                  a. 将 d:/testdata.dmp 中的数据导入数据库中

                                  imp 用户名/密码@ORCL full=y file=d:\testdata.dmp
                                  imp system/system@111.111.111.111:1521/ORCL full=y file=d:\testdata.dmp
                                  

                                    b. 将 d:\testdata.dmp 中的表table1 导入

                                    imp 用户名/密码@ORCL file=d:\testdata.dmp tables=(table1)
                                    imp system/system@111.111.111.111:1521/ORCL file=d:\testdata.dmp tables=(table1)
                                    

                                      c. 将其他用户的数据导入当前用户

                                      imp 用户名/密码 file=d:\testdata.dmp fromuser=user1
                                      imp username/password file=d:\testdata.dmp fromuser=(user1,user2)
                                      

                                        d. 将其他用户的数据导入到指定用户

                                        imp tomcepsp/tomcepsp@ORCL file=d:\Data\jxjy20180522.dmp fromuser=jxjy touser=tomcepsp
                                        imp tomcepsp/tomcepsp file=d:\Data\jxjy20180522.dmp fromuser=(user1,user2) touser=(user3,user4)
                                        imp system/system@111.111.111.111:1521/testSid file=d:\20180530.dmp fromuser=test1 touser=test2
                                        

                                          注释:以上命令如果出现问题,假设有的表已存在,对该表可以不进行导入,后面添加ignore=y

                                          6.cmd下执行sql文件

                                          a.未登陆

                                          sqlplus system/system@111.111.111.111:1521/testSid @D:\sql\test.sql
                                          

                                            b.已登陆

                                            @D:\sql\test.sql
                                            

                                              7.强制删除正在连接的Oracle用户

                                              a.查看所有用户的会话信息

                                              select sid,serial#,username from v$session;
                                              

                                                b.查看某一个指定用户的会话信息

                                                select  sid,serial# from v$session where username='TEST';
                                                

                                                  c. 执行Kill命令

                                                  alter system kill session '73, 1288';
                                                  

                                                    d.删除用户

                                                    drop user TEST cascade;
                                                    

                                                      权限分类

                                                      DBA:拥有全部特权,是系统最高权限,只有 DBA 才可以创建数据库结构;
                                                      CONNECT:拥有 CONNECT 权限的用户只可以登录 Oracle ,不可以创建实体,不可以创建数据库结构;
                                                      RESOURCE:拥有RESOURCE权限的用户只可以创建实体,不可以创建数据库结构;
                                                      系统权限只能由DBA用户授出:sys, system(最开始只能是这两个用户);
                                                      对于普通用户:授予 CONNECT , RESOURCE 权限;
                                                      对于DBA管理用户:授予 CONNECT,RESOURCE,DBA 权限。
                                                      
                                                        /ul>
                                                      posted @ 2022-06-04 22:55  yclizq  阅读(847)  评论(0编辑  收藏  举报