oracle一点记录
- 查看数据库实例名(SERVICE_NAME):
sql: select instance_name from v$instance;
- 如何知道oracle客户端是32位还是64的。windows下启动sqlplus, 看到是sqlplus32即32位,看到sqlplus即是64位。PL/SQL在64为客户端不可用,要换回32位的
- 查看自己操作过的sql语句历史记录:
select * from v$sql
- 复制一个表的内容到另一个表上面:
insert into table(要插入数据的表) select * from table01(复制数据的表)
另,创建一个新表跟旧表的结构一样而不复制数据(sqlserver下)
select * into Admin_bak from Admin where 1 = 0 Admin_bak :新表 Admin:旧表
- 遇到数据库表空间不够用的解决方法如下,其中,app_data为表空间名称,目录路径为你的表空间路径,“APP03.DBF”为表空间文件,后面的03可以自己选择。 size的话只创建表空间大小,这个看情况而设置。
ALTER TABLESPACE app_data ADD DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF' SIZE 50M;
关于如何查看表空间的相关资料,在网上找到了如下代码,出处忘了:
select b.file_name 物理文件名, b.tablespace_name 表空间, b.bytes/1024/1024 大小M, (b.bytes-sum(nvl(a.bytes,0)))/1024/1024 已使用M, substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5) 利用率 from dba_free_space a,dba_data_files b where a.file_id=b.file_id group by b.tablespace_name,b.file_name,b.bytes order by b.tablespace_name
- 删除整个表的内容,效率比delete快,不做日志处理,后面不加delete
truncate table tablename(表名称)
- 创建表空间语句
CREATE TABLESPACE EDUTABLES DATAFILE 'D:\app\Administrator\oradata\test\EDUTABLES01.DBF' size 32000M AUTOEXTEND ON NEXT 500M MAXSIZE UNLIMITED;
更为详细的是
CREATE TABLESPACE EDUTABLES DATAFILE ‘F:\app\Administrator\oradata\test\EDUTABLES01.DBF' SIZE 4596M AUTOEXTEND ON NEXT 500M MAXSIZE UNLIMITED LOGGING ONLINE EXTENT MANAGEMENT LOCAL AUTOALLOCATE BLOCKSIZE 8K SEGMENT SPACE MANAGEMENT AUTO FLASHBACK ON;
其中博客也说的得比较清楚:http://www.cnblogs.com/netsql/articles/1745978.html
- 在cmd下使用sqlplus登陆数据库,
sqlplus "/as sysdba" alter user test(数据库用户) identified by oracle(新密码);
- oracle数据库密码修改(最好修改之前关掉所有连接数据库的程序,防止账户被锁定)
alter user test identified by mi102;
其中,test为数据库账户,mi102为要修改的数据库密码