创建Oracle密码文件的命令
oracle密码文件文件

oracle密码⽂件⽂件密码⽂件作⽤:密码⽂件⽤于dba⽤户的登录认证。
dba⽤户:具备sysdba和sysoper权限的⽤户,即oracle的sys和system⽤户。
本地登录:1)操作系统认证:[oracle@localhost ~]$ sqlplus "/as sysdba"[oracle@localhost ~]$ sqlplus / as sysdba[oracle@localhost ~]$ sqlplus sys/tiger as sysdba2)密码⽂件认证:[oracle@localhost ~]$ sqlplus sys/tiger@rezin as sysdba远程密码⽂件登录:[oracle@localhost ~]$ sqlplus sys/tiger@192.168.96.141:1521/orcl as sysdba密码⽂件位置:linux/unix:[oracle@localhost ~]$ ls $ORACLE_HOME/dbs/orapw$ORACLE_SID/u01/oracle/10g/dbs/orapworcl/u01/oracle/10g/dbs/orapwrezinwindows:$ORACLE_HOME/oradate/orapw$ORACLE_SID密码⽂件查找顺序:1)opapw<sid>2)orapw以上两个都查找不到,验证失败。
密码⽂件认证还是OS认证:1)参数⽂件:remote_login_passwordfile=none|exclusive|sharednone:不使⽤密码⽂件认证exclusive:使⽤密码⽂件认证,⾃⼰独占使⽤(默认)shared:使⽤密码⽂件认证,不同实例dba⽤户可以共享密码⽂件(asm下必须使⽤)2)$ORACLE_HOME/network/admin/sqlnet.ora⽂件下:SQLNET.AUTHENTICATION_SERVICES =none|all|nts(linux下默认没有设置)none:关闭OS认证,只能密码⽂件认证all:linux平台关闭本机密码⽂件认证,采⽤操作系统认证,但是远程(异机)可以密码⽂件认证 nts:windows下使⽤(桶linux下all)练习:1)配置:remote_login_passwordfile=exclusiveSQLNET.AUTHENTICATION_SERVICES =none结果:可以密码⽂件认证(本地/远超),不可以操作系统认证SQL*Plus: Release 10.2.0.1.0 - Production on Sat Mar 14 19:00:39 2015 Copyright (c) 1982, 2005, Oracle. All rights reserved.:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining optionsSQL> exitOracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining options ??[oracle@localhost ~]$ sqlplus / as sysdba(OS认证)SQL*Plus: Release 10.2.0.1.0 - Production on Sat Mar 14 19:00:51 2015 Copyright (c) 1982, 2005, Oracle. All rights reserved.ERROR:ORA-01031: insufficient privilegesEnter user-name:或[oracle@localhost ~]$ sqlplus "/as sysdba"(OS认证)SQL*Plus: Release 10.2.0.1.0 - Production on Sat Mar 14 19:01:04 2015 Copyright (c) 1982, 2005, Oracle. All rights reserved.ERROR:ORA-01031: insufficient privilegesEnter user-name:2)配置:remote_login_passwordfile=exclusiveSQLNET.AUTHENTICATION_SERVICES =all结果:本机密码⽂件认证不可⽤,但是远程密码⽂件认证可⽤,本机OS认证可⽤[oracle@localhost ~]$ sqlplus "/as sysdba"(本机OS认证登录成功)SQL*Plus: Release 10.2.0.1.0 - Production on Sat Mar 14 19:45:35 2015 Copyright (c) 1982, 2005, Oracle. All rights reserved.Connected to:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining options[oracle@localhost ~]$ sqlplus sys/tiger@orcl as sysdba(本机密码⽂件认证失败)SQL*Plus: Release 10.2.0.1.0 - Production on Sat Mar 14 19:46:52 2015 Copyright (c) 1982, 2005, Oracle. All rights reserved.ERROR:ORA-12641: Authentication service failed to initializeEnter user-name:连接到:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining optionsSQL>[oracle@localhost ~]$ sqlplus scott/tiger(普通⽤户本地OS登录成功)SQL*Plus: Release 10.2.0.1.0 - Production on Sat Mar 14 20:01:57 2015Copyright (c) 1982, 2005, Oracle. All rights reserved.Connected to:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining optionsSQL>[oracle@localhost ~]$ sqlplus scott/tiger@orcl(登录失败)[oracle@localhost ~]$ sqlplus scott/t (登录失败)SQL*Plus: Release 10.2.0.1.0 - Production on Sat Mar 14 20:02:52 2015Copyright (c) 1982, 2005, Oracle. All rights reserved.ERROR:ORA-12641: Authentication service failed to initializeEnter user-name:密码⽂件管理:密码⽂件建⽴:orapwd命令⽤法(不建议使⽤)[oracle@localhost ~]$ orapwdUsage: orapwd file=<fname> password=<password> entries=<users> force=<y/n>wherefile - name of password file (mand), -->创建密码⽂件名字:orapw<sid>password - password for SYS (mand), -->sys⽤户密码entries - maximum number of distinct DBA and -->可以有多少个sysdba和sysoper⽤户可以放到密码⽂件⾥边去(采⽤⼆进制⽅式,即输⼊1表⽰最少存放4个,去除重复的)force - whether to overwrite existing file (opt), -->oracle 10g后新加的参数,⽤法:force=n或force=y,表⽰密码⽂件存在是否覆盖,10g之前只能删除原有的密码⽂件,再创建。
oracle orapwd命令使用说明

oracle orapwd命令使用说明Oracle orapwd命令使用说明介绍本文将为您详细介绍Oracle数据库中orapwd命令的使用说明。
orapwd命令是Oracle数据库管理工具中的一部分,用于管理数据库的密码文件。
安装orapwd命令已经包含在Oracle数据库的安装文件中,无需额外安装。
创建密码文件要创建密码文件,可以使用以下命令:orapwd file=<password_file> password=<password> ent ries=<number_of_entries>参数说明: - file:指定要创建的密码文件的路径和文件名。
- password:指定密码文件的密码。
- entries:指定密码文件可以存储的最大密码数。
修改密码文件密码如果需要修改密码文件的密码,可以使用以下命令:orapwd file=<password_file> password=<new_password>参数说明: - file:指定要修改密码的文件的路径和文件名。
- password:指定新的密码。
删除密码文件要删除密码文件,可以使用以下命令:orapwd file=<password_file> delete参数说明: - file:指定要删除密码的文件的路径和文件名。
查询密码文件信息要查询密码文件的信息,可以使用以下命令:orapwd file=<password_file> display参数说明: - file:指定要查询密码的文件的路径和文件名。
总结通过本文,我们了解了orapwd命令的基本使用方法,包括如何创建、修改和删除密码文件,以及如何查询密码文件信息。
熟练掌握这些知识,将有助于有效管理Oracle数据库的密码。
注意事项在使用orapwd命令时,需要注意以下几点:1.谨慎操作:orapwd命令可以更改数据库中的密码文件,因此在使用命令前,请确保您具有足够的权限,并且仔细核对命令参数,以免造成不必要的损失或安全风险。
常用oracle数据库命令

常用oracle数据库命令
1. 启动Oracle数据库
$ sqlplus /nolog
SQL> connect / as sysdba
SQL> startup
3. 创建表空间
创建表空间的命令是:
SQL> create tablespace 表空间名 datafile '路径名' size 大小;
6. 创建用户
7. 删除用户
删除用户的命令是:
8. 授权用户
SQL> grant 权限 to 用户名;
9. 撤销用户的权限
11. 查看表结构
查看表结构的命令是:
SQL> desc 表名;
SQL> create table 表名 (列名数据类型, 列名数据类型, …);
13. 删除表
14. 插入数据
插入数据的命令是:
SQL> update 表名 set 列名=新值 where 某条件;
18. 创建索引
20. 查看索引
21. 查询相关信息
查询相关信息的命令是:
SQL> select * from v$session; -- 查看会话 22. 查看数据库版本
24. 备份数据库
$ exp 用户名/密码 file=备份文件路径备注:以上命令均需要在Oracle登录后进行。
Createdatabase创建数据库

