**如何在XP的cmd命令行状态下输入中文?
1.开始-》运行中输入regedit
2.HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe下的项CodePage项值改为十进制"936"值或
十六进制"000003a8"值。说明一下: 十六进制"000003a8"或十进制"936",表示"936 (ANSI/OEM - 简体中文 GBK)"。
**启动oracle服务:net start OracleServicesid 其中sid是服务器的名
**查看ORACLE的实例: select * from v$instance
**查看ORACLE的数据库名:select * from v$database;
** startup,等于以下三个命令
startup nomount
alter database mount
alter database open
**<打开控制台输出> 1、show all serveroutput OFF 2、set serveroutput on 启动及关闭模式
**关闭oracle数据库
shut down
**查看数据库名
实例名:
select * from v$instance;
数据库名:
select * from v$database;
**查看oracle中的所有表:
SELECT * FROM dba_tables
**oracle忘记sys密码解决
这个其实很简单,不过自己经常忘记,所以记下来
sqlplus /nolog;
connect / as sysdba
alter user sys identified by ;
alter user system identified by ;
**创建用户:
create user username(用户名)
identified by userpassword(用户密码)
default tablespace system
quota 5M on system -----供用户使用的最大空间限制
**查看用户及其密码:
select username,password from dba_users;
**修改用户system密码为manager
alter user system identified by manager;
**删除用户及其所建的实体:
DROP USER jxzy CASCADE;
**授予用户的系统特权:
grant create session,create table to username;
GRANT CREATE USER,ALTER USER,DROP USER
TO jxzy_new --用户名
WITH ADMIN OPTION;
**回收系统特权:(注意没有级联回收的功能)
REVOKE CREATE USER,ALTER USER,DROP USER
FROM jxzy_new
**显示某个用户在oracle中所授的系统特权
SELECT * FROM sys.dba_sys_privs
**oracle对象的管理和控制:
oracle对象特权:用户在指定的表上进行特殊操作的权利。这些特殊操作包括增、删、改、查看、执行(存储过程)、
引用(其它表字段作为外键)、索引等。
授权:
GRANT SELECT,INSERT(office_num,office_name), --针对某个表某个列进行授权
UPDATE(desc)ON office_organization,
TO new_adminidtrator(用户名),
WITH GRANT OPTION;
级联授权:
grant all on office_organization
to new_administrator
回收:
revoke update on office_organization
from new_administrator;
显示:
select * from sys.dba_tab_privs;
**oracle中的角色管理:
分类:(5种)
CONNECT:具有创建表、视图、序列等特权;
RESOURCE:具有创建过程、触发器、表、序列等特权
DBA:DBA具有全部系统特权;
EXP_FULL_DATABASE:具有卸出数据库的特权
IMP_FULL_DATABASE:装入数据库的特权
查看每种角色所拥有的权利:
select * from sys.dba_sys_privs;
授予用户角色:
grant dba(角色类) to new_administrator(用户名)
with grant option;
**oracle的用户安全:
1、由于Oracle有几个系统预建的用户,所以最好在安装完成以后马上改变这些用户的密码。
系统默认得密码分别为:internal/oracle , sys/change_on_install, system/manager.
2、当选择密码文件认证方式时,可以再向系统中加入其他超级用户。
比如用以下语句把用户SCOTT加入超级用户之中:(由具有sysdba权限的人执行)
GRANT SYSDBA TO SCOTT;这样SCOTT用户就具有了sysdba权限。
注意:此时SCOTT用户可以以两种身份登录:SCOTT , SYS.当SCOTT在登录时没有输入AS SYSDBA时,
SCOTT是作为普通用户登录的。而当登录时输入了AS SYSDBA时,此时SCOTT登录进去的用户实际上为sys。
3、当前系统中的具有sysdba权限的用户名可以从数据字典视图v$pwfile_user中查询得到:
SELECT * FROM V$PWFILE_USERS;
4、系统中最大的具有sysdba权限的用户数由创建密码文件时的ENTRIES参数决定。
当需要创建更多的具有sysdba权限的用户时,就需要删除原有的密码文件,重新创建一个。
这需要关闭数据库,删除密码文件,重新创建一个新的密码文件,在entries中输入足够大的数目。
再启动Oracle。这时,所有原来北授权的超级用户都不再存在,需要重新授权。
所以在重新创建密码文件前,先要查询该视图,记下用户名,再在创建完密码文件后重新授权。
5、Internal用户密码忘记的处理方法:
有两种办法:
1)、ALTER USER SYS IDENTIFIED BY 新密码;//这同时也改变了Internal的密码,在Oracle8I中通过
2)、重新创建一个新的密码文件,指定一个新的密码。
**查看某个用户中的表:
SELECT * FROM USER_TABLES
**在Oracle中查看所有的表:
select * from tab/dba_tables/dba_objects/cat;
看用户建立的表 :
select table_name from user_tables; //当前用户的表
select table_name from all_tables; //所有用户的表
select table_name from dba_tables; //包括系统表 show user;//当前用户
**乱码:
字符集不一致,保证服务器端的字符集和client的字符集一致即可,服务器端的字符集一旦建库就基本上不能修改了,
可以用 select userenv('language') from dual查看,client的字符集只需要在bash_profile变量里面export
LANG和NLS_LANG即可。当然shell的字符集最好也保持一致,编辑文件/etc/sysconfig/i18n。如果远程登陆的话,
登陆软件如scurityCRT或者PUTTY的字符集设定也应该一致。
1.sqlplus : 登陆SQL
清屏:HOST CLS
2.exit: 退出SQL
3.clear buffer : 清空缓冲区内容。
4.describe:描述表结构 ,缩写为desc。
5.list:用来显示缓冲区的内容,缓冲区只保存最近一条SQL或PL SQL命令,缩写为l。
6./ :执行缓冲区的SQL语句 /=run
7.change /old /new :将旧串的内容改变为新串的内容。缩写为c。/可以换成其它的特殊符号,只有前后一致就 OK了。
如:change ?old ?new
8.append new :追加,将新串追加到行尾。 缩写为a
9.save filename [replace]: 将缓冲区的SQL语句保存成文件。使用可选参数replace可以覆盖原文件的内容。
10.get filename: 将SQL文件取到缓冲区
11.start filename: 执行SQL文件 ,相当于get filename +/
12.@ filename: 执行SQL文件,等价于start filename
13.edit filename: 编辑缓冲区的SQL语句。
14.spool filename: 用来保存在SQL*Plus工具中操作过的内容,记得之后要使用spool off。要不它只会停留在使
用spool filename命令的点上,不会保存到内容
15.help index: 显示所有SQL*Plus命令。Help 命令名,显示这条命令的信息
16.column : 预定义列格式,后面可以放名列或列的别名。
17.修改缓冲区内容的三种方法:
(1)a. 输入要修改的行数,回车,b. 使用命令change /old /new
(2)输入要修改的行数,然后直接重写整一句的内容。
(3)用edit命令,进入vi编辑。
18.定义变量
用&来定义变量。可以放在任何地方,执行时,用输入的值替换变量的值
如:select &name from emp;