代码改变世界

oracle 新建用户及用户配置文件

2012-06-01 09:32  java环境变量  阅读(868)  评论(0编辑  收藏  举报

-------------------------------------------------------------------------------
*******************************************************************************
准备部分:新建用户以及用户配置文件

*******************************************************************************
-------------------------------------------------------------------------------

1. 连接数据库:
sqlplus / as sysdba

 

2.显示连接的数据库名

SQL> show user
USER 为 "SYS"
SQL> set sqlprompt "_connect_identifier>"
orcl>

 

3.spool

SQL> spool e:\1.txt
SQL> select * from v$logfile;

    GROUP# STATUS  TYPE
---------- ------- -------
MEMBER
-----------------------------------------------------------------------------

IS_
---
         3 STALE   ONLINE
E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG
NO

         2 STALE   ONLINE
E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG
NO

    GROUP# STATUS  TYPE
---------- ------- -------
MEMBER
-----------------------------------------------------------------------------

IS_
---

         1         ONLINE
E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG
NO


SQL> spool out;
SQL> spool e:\1.txt append   --将内容附加到指定的文件中
SQL> archive log list;
数据库日志模式            存档模式
自动存档             启用
存档终点            e:\archive
最早的联机日志序列     3
下一个存档日志序列   5
当前日志序列           5
SQL> spool out;


--4.保存曾经使用过的语句

-- 4.1 保存单条使用过的语句

SQL> show user
USER 为 "SCOTT"
SQL> select * from emp;

     EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM
---------- ---------- --------- ---------- -------------- ---------- ----------
    DEPTNO
----------
      7369 SMITH      CLERK           7902 17-12月-80            800
        20

      7499 ALLEN      SALESMAN        7698 20-2月 -81           1600        300
        30

      7521 WARD       SALESMAN        7698 22-2月 -81           1250        500
        30


     EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM
---------- ---------- --------- ---------- -------------- ---------- ----------
    DEPTNO
----------
      7566 JONES      MANAGER         7839 02-4月 -81           2975
        20

      7654 MARTIN     SALESMAN        7698 28-9月 -81           1250       1400
        30

      7698 BLAKE      MANAGER         7839 01-5月 -81           2850
        30


     EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM
---------- ---------- --------- ---------- -------------- ---------- ----------
    DEPTNO
----------
      7782 CLARK      MANAGER         7839 09-6月 -81           2450
        10

      7788 SCOTT      ANALYST         7566 19-4月 -87           3000
        20

      7839 KING       PRESIDENT            17-11月-81           5000
        10


     EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM
---------- ---------- --------- ---------- -------------- ---------- ----------
    DEPTNO
----------
      7844 TURNER     SALESMAN        7698 08-9月 -81           1500          0
        30

      7876 ADAMS      CLERK           7788 23-5月 -87           1100
        20

      7900 JAMES      CLERK           7698 03-12月-81            950
        30


     EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM
---------- ---------- --------- ---------- -------------- ---------- ----------
    DEPTNO
----------
      7902 FORD       ANALYST         7566 03-12月-81           3000
        20

      7934 MILLER     CLERK           7782 23-1月 -82           1300
        10


已选择14行。

SQL> save e:\1.txt
已创建 file e:\1.txt
SQL>


-- 4.2 如果指定的文件已经存在,则可以选择附加内容或替换内容


---附加内容:
SQL> select username from user_users;

USERNAME
------------------------------
SCOTT

SQL> save e:\1.txt  append
已将 file 附加到 e:\1.txt

 

---替换内容:
SQL> select table_name from user_tables;

TABLE_NAME
------------------------------
DEPT
EMP
BONUS
SALGRADE

SQL> save e:\1.txt
SP2-0540: 文件 "e:\1.txt" 已经存在。
使用 "SAVE filename[.ext] REPLACE"。
SQL> save e:\1.txt replace
已写入 file e:\1.txt

 

 

 

 


5.用于登录的login.sql

/*

将内容保存到下面这个文件中:
E:\oracle\product\10.2.0\db_1\sqlplus\admin\glogin.sql

内容:

set sqlprompt "_connect_identifier>"

*/


C:\>sqlplus scott/tiger@orcl

SQL*Plus: Release 10.2.0.1.0 - Production on 星期五 11月 28 11:22:24 2008

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> set sqlprompt "_connect_identifier>"
orcl>show user
USER 为 "SCOTT"
orcl>conn scott/tiger@win
已连接。
win>show user
USER 为 "SCOTT"
win>

 

 

-------------------------------------------------------------------------------
*******************************************************************************
第一部分:新建用户以及用户配置文件

*******************************************************************************
-------------------------------------------------------------------------------

 


------- 一.新建用户

--新建用户01:密码认证
create user wind identified by password
default tablespace test
temporary tablespace temp
quota 100m on test;

 

--新建用户02:外部认证
--------------方法01:
在Windows操作系统中,需要修改注册表。

Oracle9i版本:
在HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0下面添加字符串键名OSAUTH_PREFIX_DOMAIN,键值设为FALSE。

Oracle10g版本:
在HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\KEY_OraDb10g_home1下面添加字符串键名OSAUTH_PREFIX_DOMAIN,键值设为FALSE。

然后再在SQL*PLUS中添加用户:

SQL> create user ops$kamus identified externally default tablespace users;
 
User created
 
SQL> grant connect to ops$kamus;
 
Grant succeeded.
 
SQL> conn /
Connected.
SQL> show user
USER is "OPS$KAMUS"

-----------------------方法02:

 

--第一步:修改初始化参数并且重新启动数据库
alter system set os_authent_prefix='' scope=spfile;

/*
/*
如果出现
ERROR 位于第 1 行:
ORA-32001: 已请求写入 SPFILE, 但是在启动时未指定 SPFILE
则:
create spfile from spfile;
重新启动数据库再次修改即可!
默认情况下oracle启动时是启动后台的services,即安装oracle的配置,
如果安装时设置不启用spfile则会报该错误!


SQL> startup
ORA-03113: 通信通道的文件结束
这个是后台的缓存设置的不是很合理!但是不影响我们的数据库的使用!
只需退出数据库然后重新连接即可!
*/

*/


--第二步:修改系统注册表
Oracle9i版本:
在HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0下面添加字符串键名OSAUTH_PREFIX_DOMAIN,键值设为FALSE。

Oracle10g版本:
在HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\KEY_OraDb10g_home1下面添加字符串键名OSAUTH_PREFIX_DOMAIN,键值设为FALSE。


--第三步:新建操作系统账户
net user snow password /add


--第四步:新建外部认证的用户

create user snow identified externally;

--第五步:验证
/*
由于windows系统可以使用帐户切换功能,不需要注销系统再次登录!
*/
C:\Documents and Settings\Administrator>runas /user:wind\wind "cmd"

 

 

 

--2.给用户授权让其登录
grant create session to wind;

/*
grant connect to snow identified by password;

*/

--3.授权让用户能在默认的表空间内新建对象
alter user wind
quota 100M ON users;

/*
如果让用户能够再所有表空间都能够操作对象则:
grant unlimited tablespace to wind;
*/

--4.更改用户的密码
--方法01:
alter user wind identified by accp;

--方法02:
SQL>password


--5.删除用户
drop user wind ;

/*如果用户下面有存在的对象则无法删除需要*/
drop user wind cascade;

 

--6.用户配置文件

--第一步:新建用户配置文件

create profile pr01
limit
connect_time 120
failed_login_attempts 3
password_lock_time 1
idle_time 60
sessions_per_user 2;

--第二步:新建用户
create user wind identified by password
default tablespace users
temporary tablespace temp
quota 100m on users
profile mi01;


--第三步:查看用户使用的默认配置文件名
select profile from dba_users where username='WIND';

 

--查看用户配置文件内容
select distinct resource_name, limit from dba_profiles where profile='PR01';  --pr01是用户配置文件名


---删除已经指定给用户的配置文件时需要使用关键字cascade
drop profile pr01 cascade;


--为用户指定默认用户配置文件
SQL> alter user wind profile pr01;