Createdatabase创建数据库⾸先在ORACLE⽤户下进⼊.bash_profile⽂件[oracle@linux02 ~]$ vi .bash_profileexport ORACLE_SID=hldbexport ORACLE_UNQNAME=hldb将ORACLE_SID和ORACLE_UNQNAME修改为新的数据库名字[oracle@linux02 ~]$ source .bash_profile刷新⽂件----------------------------------------------------------------------------------------------------------进⼊/u01/app/oracle/oradata⽬录下[oracle@linux02 oradata]$ cd /u01/app/oracle/oradata[oracle@linux02 oradata]$ pwd/u01/app/oracle/oradata新建⼀个⽂件夹[oracle@linux02 oradata]$ mkdir hldb进⼊$ORACLE_HOME/dbs[oracle@linux02 ~]$ cd $ORACLE_HOME/dbs创建密码⽂件[oracle@linux02 dbs]$ orapwd file=orapwhldb password=oracle建⽴⼀个新的参数⽂件并写⼊相关信息[oracle@linux02 dbs]$ vi inithldb.oraDB_NAME='hldb'CONTROL_FILES='/u01/app/oracle/oradata/hldb/control01.ctl'MEMORY_TARGET=900M---------------------------------------------------------------------------以SYS⾝份启动sqlplus[oracle@linux02 dbs]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.3.0 Production on Mon Apr 23 10:03:27 2018Copyright (c) 1982, 2011, Oracle. All rights reserved.Connected to an idle instance.创建spfile⽂件SQL> create spfile from pfile;File created.启动实例,不加载数据库SQL> startup nomount;ORACLE instance started.Total System Global Area 939495424 bytesFixed Size 2233960 bytesVariable Size 545261976 bytesDatabase Buffers 385875968 bytesRedo Buffers 6123520 bytes将以下参数复制进去CREATE DATABASE hldbUSER SYS IDENTIFIED BY oracleUSER SYSTEM IDENTIFIED BY oracleLOGFILE GROUP 1 ('/u01/app/oracle/oradata/hldb/redo01.log') SIZE 100M BLOCKSIZE 512, GROUP 2 ('/u01/app/oracle/oradata/hldb/redo02.log') SIZE 100M BLOCKSIZE 512,GROUP 3 ('/u01/app/oracle/oradata/hldb/redo03.log') SIZE 100M BLOCKSIZE 512 MAXLOGFILES 5MAXLOGMEMBERS 5MAXLOGHISTORY 1MAXDATAFILES 100CHARACTER SET AL32UTF8NATIONAL CHARACTER SET AL16UTF16EXTENT MANAGEMENT LOCALDATAFILE '/u01/app/oracle/oradata/hldb/system01.dbf' SIZE 325M REUSESYSAUX DATAFILE '/u01/app/oracle/oradata/hldb/sysaux01.dbf' SIZE 325M REUSE DEFAULT TABLESPACE usersDATAFILE '/u01/app/oracle/oradata/hldb/users01.dbf'SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITEDDEFAULT TEMPORARY TABLESPACE tempts1TEMPFILE '/u01/app/oracle/oradata/hldb/temp01.dbf'SIZE 20M REUSEUNDO TABLESPACE undotbsDATAFILE '/u01/app/oracle/oradata/hldb/undotbs01.dbf'SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;-------------------------------------------------------------------------------------------------数据库⽂件逐⼀创建SQL> CREATE DATABASE hldb2 USER SYS IDENTIFIED BY oracle3 USER SYSTEM IDENTIFIED BY oracle4 LOGFILE GROUP 1 ('/u01/app/oracle/oradata/hldb/redo01.log') SIZE 100M BLOCKSIZE 512,5 GROUP 2 ('/u01/app/oracle/oradata/hldb/redo02.log') SIZE 100M BLOCKSIZE 512,6 GROUP 3 ('/u01/app/oracle/oradata/hldb/redo03.log') SIZE 100M BLOCKSIZE 5127 MAXLOGFILES 58 MAXLOGMEMBERS 59 MAXLOGHISTORY 110 MAXDATAFILES 10011 CHARACTER SET AL32UTF812 NATIONAL CHARACTER SET AL16UTF1613 EXTENT MANAGEMENT LOCAL14 DATAFILE '/u01/app/oracle/oradata/hldb/system01.dbf' SIZE 325M REUSE15 SYSAUX DATAFILE '/u01/app/oracle/oradata/hldb/sysaux01.dbf' SIZE 325M REUSE16 DEFAULT TABLESPACE users17 DATAFILE '/u01/app/oracle/oradata/hldb/users01.dbf'18 SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED19 DEFAULT TEMPORARY TABLESPACE tempts120 TEMPFILE '/u01/app/oracle/oradata/hldb/temp01.dbf'21 SIZE 20M REUSE22 UNDO TABLESPACE undotbs23 DATAFILE '/u01/app/oracle/oradata/hldb/undotbs01.dbf'24 SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;Database created.-------------------------------------------------------------------------------------------------In SQL*Plus, connect to your Oracle Database instance with the SYSDBA administrative privilege: [oracle@linux02 ~]$ sqlplus / as sysdba分别执⾏以下命令@?/rdbms/admin/catalog.sql@?/rdbms/admin/catproc.sql@?/rdbms/admin/utlrp.sqlIn SQL*Plus, connect to your Oracle Database instance as SYSTEM user:[oracle@linux02 ~]$ sqlplus system/oracle@?/sqlplus/admin/pupbld.sql--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------export ORACLE_SID=VDEDU 在本会话框⾥切成VDEDU这个数据库select instance_name from v$instance;查询当前数据库实例的名字shutdown immediate;关闭数据库。
linux服务器oracle创建实例

linux服务器oracle创建实例在Linux服务器上创建Oracle实例是一个关键的步骤,它需要一些独特的步骤和配置。
下面将介绍如何在Linux服务器上创建Oracle 实例的过程。
确保已经正确安装了Oracle数据库软件。
如果还没有安装,请根据官方文档进行安装。
安装完成后,打开终端并以root用户身份登录。
我们需要创建一个新的Oracle用户。
我们可以使用以下命令创建一个名为"oracle"的用户:```useradd -m -d /home/oracle -s /bin/bash oracle```接下来,我们需要切换到oracle用户并设置密码:```su - oraclepasswd oracle```然后,我们需要编辑oracle用户的.bash_profile文件,以配置Oracle环境变量。
使用以下命令打开.bash_profile文件:```vi ~/.bash_profile```在文件的末尾添加以下内容:```export ORACLE_HOME=/opt/oracle/product/12.1.0/dbhome_1 export PATH=$ORACLE_HOME/bin:$PATHexport LD_LIBRARY_PATH=$ORACLE_HOME/libexport ORACLE_SID=orcl```保存并关闭文件。
执行以下命令以使配置生效:```source ~/.bash_profile```接下来,我们需要创建一个新的Oracle实例。
使用以下命令打开Oracle实例创建向导:```dbca```在向导中,选择"创建数据库"选项,并按照向导的指示完成配置。
确保输入正确的数据库名称、SID、字符集和存储位置等信息。
完成配置后,向导将开始创建Oracle实例。
这个过程可能需要一些时间,具体取决于你的系统性能和数据库大小。
Linux下安装oracle12C数据库,附带问题解决方法

