欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle ,DB2和mysql基本操作命令

程序员文章站 2024-01-18 18:35:58
...

一、 ORACLE 1.基本命令 1.lsnrctl status - 查看监听状态 - 2.tnping orcl 查看连接状态(orcl 代表监听的名称) 2. 在 linux 下重启 oracle 数据库及监听器 : 方法 1 : 用 root 以 ssh 登录到 linux ,打开终端输入以下命令: cd $ORACLE_HOME # 进入到 ora

一、ORACLE

1.基本命令

1.lsnrctl status -查看监听状态-

2. tnping orcl 查看连接状态(orcl 代表监听的名称)

2.linux下重启oracle数据库及监听器:

方法1

rootssh登录到linux,打开终端输入以下命令:

cd $ORACLE_HOME #进入到oracle的安装目录
dbstart #
重启服务器

lsnrctl start #
重启监听器

cd $ORACLE_HOME #
进入到oracle的安装目录

dbstart #
重启服务器
lsnrctl start #
重启监听器

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

方法2

Sql代码

cd $ORACLE_HOME/bin #进入到oracle的安装目录
./dbstart #
重启服务器

./lsnrctl start #
重启监听器

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

方法3

1oracle身份登录数据库,命令:su – oracle
2进入Sqlplus控制台,命令:
sqlplus /nolog
3以系统管理员登录,命令:
connect / as sysdba
4启动数据库,命令:
startup
5如果是关闭数据库,命令:
shutdown immediate
6退出sqlplus控制台,命令:
exit
7进入监听器控制台,命令:
lsnrctl
8启动监听器,命令:
start
9退出监听器控制台,命令:
exit
10重启数据库结束

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

方法4:(自已写脚本)

