> 文章列表 > 相关操作笔记

相关操作笔记

相关操作笔记

创建表空间

CREATE TABLESPACE test_tablespace DATAFILE '/u01/app/oracle/oradata/xe/test_tablespace.dbf' SIZE 50M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;

其中 test_tablespace是表空间的名称
'/u01/app/oracle/oradata/xe/test_tablespace.dbf’是表空间的路径以及文件名称
初始的大小是50M每当数据量大于50M的时候就自动增加10M

创建用户并且赋予表空间以及临时表

CREATE USER test_user IDENTIFIED BY oracle DEFAULT TABLESPACE test_tablespace TEMPORARY TABLESPACE temp;

这将创建一个名为test_user的用户,该用户的密码为oracle,并且该用户的默认表空间为test_tablespace,临时表空间为temp。

赋予用户权限

GRANT CONNECT, RESOURCE TO test_user;

这将授予test_user连接数据库和创建对象(例如表)所需的权限。
现在,test_user可以连接到数据库并使用test_tablespace作为默认表空间来创建表等对象。

赋予所有的权限

GRANT ALL PRIVILEGES TO test_user;

请注意,这将授予该用户可以在数据库中执行任何操作的所有权限,包括创建、修改和删除对象,以及修改其他用户的权限。因此,在授予权限时,请务必谨慎行事,并仅为确实需要这些权限的用户授予权限。

赋予实例别名

helowin =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = XE)))

在 Oracle 数据库中,tnsnames.ora 文件是一个配置文件,用于指定数据库实例的网络连接信息。

导出某个用户下的所有表(包括空表)

$ORACLE_HOME/bin/expdp system/oracle@xe owner=test_user file=/tmp/test_user.dmp version=11.2.0.1.0 COMPRESS=N

导出单表

exp root/MyPassWord123@helowin tables=ALL_DATATYPES file = /tmp/ALL_DATATYPES.dmp

导入

impdp example_user/oracle@xe file=test_wuuser.dmp full=y REMAP_SCHEMA=new_schema:example_user

导入到指定的模式下

将dmp文件以sql语句输出

impdp wuwuwu/oracle@xe directory=DUMP_DIR dumpfile=EXPDATROOT.DMP sqlfile=sqlfile.sql content=metadata_only

这个需要设置DUMP_DIR CREATE DIRECTORY DPDUMP_DIR AS ’/path‘;

impdp wuwuwu/oracle@xe file=test_wuuser.dmp sqlfile=sqlfile.sql content=metadata_only

从建表语句中找到相关的模式并去重

grep -o 'CREATE TABLE "\\([^"]*\\)' sqlfile2.sql | cut -d '"' -f 2 | sort | uniq

找出sql文件中的所有的删表语句(建表,插入数据类似)

awk '/^DROP TABLE/,/;$/' apiplatform.sql

导出sys下的表

exp userid=sys/MyPassWord123@helowin file=audit_actions owner=sys rows=y

修改docker共享内存

修改的是宿主机的 /etc/sysctl.conf 在后面添加 kernel.shmmax = 2147483648 这是2G
使内核生效:sysctl -p
重启相关容器

导出pg数据库命令

pg_dump -U postgres -p 5432 -Fc mydatabase > backupfile.dump

pg导出mydatabase 数据库下myschema模式下的orders 表

这是二进制的
pg_dump -U postgres -p 5432 -Fc -t myschema.orders mydatabase > orders.dump
这是sql文件的
pg_dump -U postgres -p 5432 -Fp -t myschema.orders mydatabase > orders.dump

pg导入语句(因为导出有两种方式,一种是二进制的另外一种是sql语句类型的文件)

pg_restore -U postgres -d database_name 文件
psql -U postgres -d $database_name 文件

sqlserver导出整个数据库

/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P MyPassword123! -Q "BACKUP DATABASE mytest TO DISK='/tmp/test.dump' WITH FORMAT"

SQL server导入(整个数据库)

/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P MyPassword123! -Q "RESTORE DATABASE test FROM DISK='/tmp/test.dump' WITH REPLACE;"

MySQL解析binlog文件

mysqlbinlog --base64-output=DECODE-ROWS -v mysql-bin.000001 >binlog.sql

MySQL导入binlog文件信息执行数据库(–force是跳过错误强制执行)

mysqlbinlog --start-position=2830 --stop-position=3131  mysql-bin.000002 | mysql -u root -proot --force