Linux安装Oracle12c1.1.配置核心参数1、修改用户的SHELL的限制,修改/etc/security/limits.conf文件命令:vi/etc/security/limits.conf,添加下列文件如图:编辑完成后按Esc键,输入“:wq”存盘退出。
2、修改/etc/pam.d/login文件输入命令:vi/etc/pam.d/login,添加下列文件如图:编辑完成后按Esc键,输入“:wq”存盘退出。
3、通过修改/etc/sysctl.conf文件,修改linux内核命令:vi /etc/sysctl.conf,添加下列内容如图:编辑完成后按Esc键,输入“:wq”存盘退出。
将更改的内容生效激活:sysctl-p,显示结果如下图4、编辑文件/etc/profile,命令:vi /etc/profile,添加下列内容编辑完成后按Esc键,输入“:wq”存盘退出。
5、创建相关用户和组,作为软件安装和支持组的拥有者。
(1)、创建用户组,命令如下:groupadd oinstallgroupadd dbagroupadd oper如图:(2)创建Oracle用户和密码,命令如下:useradd -g oinstall -G dba,oper -m oraclepasswd oracle然后会让你输入密码,密码任意输入2次,但必须保持一致,回车确认。
如图:6、创建数据库软件目录和数据文件存放目录,目录的位置,根据自己的情况来定,注意磁盘空间即可,示例命令如下:mkdir /datamkdir /data/oraclemkdir /data/oracle/appmkdir /data/oracle/app/oraclemkdir /data/oracle/app/oradatamkdir /data/oracle/app/oracle/productmkdir /data/oracle/app/oracle/oralnventory7、更改目录属主为Oracle用户所有,输入命令:chown -R oracle:oinstall /data/oracle/app8、配置oracle用户的环境变量(1)切换oracle用户命令:su– oracle编辑文件.bash_profile,命令:vi .bash_profile添加内容如下:编辑完成后按Esc键,输入“:wq”存盘退出。
ORACLECMD命令(最全的)

启动Orac le,在c md模式下依次启动:netstart orac leser vice服务名l snrct l sta rt 启动监听程序关闭服务为:ls nrctl stopnetstoporacl eserv iceDa ta1. Or acle安装完成后的初始口令?inte rnal/oracl esys/chan ge_on_inst alls ystem/mana gers cott/tigersysm an/oe m_tem p2. ORAC LE9IA S WEB CACH E的初始默认用户和密码?ad minis trato r/adm inist rator3.oracl e 8.0.5怎么创建数据库?用ora inst。
如果有mo tif界面,可以用o rains t /m4. o racle 8.1.7怎么创建数据库?dbass ist5. or acle9i 怎么创建数据库?dbc a6. orac le中的裸设备指的是什么?裸设备就是绕过文件系统直接访问的储存空间7. o racle如何区分64-bi t/32b it 版本$ sqlp lus '/ ASSYSDB A'S QL*Pl us: R eleas e 9.0.1.0.0 - P roduc tionon Mo n Jul 14 17:01:09 2003 (c) Co pyrig ht 2001 Or acleCorpo ratio n. Al l rig hts r eserv ed. Conne ctedto: Oracl e9i E nterp riseEditi on Re lease 9.0.1.0.0 - Pr oduct ion Withthe P artit ionin g opt ion JServ er Re lease 9.0.1.0.0 - Pr oduct ion SQL>selec t * f rom v$vers ion;BANN ER---------------------------------------------------------------- Oracl e9i E nterp riseEditi on Re lease 9.0.1.0.0 - Pr oduct ion PL/SQ L Rel ease9.0.1.0.0- Pro ducti onC ORE 9.0.1.0.0 P roduc tionTNSfor S olari s: Ve rsion 9.0.1.0.0 - Pr oduct ion NLSRT L Ver sion9.0.1.0.0- Pro ducti onS QL>8. SV RMGR什么意思?svrmg rl,Se rverManag er. 9i下没有,已经改为用SQLP LUS了sqlp lus /nolog变为归档日志型的9.请问如何分辨某个用户是从哪台机器登陆OR ACLE的?SEL ECT m achin e , t ermin al FR OM V$SESSI ON;10. 用什么语句查询字段呢?desc tabl e_nam e 可以查询表的结构sel ect f ield_name,... f rom ... 可以查询字段的值sel ect * from all_table s whe re ta ble_n ame l ike '%'s elect * fr om al l_tab_colu mns w heretable_name='??'11.怎样得到触发器、过程、函数的创建脚本?desc user_sour ceus er_tr igger s12. 怎样计算一个表占用的空间的大小?selec t own er,ta ble_n ame,NUM_ROWS,BLO CKS*A AA/1024/1024 "S ize M",E MPTY_BLOCK S,L AST_A NALYZ EDf rom d ba_ta bleswher e tab le_na me='X XX';Her e: AA A isthe v alueof db_bloc k_siz e ; XXX i s the tabl e nam e you want to c heck13.如何查看最大会话数?SELE CT *FROMV$PAR AMETE R WHE RE NA ME LI KE 'p roc%'; SQL>SQ L> sh ow pa ramet er pr ocess esNAMETYPEVALUE------------------------------------ ------- ------------------------------a q_tm_proce ssesinteg er 1db_w riter_proc esses inte ger 1job_queu e_pro cesse s int eger4lo g_arc hive_max_p roces ses i ntege r 1 proce ssesinteg er 200这里为200个用户。
ORACLE CMD命令(最全的)

SQL*Plus: Release 9.0.1.0.0 - Production on Mon Jul 14 17:01:09 2003
(c) Copyright 2001 Oracle Corporation. All rights reserved.
su -root
date -u 08010000
21. 在ORACLE TABLE中如何抓取MEMO类型字段为空的数据记录?
select remark from om39; from remark) is not null ;
22. 如何用BBB表的数据去更新AAA表的数据(有关联的字段)
sum(nvl(a.bytes,0)) 剩余空间,
sum(nvl(a.bytes,0))/(b.bytes)*100 剩余百分比
from dba_free_space a,dba_data_files b
where a.file_id=b.file_id
SQL>
SQL> show parameter processes
NAME TYPE VALUE
------------------------------------ ------- ------------------------------
aq_tm_processes integer 1
Connected to:
Oracle9i Enterprise Edition Release 9.0.1.0.0 - Production
With the Partitioning option
JServer Release 9.0.1.0.0 - Production
Oracle 11gR2 创建数据库实例

