• oracle 基础(草稿)


    待整理资料

    1:cmd回车进入dos界面。输入sqlplus /nolog 进入sql>conn /as sysdba;

    2:登陆进来解锁系统用户 sql>alter user system account unlock;忘记密码 ALTER USER system IDENTIFIED BY "system";

    3:sql>conn system/system@active as sysdba;(SID:active对应的用户已被锁定)

    4:sql>解锁  修改密码等操作

    一、忘记除SYS、SYSTEM用户之外的用户的登录密码。
    用SYS (或SYSTEM)用户登录: CONN SYS/PASS_WORD AS SYSDBA;
    使用如下语句修改用户的密码: ALTER USER user_name IDENTIFIED BY "newpass";
    注意:密码不能全是数字。并且不能是数字开头。否则会出现:ORA-00988: 口令缺失或无效
    二、忘记SYS用户,或者是SYSTEM用户的密码。
    如果是忘记SYSTEM用户的密码,可以用SYS用户登录。然后用ALTER USER 命令修改密码:
    CONN SYS/PASS_WORD AS SYSDBA;
    ALTER USER SYSTEM IDENTIFIED BY "newpass";
    如果是忘记SYS用户的密码,可以用SYSTEM用户登录。然后用ALTER USER 命令修改密码。
    CONN SYSTEM/PASS_WORD ;
    ALTER USER SYSTEM IDENTIFIED BY "newpass";
    三、如果SYS,SYSTEM用户的密码都忘记或是丢失。
    可以使用ORAPWD.EXE 工具修改密码。
    开始菜单->运行->输入‘CMD’,打开命令提示符窗口,输入如下命令:
    orapwd file=D:oracle10gdatabasepwdctcsys.ora password=newpass
    这个命令重新生成了数据库的密码文件。密码文件的位置在ORACLE_HOME目录下的database目录下。
    这个密码是修改sys用户的密码。除sys其他用户的密码不会改变。
    不过Oracle提供了两种验证方式,一种是OS验证,另一种密码文件验证方式,如果是第一种方式用以下方法修改密码:
      sqlplus /nolog;
      connect / as sysdba
      alter user sys identified by ;
      alter user system identified by ;
      如果是第二种方法就用上述方式修改,也可以下方法修改密码:
      orapwd file=pwdxxx.ora password=你设定的新密码 entries=10
      设定完后,重新启动服务,再次登陆就可以了。
    oracle 11g
    在本机安装完Oracle以后,不记得sys用户的密码了,采用如下方法可以修改密码:
    1.打开cmd,输入sqlplus /nolog,回车;输入“conn / as sysdba”;输入“alter user sys identified by 新密码”,注意:新密码最好以字母开头,否则可能出现错误Ora-00988。有了这个方法后,只要自己对oracle服务器有管理员权限,不记得密码的时候就可以随意修改密码了。
    2.在命令行执行如下命令:sqlplus “/@服务名 as sysdba”,然后在sqlplus中alter user sys identified by 新密码;
    alter user system identified by 新密码;
    3.运行到C盘根目录
    1)输入:SET ORACLE_SID = 你的SID名称
    2)输入:sqlplus/nolog
    3)输入:connect/as sysdba
    4)输入:alert user sys identified by sys
    5)输入:alert user system identified by system
    6)更改完成,密码是Oracle数据库初始密码
    4.首先,在CMD下输入SQLPLUS/NOLOG然后再在出来的界面中打入CONN/AS SYSDBA,这样就会以本地系统登录的用户为信任用户进入数据库的操作.解决这个问题的方式有两种,一个是:ALTER USER (USERNAME) IDENTIFIED BY “密码”;这个是可以改变USERNAME的密码.当然这个USERNAME必须已经存在的
    另一种是:CREATE USER (USERNAME) IDENTIFIED BY “密码”;改变用户权限的命令是:GRANT ROLES TO (USERNAME);以上2种方法都是针对ORACLE 9I的版本 。
    5.用orapwd.exe命令,可以修改命令。
    orapwd file=’/oracle/pwdsid.ora’ password=123456这个命令是修改sys用户的密码。你把生成的文件覆盖原来的密码文件。除sys其他用户的密码不会改变。
    6.su - oracle
    sqlplus /nolog
    conn / as sysdba
    startup (如果数据库不是处于启动状态则启动)
    alter user sys identified by 123456
    然后就可以使用sys用户密码登陆了

    操作系统认证方式
    conn / as sysdba
    alter user sys identified by xxx

    CREATE TABLESPACE DIGITALIZE
    DATAFILE 'D:appAdministratormydatabaseBDQNS.DBF'
    size 300M
    autoextend on next 100M
    maxsize unlimited
    logging online permanent;


    alter user BDQNS account unlock;
    --创建用户
    CREATE USER BDQNS IDENTIFIED BY bdqns
    DEFAULT TABLESPACE DIGITALIZE


    --赋予权限
    Grant connect,resource,dba to BDQNS;


    --drop user bdqns cascade

    --drop TABLESPACE DIGITALIZE

    imp BDQNS/bdqns@ORCL file=D:/资料馆数据备份/dangan.dmp full=y

    imp BDQNS/bdqns@ORCL file=D:/app/管理系统数据库/BDQNS.dmp full=y ignore=y
    --导出表结构和数据
    exp BDQNS/bdqns@ORCL file=D:/app/管理系统数据库bak/BDQNS.dmp

    exp BDQNS/bdqns@active file=D:/databaseback/BDQNS.dmp
    exp BDQNS/bdqns@active file=D:/BDQNS20160926UpdateTable.dmp

    imp BDQNS/bdqns@ORCL file=E:/software/OneDrive/待整理资料/BDQNS.dmp full=y

    imp BDQNS/bdqns@ORCL file=D:/BDQNS.dmp full=y

    1 将数据库TEST完全导出,用户名system 密码manager 导出到D:/daochu.dmp中
    exp system/manager@TEST file=d:/daochu.dmp full=y
    2 将数据库中system用户与sys用户的表导出
    exp system/manager@TEST file=d:/daochu.dmp owner=(system,sys)
    3 将数据库中的表inner_notify、notify_staff_relat导出
    exp aichannel/aichannel@TESTDB2 file= d:/data/newsmgnt.dmp tables=(inner_notify,notify_staff_relat)
    4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
    exp system/manager@TEST file=d:/daochu.dmp tables=(table1) query=/" where filed1 like '00%'/"

    上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。
    也可以在上面命令后面 加上 compress=y 来实现。
    数据的导入
    1 将D:/daochu.dmp 中的数据导入 TEST数据库中。
    imp system/manager@TEST file=d:/daochu.dmp
    imp aichannel/aichannel@HUST full=y file=file= d:/data/newsmgnt.dmp ignore=y
    上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
    在后面加上 ignore=y 就可以了。
    2 将d:/daochu.dmp中的表table1 导入
    imp system/manager@TEST file=d:/daochu.dmp tables=(table1)

    基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。

    注意:
    操作者要有足够的权限,权限不够它会提示。
    数据库时可以连上的。可以用tnsping TEST 来获得数据库TEST能否连上。
    附录一:
    给用户增加导入数据权限的操作
    第一,启动sql*puls
    第二,以system/manager登陆
    第三,create user 用户名 IDENTIFIED BY 密码 (如果已经创建过用户,这步可以省略)
    第四,GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,
    DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,
    DBA,CONNECT,RESOURCE,CREATE SESSION TO 用户名字
    第五, 运行-cmd-进入dmp文件所在的目录,
    imp userid=system/manager full=y file=*.dmp
    或者 imp userid=system/manager full=y file=filename.dmp
    执行示例:
    F:/Work/Oracle_Data/backup>imp userid=test/test full=y file=inner_notify.dmp

    屏幕显示
    Import: Release 8.1.7.0.0 - Production on 星期四 2月 16 16:50:05 2006
    (c) Copyright 2000 Oracle Corporation. All rights reserved.
    连接到: Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
    With the Partitioning option
    JServer Release 8.1.7.0.0 - Production
    经由常规路径导出由EXPORT:V08.01.07创建的文件
    已经完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导入
    导出服务器使用UTF8 NCHAR 字符集 (可能的ncharset转换)
    . 正在将AICHANNEL的对象导入到 AICHANNEL
    . . 正在导入表 "INNER_NOTIFY" 4行被导入
    准备启用约束条件...
    成功终止导入,但出现警告。

    附录二:
    Oracle 不允许直接改变表的拥有者, 利用Export/Import可以达到这一目的.
    先建立import9.par,
    然后,使用时命令如下:imp parfile=/filepath/import9.par
    例 import9.par 内容如下:
    FROMUSER=TGPMS
    TOUSER=TGPMS2 (注:把表的拥有者由FROMUSER改为TOUSER,FROMUSER和TOUSER的用户可以不同)
    ROWS=Y
    INDEXES=Y
    GRANTS=Y
    CONSTRAINTS=Y
    BUFFER=409600
    file==/backup/ctgpc_20030623.dmp
    log==/backup/import_20030623.log

    CREATE TEMPORARY TABLESPACE test_temp
    TEMPFILE 'D:appAdministratororadataorcl est_temp01.dbf '
    SIZE 32M
    AUTOEXTEND ON
    NEXT 32M MAXSIZE 2048M
    EXTENT MANAGEMENT LOCAL;

    创建用户表空间:
    CREATE TABLESPACE test_data
    LOGGING
    DATAFILE 'D:appAdministratororadataorclTEST_DATA01.DBF'
    SIZE 32M www.2cto.com
    AUTOEXTEND ON
    NEXT 32M MAXSIZE 2048M
    EXTENT MANAGEMENT LOCAL;

    ------------------------------------------

    添加用户(随着用户的创建,自动产生与用户同名的schema)
    CREATE USER "TESTER" PROFILE "DEFAULT" IDENTIFIED BY "TESTER" DEFAULT TABLESPACE "TESTDATA" TEMPORARY TABLESPACE "TESTTEMP" ACCOUNT UNLOCK;
    赋权(说实话,这些权限是开发中使用的权限,如果用户生产环境,请自行对于用户创建相应的系统权限)
    据说生产环境下,只是connect resource这样的角色就可以了。
    GRANT "CONNECT" TO "TESTER";
    GRANT "RESOURCE" TO "TESTER";
    GRANT "DBA" TO "TESTER";
    GRANT "EXP_FULL_DATABASE" TO "TESTER";
    GRANT "IMP_FULL_DATABASE" TO "TESTER";
    删除用户:例如创建了一个用户 A,要删除它可以这样做
    connect sys/密码 as sysdba;
    drop user A cascade;//就这样用户就被删除了
    用户修改密码,解锁
    ALTER USER "SCOTT" IDENTIFIED BY "*******"
    ALTER USER "SCOTT" ACCOUNT UNLOCK
    1.查看所有用户:
    select * from dba_user;
    select * from all_users;
    select * from user_users;
    2.查看用户系统权限:
    select * from dba_sys_privs;
    select * from all_sys_privs;
    select * from user_sys_privs;
    3.查看用户对象权限:
    select * from dba_tab_privs;
    select * from all_tab_privs;
    select * from user_tab_privs;
    4.查看所有角色:
    select * from dba_roles;
    5.查看用户所拥有的角色:
    select * from dba_role_privs;
    select * from user_role_privs;
    Oracle中新建用户名
    连接ORACLE数据库:
    1、在Oracle Database Assistant中建立自己的数据库;
    2、在Oracle Net8 Easy config中建立连接与自己的数据库的连接,取一个service名,IP:为本地IP 127.0.0.1,database sid为你所建立的
    数据库的SID,用户名为:system,密码:manager或是自己设的密码;
    3、在SQLPLUS中连接自己的数据库,用户名为:system,密码:manager或是自己设的密码,tom:你刚建立的service名.
    4、显示当前连接用户:show user;
    5、新建用户并授权:sql>create user tom identified by 密码;
    sql> grant connect,resource to tom;//授权
    注:授权还有:create any procedure,select any dictionary(登陆oem需要),select any table等.
    6、在sqlplus中用刚建立的用户:tom/密码,连接;
    7、建立表空间。
    数据库的初始化参数文件:init+实例名.ora文件,编辑此文件中的内容,可以改变数据库使用的方法和分配的资源.
    启动ORACLE数据库,在DOS方式下运行svrmgr30,然后输入connect internal,密码为:oracle,再输入startup即可.
    表空间的建立:storage manager
    回滚段可在storage manager中建立
    启动oracle数据库
    在DOS窗口下,输入svrmgr30,启动服务器管理器,输入connect internal,输入密码oracle,输入shutdown,关闭数据库,输入startup,启动数据库.
    1. Oracle安装完成后的初始口令?10g以后安装的时候选高级,密码都可以自己设置,呵呵,scott/tiger是不变的。
       internal/oracle
       sys/change_on_install
       system/manager
       scott/tiger
       sysman/oem_temp
    建立表空间
    create tablespace test1 datafile 'd:tabletest1.dbf' size 1M;
    创建名为wjq的用户,其缺省表空间为test1。在SQL*PLUS以SYS用户连接数据库,运行以下脚本。
    create user wjq identified by password default tablespace test1;
    以用户wjq连接sqlplus
    建立表:CREATE TABLE t1(empno NUMBER(5) PRIMARY KEY, ename VARCHAR2(15) NOT NULL, job VARCHAR2(10), mgr NUMBER(5),hiredate
    DATE DEFAULT (sysdate), sal NUMBER(7,2), comm NUMBER(7,2));
    建立表T2并指定此表的表空间为test1:CREATE TABLE t2(empno NUMBER(5) PRIMARY KEY,ename VARCHAR2(15) NOT NULL,
    job VARCHAR2(10),mgr NUMBER(5),hiredate DATE DEFAULT (sysdate),sal NUMBER(7,2),comm NUMBER(7,2)) TABLESPACE test1;
    插入记录:insert into t1 values(101,'wang','it',25,'',20,20); 

  • 相关阅读:
    一种复杂的情感--“外戚”
    追~
    神受的孩子
    不好的习惯
    思杨改编的朝代歌
    siyang入厕
    小思趣事
    今天周三啦~~时光啊
    Python(6)——装饰器
    Python(5)——关于描述符的三种操作方法
  • 原文地址:https://www.cnblogs.com/JGSY/p/6838308.html
Copyright © 2020-2023  润新知