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:\oracle10g\database\pwdctcsys.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:\app\Administrator\mydatabase\BDQNS.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:\app\Administrator\oradata\orcl\test_temp01.dbf ' 
SIZE 32M
AUTOEXTEND ON 
NEXT 32M MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL;
 
创建用户表空间:
CREATE TABLESPACE test_data
LOGGING
DATAFILE 'D:\app\Administrator\oradata\orcl\TEST_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); 
                    
                
                
            
        
浙公网安备 33010602011771号