Oracle 11gR2 创建数据库实例因为工作需要在Oracle 11gR2库中新建一数据库实例。
采用脚本命令创建,建议使用oracle用户进行以下操作。
顺序如下:1.创建实例启动用的参数文件。
在程序默认的参数文件里修改即可:重命名规则initSID.ora/u01/oracle/product/11.2.0/db_1/dbs/ 下,目录尽量使用绝对路径,采用ORACLE_BASE等环境变量有可能报错。
例initcrm.oradb_name='crm' --修改#memory_target=500m --注释掉sga_target=200m --添加pga_aggregate_target=60m --添加processes = 150audit_file_dest='/u01/oracle/admin/crm/adump' --建立目录audit_trail ='db'db_block_size=8192db_domain=''db_recovery_file_dest='/u01/oracle/flash_recovery_area' --建立目录db_recovery_file_dest_size=2Gdiagnostic_dest='/u01/oracle' ---修改dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'open_cursors=300remote_login_passwordfile='EXCLUSIVE'undo_tablespace='UNDOTBS1'2.创建相应目录:mkdir -p /u01/oracle/admin/ora11g/adumpmkdir -p /u01/oracle/admin/ora11g/dpdumpmkdir -p /u01/oracle/flash_recovery_area3.创建密码文件:命名规则orapwSID,目录依旧是 /u01/oracle/product/11.2.0/db_1/dbs/Linux下orapw+实例名Windows下pwd+实例名$ orapwd file=orapwora11g password=oracle4.创建数据库实例设置环境变量export ORACLE_SID=crm执行以下命令sqlplus /nologconn / as sysdba注意:本处可能报错需要可能的原因:a)glibc-devel-2.5-58.el5_6.4、libaio-0.3.106-5包是否已安装,命令分别为rpm -q glibc-devel、rpm -q libaiob)oracle目录权限不足或属组不对,chmod 6751 oracle 授权、chown -R oracle.oinstall /u01/oracle 修改属组执行建库脚本:startup nomount pfile="/u01/oracle/product/11.2.0.1/db1/dbs/initcrm.ora";CREATE DATABASE "crm"MAXINSTANCES 8MAXLOGHISTORY 1MAXLOGFILES 16MAXLOGMEMBERS 3MAXDATAFILES 100DATAFILE '/u01/oracle/oradata/system01.dbf' SIZE 1024M REUSEEXTENT MANAGEMENT LOCALSYSAUX DATAFILE '/u01/oracle/oradata/sysaux01.dbf' SIZE 500M REUSESMALLFILE DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/u01/oracle/oradata/temp01.dbf' SIZE 20M REUSESMALLFILE UNDO TABLESPACE "UNDOTBS1" DATAFILE '/u01/oracle/oradata/undo01.dbf' SIZE 300M REUSE CHARACTER SET ZHS16GBKNATIONAL CHARACTER SET AL16UTF16LOGFILE GROUP 1 ('/u01/oracle/oradata/log01.dbf') SIZE 50M,GROUP 2 ('/u01/oracle/oradata/log02.dbf') SIZE 50M,GROUP 3 ('/u01/oracle/oradata/log03.dbf') SIZE 50M;创建USERS表空间CREATE SMALLFILE TABLESPACE "USERS" LOGGING DATAFILE '/u01/app/oradata/user01.dbf' SIZE 1000M REUSE EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;ALTER DATABASE DEFAULT TABLESPACE "USERS";------------------------------------------SQL> create spfile from pfile;File created.-----------------------------------------sqlplus / as sysdbaSQL> show user;@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/catalog.sql;@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/catblock.sql;@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/catproc.sql;@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/catoctk.sql;@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/owminst.plb;使用system用户编译@/u01/oracle/product/11.2.0.1/db1/sqlplus/admin/pupbld.sql;@/u01/oracle/product/11.2.0.1/db1/sqlplus/admin/help/hlpbld.sql helpus.sql;使用sys用户编译@/u01/oracle/product/11.2.0.1/db1/javavm/install/initjvm.sql;@/u01/oracle/product/11.2.0.1/db1/xdk/admin/initxml.sql;@/u01/oracle/product/11.2.0.1/db1/xdk/admin/xmlja.sql;@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/catjava.sql;@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/catexf.sql;@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/catqm.sql change_on_install SYSAUX TEMP YES;@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/catxdbj.sql;@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/catrul.sql;spool /oracle/admin/edidb/scripts/ordinst.log append@/u01/oracle/product/11.2.0.1/db1/ord/admin/ordinst.sql SYSAUX SYSAUX;spool offspool /u01/oracle/admin/ora11g/scripts/interMedia.log append@/u01/oracle/product/11.2.0.1/db1/ord/im/admin/iminst.sql;spool offset echo onspool /oracle/admin/edidb/scripts/lockAccount.log appendBEGINFOR item IN ( SELECT USERNAME FROM DBA_USERS WHERE ACCOUNT_STATUS IN ('OPEN', 'LOCKED', ' EXPIRED') AND USERNAME NOT IN ('SYS','SYSTEM') )LOOPdbms_output.put_line('Locking and Expiring: ' || ERNAME);execute immediate 'alter user ' ||sys.dbms_assert.enquote_name(sys.dbms_assert.schema_name(ERNAME),false) || ' password expire account lock' ;END LOOP;END;/spool off到此,数据库实例建立完毕。
Oracle密码文件

密码文件(password file)是一个可选的文件,允许远程SYSDBA 或管理员访问数据库。
启动Oracle 时,还没有数据库可以用来验证密码。
在“本地”系统上启动Oracle 时(也就是说,不在网络上,而是从数据库实例所在的机器启动),Oracle 会利用操作系统来执行这种认证。
安装Oracle 时,会要求完成安装的人指定管理员“组”。
在UNIX/Linux 上,这个组一般默认为DBA,在Windows 上则默认为OSDBA。
不过,也可以是平台上任何合法的组名。
这个组很“特殊”,因为这个组中的任何用户都可以作为SYSDBA 连接Oracle ,而无需指定用户名或密码。
例如,在安装Oracle 10g Release1 时,我指定了一个ora10g 组。
ora10g 组中的任何用户都无需用户名/密码就能连接:[ora10g@localhost ora10g]$ sqlplus / as sysdbaSQL*Plus: Release 10.1.0.3.0 - Production on Sun Jan 2 20:13:04 2005Copyright (c) 1982, 2004, Oracle. All rights reserved. Connected to:Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - ProductionWith the Partitioning, OLAP and Data Mining optionsSQL> show userUSER is "SYS"这是可以的——我就成功地连接了Oracle,现在我能启动这个数据库,将其关闭,或者完成我想做的任何管理工作。
不过,假设我想从另外一台机器通过网络完成这些操作,会怎么样呢?在这种情况下,我试图使用@tns-connect-string 来连接。
oracle 最常用的命令