1)启动脚本(dbstart.sh

lsnrctl start
sqlplus /nolog connect / as sysdba
startup;
exit
EOF

$sh dbstart.sh即可

----------

2)关闭脚本(dbstop.sh

lsnrctl stop
sqlplus /nolog connect / as sysdba
shutdown immediate;
exit
EOF

$sh dbstop.sh即可


===============================================


$ su - oracle
$ lsnrctl stop
$ sqlplus "/as sysdba"
SQL> shutdown immediate;
SQL> quit
$ lsnrctl start
$ sqlplus /nolog
SQL> connect / as sysdba
SQL> startup;


===============================================


linux
中启动oracle主要分两步:一个是启动监听器,一个是启动实例(一般都忘记了这一步),具体命令如下,提供给大家参考一下:

1:连接服务器
telnet ip

2:输入管理员用户和密码
user-name:oracle
password:oracle

3:进入oracle根目录
cd $ORACLE_HOME/bin

4:进入监听
./lsnrctl

5:启动监听器
start

6:退出监听
exit

7:进入sqlplus
sqlplus /nolog

8:使用管理员连接
connect as sysdba

9:输入用户和密码
user-name:oracle
password:oracle

10:启动ORACLE实例
startup

二、DB2相关操作

1.创建开发数据库

db2 create database SX3 automatic storage yes on /db2fs/xs2data dbpath on /db2fs/sx2 using codeset GBK territory CN using system pagesize 32768

create database SX2 using codeset GBK territory CN

(具体参数说明参考:http://czmmiao.iteye.com/blog/1327636

2.数据库管理配置操作
1.
读取数据库管理程序配置
get dbm cfg
2.
写数据库管理程序配置
db2 update dbm cfg using
参数名 参数值
3.
关闭所有应用连接
force application all
4.
备份数据库
force application all
backup db rone4 to D:
5.
恢复数据库
restore db rone4 from D: to D:
6
。绑定存储过程
connect to rone4 user db2admin using db2dmin
bind c:\dfplus.bnd
(
拷贝存储过程到服务器上的C:\sqllib\function目录中)
7.
导出数据

export to c:\dftz.txt of del select *
 from dftz;
export to c:\dftz.ixf of ixf select * from dftz;
8.
导入数据

import from c:\123.txt of del insert into ylbx.czyxx;
import to c:\dftz.txt of del commitcount 5000 messages c:\dftz.msg insert into dftz;
import to c:\dftz.ixf of ixf commitcount 5000 messages c:\dftz.msg insert into dftz;
import to c:\dftz.ixf of ixf commitcount 5000 insert_update into dftz;
import to c:\dftz.ixf of ixf commitcount 5000 replace into dftz;
import to c:\dftz.ixf of ixf commitcount 5000 create into dftz(
ixf)
import to c:\dftz.ixf of ixf commitcount 5000 replace_create into dftz(
ixf)
9.
执行一个批处理文件

db2 -tf
批处理文件名
(文件中每一条命令用:结束)

10.
生成建表(视图)语句

方法一
在控制中心的对象视图窗口中,选择所要导出表结构的数据表,按住CtrlShift可多选,单击鼠标右键,选择->生成DDL即可。

方法二

第一步:打开DB2的命令行工具,在DB2安装目录的BIN文件夹下新建一个文件夹data,并且进入该目录。

创建该目录: mkdir data

进入该目录: cd data

第二步:导出表结构,命令行如下:
db2look -d dbname -e -a -x -i username -w password -o ddlfile.sql

执行成功之后,你会在刚才新建的文件夹下找到该sql文件。

第三步:导出数据,命令行如下:

db2move databasename export -u username -p password

至此,导出数据结束。

db2look
参数解释:

-d:
数据库名称:这必须指定

-e:抽取复制数据库所需要的 DDL文件
此选项将生成包含 DDL语句的脚本
可以对另一个数据库运行此脚本以便重新创建数据库对象
此选项可以和 -m选项一起使用
-u:
创建程序标识:若 -u -a都未指定,则将使用 $USER
如果指定了 -a选项,则将忽略 -u选项

-z:
模式名:如果同时指定了 -z -a,则将忽略 -z
联合部分的模式名被忽略

-t:
生成指定表的统计信息
可以指定的表的数目最多为 30
-tw:
为名称与表名的模式条件(通配符)相匹配的表生成
DDL
当指定了 -tw选项时,-t选项会被忽略

-v:
只为视图生成 DDL,当指定了 -t 时将忽略此选项
-h:
更详细的帮助消息
-o:
将输出重定向到给定的文件名
如果未指定 -o选项,则输出将转到 stdout
-a:
为所有创建程序生成统计信息

如果指定了此选项,则将忽略 -u选项
-m:
在模拟方式下运行 db2look实用程序
此选项将生成包含 SQL UPDATE语句的脚本
这些 SQL UPDATE语句捕获所有统计信息
可以对另一个数据库运行此脚本以便复制初始的那一个
当指定了 -m选项时,将忽略 -p-g -s选项
-c:
不要生成模拟的 COMMIT语句
除非指定了 -m -e,否则将忽略此选项
将不生成 CONNECT CONNECT RESET语句
省略了 COMMIT。在执行脚本之后,需要显式地进行落实。
-r:
不要生成模拟的 RUNSTATS语句
缺省值为 RUNSTATS。仅当指定了 -m 时,此选项才有效
-l:
生成数据库布局:数据库分区组、缓冲池和表空间。
-x:
如果指定了此选项,则 db2look实用程序将生成授权 DDL
对于现有已授权特权,不包括对象的原始定义器

-xd:
如果指定了此选项,则 db2look实用程序将生成授权 DDL
对于现有已授权特权,包括对象的原始定义器

-f:
抽取配置参数和环境变量
如果指定此选项,将忽略 -wrapper -server选项
-fd:
opt_buffpage opt_sortheap以及其它配置和环境参数生成 db2fopt语句。
-td:
x指定为语句定界符(缺省定界符为分号(;))
应该与 -e选项一起使用(如果触发器或者 SQL例程存在的话)
-p:
使用明文格式
-s:
生成 postscript文件
此选项将为您生成 postscript文件
当设置了此选项时,将除去所有 latex tmp ps文件
所需的(非 IBM)软件:LaTeX dvips
注意:文件 psfig.tex必须在 LaTeX输入路径中

-g:
使用图形来显示索引的页访存对
必须安装 Gnuplot,并且 必须在您的 LaTeX输入路径中
还将随 LaTeX文件一起生成 文件
-i:
登录到数据库驻留的服务器时所使用的用户标识
-w:
登录到数据库驻留的服务器时所使用的密码
-noview:
不要生成 CREATE VIEW ddl语句
-wrapper:
为适用于此包装器的联合对象生成 DDL
生成的对象可能包含下列各项:

包装器、服务器、用户映射、昵称、类型映射、
函数模板、函数映射和索引规范
-server:
为适用于此服务器的联合对象生成 DDL
生成的对象可能包含下列各项:

包装器、服务器、用户映射、昵称、类型映射、
函数模板、函数映射和索引规范
-nofed:
不要生成 Federated DDL
如果指定此选项,将忽略 -wrapper -server选项


11.
显示当前用户所有表

list tables

12.
列出所有系统表
list tables for system
13.
查看表结构
describe select * from user.tables;

14.db2move
用法(不需要登录db2,切换目录后直接运行命令)

由于db2数据库需要移植,使用db2 backupdb2 restore发现会因为文件系统等原因出现很多问题,使用db2move发现简单,但效率稍低。使用方法如下:

1、在原始机建立一个目录testcd进后:db2move dbname export –u user –p password
2
、会生成很多文件,其中db2move.lst记录所有导出的文件,可以进行编辑从而决定导入哪些数据表。

3
、在目标机建立一个目录testcd进入:db2move dbname import –u user –p password

这样就实现了数据表结构和数据的移植,据说可以跨平台使用,但没有测试过,在AIX平台下测试成功。

注意若两个数据库使用了多个表空间的话需要先建立表空间在进行数据的导入,而且两者的数据库编码应保持一致。这里备份一下数据库编码的设置方法:
db2set db2codepage=1386
db2 terminate
注意一定要进行terminate,就是因为这个费了半天的时间


注意:
指定DB2import工具可以运行的一种模式。
有效的选项有: CREATE INSERT INSERT_UPDATE REPLACE REPLACE_CREATE。缺省值为 REPLACE_CREATE


15.
打开窗口操作

1打开命令行窗口
 
#db2cmd
2
打开控制中心

 
# db2cmd db2cc
3
打开命令编辑器

 
db2cmd db2ce

16.
操作数据库命令

1
启动数据库实例
 
#db2start
如果你不能停止数据库由于激活的连接,在运行db2stop前执行db2 force application all就可以了
/db2stop force
17
创建数据库

 
#db2 create db [dbname]
18
连接到数据库

 
#db2 connect to [dbname] user [username] using [password]
19
断开数据库连接

 
#db2 connect reset
20
列出所有数据库

 #db2 list db directory

21列出所有激活的数据库
 
#db2 list active databases
22
列出所有数据库配置

 
#db2 get db cfg
23
删除数据库

 
#db2 drop database [dbname]
(执行此操作要小心)

如果不能删除,断开所有数据库连接或者重启db2

24创建一个与数据库中某个表(t2)结构相同的新表(t1)
 
#db2 create table t1 like t2
25
将一个表t1的数据导入到另一个表
t2
#db2 "insert into t1 select * from t2"
26
创建一个与数据库中某个表(t2)结构相同的新表
(t1)
 
#db2 create table t1 like t2
27
将一个表t1的数据导入到另一个表
t2
#db2 "insert into t1 select * from t2"

28.
数据库管理服务操作

1、启动数据库管理服务器
db2admin start
2
、停止数据库管理服务器
db2admin stop
3.查看db2 实例名称

cd opt/ibm/db2/v9.7/instance/

./db2ilist

三 mysql 操作相关命令

1:使用SHOW语句找出在服务器上当前存在什么数据库:
mysql> SHOW DATABASES;
2:2、创建一个数据库MYSQLDATA
mysql> CREATE DATABASE MYSQLDATA;
3:选择你所创建的数据库
mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!)
4:查看现在的数据库中存在什么表
mysql> SHOW TABLES;
5:创建一个数据库表
mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
6:显示表的结构:
mysql> DESCRIBE MYTABLE;
7:往表中加入记录
mysql> insert into MYTABLE values (”hyq”,”M”);
8:用文本方式将数据装入数据库表中(例如D:/mysql.txt)
mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE MYTABLE;
9:导入.sql文件命令(例如D:/mysql.sql)
mysql>use database;
mysql>source d:/mysql.sql;
10:删除表
mysql>drop TABLE MYTABLE;
11:清空表
mysql>delete from MYTABLE;
12:更新表中数据
mysql>update MYTABLE set sex=”f” where name=’hyq’;

以下是无意中在网络看到的使用MySql的管理心得,
在windows中MySql以服务形式存在,在使用前应确保此服务已经启动,未启动可用net start mysql命令启动。而Linux中启动时可用“/etc/rc.d/init.d/mysqld start”命令,注意启动者应具有管理员权限。
刚安装好的MySql包含一个含空密码的root帐户和一个匿名帐户,这是很大的安全隐患,对于一些重要的应用我们应将安全性尽可能提高,在这里应把匿名帐户删除、 root帐户设置密码,可用如下命令进行:
use mysql;
delete from User where User=”";
update User set Password=PASSWORD(’newpassword’) where User=’root’;
如果要对用户所用的登录终端进行限制,可以更新User表中相应用户的Host字段,在进行了以上更改后应重新启动数据库服务,此时登录时可用如下类似命令:
mysql -uroot -p;
mysql -uroot -pnewpassword;
mysql mydb -uroot -p;
mysql mydb -uroot -pnewpassword;
上面命令参数是常用参数的一部分,详细情况可参考文档。此处的mydb是要登录的数据库的名称。
在 进行开发和实际应用中,用户不应该只用root用户进行连接数据库,虽然使用root用户进行测试时很方便,但会给系统带来重大安全隐患,也不利于管理技 术的提高。我们给一个应用中使用的用户赋予最恰当的数据库权限。如一个只进行数据插入的用户不应赋予其删除数据的权限。MySql的用户管理是通过 User表来实现的,添加新用户常用的方法有两个,一是在User表插入相应的数据行,同时设置相应的权限;二是通过GRANT命令创建具有某种权限的用 户。其中GRANT的常用用法如下:
grant all on mydb.* to NewUserName@HostName identified by “password” ;
grant usage on *.* to NewUserName@HostName identified by “password”;
grant select,insert,update on mydb.* to NewUserName@HostName identified by “password”;
grant update,delete on mydb.TestTable to NewUserName@HostName identified by “password”;
若 要给此用户赋予他在相应对象上的权限的管理能力,可在GRANT后面添加WITH GRANT OPTION选项。而对于用插入User表添加的用户,Password字段应用PASSWORD 函数进行更新加密,以防不轨之人窃看密码。对于那些已经不用的用户应给予清除,权限过界的用户应及时回收权限,回收权限可以通过更新User表相应字段, 也可以使用REVOKE操作。
下面给出本人从其它资料(www.cn-java.com)获得的对常用权限的解释:
全局管理权限:
FILE: 在MySQL服务器上读写文件。
PROCESS: 显示或杀死属于其它用户的服务线程。
RELOAD: 重载访问控制表,刷新日志等。
SHUTDOWN: 关闭MySQL服务。
数据库/数据表/数据列权限:
ALTER: 修改已存在的数据表(例如增加/删除列)和索引。
CREATE: 建立新的数据库或数据表。
DELETE: 删除表的记录。
DROP: 删除数据表或数据库。
INDEX: 建立或删除索引。
INSERT: 增加表的记录。
SELECT: 显示/搜索表的记录。
UPDATE: 修改表中已存在的记录。
特别的权限:
ALL: 允许做任何事(和root一样)。
USAGE: 只允许登录–其它什么也不允许做。