select member from v$logfile;
6、查看表空间的使用情况
select sum(bytes)/(1024*1024) as free_space,tablespace_name
from dba_free_space
group by tablespace_name;
查看某表的创建时间
SQL>select object_name,created from user_objects where
object_name=upper('&table_name');
查看某表的大小
SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments
round(bytes/(1024*1024),0) total_space
from dba_data_files
order by tablespace_name;
3、查看回滚段名称及大小
selectsegment_name, tablespace_name, r.status,
(initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent,
SQL>select * from user_tab_privs;
2.表
查看用户下所有的表
SQL>select * from user_tables;
查看名称包含log 字符的表
SQL>select object_name,object_id from user_objects
oracle中os认证,参数remote_login_passwordfile,口令文件(转)

1、os认证oracle安装之后默认情况下是启动os认证。
os认证的意思是把登录到数据库的用户和口令校验放在了操作系统一级。
如果以安装oracle时的用户登录os ,那么登录oracle数据库时不需要任何验证如:SQL> conn test/oracle as sysdbaConnected.SQL> conn test/oracle@orcl as sysdbaConnected.SQL> conn /as sysdbaConnected.SQL> conn ss/ss as sysdbaConnected.SQL> conn ss/ss@orcl as sysdbaConnected.SQL> conn test/ss@orcl as sysdbaConnected.SQL> conn test/oracle@orcl as sysdbaConnected.不论输入什么用户,那怕该用户不存在,只要一sysdba的权限连接都可以连接,这样在虽然很方便但是很不安全。
这是我们可以把oracle_home/NETWORK/admin/sqlnet.ora中的SQLNET.AUTHENTICATION_SERVICES= (nts)nts改成none或者注释掉这句话(在前面加上#),就可以屏蔽os功能,要想sys用户连接数据库必须输入正确的口令,或者将该用户从ora_dba组删除。
SQLNET.AUTHENTICATION_SERVICES=(NTS)|(NONE) |(ALL)SQLNET.AUTHENTICATION_SERVICES=(NTS): 操作系统认证方式,不使用口令文件SQLNET.AUTHENTICATION_SERVICES=(NONE):口令文件认证方式SQLNET.AUTHENTICATION_SERVICES=(ALL):两种都采用2、参数remote_login_passwordfileREMOTE_LOGIN_PASSWORDFILE=(NONE)|(EXCLUSIVE)|(SHARED)REMOTE_LOGIN_PASSWORDFILE=(NONE):不使用口令文件,操作系统认证REMOTE_LOGIN_PASSWORDFILE=(EXCLUSIVE):口令文件认证方式,但只有一个数据库实例可以使用此文件,系统允许将SYSOPER/SYSDBA授予除INTERNAL/SYS以外的其他用户,且以具有这类身份的其他用户登录是有效的REMOTE_LOGIN_PASSWORDFILE=(SHARED):口令文件认证方式,可有多个数据库实例使用此文件,但是此设置下只有INTERNAL/SYS帐号能被识别,即使文件中存有其他用户的信息,也不允许他们以SYSOPER/SYSDBA登录3,、oracle口令文件oracle的口令文件的作用是存放所有已sysdba或者sysoper权限的连接数据的用户,使用口令文件的好处就是,在数据关闭的情况下,依然可以通过口令文件验证来连接数据库。
oracle中os认证,参数remote_login_passwordfile,口令文件(转)

1、os认证oracle安装之后默认情况下是启动os认证。
os认证的意思是把登录到数据库的用户和口令校验放在了操作系统一级。
如果以安装oracle时的用户登录os ,那么登录oracle数据库时不需要任何验证如:SQL> conn test/oracle as sysdbaConnected.SQL> conn test/oracle@orcl as sysdbaConnected.SQL> conn /as sysdbaConnected.SQL> conn ss/ss as sysdbaConnected.SQL> conn ss/ss@orcl as sysdbaConnected.SQL> conn test/ss@orcl as sysdbaConnected.SQL> conn test/oracle@orcl as sysdbaConnected.不论输入什么用户,那怕该用户不存在,只要一sysdba的权限连接都可以连接,这样在虽然很方便但是很不安全。
这是我们可以把oracle_home/NETWORK/admin/sqlnet.ora中的SQLNET.AUTHENTICATION_SERVICES= (nts)nts改成none或者注释掉这句话(在前面加上#),就可以屏蔽os功能,要想sys用户连接数据库必须输入正确的口令,或者将该用户从ora_dba组删除。
SQLNET.AUTHENTICATION_SERVICES=(NTS)|(NONE) |(ALL)SQLNET.AUTHENTICATION_SERVICES=(NTS): 操作系统认证方式,不使用口令文件SQLNET.AUTHENTICATION_SERVICES=(NONE):口令文件认证方式SQLNET.AUTHENTICATION_SERVICES=(ALL):两种都采用2、参数remote_login_passwordfileREMOTE_LOGIN_PASSWORDFILE=(NONE)|(EXCLUSIVE)|(SHARED)REMOTE_LOGIN_PASSWORDFILE=(NONE):不使用口令文件,操作系统认证REMOTE_LOGIN_PASSWORDFILE=(EXCLUSIVE):口令文件认证方式,但只有一个数据库实例可以使用此文件,系统允许将SYSOPER/SYSDBA授予除INTERNAL/SYS以外的其他用户,且以具有这类身份的其他用户登录是有效的REMOTE_LOGIN_PASSWORDFILE=(SHARED):口令文件认证方式,可有多个数据库实例使用此文件,但是此设置下只有INTERNAL/SYS帐号能被识别,即使文件中存有其他用户的信息,也不允许他们以SYSOPER/SYSDBA登录3,、oracle口令文件oracle的口令文件的作用是存放所有已sysdba或者sysoper权限的连接数据的用户,使用口令文件的好处就是,在数据关闭的情况下,依然可以通过口令文件验证来连接数据库。
手工创建Oracle实例

案例:手工创建Oracle 实例名称:手工创建Oracle 实例目标:详细步骤:1、设置ORACLE_SID [oracle@TEST ~]$ export ORACLE_SID=study2、创建密码文件[oracle@TEST ~]$ orapwd file=$ORACLE_HOME/dbs/orapwstudy password=oracle entries=8 force=y3、创建初始化参数文件[oracle@TEST dbs]$ vi initstudy.oracontrol_files = (/study/oradata/control1.dbf,/study/oradata/control2.dbf,/study/oradata/control3.dbf)db_name log_archive_dest_1 log_archive_dest_state_1———_ db_block_sizepga_aggregate_target processes sessionsopen_cursorsundo_managementundo_tablespace compatible sga_targetdb_recovery_file_destdb_recovery_file_dest_size = user_dump_destcore_dump_dest= study= "LOCATION=/study/arch"= enable= 8192= 150M= 100= 120= 120= AUTO= undotbs1= 9.2.0= 300M= /study/recovery_file_dest 2G= /study/admin/study/udump = /study/admin/study/cdumpbackground_dump_dest = /study/admin/study/bdump4、创建create数据库的脚本文件CREATE DATABASE studyUSER SYS IDENTIFIED BY oracle1USER SYSTEM IDENTIFIED BY oracle1LOGFILE GROUP 1 ('/study/oradata/redo01.log') SIZE 100M,GROUP 2 ('/study/oradata/redo02.log') SIZE 100M, GROUP 3('/study/oradata/redo03.log') SIZE 100MMAXLOGFILES 5MAXLOGMEMBERS 5MAXLOGHISTORY 1MAXDA TAFILES 100 MAXINSTANCES 1 CHARACTER SET ZHS16GBK NATIONAL CHARACTER SET AL16UTF16DATAFILE '/study/oradata/system01.dbf' SIZE 825M REUSE EXTENT MANAGEMENTLOCALSYSAUX DATAFILE '/study/oradata/sysaux01.dbf' SIZE 725M REUSE DEFAULT TEMPORARY TABLESPACE tempTEMPFILE '/study/oradata/temp01.dbf'SIZE 20M REUSEUNDO TABLESPACE undotbs1DATAFILE '/study/oradata/undotbs01.dbf'SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;5、启动实例并创建数据库[oracle@TEST ~]$ sql SQL> startup nomount;SQL> @ ?/dbs/createdb.sql6、创建数据字典SQL> @ ?/rdbms/admin/catalog.sql SQL> @ ?/rdbms/admin/catproc.sql 注意事项:。
ORACLECMD命令(最全的)

ORACLECMD命令(最全的)启动Oracle,在cmd模式下依次启动:net start oracleservice服务名lsnrctl start 启动监听程序关闭服务为:lsnrctl stopnet stop oracleserviceData1. Oracle安装完成后的初始口令?internal/oraclesys/change_on_installsystem/managerscott/tigersysman/oem_temp2. ORACLE9IAS WEB CACHE的初始默认用户和密码?administrator/administrator3. oracle 8.0.5怎么创建数据库?用orainst。
如果有motif界面,可以用orainst /m4. oracle 8.1.7怎么创建数据库?dbassist5. oracle 9i 怎么创建数据库?dbca6. oracle中的裸设备指的是什么?裸设备就是绕过文件系统直接访问的储存空间7. oracle如何区分 64-bit/32bit 版本$ sqlplus '/ AS SYSDBA'SQL*Plus: Release 9.0.1.0.0 - Production on Mon Jul 14 17:01:09 2003(c) Copyright 2001 Oracle Corporation. All rights reserved.Connected to:Oracle9i Enterprise Edition Release 9.0.1.0.0 - ProductionWith the Partitioning optionJServer Release 9.0.1.0.0 - ProductionSQL> select * from v$version;BANNER---------------------------------------------------------------- Oracle9i Enterprise Edition Release 9.0.1.0.0 - ProductionPL/SQL Release 9.0.1.0.0 - ProductionCORE 9.0.1.0.0 ProductionTNS for Solaris: Version 9.0.1.0.0 - ProductionNLSRTL Version 9.0.1.0.0 - ProductionSQL>8. SVRMGR什么意思?svrmgrl,Server Manager.9i下没有,已经改为用SQLPLUS了sqlplus /nolog变为归档日志型的9. 请问如何分辨某个用户是从哪台机器登陆ORACLE的?SELECT machine , terminal FROM V$SESSION;10. 用什么语句查询字段呢?desc table_name 可以查询表的结构select field_name,... from ... 可以查询字段的值select * from all_tables where table_name like '%'select * from all_tab_columns where table_name='??'11. 怎样得到触发器、过程、函数的创建脚本?desc user_sourceuser_triggers12. 怎样计算一个表占用的空间的大小?select owner,table_name,NUM_ROWS,BLOCKS*AAA/1024/1024 "Size M",EMPTY_BLOCKS,LAST_ANALYZEDfrom dba_tableswhere table_name='XXX';Here: AAA is the value of db_block_size ;XXX is the table name you want to check13. 如何查看最大会话数?SELECT * FROM V$PARAMETER WHERE NAME LIKE 'proc%';SQL>SQL> show parameter processesNAME TYPE VALUE------------------------------------ ------- ------------------------------aq_tm_processes integer 1db_writer_processes integer 1job_queue_processes integer 4log_archive_max_processes integer 1processes integer 200这里为200个用户。
Oracle数据库密码文件详解

在Oracle数据库系统中,用户如果要以特权用户身份(INTERNAL/SYSDBA/SYSOPER)登录Oracle 数据库可以有两种身份验证的方法:即使用与操作系统集成的身份验证或使用Oracle数据库的密码文件进行身份验证。
因此,管理好密码文件,对于控制授权用户从远端或本机登录Oracle数据库系统,执行数据库管理工作,具有重要的意义。
Oracle数据库的密码文件存放有超级用户INTERNAL/SYS的口令及其他特权用户的用户名/口令,它一般存放在ORACLE_HOME\DATABASE(如D:\oracle\product\10.2.0\db_1\database)目录下。
一、密码文件的创建:在使用Oracle Instance Manager创建一数据库实例的时侯,在ORACLE_HOME\DATABASE目录下还自动创建了一个与之对应的密码文件,文件名为PWDSID.ORA,其中SID代表相应的Oracle数据库系统标识符。
此密码文件是进行初始数据库管理工作的基础。
在此之后,管理员也可以根据需要,使用工具ORAPWD.EXE手工创建密码文件,命令格式如下:C:\>ORAPWD FILE=<FILENAME >PASSWORD =<PASSWORD >ENTRIES=< MAX_USERS >各命令参数的含义为:FILENAME:密码文件名;PASSWORD:设置INTERNAL/SYS帐号的口令;MAX_USERS:密码文件中可以存放的最大用户数,对应于允许以SYSDBA/SYSOPER权限登录数据库的最大用户数。
由于在以后的维护中,若用户数超出了此限制,则需要重建密码文件,所以此参数可以根据需要设置得大一些。
有了密码文件之后,需要设置初始化参数REMOTE_LOGIN_PASSWORDFILE来控制密码文件的使用状态。
二、设置初始化参数REMOTE_LOGIN_PASSWORDFILE:在Oracle数据库实例的初始化参数文件中,此参数控制着密码文件的使用及其状态。
Oracle口令文件介绍

==============================Oracle 密码文件==============================一、密码文件oracle的口令文件的作用是存放所有以sysdba或sysoper权限连接数据库用户的口令,如果想以sysdba或sysoper权限远程连接数据库,必须使用口令文件,否则不能连接,由于sys用户在连接数据库时必须以sysdba or sysoper方式,也就是说sys用户要想远程连接数据库必须使用口令文件,因此可以认为在数据库中存放sys用户的口令其实没有任何意义,因为你本机其实还是可以登陆的!使用口令文件的好处是即使数据库不处于open状态,依然可以通过口令文件验证来连接数据库。
开始安装完oracle,没有给普通用户授予sysdba或sysoper权限,口令文件中只存放了sys与system的口令,如果之后把sysdba或sysoper权限授予了普通用户,那么此时会把普通用户的口令从数据库中读到口令文件中保存下来,当然这时必须要求数据库处于open状态。
二、Oracle的两种认证方式;使用与操作系统集成的身份验证1.使用与操作系统集成的身份验证数据库的密码文件进行身份认证2.使用Oracle数据库的密码文件进行身份认证三、密码文件的位置Linux下的存放位置:$ORACLE_HOME/dbs/orapw$ORACLE_SID即:ORACLE_HOME/dbs/orapw<sid>Windows下的存放位置:$ORACLE_HOME/database/PW%ORACLE_SID%.ora密码文件查找的顺序 --->orapw<sid>--->orapw--->Failure密码文件查找的顺序认证 两种认证方式:类型与SQL server中的windows认证和SQL server认证决定在两个参数中决定在两个参数中1.remote_login_passwordfile = none | exclusive |shared 位于参数文件中$ORACLE_HOME/dbs/spfile$ORACLE_SID.ora参数文件中不使用密码文件认证none : 不使用密码文件认证exclusive :使用密码文件认证,自己独占使用(默认值)shared :使用密码文件认证,不同实例dba用户可以共享密码文件(如集群)2. $ORACLE_HOME/network/admin/sqlnet.oraSQLNET.AUTHENTICATION_SERVICES = none | all | ntf(windows)表示关闭操作系统认证,只能密码文件认证none : 表示关闭操作系统认证,只能密码文件认证平台,关闭本机密码文件认证采用操作系统认证,但远程 all : 用于linux或unix平台,关闭本机密码文件认证采用操作系统认证,但远程可以使用密码文件认证<非本机>可以使用密码文件认证平台nts : 用于windows平台如果使用组合如果使用组合1 2用户可登陆 none none sys用户无论是本机还是远程均不可登陆,但是非sys用户可登陆四、演示判断当前使用的是操作系统认证还是密码认证,都是在本机操作实验remote_login_passwordfile = exclusive1、在sqlnet.ora 中追加SQLNET.AUTHENTICATION_SERVICES = none[oracle@wangdm ~ 14:48 #22]$ sqlplus / as sysdba星期五 9月 21 14:48:27 2012 SQL*Plus: Release 10.2.0.1.0 - Production on 星期五Copyright (c) 1982, 2005, Oracle. All rights reserved.ERROR:ORA-01031: insufficient privilegesEnter user-name:--------------------------------------------------------------------------------- [oracle@wangdm ~ 23:49 #35]$ sqlplus sys/oracle@zhqhdb as sysdba/*使用密码文件认证,登陆成功*/星期五 9月 21 23:41:58 2012 SQL*Plus: Release 10.2.0.1.0 - Production on 星期五Copyright (c) 1982, 2005, Oracle. All rights reserved.Connected to:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining optionsSQL>---------------------------------------------------------------------------------2、将SQLNET.AUTHENTICATION_SERVICES的值改为all[oracle@wangdm ~ 23:45 #23]$ sqlplus / as sysdba/*采用本机认证可以登陆*/星期五 9月 21 23:45:30 2012 SQL*Plus: Release 10.2.0.1.0 - Production on 星期五Copyright (c) 1982, 2005, Oracle. All rights reserved.Connected to:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining optionsSQL>--------------------------------------------------------------------------------- [oracle@wangdm ~ 23:47 #27]$ sqlplus sys/oracle@zhqhdb as sysdba /*使用密码文件登陆认证失败*/星期五 9月 21 23:47:37 2012 SQL*Plus: Release 10.2.0.1.0 - Production on 星期五Copyright (c) 1982, 2005, Oracle. All rights reserved.ERROR:ORA-12641: Authentication service failed to initializeEnter user-name:/*注:此时可以使用远程登陆*/行注释掉恢复到缺 /*使用#符号将新增的SQLNET.AUTHENTICATION_SERVICES行注释掉恢复到缺省值,使用缺省值时系统认证及密码文件认证都可用*/五、密码文件的建立:orapwd[oracle@robinson ~]$ orapwdUsage: orapwd file=<fname> password=<password> entries=<max_us ers_num> force=<y/n>参数解释:file - name of password file/*密码文件的名字orapw<sid>*//* The name of the file must be orapwsid, and you must supply the full path name. Its contents are encrypted . Typically, the password file is created in the $ORACLE_HOME/dbs directory. */password - password for SYS/*sys用户的密码*/entries - maximum number of distinct DBA/*密码文件中可以存放的最大用户数,对应于允许以SYSDBA/SYSOPER权限登录 数据库的最大用户数,去掉重复记录; 到底可以有几个用户被授予sysdba或者sysoper 权限,说是由创建口令文件时指定的entries数决定的,但实际上貌似不像啊,有人说可能跟os block的大小有关,如果entries指定了5,一个os block可以存放9个用户的口令,那么可以有9个用户被授予sysdba或者sysoper,可是9个用户占用的块空间也不大啊并没有将系统块用完反而还大半是空闲的,所这个地方有疑问一直没搞明白也有人说是按矩阵来算但还也不对啊,请高手指点罗*/force - whether to overwrite existing file/*10g新增的参数,默认值为n ,y表示允许覆盖*/OPERS(opt):There are no spaces around the equal-to (=) character.实例如下图,生成实例为zhqhdb的密码文件,密码为handsome修改密码:--修改密码:--演示将entries 改为1,然后将多个用户设置为sysdba或sysoper角色--给多个用户赋予sysdba角色ORA-01996: GRANT failed: password file '' is full会出现错误:会出现错误:发现多出几行,即当设置的时候多出了个用户--再次查看orapwzhqhdb发现多出几行,即当设置的时候多出了个用户注意不要轻易删掉密码文件,以免将其他账户的信息也删除--注意不要轻易删掉密码文件,以免将其他账户的信息也删除六、密码文件内容修改的几种方式建立,修改密码文件,不建议使用1.使用orapwd建立,修改密码文件,不建议使用2.使用alter user sys identified by <>3.使用grant sysdba to <> 或grant sysoper to <> 或revoke sysdba |sysoperfrom <>七、查看密码文件内容[oracle@wangdm /u01/app/oracle/product/10.2.0/db/dbs]$ strings orapwzhqhdb]\[ZORACLE Remote Password fileINTERNALAB27B53EDC5FEF418A8F025737A9097A修改密码--当sys密码不记得可以使用OS系统身份认证登陆到sqlplus,再使用alter user修改密码SQL> alter user sys identified by handsome;User altered再次查看密码文件与上一次对比,已经发生变化--再次查看密码文件与上一次对比,已经发生变化SQL> ho strings orapwzhqhdb]\[ZORACLE Remote Password fileINTERNAL42998405ACC042404273B1DBEBCE9A20的信息--通过授予权限来修改密码,密码文件中多出了scott的信息SQL> grant sysdba to scott;Grant succeeded.SQL> ho strings orapworcl]/[ZORACLE Remote Password fileINTERNALAB27B53EDC5FEF418A8F025737A9097ASCOTTF894844C34402B67--注意此处中登陆后,显示的账户信息还是sys而不是hs_user,但此时的hs_user已经权限具备了sys权限八、sysdba 与sysoper的区别SQL> select * from system_privilege_map where name like '%SYS%';PRIVILEGE NAME ---------- ---------------------------------------- -----------3 ALTER SYSTEM -4 AUDIT SYSTEM -83 SYSDBA -84 SYSOPER --下面的链接是两者不同的权限说明/docs/cd/B19306_01/server.102/b14231/dba.htm#sthref137 The manner in which you are authorized to use these privileges dependsupon the method of authentication that you use. When you connect withSYSDBA or SYSOPER privileges,you connect with a default schema,not with theschema that is generally associated with your username.For SYSDBAthis schema is SYS; for SYSOPER the schema is PUBLIC.不同--两者的schema不同SQL> show userUSER is "SYS"SQL> conn / as sysoperConnected.SQL> show userUSER is "PUBLIC"--查看密码文件视图,可以得到哪些用户为sysdba,哪些用户为sysoper下面演示了使用不同的角色来登陆--下面演示了使用不同的角色来登陆。
oracle创建实例语句

oracle创建实例语句创建Oracle实例是将Oracle数据库启动并运行的过程。
Oracle 实例由内存结构和后台进程组成,用于管理和访问数据库中的数据。
本文将详细介绍如何创建Oracle实例。
在创建Oracle实例之前,需要确保已经正确安装Oracle软件,并且已经准备好数据库的相关文件。
在创建实例之前,需要执行以下步骤:1. 创建数据库文件目录在创建实例之前,需要先为数据库创建一个文件目录。
Oracle将使用这个目录来存储数据库文件。
可使用以下命令创建目录:```mkdir -p /u01/app/oracle/oradata/dbname```其中,`/u01/app/oracle/oradata/dbname`是存储数据库文件的目录路径,`dbname`是数据库名称。
2. 创建密码文件Oracle实例需要一个密码文件来进行身份验证。
可使用以下命令创建密码文件:```orapwdfile=/u01/app/oracle/product/19c/dbhome_1/dbs/orapwdbname password=oracle entries=10```其中,`/u01/app/oracle/product/19c/dbhome_1/dbs/orapwdbname`是密码文件的路径,`password`是密码文件的密码,`entries`是密码文件的条目数。
3. 编辑参数文件Oracle实例还需要一个参数文件来指定实例的配置信息。
可使用以下命令编辑参数文件:```vi /u01/app/oracle/product/19c/dbhome_1/dbs/initdbname.ora```将以下内容添加到参数文件中:```dbname.__db_cache_size=100Mdbname.__pga_aggregate_target=100Mdbname.__sga_target=200Mdbname.__shared_pool_size=50Mdbname.__large_pool_size=10Mdbname.__java_pool_size=10M```其中,`dbname`是数据库名称,`__db_cache_size`是数据库缓存大小,`__pga_aggregate_target`是PGA聚合目标,`__sga_target`是SGA目标,`__shared_pool_size`是共享池大小,`__large_pool_size`是大池大小,`__java_pool_size`是Java池大小。
创建oracle密码文件

创建 oracle密码文件
orapwd file='$ORACLE_HOME/dbs/oratest' password=oracle entries=5 force=y;
说明: ●FILE参数指定口令文件存放的全路径及文件名。口令文件的命名也应该遵循orcl ●PASSWORD指定超级用户SYS的密码 ●ENTRIES为整数,指定最多有多少用户称为超级用户(SYSDBA) ●FORCE取值为“Y”或者“N”,指定是否强行覆盖已经存在的口令文件
完成上述工作后需要重新设置初始化参数文件中的REMOTE_LOGIN_PASSWORDFILE的值。
因为SPFILE是不可编辑的,所以需要使用现有的SPFILE文件生成一个PFILE文件,编辑其中的REMOTE_LOGIN_PASSWORDFILE的值。然后重新生成一个新的SPFILE 文件。
修改SPFILE期间需要关闭数据库,修改完成后再次启动数据库。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
创建Oracle密码文件的命令orapwd file=<> password=<> entries=最大数目这里的file命名规则在unix/linux下orapw<ORACLE_SID>,在windows下为pwd<SID>.ora 具体资料看下面的描述1. unix 环境:Administrator's Reference 10g Release 2 (10.2)for UNIX-Based Operating Systems.1. Log in as the Oracle software owner. (以Oracle管理员身份登入)2. Use the orapwd utility to create the password file as follows(使用orapwd功能创建密码文件):$ $ORACLE_HOME/bin/orapwd file=filename password=password entries=max_usersfilename The name of the file in which password information is written(filename指密码信息保存文件的文件名)The name of the file must be orapwsid,and you must supply the full path name. Its contents are encrypted. Typically,the password file is created in the $ORACLE_HOME/dbs directory.(文件名必须为orapwsid,并需要提供完整路径,内容是加密的,通常情况下,密码文件被创建在$ORACLE_HOME/dbs路径下。
)请注意,unix环境中,password file一定是要用orapw<SID>,没有例外。
2. windows 环境:Platform. Guide 10g Release 2 (10.2)for Microsoft Windows (32-Bit)To create and populate a password file:(1). Create a password file with the Password Utility:C:> orapwd FILE=pwdsid.ora PASSWORD=password ENTRIES=max_userswhere| FILE specifies the password filename.| SID identifies the database instance.| PASSWORD sets the password for account SYS.| ENTRIES sets maximum number of entries in password file. This corresponds to maximum number of distinct users allowed to connect to the database simultaneously with either the SYSDBA or the SYSOPER DBA privilege.(2). Set initialization parameter file parameter REMOTE_LOGIN_PASSWORDFILE to exclusive,shared,or none.In search of the password file,Oracle Database looks in the registry for the value of parameter ORA_SID_PWFILE. If no value is specified,then it looks in the registry for thevalue of parameter ORA_PWFILE,which points to a file containing usernames,passwords,and privileges. If that is not set,then it uses the default:ORACLE_BASEORACLE_HOMEDATABASEPWDsid.ORA.The default value is shared.请注意,windows环境中,很大的部分是基于registry中变量ora_sid_pwfile 或者ora_pwfile的设置,缺省的值是pwd<SID>.ora (unix中是没有这个.ora后缀的)。
在windows下对于connect /as sysdba及其它用户可以不用密码就能登录的问题1.这是因为oracle采用了OS认证的方式,具体的可以查看sqlnet.ora具体同容如下SQLNET.AUTHENTICATION_SERVICES=(NTS)将其改成SQLNET.AUTHENTICATION_SERVICES=(NONE)这样就是oracle认证方式了2.因为用的OS认证方式,可以在操作系统->控制面版->计算机管理->用户将当前用户的属性组ORA_DBA去掉,这时如果没有用户名及密码则不可以。
如下:SQL> connect /as sysdba ERROR:ORA-01031:insufficient privilegesSQL> connect sys/oracle as sysdba已连接。
利用alter user identified by来修改密码alter user sys identified by abc一下,就连数据库中的密码和密码文件中的密码一起改成abc了;如果Oracle密码文件丢失了如何办?利用orapwd重新创建一个就可以本篇文章来源于Linux公社网站() 原文链接:/Linux/2011-04/34354.htm在Oracle数据库系统中,用户假如要以特权用户身份(INTERNAL/SYSDBA/SYSOPER)登录Oracle数据库可以有两种身份验证的方法:即使用与操作系统集成的身份验证或使用Oracle 数据库的密码文件进行身份验证。
因此,治理好密码文件,对于控制授权用户从远端或本机登录Oracle数据库系统,执行数据库治理工作,具有重要的意义。
Oracle数据库的密码文件存放有超级用户INTERNAL/SYS的口令及其他特权用户的用户名/口令,它一般存放在ORACLE_HOME\DATABASE目录下。
一、密码文件的创建:在使用Oracle Instance Manager创建一数据库实例的时侯,在ORACLE_HOME\DATABASE 目录下还自动创建了一个与之对应的密码文件,文件名为PWDSID.ORA,其中SID代表相应的Oracle数据库系统标识符。
此密码文件是进行初始数据库治理工作的基础。
在此之后,治理员也可以根据需要,使用工具ORAPWD.EXE手工创建密码文件,命令格式如下:C:\>ORAPWD FILE=<FILENAME >PASSWord=<PASSWORD >ENTRIES=< MAX_USERS >各命令参数的含义为:FILENAME:密码文件名;PASSWORD:设置INTERNAL/SYS帐号的口令;MAX_USERS:密码文件中可以存放的最大用户数,对应于答应以SYSDBA/SYSOPER权限登录数据库的最大用户数。
由于在以后的维护中,若用户数超出了此限制,则需要重建密码文件,所以此参数可以根据需要设置得大一些。
有了密码文件之后,需要设置初始化参数REMOTE_LOGIN_PASSWORDFILE来控制密码文件的使用状态。
二、设置初始化参数REMOTE_LOGIN_PASSWORDFILE:在Oracle数据库实例的初始化参数文件中,此参数控制着密码文件的使用及其状态。
它可以有以下几个选项:NONE:指示Oracle系统不使用密码文件,特权用户的登录通过操作系统进行身份验证;EXCLUSIVE:指示只有一个数据库实例可以使用此密码文件。
只有在此设置下的密码文件可以包含有除INTERNAL/SYS以外的用户信息,即答应将系统权限SYSOPER/SYSDBA授予除INTERNAL/SYS以外的其他用户。
SHARED:指示可有多个数据库实例可以使用此密码文件。
在此设置下只有INTERNAL/SYS帐号能被密码文件识别,即使文件中存有其他用户的信息,也不答应他们以SYSOPER/SYSDBA的权限登录。
此设置为缺省值。
在REMOTE_LOGIN_PASSWORDFILE参数设置为EXCLUSIVE、SHARED情况下,Oracle系统搜索密码文件的次序为:在系统注册库中查找ORA_SID_PWFILE参数值(它为密码文件的全路径名);若未找到,则查找ORA_PWFILE参数值;若仍未找到,则使用缺省值ORACLE_HOME \DATABASE\PWDSID.ORA;其中的SID代表相应的Oracle数据库系统标识符。
三、向密码文件中增加、删除用户:当初始化参数REMOTE_LOGIN_PASSWORDFILE设置为EXCLUSIVE时,系统答应除INTERNAL/SYS以外的其他用户以治理员身份从远端或本机登录到Oracle数据库系统,执行数据库治理工作;这些用户名必须存在于密码文件中,系统才能识别他们。
由于不管是在创建数据库实例时自动创建的密码文件,还是使用工具ORAPWD.EXE手工创建的密码文件,都只包含INTERNAL/SYS用户的信息;为此,在实际操作中,可能需要向密码文件添加或删除其他用户帐号。
由于仅被授予SYSOPER/SYSDBA系统权限的用户才存在于密码文件中,所以当向某一用户授予或收回SYSOPER/SYSDBA系统权限时,他们的帐号也将相应地被加入到密码文件或从密码文件中删除。
由此,向密码文件中增加或删除某一用户,实际上也就是对某一用户授予或收回SYSOPER/SYSDBA系统权限。
要进行此项授权操作,需使用SYSDBA权限(或INTERNAL帐号)连入数据库,且初始化参数REMOTE_LOGIN_PASSWORDFILE的设置必须为EXCLUSIVE。
具体操作步骤如下:创建相应的密码文件;设置初始化参数REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE;使用SYSDBA权限登录:CONNECT SYS/internal_user_passsword AS SYSDBA;启动数据库实例并打开数据库;创建相应用户帐号,对其授权(包括SYSOPER和SYSDBA):授予权限:GRANT SYSDBA TO user_name;收回权限:REVOKE SYSDBA FROM user_name;现在这些用户可以以治理员身份登录数据库系统了;您的位置:栏目分类> 软件> 服务器软件> 数据库应用>Oracle密码文件的使用和维护四、使用密码文件登录:有了密码文件后,用户就可以使用密码文件以SYSOPER/SYSDBA权限登录Oracle数据库实例了,注重初始化参数REMOTE_LOGIN_PASSWORDFILE应设置为EXCLUSIVE或SHARED。